我试图运行一个消费Web服务的Android应用程序的简单示例。下面的一些例子在web我终于做到了这一点:从模拟器消耗Android的Android
private String getValueFromWS()
{
try
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
String weight = "3700";
String fromUnit = "Grams";
String toUnit = "Kilograms";
PropertyInfo weightProp =new PropertyInfo();
weightProp.setName("Weight");
weightProp.setValue(weight);
weightProp.setType(double.class);
request.addProperty(weightProp);
PropertyInfo fromProp =new PropertyInfo();
fromProp.setName("FromUnit");
fromProp.setValue(fromUnit);
fromProp.setType(String.class);
request.addProperty(fromProp);
PropertyInfo toProp =new PropertyInfo();
toProp.setName("ToUnit");
toProp.setValue(toUnit);
toProp.setType(String.class);
request.addProperty(toProp);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
return response.toString();
}
catch (Exception e)
{
return "Error: " + e.getMessage();
}
}
我也该清单文件中添加的
<uses-permission android:name="android.permission.INTERNET"/>
。
我不知道为什么它在
androidHttpTransport.call(SOAP_ACTION, envelope);
抛出一个异常,当它运行蒙山模拟器。我使用的是2.5S的kSoap版本,模拟器运行的是Android 4.1(16级)。
我做错了什么?
请提供您所看到的例外。也看看这个链接http://stackoverflow.com/questions/9355707/how-to-create-soap-request-via-ksoap2,因为它可能对你有所帮助。 – BrianPlummer 2012-07-16 17:38:39
这是一个NetWorkOnMainThreadException。详细消息=空。没有太多的信息,对不起。 – nachovall 2012-07-17 18:00:49