繁体   English   中英

KXmlParser.require(KXmlParser.java同时访问Java中的SOAP Web服务

[英]KXmlParser.require(KXmlParser.java while accessing SOAP web service in java

我添加了库“ ksoap2-android-assembly-2.4-jar-with-dependencies.jar”,但出现以下错误:

Exception in thread "main" java.lang.NullPointerException at org.kxml2.io.KXmlParser.require(KXmlParser.java:1353) at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:127) at org.ksoap2.transport.Transport.parseResponse(Transport.java:63) at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:100)


    private void getData()
    {
    String METHOD_NAME = "schedule.setschedule";

        String SOAP_ACTION = "urn:schedule#setschedule";

        String NAMESPACE = "urn:schedule";

        String URL = "http://96.30.19.40:8080/server.php?wsdl";

         try {
            SoapObject request=soap(METHOD_NAME,SOAP_ACTION,NAMESPACE,URL);
            System.out.println("suceess");
            System.out.println(request.toString());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            System.out.println("fail1");
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            System.out.println("fail2");
        }
}

public static SoapObject soap(String METHOD_NAME, String SOAP_ACTION, String NAMESPACE, String URL) throws IOException, XmlPullParserException {
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); //set up request
        request.addProperty("iTopN", "5"); //variable name, value. I got the variable name, from the wsdl file!

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); //put all required data into a soap envelope

        envelope.setOutputSoapObject(request);  //prepare request

        HttpTransport httpTransport = new HttpTransport(URL);  

        httpTransport.debug = true;  //this is optional, use it if you don't want to use a packet sniffer to check what the sent message was (httpTransport.requestDump)

        httpTransport.call(SOAP_ACTION, envelope); //send request

        SoapObject result=(SoapObject)envelope.getResponse(); //get response
        return result;
     }

该项目的正确下载网址是http://code.google.com/p/ksoap2-android/wiki/HowToUse?tm=2

上面提供的直接url是旧版本。 阅读说明并下载完整的捆绑包。

您可能没有正确的ksoap2软件包

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM