在java代码中设置代理用户名和密码

时间:2016-09-12 17:05:55

标签: java proxy

我开发了一个代码来通过代理访问SOAP-Server,关于描述here我可以设置一个全局代理。虽然我的问题似乎很天真但我没有找到任何指南如何在我的java代码中为此代理设置设置用户名密码

2 个答案:

答案 0 :(得分:1)

您可以在运行时获取系统的属性并设置配置代理所需的所有内容......

实施例

System.getProperties().put("http.proxyHost", "myProxyURL");
System.getProperties().put("http.proxyPort", "myProxyPort");
System.getProperties().put("http.proxyUser", "myUserName");
System.getProperties().put("http.proxyPassword", "myPassword");

答案 1 :(得分:1)

几天后我在我的案例中找到了解决方案,我试着在这里解释一下。

  • 了解您编写的SOAP客户端服务类型非常重要。在我的例子中,我使用CXF 3.1.7生成Java代码。为了更明确,我有一个WSDL文件,并通过带有上述版本的maven中的wsdl2java插件生成代码。
  • 在WebService的级别中,可以在代码中完成以下操作以进入代理设置

    private void setProxySetting(EventPortType port) {
        try{
        Client client = ClientProxy.getClient(port);
        HTTPConduit http = (HTTPConduit) client.getConduit();
        http.getClient().setProxyServer("***host***");
        http.getClient().setProxyServerPort(80);
        http.getProxyAuthorization().setUserName("***username***");
        http.getProxyAuthorization().setPassword("***password***");
     }catch (Exception e) {
      logger.error("Please Enter your proxy setting in MyClass class", e);
     }
    }
    

    该端口来自我这样的服务级别

    EventService es = new EventService();
    EventPortType port = es.getEventPort();
    setProxySetting();