2015-10-28 156 views
-1

我有wsdl soap服務和android應用程序 之間的連接,但我有錯誤有人可以幫我嗎?WSDL Soap Web服務與android的集成

這是日誌錯誤:

10-28 10:19:02.489 27277-27503/info.androidhive.slidingmenu W/System.err﹕ org.ksoap2.transport.HttpResponseException: HTTP request failed, HTTP status: 404 
10-28 10:19:02.509 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:237) 
10-28 10:19:02.509 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118) 
10-28 10:19:02.509 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:113) 
10-28 10:19:02.509 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at info.androidhive.slidingmenu.Login$AsyncTaskRunner.doInBackground(Login.java:62) 
10-28 10:19:02.509 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at info.androidhive.slidingmenu.Login$AsyncTaskRunner.doInBackground(Login.java:46) 
10-28 10:19:02.509 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:287) 
10-28 10:19:02.509 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
10-28 10:19:02.519 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
10-28 10:19:02.519 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
10-28 10:19:02.519 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
10-28 10:19:02.519 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
10-28 10:19:02.519 27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.lang.Thread.run(Thread.java:856) 

這是我的聯繫:

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
       SoapObject request = new SoapObject(Name_Space, Method); 
       //bodyOut is the body object to be sent out with this envelope 
       envelope.bodyOut = request; 
       HttpTransportSE transport = new HttpTransportSE(URL); 
       try { 
        transport.call(Name_Space +"/"+Method, envelope); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } catch (XmlPullParserException e) { 
        e.printStackTrace(); 
       } 
       //bodyIn is the body object received with this envelope 
       if (envelope.bodyIn != null) { 
        //getProperty() Returns a specific property at a certain index. 
        SoapPrimitive resultSOAP = (SoapPrimitive) ((SoapObject) envelope.bodyIn).getProperty(0); 
        resp=resultSOAP.toString(); 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
       resp = e.getMessage(); 
      } 
      return resp; 

回答

0

您的問題沒有proper-但仍請檢查您的網址應該是喜歡 -

http://myurl.com/Service.svc/Service.svc 
+0

這是我的網址:http://192.168.1.103:8101/DynamicsAx/Services/SolvaitESSServicesGroup –

0

請試試像這樣:

private static final String SOAP_ACTION = "your soapAction"; //http://tempuri.org/ITurnoverService/GetTurnover 
private static final String METHOD_NAME = "your method"; // like GetTurnover 
private static final String SERVICE = "your service"; // like TurnoverService.svc 
private static final String NAMESPACE = "your namespace"; // like http://tempuri.org/ 

然後運用這些:

 String URL = "your url"; // like www.example.com/something/TurnoverService.svc 

     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 
     request.addProperty("username", arg0[0]); // property add 
     request.addProperty("password", arg0[1]); 

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

     httpTransport.debug = true; 
     try { 
      httpTransport.call(SOAP_ACTION, envelope); 
     } catch (HttpResponseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (XmlPullParserException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } //send request 

     Object result = null; 

     try { 
      result = (Object) envelope.getResponse(); 
      response = String.valueOf(result); 
     } catch (SoapFault e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     }