Apache CXF Client for Dynamic Endpoints
2022-09-01 15:11:06
我现在使用Apache CXF作为.NET服务的Web服务客户端来绕过NTLM身份验证。它工作得很好,但我想知道为什么我似乎无法设置Web服务目标端点。CXF似乎出于某种奇怪的原因想要在运行时使用WSDL - 不确定。它从 WSDL 获取物理端点,我想这在测试环境中工作正常,但在部署时,它肯定会发生变化。
下面是一些要演示的代码:
MyWebServices service = new MyWebServices ();
MyWebServicesSoap port = service.getMyWebServicesSoap12();
// Turn off chunking so that NTLM can occur
Client client = ClientProxy.getClient(port);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(36000);
httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);
port.doSomethingUseful();
同样,在 CXF 客户端 API 中,我看不到允许我设置服务终结点的位置。反正我看不出来。在这种情况下,目标是 http://localhost/integration/webservices/mywebservices.asmx,但我可以在任何地方。这个行人问题肯定以某种方式解决了吗?