我有一个 .Net Web 服务,我使用 JAX-WS 为其生成存根(在本地下载了 WSDL 和 XSD)。现在我将存根打包在一个 jar (stubs.jar) 中,并将 WSDL 以及 XSD 打包在另一个 jar (wsdl.jar) 中。
我使用像这样的存根:
URL url = ServiceClient.class.getResource("MyService.wsdl");
MyService service = new MyService(url,new QName(namespaceURI,localName));
MyServicePortType portType = service.getMyServicePort();
BindingProvider bp = (BindingProvider) portType;
//WSDL_URL is the actual endpoint address
bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, WSDL_URL);
虽然一切正常,但在调试过程中我注意到端口类型对象的创建需要很多时间。
此外,调试时的端口类型对象将 WSDL URL 显示为远程 URL(甚至在它被类型转换为 Binding Provider 对象之前)。
我无法确定端口类型对象中 WSDL 的 URL 更改的原因。任何人,请帮助我理解。
此外,是否可以采取任何措施来减少创建端口类型对象所需的时间。
提前致谢!