10

Eclipse の Java プログラムを介して wsdl から生成されたクライアントを使用して、Web サービスに接続しようとしています。リクエストをプロキシ サーバー経由で渡しています。しかし、リクエストが通らないようです。同じプロキシ設定が SoapUI で正常に機能しています。私が設定したシステムプロパティの下を見つけてください。

Properties props= new Properties(System.getProperties()); 

props.put("http.proxySet", "true"); 

props.put("http.proxyHost", "10.x.x.x"); 

props.put("http.proxyPort", "80");

props.put("http.proxyUser","domainName\\xxx");

props.put("http.proxyPassword","xxx");

Properties newprops = new Properties(props);

Java プログラムは次のように例外をスローします。java.net.UnknownHostException:

私が見逃しているのは何ですか?

4

9 に答える 9

6

HTTPS を使用して Web サービスに接続している場合、設定するプロキシ プロパティは

https.proxyHost
https.proxyPort

( http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html )

于 2013-03-18T14:31:22.490 に答える
6

私は次のコードを使用します(そしてそれは機能します):

    String host = "10.x.x.x";
    String port = "80";
    System.out.println("Using proxy: " + host + ":" + port);
    System.setProperty("http.proxyHost", host);
    System.setProperty("http.proxyPort", port);
    System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");
于 2013-01-10T12:39:56.007 に答える
2

システム プロパティの設定とは別に、java.net.Authenticator を使用してプロキシ構成も設定します。

final String authUser = "user";
final String authPassword = "password";
Authenticator.setDefault(
   new Authenticator() {
      public PasswordAuthentication getPasswordAuthentication() {
         return new PasswordAuthentication(
               authUser, authPassword.toCharArray());
      }
   }
);

System.setProperty("http.proxyUser", authUser);
System.setProperty("http.proxyPassword", authPassword);
于 2013-08-03T06:01:35.577 に答える
2

次のコードを使用して、プロキシを通過できました。

Snehasish Code にいくつかの新しい行を追加

final String authUser = "username";
final String authPassword = "password";
Authenticator.setDefault(
   new Authenticator() {
      public PasswordAuthentication getPasswordAuthentication() {
         return new PasswordAuthentication(
               authUser, authPassword.toCharArray());
      }
   }
);
url = new URL("http://www.somewebsite.com/sendmyrequest");

connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setFollowRedirects(true);

System.getProperties().put("http.proxyHost", "proxy.xyz.com");
System.getProperties().put("http.proxyPort", "portNumber");
System.setProperty("http.proxyUser", authUser);
System.setProperty("http.proxyPassword", authPassword);
System.getProperties().put("http.proxySet", "true");
于 2015-07-21T12:40:49.017 に答える
2

を使用してプロキシを設定できますSystem.setProperty()

System.setProperty("http.proxyHost","122.183.139.107");
System.setProperty("http.proxyPort","8080");

そして、あなたが削除したい場合

System.setProperty("http.proxyHost","");
System.setProperty("http.proxyPort","");
于 2017-12-29T07:11:26.860 に答える
0

のようなプロパティはありませんhttp.proxySet

HTTP URL を使用する前に他のプロパティを設定する必要があり、後で変更しても効果はありません。

プロキシを動的に変更する必要がある場合は、java.net.Proxy を参照してください。

「平文接続?」SSL を非 SSL ターゲット、おそらくプレーンテキストのターゲットに使用しています。

于 2013-01-10T12:32:47.800 に答える
-5

Eclipse IDE で、[ウィンドウ] -> [設定] に移動します。左側の小さなボックスにプロキシを書き込みます。Network Connectionsが表示され、使用するリクエストのプロキシ設定を入力します (HTTP で十分です)。コード自体にプロキシを設定しなくても、問題は解決すると思います。

于 2013-01-10T12:39:02.787 に答える