从android emulator调用asp.net web服务时出错
我无法通过android代码调用我的asp.net Web服务。它抛出错误并关闭应用程序,表示遗憾的是WebServiceSample已停止工作。我找不到原因 我有一个asp.net Web服务,它接受2个数字作为输入,执行加法并返回结果。此webwervice正在本地IIS服务器中运行从android emulator调用asp.net web服务时出错,android,Android,我无法通过android代码调用我的asp.net Web服务。它抛出错误并关闭应用程序,表示遗憾的是WebServiceSample已停止工作。我找不到原因 我有一个asp.net Web服务,它接受2个数字作为输入,执行加法并返回结果。此webwervice正在本地IIS服务器中运行 The default package is "http://tempuri.org/" The url of my web method is "http://192.168.0.109:15700/Ad
The default package is "http://tempuri.org/"
The url of my web method is "http://192.168.0.109:15700/AddDemo.asmx"
其中15700是IIS提供的临时端口,AddDemo是我的web方法
当我在浏览器中查看服务时,它工作正常,但当我通过CallWebService.java调用服务时,它不工作。请帮我执行死刑。从android emulator调用本地系统中托管的asp.net web服务需要做一些额外的设置吗
我的CallWebService.java代码如下:
包com.example.webservicesample
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
//import org.ksoap2.transport.AndroidHttpTransport;
import org.ksoap2.transport.HttpTransportSE;
public class CallWebService
{
String namespace = "http://tempuri.org/";
private String url = "http://192.168.0.106:15700/AddDemo.asmx";
String res;
String SOAP_ACTION;
SoapObject request = null, objMessages = null;
SoapSerializationEnvelope envelope;
//AndroidHttpTransport androidHttpTransport;
HttpTransportSE androidHttpTransport;
public CallWebService()
{
}
protected void setEnvelope()
{
try
{
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
//androidHttpTransport = new AndroidHttpTransport(url);
//androidHttpTransport.debug = true;
androidHttpTransport = new HttpTransportSE(url);
androidHttpTransport.debug = true;
}
catch(Exception e)
{
res = "Error in setEnvelope....Details\n "+e.getMessage().toString();
}
}
public String Add(String methodName,int param1, int param2)
{
try
{
SOAP_ACTION = namespace + methodName;
request = new SoapObject(namespace, methodName);
PropertyInfo addData =new PropertyInfo();
addData.setName("param1");
addData.setValue(param1);
addData.setType(Integer.class);
request.addProperty(addData);
addData.setName("param2");
addData.setValue(param2);
addData.setType(Integer.class);
request.addProperty(addData);
setEnvelope();
try
{
//SOAP calling webservice
androidHttpTransport.call(SOAP_ACTION, envelope);
res = envelope.getResponse().toString();
}
catch (Exception e)
{
res = "Error in Add method's 2nd catch block. Details "+e.getMessage().toString();
}
}
catch(Exception e)
{
res = "Error in Add method's first catch block. Details "+e.getMessage().toString();
}
return res;
}
}
请有人为此提供解决方案。我试着在这里搜索了很多次,但无法找出我到底遗漏了什么…您需要在logcat输出中查找错误堆栈跟踪。