我已经看到了几个不同的示例,但是我什么也做不了。我的目标是向我的请求添加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());
        }
    }

最佳答案

尝试这个,

// 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);

10-08 19:15