Nesting properties inside a tag in Ksoap2

前端 未结 3 862
不知归路
不知归路 2020-12-22 05:26

Hi i want to make a request for soap using above soap xml



        
3条回答
  •  北海茫月
    2020-12-22 06:03

    I had the same problem (accessing a SAP webservice with Android). There is an easy solution:

    request.addProperty("IUvail", "PC3000");
    

    The whole access with authentication:

    String USER = "user";
    String PASSWORD = "pwd";
    String NAMESPACE_SOAP = "http://schemas.xmlsoap.org/soap/envelope/";
    String NAMESPACE_SAP = "urn:sap-com:document:sap:rfc:functions";
    String SOAP_ACTION = "http://server:port/webservice_root";
    String METHOD_NAME = "AvailCheck";
    
    SoapObject request = new SoapObject(NAMESPACE_SAP, METHOD_NAME);
    request.addProperty("IUvail", "PC3000");
    
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
            SoapEnvelope.VER11);
    envelope.env = NAMESPACE_SOAP;
    envelope.dotNet = false;
    envelope.setOutputSoapObject(request);
    
    HttpTransportSE androidHttpTransport = new HttpTransportSE(
            SOAP_ACTION);
    androidHttpTransport.debug = true;
    try {
        List headerList = new ArrayList();
        headerList.add(new HeaderProperty("Authorization", "Basic "
                + org.kobjects.base64.Base64
                        .encode((USER + ":" + PASSWORD).getBytes())));
        androidHttpTransport.call(SOAP_ACTION, envelope, headerList);
        // SoapObject response = (SoapObject) envelope.getResponse();
        // response.getProperty(0).toString();
        // Object response = envelope.getResponse();
        SoapPrimitive result = (SoapPrimitive) envelope.getResponse();
        Log.d("webservice", "Result: " + result.toString());
    } catch (Exception e) {
        e.printStackTrace();
        Log.e("WebserviceException", e.getMessage(), e);
        Log.d("WebserviceException", "[requestDump] "
                + androidHttpTransport.requestDump);
        Log.d("WebserviceException", "[responseDump] "
                + androidHttpTransport.responseDump);
    }
    

提交回复
热议问题