私は、Webサービスからデータを読み込むためにWebサービスを使用するアンドロイドでクラスを作成しました。androidクラスからwebserviceを呼び出す際にエラーが発生しました
URL呼び出しでそのWebサービスにアクセスするとき、その応答XMLを正しく取得しています。私はhttp://localhost:8083/TestWebService/services/GetDatabaseRecords?wsdlのような私のローカルサーバと私のURLにwebserviceを配備しました。
私のアプリでWebサービスを使用するコード部分は次のとおりです。
private String METHOD_NAME = "getSupplierDetails"; // our webservice method name
private String NAMESPACE = "http://test.webservice.com/"; // Here package name in webservice with reverse order.
private String SOAP_ACTION = NAMESPACE + METHOD_NAME; // NAMESPACE + method name
private static final String URL = "http://my-machine-ip:8083/TestWebService/services/GetDatabaseRecords?wsdl";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug = true;
androidHttpTransport.call(SOAP_ACTION,envelope);
SoapObject so = (SoapObject)envelope.bodyIn;
以下は、アプリケーションの実行時の例外です。
android.os.NetworkOnMainThreadException:null
私のコードに問題がありますか?専門家が助けてください。
あなたはUIスレッドでHTTPを実行しようとしています。 AsyncTaskまたは他の構造を使用して、メインスレッドから外してください。うまくいくでしょう。 – Jens