设置“代理用户名”和“代理密码”



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

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

<标题>例子:
System.getProperties().put("http.proxyHost", "myProxyURL");
System.getProperties().put("http.proxyPort", "myProxyPort");
System.getProperties().put("http.proxyUser", "myUserName");
System.getProperties().put("http.proxyPassword", "myPassword");

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

  • 了解您所编写的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();
    

最新更新