小编Mag*_*gua的帖子

Android,KSoap2和.NET Web服务w /参数= NULL结果

显然,这是一个经常遇到的问题.我不确定问题所在的位置,或者需要调整的地方,但对于我的生活,除了带有参数的.NET XML Web服务的SoapObject或SoapPrimitive,我无法检索除NULL结果之外的任何内容.

我已经尝试过我在网上找到的所有内容:

  • 添加.setXmlVersionTag =没有变化
  • 使用SoapObject而不是SoapPrimitive =没有变化
  • 使用SoapPrimitive而不是SoapObject =没有变化
  • 使用HttpTransportSE而不是AndroidHttppTransport =没有变化
  • 使用AndroidHttpTransport而不是HttpTransportSE =没有变化
  • 设置.dotNet = true =无变化
  • 删除.dotNet分配行=没有变化
  • 从Web服务中删除冒号(整个HTTP://前缀)=无更改
  • 使用PropertyInfo类而不是直接赋值=无更改
  • 使用直接赋值而不是PropertyInfo类=没有变化

我完全失去了,这令人非常沮丧.我完全控制了Web服务(我写了它),所以微小的改动,如果有用,我愿意尝试.

目前我的代码如下:

public void GetResults()
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("lastName", "sm");
request.addProperty("middleName", "");
request.addProperty("firstName", "");
request.addProperty("pageSize", 25);
request.addProperty("pageNumber", 1);

SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);           
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(request);

//AndroidHttpTransport aht = new AndroidHttpTransport(URL);
HttpTransportSE aht = new HttpTransportSE(URL);

try
{
    aht.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    aht.call(SOAP_ACTION, soapEnvelope);           

    //SoapObject result = (SoapObject)soapEnvelope.bodyIn;
    SoapObject result = (SoapObject)soapEnvelope.getResponse();
    //SoapPrimitive result …
Run Code Online (Sandbox Code Playgroud)

parameters android soap web-services ksoap2

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

ksoap2 ×1

parameters ×1

soap ×1

web-services ×1