gpt4 book ai didi

java - SOAP 客户端端口困惑

转载 作者:行者123 更新时间:2023-12-02 08:19:10 25 4
gpt4 key购买 nike

我正在使用 wsimport 生成 SOAP 客户端类。但问题是,当服务器在端口 8080 上运行时,有一个代理使其可以通过端口 80 从 Internet 访问。在 WSDL 中,仍然指定了服务器端口 8080。

现在,当我连接到服务器时,客户端请求的第一件事就是 WSDL。然后它检索此 WSDl 中的 URL 并尝试用它连接到服务器,这显然失败了,因为从外部无法访问端口 8080。

有解决这个问题的标准方法吗?

谢谢。

最佳答案

如果您的客户端代码成功获取 WSDL,那么您可以使用如下所示显式指定端点地址:

ExampleService exampleService = new ExampleService();
Example example = exampleService.getExamplePort();
BindingProvider bindingProvider = (BindingProvider) example;
bindingProvider.getRequestContext().put(
BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"http://ws.someservice.com:80/soap/ExampleBean");

最后一行覆盖 WSDL 中的端口 URL,这是内部的。

我在这里有关于使用 wsimport 的更多详细信息:http://shrubbery.homeip.net/c/display/W/Consuming+a+Web+Service+with+Java+6+and+JAX-WS

关于java - SOAP 客户端端口困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5791002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com