服务端写了个远程实现类和远程接口,用xfire客户端测试时发现传过去的参数为空,后查询资料最后解决问题;解决方法为远程接口和远程实现类都加入注解@SOAPBinding(style = SOAPBinding.Style.RPC)
默认为document,代码如下:
服务端代码
远程接口类WebserviceTest.java
远程实现类WebserviceTestImpl.java
服务端ejb-jar.xml
客户端代码
Client client;
try {
client = new Client(new URL("http://127.0.0.1:9100/WebserviceTestImpl?WSDL"));
Object[] invokeParameters = new Object[1];
invokeParameters[0] ="你好";
Object[] result = client.invoke("sayHello",invokeParameters);
System.out.println(result.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}