0

http://www.helloandroid.com/tutorials/using-ksoap2-android-and-parsing-output-dataの例を試して、wsdl サービスから要求と応答を取得しました。プロキシレスで試したところ、うまくいきました。しかし、プロキシの背後で作業すると、「操作がタイムアウトしました:要求時間に失敗しました:java.net.SocketException」が表示されますプロキシをSoapObjectまたはSoap Envelopに設定する方法はありますか?

4

4 に答える 4

2

Ksoap はプロキシの背後では機能しません。それを機能させるには、sourceforge から HttpTransportSE.java と ServiceConnectionSE.java をダウンロードします。

HttpTransportSE と ServiceConnectionSE でパッケージを作成します。

ServiceConnectionSE コンストラクター:

 String myProxy=android.net.Proxy.getDefaultHost() ;
            int myPort=android.net.Proxy.getDefaultPort();

            if(myProxy!=null){
                Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(myProxy, myPort));
                connection = (HttpURLConnection) new URL(url).openConnection(proxy);
            }
            else
            {
                connection = (HttpURLConnection) new URL(url).openConnection();
            }

ここで、HttpTransportSE.call() メソッドを呼び出す場所はどこでも、この 2 つのファイルを含む独自のパッケージを指していることを確認してください。

于 2011-02-14T11:40:27.063 に答える
1

  みなさん、こんにちは。最新バージョンのKSOAP2.6.5 [テストおよび検証済み]では、プロキシ認証の問題が修正されています。コンストラクターは、URLとともにインスタンスをパラメーターとしてHTTPTransportSE受け入れるようになりました。java.net.Proxyメソッドは次のようになり
            HttpTransportSE httpTransport=new HttpTransportSE(proxy,URL);
  ます。プロキシが構成されていて、認証が必要な場合は、 Authenticatorクラスを使用してプロキシクレデンシャルを設定し、成功します。HTH、そうでない場合は私に返信してください

于 2012-06-29T21:16:16.233 に答える
0

これに交換して..

//Timeout in milliseconds

int timeout=60000;
AndroidHttpTransport androidHttpTransport=new AndroidHttpTransport(url, timeout);
于 2012-03-07T11:48:52.060 に答える
0

私の知る限り、Android オペレーティング システムの設定自体でプロキシを設定する必要があり、正常に動作します。

于 2011-02-03T18:10:45.573 に答える