1

我正在使用带有 WSDL 的 KSOAP2 3.0.0 并尝试从 Web 服务调用一个名为“getAllPklNoSort”的函数。

现在我正在尝试使用android调用该函数。仅供参考,我在 Web 服务中还有其他几个功能,其他功能很好,而这个“getAllPklSort”没有。

另一个奇怪的事情是,这个“getAllPklSort”需要 3 个输入参数,即“email”、“page”和“itemPerPage”,而这 3 个参数在使用 NuSOAP 客户端调用时可以正常工作。

这些代码总是返回一个 XMLPullParserException,我不知道我在哪里出错了。

这是代码,任何帮助表示赞赏。

private static final String NAMESPACE = "urn:Server";
private static final String URL = "http://10.0.2.2/project/server.php";
private static String SOAP_ACTION = "urn:Server#getAllPklNoSort";
private static String METHOD_NAME = "Functions.getAllPklNoSort";

public void getSoap()
{
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
    PropertyInfo pi = new PropertyInfo();
    pi.setName("email");
    pi.setValue(email);
    pi.setType(String.class);

    PropertyInfo pi2 = new PropertyInfo();
    pi2.setName("page");
    pi2.setValue(0);
    pi2.setType(Integer.class);

    PropertyInfo pi3 = new PropertyInfo();
    pi3.setName("itemPerPage");
    pi3.setValue(10);
    pi3.setType(Integer.class);

    request.addProperty(pi);
    request.addProperty(pi2);
    request.addProperty(pi3);

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.setOutputSoapObject(request);

    HttpTransportSE httpTransport = new HttpTransportSE(URL);

    try
    {           
        httpTransport.call(SOAP_ACTION, envelope);          
    }

    catch (Exception exception)
    {
        exception.printStackTrace();
    }
4

1 回答 1

1

已解决,使用跟踪错误

httpTransport.debug = true;

在调用之前,然后将其添加到 catch :

System.out.println("Dump : "+httpTransport.responseDump);

转储消息将引导错误原因

于 2013-11-05T23:54:23.063 回答