【问题标题】:.NET web service in android and not getting XML responce.NET Web 服务在 android 中并且没有得到 XML 响应
【发布时间】:2011-04-13 11:47:07
【问题描述】:

我在我的代码中使用 asmx Web 服务,它没有返回正确的 XML 文件。这是我的代码

private static final String SOAP_ACTION = "http://tempuri.org/ValidateLogin";     
private static final String METHOD_NAME = "ValidateLogin" ;     
private static final String NAMESPACE = "http://tempuri.org/";     
private static final String URL = "http://ufindfish.b4live.com/FindFish.asmx";     

request= new SoapObject(NAMESPACE,METHOD_NAME);
request.addProperty("sUserName",name);
request.addProperty("sPwd", password);


//envelope.bodyOut=request;
envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
envelope.encodingStyle=SoapSerializationEnvelope.XSD;
//generate httpresponce
httpTransportSE=new HttpTransportSE(URL);
try {
    httpTransportSE.call(SOAP_ACTION,envelope);
} catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
} catch (XmlPullParserException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}

SoapObject result = null;
try {
    result=(SoapObject)envelope.getResponse();
    //Log.i("RESPONCE",""+result.toString());
} catch (SoapFault e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

回复如下……我该怎么办?

anyType{NearLake=anyType{tblNearLake=anyType{LAKE=2022C01 BENSFORT BRIDGE to PETERBOROUGH; LAT=11.622; LON=20.616; }; tblNearLake=anyType{LAKE=2022C01 BENSFORT BRIDGE to PETERBOROUGH; LAT=11.186; LON=19.443; }; }; }

请帮帮我...

提前致谢

【问题讨论】:

  • 您如何检查结果不正确?检查时不能依赖 toString() 方法的结果!
  • @Olegas 结果还可以......但它没有给我正确的 xml 文件来解析它。
  • 你是如何解析它的?为什么要单独解析它?它不是已经被您的 SOAP 库解析了吗?
  • 我不知道库是否已经解析它...bt 不管我到目前为止读过什么,我得到的信息是你得到了 xml 文件,你会根据你的需要进行解析......你有使用了这个服务 b4?你得到 xml 文件了吗?
  • 不,我没有在 Android 中使用过 SOAP,但我知道 SOAP 是一种 RPC 协议,可以进行调用并接收强类型的答案。您使用的是什么 SOAP 库?

标签: android service


【解决方案1】:

我在这个问题上苦苦挣扎,终于找到了解决方案。以下代码将为您完成这项工作。

 httpTransportSE.debug=true; 
 httpTransportSE.call(SOAP_ACTION, envelope);
 String ss=httpTransportSE.responseDump;
 Log.d("--Result-- ", ss);

如果 web 服务返回 xml,它将正确打印带有 xml 标签的 web 服务输出。

【讨论】:

    猜你喜欢
    • 2016-02-03
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    相关资源
    最近更新 更多