2016-08-01 27 views
1

Ich brauche einen Aufruf an einen SAP-Web-Service mit Android, Material-Nr. Material-Dokument Nr. Zu erhalten. Ich benutze ksoap2 Bibliothek. Problem ist das ich nicht was genau die NAMESPACE, SOAP_ACTION bedeuten. Ich kann keine Antwort bekommen.Aufruf an einen SAP-Web-Service von Android

METHOD_NAME = "ZSL_GET_MAT_DOC";

URL = "http://SL_S: **** @ AP.vv.lk:8000/sap/bc/srt/rfc/sap/zsl_get_mat_doc/110/zsl_get_mat_doc/zl_web_svr4";

Dies ist meine Methode.

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; 
     } 
    } 

Antwort

0

Der Namespace ist der Namespace Ihrer SOAP WSDL. Höchstwahrscheinlich ist dies

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

Die Aktion wird auch in der WSDL erwähnt. Bei Verwendung eines SAP RFC wird dies "Name des RFC Request" sein. Das wird höchstwahrscheinlich ZSL_GET_MAT_DOCRequest sein.

Hoffe, das hilft.