jax-ws发布WS,用axis的wsdl2java生成的客户端调用有问题
本帖最后由 lg_asus 于 2012-06-20 15:58:38 编辑
我用jax-ws发布一个简易的WS,jdk版本是1.6.11, axis版本是1.4,我没用容器如tomcat。 代码如下
@WebService
@SOAPBinding(style=SOAPBinding.Style.RPC)
public interface ICross {
public String hello(String name);
}
@WebService(endpointInterface="dyna.framework.integrate.ICross")
public class CrossImpl implements ICross {
@Override
public String hello(String name) {
System.out.println("================"+name);
return "your name is: "+name;
}
}
Endpoint.publish("http://192.168.101.47:8080/PLMTTGP/integrate", new CrossImpl());
,发布是成功的,wsdl文件如下
然后我用axis的wsdl2java来生成客户端代码,然后调用
ICross cross;
try {
cross = new CrossImplServiceLocator().getCrossImplPort();
String result = cross.hello("Hiway");
System.out.println(result);
} catch (RemoteException e) {
e.printStackTrace();
}catch (ServiceException e) {
e.printStackTrace();
}
服务器接收到请求立即打印 ================Hiway ,但是客户端却迟迟接收到返回结果,好几分钟后才接收到结果。
我想问下,这是什么原因?
------解决方案--------------------
你一定要用 RPC 的么?