【发布时间】:2015-11-27 18:46:53
【问题描述】:
我有一个本地部署的 .NET Web 服务,地址为 http://localhost:8089/。我正在尝试使用此服务运行一个简单的 android 应用程序并执行添加功能。我使用我的 pc ip 地址而不是 localhost。但它提供了以下错误。
SoapFault - faultcode: 'soap:Client' faultstring: '服务器无法识别 HTTP 标头 SOAPAction 的值:http://localhost:8089/VideoWeb.asmx?op=add。' faultactor:'null' 详细信息:org.kxml2.kdom.Node@405471c8
我是 android 新手,我不知道如何解决这个问题。我没有使用 android 模拟器我在我的 android 手机上运行这个应用程序。任何建议将不胜感激!这是我的代码。
代码
public class CallSoap {
public final String SOAP_ACTION = "http://92.168.1.9:8089/VideoWeb.asmx?op=add";
public final String OPERATION_NAME = "add";
public final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";
public final String SOAP_ADDRESS = "http://192.168.1.9:8089/VideoWeb.asmx";
public CallSoap()
{}
public String Call(int a,int b)
{
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,OPERATION_NAME);
PropertyInfo pi=new PropertyInfo();
pi.setName("a");
pi.setValue(a);
pi.setType(Integer.class);
request.addProperty(pi);
pi=new PropertyInfo();
pi.setName("b");
pi.setValue(b);
pi.setType(Integer.class);
request.addProperty(pi);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
Object response=null;
try
{
httpTransport.call(SOAP_ACTION, envelope);
response = envelope.getResponse();
}
catch (Exception exception)
{
response=exception.toString();
}
return response.toString();
}
}
【问题讨论】:
标签: android web-services soap