Options options = serviceClient.getOptions();
HttpTransportProperties.ProxyProperties proxy =
    new HttpTransportProperties.ProxyProperties();
proxy.setProxyName("proxy.example");
proxy.setProxyPort(8080);
options.setProperty(HTTPConstants.PROXY, proxy);

在同一 serviceClient 上调用操作之前执行此操作。对于生成的 stub,请通过 _getServiceClient() 获取它。复用现有的 Options 可以保留新的空对象可能丢弃的端点和操作设置。

这使用 Axis2 1.8.x 的 org.apache.axis2.transport.http.HttpTransportProperties.ProxyProperties。替换代理主机和整数端口;如需进行获准的公共服务测试,请从 HTTP 代理列表中选择一个 HTTP 候选。进行身份验证时,同一对象提供 setUserName 和 setPassWord;请从应用程序的凭据配置中提供它们,而不要使用 SOAP 服务账户。

运行时的 HTTPConstants.PROXY 属性会覆盖 axis2.xml 中部署代理的默认设置,因此适合在单个客户端上故意使用不同的路由。

使 API 和 HTTP 发送器与应用相匹配。较新的 Axis2 传输文档描述了 HttpClient 5 发送器;这些导入并不能取代此 1.8.x 接口。所选传输还必须支持代理要求的身份验证方案。

相关文章