如何创建具有动态端点的 CXF Web 服务客户端?
我们有一个描述 Web 服务的中央 WSDL 文件。我们使用 CXF 生成客户端代码,但此代码似乎绑定到 1 个端点。如何创建使用 WSDL 的 CXF 客户端,但可以在哪里指定端点?有没有办法将端点更改为实现相同 WSD 的 URL:?
We have a central WSDL file that describes a web service. We use CXF to generate client code, but this code seems to be bound to 1 endpoint. How can i create a CXF client that uses the WSDL, but where I can specify the endpoint? Is there are way in changing the endpoint to a URL that implements the same WSD:?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果
其他
服务实现相同的WSDL,那么当您创建MyClientService
对象时,您可以将新服务的WSDL的URL传递给构造函数,构造函数就会使用它。大多数服务都会在 ?wsdl 上公开其 wsdl,因此使用它可能“正常工作”。或者,您可以通过以下方式覆盖端点 URL:
其中
proxy
是MyClientService
对象。If the
other
service implements the same WSDL, when you create theMyClientService
object, you can pass the URL to the new service's WSDL right to the constructor and it will us it. Most services would expose its wsdl on ?wsdl so using that may "just work".Alternatively, you can override the endpoint URL via:
where
proxy
is theMyClientService
object.在 CXF 2.6.1 中工作
Working in cxf 2.6.1
您可以使用 JaxWsProxyFactoryBean 动态调用服务
you can use JaxWsProxyFactoryBean for dynamically calling a service
如果发生此错误,则将注释 Webservice 添加到已经在服务端开发的客户端接口。
我遇到了这个问题,我已经用CXF配置了Spring。我已经开发了该服务并从客户端调用它。
希望这会有所帮助。
If this error occurred then add annotation Webservice to your client side interface which is already developed on service side.
I faced this issue, I have configured Spring with CXF. I have already developed the service and calling it from client.
Hope this will help.