SOAP 客户端端口混乱
我正在使用 wsimport 生成 SOAP 客户端类。但问题是,当服务器在端口 8080 上运行时,有一个代理使其可以通过端口 80 从 Internet 访问。在 WSDL 中,仍然指定服务器端口 8080。
现在,当我连接到服务器时,客户端请求的第一件事就是 WSDL。然后它检索此 WSDl 中的 URL 并尝试用它连接到服务器,这显然失败了,因为无法从外部访问端口 8080。
有解决这个问题的标准方法吗?
谢谢。
I'm using wsimport to generate SOAP client classes. The problem, however is that while the server is running on port 8080, there is a proxy that makes it be reachable from the Internet on port 80. In the WSDL, the server port 8080 is still specified.
Now when i connect to the server, the first thing the client request is the WSDL. Then it retrieves the URL in this WSDl and tries to connect to the server with it, which obviously fails because the port 8080 is not reachable from outside.
Is there a standard way to resolve this problem?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您的客户端代码成功获取 WSDL,那么您可以使用如下所示显式指定端点地址:
最后一行覆盖 WSDL 中的端口 URL,这是内部端口 URL。
我在这里有关于使用 wsimport 的更多详细信息: http://shrubbery.homeip.net/c/display/W/Consuming+a+Web+Service+with+Java+6+and+JAX-WS
If your client code gets the WSDL successfully then you can specify the endpoint address explicitly with something like this:
That last line overrides the port URL in the WSDL, which is the internal one.
I have more details on using wsimport here: http://shrubbery.homeip.net/c/display/W/Consuming+a+Web+Service+with+Java+6+and+JAX-WS