0

我已经看到了如何在 Android 中使用 Ksoap2 的所有可能示例。我能够从相同的代码访问公开可用的 SOAP Web 服务。但是当我尝试使用我的服务团队编写的 SOAP 服务时,我不断得到

“java.IO.exception:HTTP 请求失败:HTTPS 状态:500”基本上调用在 HttpTransportSEObj.call(命名空间+方法名,信封)上失败;

我可以从 iOS 客户端调用相同的服务。

我不知道在这里做什么。

这与命名空间与我的实际网址有何不同有关吗?我不知道。

命名空间:http : //xyz.net/webmethod/mobile,网址: http: //xyz.com/lite/webmethod/mobile.asmx,方法名称:登录

任何帮助是极大的赞赏。

Edit1:我从异常中获得了更多信息,这是响应

soap:ServerServer 无法处理请求。---> 对象引用未设置为对象的实例。

Edit2:在此处添加调用代码

        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
    request.addProperty("email","xyc.com");
    request.addProperty("password","Passw@rd1");
    SoapSerializationEnvelope envelope = new    SoapSerializationEnvelope(SoapEnvelope.VER11); 


   envelope.dotNet = true;
    envelope.setOutputSoapObject(request);  //prepare request
    HttpTransportSE httpTransport = new HttpTransportSE(URL);  
    httpTransport.debug = true;

    Log.i("bodyout", "" + envelope.bodyOut.toString());
    try {

           httpTransport.call(SOAP_ACTION, envelope); //send request
        SoapObject result=(SoapObject)envelope.getResponse(); //get response

        if(result != null)
            Log.i("Response"," Service response is " + result);
    } catch (Exception e) {
        Log.e("SOAP_TEST", "========= Request start =========");
        Log.e("SOAP_TEST", httpTransport.requestDump);
        Log.e("SOAP_TEST", "========== Request end ==========");
        Log.e("SOAP_TEST", "========= Response start ========");
        Log.e("SOAP_TEST", httpTransport.responseDump);
        Log.e("SOAP_TEST", "========== Response end =========");
        Log.e("", "error", e);
    }

}

4

0 回答 0