Android和SAP SOAP Web服务之间的连接建立

问题描述:

我想连接来自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

嗨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”,“ *”);

您的问题将解决....

让我知道如果您有任何疑问....

喜欢编程...