如何在soap webservice中添加“content-type”标头

时间:2016-09-12 06:58:59

标签: java android web-services soap android-ksoap2

我见过几个不同的例子,我无法工作。我的目标是为我的请求添加内容类型的JSON。没有标题,我的请求不会出错:

  public void calculate() {
        String SOAP_ACTION = "http://----/--";
        String METHOD_NAME = "----";
        String NAMESPACE = "http://-----/";
        String URL = "http://----/---/----.asmx";
        try {
            // Creating a new empty SOAP message object

            SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
            Request.addProperty("username", "***");
            Request.addProperty("password", "****");
            SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            soapEnvelope.dotNet = true;
            soapEnvelope.setOutputSoapObject(Request);

            HttpTransportSE transport = new HttpTransportSE(URL);


            transport.call(SOAP_ACTION, soapEnvelope);

            resultString = (SoapPrimitive) soapEnvelope.getResponse();

            Log.i(TAG, "Result Celsius: " + resultString);
        } catch (Exception ex) {
            Log.e(TAG, "Error: " + ex.getMessage());
        }
    }

1 个答案:

答案 0 :(得分:1)

试试这个,

// Create a of HeaderProperty
List<HeaderProperty> headerList = new ArrayList<HeaderProperty>();
// Add Content-Type to the list
headerList.add(new HeaderProperty("Content-Type", "application/json; charset=UTF-8"));

// Pass this list as 3rd argument to call method
transport.call(SOAP_ACTION, soapEnvelope, headerList);