首页 > 代码库 > JAVA调用webservice方法(axis)

JAVA调用webservice方法(axis)

项目需求上需要调用另一个合作伙伴的webservice接口,之前用的是sax的调用方式,开始摸索这个,感觉这个也挺简单的,现在把自己的实现过程分享给大家,写的不好的地方,望大家勿喷。

详细代码如下:

package com.ancs.oa;

import java.util.Date;

import javax.xml.namespace.QName;

import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
/**
 * 
 * @ClassName:MessageService
 * @Description:调用webservice传入5个参数
 * @author luckyboyguo@126.com
 * @date:2014年12月25日下午5:16:21
 */
public class MessageService {
	public static Object ToOaMessage(String a,String b,String c,String d) throws AxisFault{
		 // 使用RPC方式调用WebService  
		RPCServiceClient  client=new RPCServiceClient();
		Options option=client.getOptions();
		 // 指定调用WebService的URL   
		EndpointReference targetEPR =new EndpointReference("你的webservice地址");
		option.setTo(targetEPR);
		 // 指定要调用的plus方法及WSDL文件的命名空间  
		//http://test
		QName opAddEntry =new QName("http://webService.oa.ancs.com","docMessageInsert");
		  // 指定plus方法的参数值  
		 Object[] opAddEntryArgs = new Object[] {a,b,c,d,new Date() };  
		// 指定plus方法返回值的数据类型的Class对象    
		 Class[] classes = new Class[] { String.class }; 
		 // 调用plus方法并输出该方法的返回值  
		 try {
			return client.invokeBlocking(opAddEntry,opAddEntryArgs, classes)[0];
		} catch (AxisFault e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;

	}
	
}


JAVA调用webservice方法(axis)