我现在使用Apache CXF作为.NET服务的Web服务客户端以避开NTLM身份验证。它工作的很好,但我想知道为什么我似乎无法设置Web服务目标端点。 CXF似乎在运行时需要一些奇怪的原因 - 不确定。它需要来自WSDL的物理端点,我认为在测试环境中工作正常,但在部署时它肯定会改变。用于动态端点的Apache CXF客户端
下面是一些代码来演示:
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,但我可以在任何地方。当然,这个行人问题是以某种方式解决的?
不知道工作的其他getXXX方法是什么你的意思是你最后的陈述在这里 – andyczerwonka 2010-06-10 22:51:32
在MyServices类中,还有其他方法会返回一个接受URL参数的端口吗?你能编辑你的帖子来粘贴该类的签名吗? – Kevin 2010-06-11 12:23:57
就像一个魅力 - 谢谢 – andyczerwonka 2010-06-11 16:10:22