0 0

关于Axis2调用CXF服务端传入参数总是为null的问题20

服务端是用CXF写的,并且用cxf写的客户端能顺利调用,用axis1生成客户端代码也能调用,就是换成Axis2时,传入的参数总是为null

客户端代码如下

 

@WebService(endpointInterface="com.XXXX.adapter.ITReceptionAdapter",serviceName="ITReceptionAdapter",targetNamespace="http://xx.xxxx.xxx")
public class ITReceptionAdapterImpl implements ITReceptionAdapter {
	
	private ProcessService service;
	
	public void setService(ProcessService service) {
		this.service = service;
	}

	public String process(@WebParam(name="name", targetNamespace = "http://xx.xxxx.xxx")String name,@WebParam(name="password", targetNamespace = "http://xx.xxxx.xxx")String password,@WebParam(name="xmldata", targetNamespace = "http://xx.xxxx.xxx")String xmlData){
		System.out.println(name);
		System.out.println(password);
		System.out.println(xmlData);
		return "<?xml version=\"1.0\" encoding=\"UTF-8\"?><cmdbReturn><code>rrrrr</code></cmdbReturn>";
//		return service.process(name, password, xmlData);
	}

 客户端代码如下

		//RPCServiceClient是RPC方式调用
		RPCServiceClient client = new RPCServiceClient();
		Options options = client.getOptions();
		//设置调用WebService的URL
		String address = "http://localhost:8080/xxxxxxxxx/outerServices/resSync/ITReceptionAdapter";
		EndpointReference epf = new EndpointReference(address);
		options.setTo(epf);
		
		QName qname = new QName("http://xx.xxxx.xxx", "process");
		//指定调用的方法和传递参数数据,及设置返回值的类型
		Object[] result = client.invokeBlocking(qname, new Object[] {  "天然","test","test" }, new Class[] { String.class });
		System.out.println(result[0]);

 

 啊!!!!!!!!!!!!!!!!!

2013年1月04日 17:17

1个答案 按时间排序 按投票排序

0 0

请问最后怎么解决的?

2013年9月27日 16:08

相关推荐

Global site tag (gtag.js) - Google Analytics