从android调用SAP Web服务

时间:2016-08-01 09:52:46

标签: android web-services sap

我需要使用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;
        }
    }

1 个答案:

答案 0 :(得分:0)

De Namespace是SOAP WSDL的命名空间。最有可能的是

urn:sap-com:document:sap:rfc:functions

WSDL中也提到了Action。使用SAP RFC时,这将是“ RFC 请求的名称”。所以这很可能是 ZSL_GET_MAT_DOCRequest

希望这有帮助。