使用KSoap从Android调用webservice只需返回“error”字符串

时间:2010-04-26 21:57:47

标签: java android web-services ksoap2

我正在尝试使用kso​​ap来调用简单的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();
}

2 个答案:

答案 0 :(得分:1)

原来我在命名空间后缺少'/'。我花了太长时间才弄明白。

答案 1 :(得分:1)

你应该写这样的命名空间。

String NAMESPACE = "http://tempuri.org"/;