我想从Android应用程序连接SAP SOAP Web服务我正在使用以下代码但是我得到了异常。当我调试代码时,调用方法id没有执行。我正在使用用户名和密码追加到URL。
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 java.io.InputStreamReader@40546f50)
请帮助我克服这个异常我尝试了一些使用i ksop2获得成功输出的例子。
答案 0 :(得分:1)
Hi Venkatasubbaiah Atluru,
您传递的网址参数类似http://abc.com/xyz/api/sap-client=800&sap-user= * ** * ** &安培; SAP-密码= <强> 强> 的 ** * ** 强>“
但是在请求中传递参数, 像request.addProperty(“sap-client”,“800”); request.addProperty(“sap-user”,“ * ”); request.addProperty(“sap-password”,“ * ”);
你的问题会解决....
如果您有任何疑问,请与我们联系....
享受编程......