2013-07-31 61 views
0

錯誤消息是錯誤用肥皂:SOAP體不匹配

根元素「{http://webservice.eis.tg} selectData」 SOAP主體不匹配在WSDL文件中定義的任何消息的名稱和名稱空間內發現。

這是我的代碼

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 

StrictMode.setThreadPolicy(policy); 
String URL = "http://202.122.131.25/EISDatagetDB"; 
String NameSpace = "http://webservice.eis.tg"; 

String MethodName = "selectData"; 
String SoapAction = "selectData"; 

SoapObject request = new SoapObject(NameSpace,MethodName); 
request.addProperty("fromdate","201201"); 

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

try{     
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 
    androidHttpTransport.call(SoapAction, envelope); 
     if (envelope.bodyIn instanceof SoapFault) { 
       String str= ((SoapFault) envelope.bodyIn).faultstring; 
       Log.i("Soap", str); 
       System.out.println("++++++++++++++++++"+str); 
       tv1.setText(str); 
     } else { 
       SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn; 
       Log.d("WS", String.valueOf(resultsRequestSOAP)); 
       Results = resultsRequestSOAP; 
       data = Results.toString(); 
       System.out.println(data); 
       tv1.setText(data);   
       } 
      } 
      catch(Exception e){ 
       System.out.println("---------------------"+e); 
       tv1.setText(""+e); 
       Toast.makeText(getApplicationContext(), "No Response",Toast.LENGTH_LONG).show(); 
      } 

請查閱XML:http://202.122.131.25/EISDatagetDB?wsdl

非常感謝您的幫助。

+0

您SOAPACTION是錯誤的。請查看http://android-spirit.blogspot.in/2013/07/consume-net-webservice-in-android.html瞭解更多詳情 – Nirmal

回答

0

你可以在你的代碼中做這兩個改變嗎?

嘗試改變

String URL = "http://202.122.131.25/EISDatagetDB"; 

String URL = "http://57.59.36.25:80/EISDatagetDB"; 

因爲端點地址在元表示

<wsdlsoap:address location="http://57.59.36.25:80/EISDatagetDB"/>