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