Android KSOAP2未返回任何结果
我正在使用KSOAP2库调用ASP.NET web服务。我没有得到任何错误,但我也没有得到任何回应,也没有任何解决这个问题的想法 下面是我的代码。我只是调用helloworld默认方法,返回一个字符串Android KSOAP2未返回任何结果,android,asp.net,web-services,ksoap2,android-ksoap2,Android,Asp.net,Web Services,Ksoap2,Android Ksoap2,我正在使用KSOAP2库调用ASP.NET web服务。我没有得到任何错误,但我也没有得到任何回应,也没有任何解决这个问题的想法 下面是我的代码。我只是调用helloworld默认方法,返回一个字符串 public class MainActivity extends Activity { private final String NAMESPACE = "http://tempuri.org/"; private final String URL =
public class MainActivity extends Activity {
private final String NAMESPACE = "http://tempuri.org/";
private final String URL = "http://(ip)/TrialService.asmx";
private final String SOAP_ACTION = "http://tempuri.org/HelloWorld";
private final String METHOD_NAME = "HelloWorld";
TextView t1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t1 = (TextView) findViewById(R.id.textView1);
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
}
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
String receivedInt = (String) envelope.getResponse();
t1.setText(receivedInt);
setContentView(t1);
} catch (Exception e) {
t1.setText("error");
}
}
}
首先从启用调试开始,这样您就可以看到要发送到服务器的soap信封的内容,您可以通过添加(请参见注释部分)来做到这一点:
现在您可以看到soap信封被发送到您的服务器,检查它是否准确。(您可以使用以下程序将其与从桌面发送的信封进行比较:
下一步:- 您必须提供更多详细信息,以便我们能够更好地帮助您:放置相关WSDL部分的副本
- 确保您使用的是正确的值:名称空间、方法名称、URL、SOAP操作
- 如果这是一个测试项目,并且您有权访问服务器,那么您可以在发送请求时检查服务器上发生了什么
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.debug = true;//ADD THIS
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
//ADD THESE 2
//Important Outputs to check how the request/Response looks like.. Check them in Logcat to find these outputs
System.out.println("requestDump is :"+androidHttpTransport.requestDump);//ADDED
System.out.println("responseDump is :"+androidHttpTransport.responseDump);//ADDED
String receivedInt = (String) envelope.getResponse();
t1.setText(receivedInt);
setContentView(t1);
} catch (Exception e) {
t1.setText("error");
}