我正在尝试使用ksoap来调用简单的Web服务。我跟着this video尝试着手。当我在信封上调用“getResponse()”时,我只得到字符串“Error”。没有抛出异常或任何其他细节。我已成功连接到我刚在本地计算机上设置的简单Web服务。这可能与在这里工作的代理服务器背后有关吗?我的代码如下:
String SOAP_ACTION="http://tempuri.org/CelsiusToFahrenheit";
String METHOD_NAME = "CelsiusToFahrenheit";
String NAMESPACE = "http://tempuri.org";
String URL = "http://w3schools.com/webservices/tempconvert.asmx";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo pi = new PropertyInfo();
pi.setName("Celsius");
pi.setValue("32");
request.addProperty(pi);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE aht = new HttpTransportSE(URL);
try
{
aht.call(SOAP_ACTION, envelope);
SoapPrimitive results = (SoapPrimitive)envelope.getResponse();
}
catch (Exception e)
{
e.printStackTrace();
}
答案 0 :(得分:1)
原来我在命名空间后缺少'/'。我花了太长时间才弄明白。
答案 1 :(得分:1)
你应该写这样的命名空间。
String NAMESPACE = "http://tempuri.org"/;