You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rest调用SOAP服务触发java.net.UnknownHostException:proxy错误求助

问题分析与解决方案

从你给出的错误日志来看,核心问题是java.net.UnknownHostException: proxy——也就是说,当通过Spring Rest服务调用SOAP接口时,程序尝试连接一个名为"proxy"的代理服务器,但这个主机无法被解析或访问;而直接在main方法中调用时没有这个问题,说明两种运行环境的代理配置存在差异。

可能的原因

  • 你的应用服务器(比如Tomcat)启动时被配置了代理参数,但代理地址"proxy"无效,而main方法运行时没有这些代理配置。
  • Axis客户端在Rest服务环境下继承了JVM的全局代理设置,导致请求被发往错误的代理主机。

具体解决步骤

1. 检查应用服务器的代理启动参数

如果是使用Tomcat这类容器运行Rest服务,查看它的启动脚本(如catalina.sh或catalina.bat),看看是否添加了类似以下的JVM参数:

-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080

如果存在这类配置:

  • 如果你确实需要通过代理访问SOAP服务,请把proxy替换为实际可用的代理服务器地址。
  • 如果不需要代理,直接移除这些参数,重启服务器后再测试。

2. 在SOAP客户端代码中显式禁用代理(推荐)

如果不想修改服务器配置,或者担心全局代理影响其他服务,可以在创建Axis Stub的时候,强制禁用代理设置。修改你的UMEManagementEngineConsumer类中的setStubProperties方法:

private UMEUserManagementFacade setStubProperties(UMEUserManagementFacade port) {
    UMEUserManagementFacadeBindingStub stub = (UMEUserManagementFacadeBindingStub) port;
    stub._setProperty(Stub.USERNAME_PROPERTY, PMCConstant.WBuserId);
    stub._setProperty(Stub.PASSWORD_PROPERTY, PMCConstant.WBpassword);
    
    // 显式禁用代理,避免继承系统配置
    stub._setProperty("http.proxyHost", "");
    stub._setProperty("http.proxyPort", "");
    // 如果SOAP服务是HTTPS协议,也要添加以下两行
    stub._setProperty("https.proxyHost", "");
    stub._setProperty("https.proxyPort", "");
    
    return port;
}

这种方式只会影响当前SOAP客户端的请求,不会干扰其他服务的配置。

3. 检查JVM全局代理配置

查看应用服务器所在JVM的全局代理设置:

  • 检查系统环境变量中的JAVA_OPTS是否包含代理参数。
  • 查看JRE安装目录下lib/net.properties文件,是否配置了http.proxyHost等参数。
    如果存在无效的代理配置,修正或删除后重启服务器。

4. 验证网络连通性

在应用服务器所在的机器上,执行ping proxy命令,确认这个主机是否能被解析和连通。如果无法连通,要么修正代理地址,要么确认是否真的需要通过代理访问目标SOAP服务。

额外验证

你可以在main方法和Rest接口中分别添加以下代码,打印当前JVM的代理配置,对比两者的差异:

System.out.println("http.proxyHost: " + System.getProperty("http.proxyHost"));
System.out.println("http.proxyPort: " + System.getProperty("http.proxyPort"));

这样能快速确认是不是代理配置的差异导致的问题。

内容的提问来源于stack exchange,提问作者polireddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:27:05