Android kSOAP Web服务问题

Ale*_*lex 0 java android web-services ksoap

我正在尝试通过kSOAP调用公共Web服务(w3schools.com/webservices/tempconvert.asmx)(直接从Google下载并包含".jar").

这是我的代码:

// declarations

private static final String NAMESPACE = "http://tempuri.org/" ;
private static final String METHOD_NAME = "CelsiusToFahrenheit";
private static final String SOAP_ACTION = "http://tempuri.org/CelsiusToFahrenheit";
private static final String URL = "http://216.128.29.26/webservices/tempconvert.asmx";

// code

try
{
   SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
   SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
   HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

   request.addProperty("Celsius", "32");
   envelope.setOutputSoapObject(request);
   androidHttpTransport.call(SOAP_ACTION, envelope);

   Object result = envelope.getResponse();
}
catch(Exception e)
{
   e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

此外,"AndroidManifest.xml"包含访问互联网的权限:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Run Code Online (Sandbox Code Playgroud)

此外,我的AVD可以访问互联网(通过浏览器应用程序尝试).

有人可以帮帮我吗?我现在已经尝试了大约6个小时,但我仍然失败了.

谢谢!

Man*_*ser 5

问题是你正在主线程和API级别12上进行网络调用,这是不允许的.您只需将ksoap2调用移动到AsyncTask左右即可.顺便进行网络访问的任何事情都会发生此问题.这是强制严格模式检查.