0

AndroidでWebサービスを呼び出すためにksoapライブラリを使用しています。通話中にインターネットが利用できない場合、ここにリクエストタイムアウトプロパティが表示されないため、それを持っていることが重要です。

Sotimeout を持つソケット クラスを使用するように提案された人もいますが、ここでそれを実装する方法がわかりません。

public void callWebservice()
{
try {

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

request.addProperty("passonString", "anything");

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);

HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);

..
...
}catch(Exception ex)
{}

}
4

1 に答える 1

0

HttpTransportSE クラスを変更して、ソケットに渡されるタイムアウト パラメータを取得する必要があります。実装は非常に簡単ですが、既にこれを行っている HttpsTransportSE クラスを見るとわかります。

次に、SocketTimeoutException をキャッチして、必要なことをすべて行うことができます。プロジェクトで問題を作成したり、機能強化に貢献したりしてください。

于 2010-12-02T05:49:00.547 に答える