XFile客户端调用JDK1.6+的webserivce时参数为null
Webservice的服务端用JDK1.6+自带的Webservice做的,客户端用的是XFile的webservice调用的,但是传过来的参数为NULL.
XFile的调用方式是:
String wsdl = "http://192.168.1.112:8088/testService?wsdl";
try {
Client client = new Client(new URL(wsdl));
String result = client.invoke("test", new Object[]{"hello"});
} catch (MainformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
服务端的代码如:
接口:
public interface ITest {
public String test(String str);
}
实现类:
@WebService(name="test", serviceName = "test")
@SOAPBinding(stype = SOAPBinding.Style.RPC)
public class TestImpl implements ITest {
@Override
public String test(String str) {
System.out.println(str);
}
}
解决办法:
在服务端的实现类上加上:@SOAPBinding(stype = SOAPBinding.Style.RPC)
代码变成:
@WebService(name="test", serviceName = "test")
@SOAPBinding(stype = SOAPBinding.Style.RPC)
public class TestImpl implements ITest {
@Override
public String test(String str) {
System.out.println(str);
}
}
JDK1.6+自带的Webservice非常强大,而且不用我们额外引入jar包,而且应该将来会越来越强大,所以推荐大家使用。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。