我需要使用android调用SAP Web服务来获取材料,不使用材料文档号。我正在使用 ksoap2 库。问题是我不知道 NAMESPACE,SOAP_ACTION 究竟是什么意思。我无法得到任何回应。
METHOD_NAME =“ZSL_GET_MAT_DOC”;
网址=“http://SL_S:**** @ AP.vv.lk:8000/sap/bc/srt/rfc/sap/zsl_get_mat_doc/110/zsl_get_mat_doc/zl_web_svr4";
这是我的方法。
class RetrieveFeedTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
// Create SOAP request
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("Materialdocument", "0407000147");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
// Get response from envelope
Object result = envelope.getResponse();
// Display result
Toast.makeText(getContext(), result.toString(), Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return null;
}
}
答案 0 :(得分:0)
De Namespace是SOAP WSDL的命名空间。最有可能的是
urn:sap-com:document:sap:rfc:functions
。
WSDL中也提到了Action。使用SAP RFC时,这将是“ RFC 请求的名称”。所以这很可能是
ZSL_GET_MAT_DOCRequest
。
希望这有帮助。