我在 LogCat 中没有收到任何错误。代码中显示的 ip 是 localhost ip 地址。我的 AVD 中有互联网可用。
我的 MainActivity.java 是:
公共类 MainActivity 扩展 Activity {
private static final String SOAP_ACTION = "http://tempuri.org/add";
private static final String METHOD_NAME = "add";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://101.63.111.137/yash/DemoService.asmx";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button callMe = (Button) findViewById(R.id.b1);
callMe.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String responseData = getData();
((TextView) findViewById(R.id.textView1)).setText("Response Received is: " + responseData);
}
});
}
private String getData() {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo pi = new PropertyInfo();
pi.setName("i");
pi.setValue(((EditText) findViewById(R.id.e1)).getText().toString());
pi.setType(int.class);
request.addProperty(pi);
PropertyInfo pi2 = new PropertyInfo();
pi2.setName("j");
pi2.setValue(((EditText) findViewById(R.id.e2)).getText().toString());
pi2.setType(int.class);
request.addProperty(pi2);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport=new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
return response.toString();
} catch (Exception e) {
e.printStackTrace();
return e.toString();
}
}
}
我在 AndroidManifest.xml 中添加了这些行
提前致谢。