XFire客户端调用Tuscany发布的WebService服务端接收不到参数解决方法
为了验证不同实现的客户端调用WebService都能成功,证明WebService平台无关性,
场景如下:
服务端WebService由Tuscany进行发布,客户端用XFire(插件生成XFire客户端代码)进行调用。
结果:
服务端接收不到参数,接收的参数为null,但是XFire客户端却能够接收到服务端返回的参数。
解决方法:
在XFire生成的接口中指定名字空间。
1.接收上指定@WebService指定名字空间targetNamespace="http://com.xxx.web.client.gen/"
2.在接口参数上@WebParam指定名字空间targetNamespace="http://com.xxx.web.client.gen/"
注:com.xxx.web.client.gen为此接口类所在的包名。
WebService报No operation found in the portType element错误
启动Jboss,报如下错误:
java.lang.RuntimeException: org.apache.axis2.AxisFault: No operation found in the portType element
只是增加了一个WebService的外壳(无方法),结果报如上错误,
看来WebService不允许部署无方法的接口。
解决方案:在接口中补上一个方法咯。如果该接口无用,可删除接口。