wcf Web サービスにアクセスするためのコードが Android アプリで機能しません:
私が持っている上に:
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://10.86.164.102/ABCWcfService/ABCWcfService.svc";
private static final String SOAP_ACTION = "http://tempuri.org/IABCWcfService/GetTitle";
private static final String METHOD_NAME = "GetTitle";
次に、私が持っている方法で:
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug = true;
try
{
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
String receivedString = result.toString();
}
catch (Exception e)
{
}
行 androidHttpTransport.call(SOAP_ACTION, エンベロープ); の後に例外が発生することがわかりました。しかし、e の値は null です。
Java プロジェクトで同じコードを使用して同じ wcf Web サービスにアクセスすると、正常に動作します。
私は追加しました:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-sdk android:minSdkVersion="8" />
<application>
....
</application>
アプリケーション セクションの前のマニフェスト ファイル内。しかし、まだ機能しません。
私はインターネット上でさまざまなスレッドをたくさん読みました。それらのどれも私の問題を解決しません。誰かがより良い提案を得ましたか?ありがとうございました。
Web サービスは、Android アプリと同じマシンで実行されています。