使用使用生成的代码,是否wsimport可以在不重新生成代码的情况下覆盖服务端点?
wsimport
我已经编写了一个简单的Java Web服务,步骤如下:
wsimport http://localhost:8080/service/helloservice?Wsdl
问题在于该服务部署在运行于8080以外的端口的应用服务器上,客户端与服务之间的通信永远不会发生。我试图知道什么是创建在客户端使用的存根中没有服务器和端口硬编码的存根的最佳方法。
您的客户端可以在运行时通过BindingProvider接口在服务“端口”中设置端点。
在本JAX- WS教程中考虑JAX- WS客户端。编写此代码的另一种方法是:
HelloService service = new HelloService(); Hello port = service.getHelloPort(); BindingProvider bindingProvider = (BindingProvider) port; bindingProvider.getRequestContext().put( BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://foo:8086/HelloWhatever"); String response = port.sayHello(name);
警告:我尚未下载教程代码并针对该代码进行了测试。