2012-04-23 123 views
1

我想連接來自android應用程序的SAP SOAP web服務我使用下面的代碼但是我得到了異常。當我調試代碼時,調用方法ID沒有執行。我使用在URL中添加用戶名和密碼。Android和SAP SOAP Web服務之間的連接建立

package com.veee.pack; 
import java.io.IOException; 
import android.app.Activity; 
import android.os.Bundle; 
import java.io.IOException; 
import org.ksoap2.SoapEnvelope; 
import org.ksoap2.SoapFault; 
import org.ksoap2.serialization.SoapObject; 
import org.ksoap2.serialization.SoapPrimitive; 
import org.ksoap2.serialization.SoapSerializationEnvelope; 
import org.ksoap2.transport.AndroidHttpTransport; 
import org.xmlpull.v1.XmlPullParserException; 
import android.app.Activity; 
import android.os.Bundle; 

public class WeservicesExampleActivity extends Activity { 
     @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
      final String METHOD_NAME = "Z_CUSTOMER_LOOKUP1"; 
     final String SOAP_ACTION = "http://********************:8000/sap/bc/srt/rfc/sap/z_customer_lookup1/800/z_customer_lookup1/z_customer_lookup1_bind/Z_CUSTOMER_LOOKUP1"; 
     final String NAMESPACE = "urn:sap-com:document:sap:soap:functions:mc-style"; 
     final String URL = "http://******************:8000/sap/bc/srt/wsdl/srvc_14DAE9C8D79F1EE196F1FC6C6518A345/wsdl11/allinone/ws_policy/document?sap-client=800&sap-user=***************&sap-password=************"; 

//here i made the request 

      SoapObject request =new SoapObject(NAMESPACE, METHOD_NAME); 
     request.addProperty("Input", "1460"); 


     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

     envelope.dotNet=true; 
     envelope.setOutputSoapObject(request); 

     AndroidHttpTransport httpTransport=new AndroidHttpTransport(URL); 
     httpTransport.debug = true; 
     try { 
    //here call the services method. 
      httpTransport.call(SOAP_ACTION, envelope); 

//calling the services 

     SoapPrimitive result = (SoapPrimitive) envelope.getResponse(); 


     System.out.println("Result" + result.toString()); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (XmlPullParserException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
     } 

     } 
I got the following Exception 

04-23 10:50:04.744: WARN/System.err(442): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <{http://schemas.xmlsoap.org/wsdl/}wsdl:definitions targetNamespace='urn:sap-com:document:sap:soap:functions:mc-style'>@1:686 in [email protected]) 

請幫我解決這個例外我試了一些例子,使用我ksop2得到了成功的輸出。

+0

[I(代詞)(HTTP:/ /en.wikipedia.org/wiki/I_(pronoun)) – 2012-07-10 14:12:12

回答

1

嗨Venkatasubbaiah Atluru,

你逝去的URL東西的參數,如http://abc.com/xyz/api/sap-client=800&sap-user=* ** * ** & SAP-密碼= ** * **

但通過請求中的參數 如request.addProperty(」sap客戶「,」800「); request.addProperty(「sap-user」,「* 」); request.addProperty(「sap-password」,「 *」);

您的問題將解決....

讓我知道如果您有任何疑問....

喜歡編程...