如何使用动态端点创建CXF Web服务客户端?

Mar*_*rco 5 java soap web-services cxf endpoint

我们有一个描述Web服务的中央WSDL文件.我们使用CXF生成客户端代码,但此代码似乎绑定到1个端点.如何创建使用WSDL的CXF客户端,但我可以在哪里指定端点?是否有办法将端点更改为实现相同WSD的URL:?

Dan*_*ulp 9

如果other服务实现了相同的WSDL,那么在创建MyClientService对象时,可以将URL传递给新服务的WSDL权限,然后将它传递给构造函数.大多数服务都会将其wsdl暴露在?wsdl上,因此使用它可能"正常工作".

或者,您可以通过以下方式覆盖端点URL:

((BindingProvider)proxy).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_URL, "http://my.service.url.com/...")
Run Code Online (Sandbox Code Playgroud)

其中proxyMyClientService对象.


小智 5

在 cxf 2.6.1 中工作

Client client = ClientProxy.getClient(port);
client.getRequestContext().put(Message.ENDPOINT_ADDRESS, "http://some-valid-endpoint") ;
Run Code Online (Sandbox Code Playgroud)