Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SOAP WSDL请求适用于一种方法,但不适用于另一种方法—Android_Java_Android_Web Services_Soap_Wsdl - Fatal编程技术网

Java SOAP WSDL请求适用于一种方法,但不适用于另一种方法—Android

Java SOAP WSDL请求适用于一种方法,但不适用于另一种方法—Android,java,android,web-services,soap,wsdl,Java,Android,Web Services,Soap,Wsdl,我正在尝试从SOAP服务器中提取一些xml,以便在我的应用程序中使用。我已成功从服务器中提取一个对象,但无法提取另一个对象。我拉的第一个对象是用户的ID号。下面是我用来提取第一个ID号的代码: public class logInTask extends AsyncTask<String, Void, String> { private static final String SOAP_ACTION = ""; private static final St

我正在尝试从SOAP服务器中提取一些xml,以便在我的应用程序中使用。我已成功从服务器中提取一个对象,但无法提取另一个对象。我拉的第一个对象是用户的ID号。下面是我用来提取第一个ID号的代码:

    public class logInTask extends AsyncTask<String, Void, String> {

    private static final String SOAP_ACTION = "";
    private static final String METHOD_NAME = "checkUserLogin";
    private static final String NAMESPACE = "http://m";
    private static final String URL = "-sensitive information here, just know that this ends with .cfc?wsdl-";

    @Override
    public String doInBackground(String... strings) {
        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("usr", strings[0]);
        request.addProperty("pwd", strings[1]);
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.setOutputSoapObject(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);

            // SoapPrimitive resultsRequestSOAP = (SoapPrimitive) envelope.getResponse();

            SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;

            RESULT = resultsRequestSOAP.toString();

            return RESULT;

        } catch (Exception e) {

            System.out.println("Error" + e);
            return "NULL";

        }

    }

    protected void onPostExecute(String result){
        if(RESULT.contains("Password Incorrect")) {
            alertDialog("Your password is incorrect. Please try again.");
        } else if(RESULT.contains("User Not Found")) {
            alertDialog("You have entered a non-existing username/email. Please try again.");
        } else {
            Log.i("BEGINNINGRESULT", RESULT);
            RESULT = RESULT.substring(64);
            RESULT = RESULT.substring(0, RESULT.indexOf(";"));
            alertDialog(RESULT);
            startNewIntent(RESULT);
        }
    }

}
现在,我转到另一个班级,参加一个主菜单式的活动。这里,我将使用上面字符串(3)中的整数,并将其输入到另一个SOAP请求中。以下是代码:

    public class getUserRegistrations extends AsyncTask<String, Void, String> {

    private static final String SOAP_ACTION = "";
    private static final String METHOD_NAME = "getUserRegistrations";
    private static final String NAMESPACE = "http://m";
    private static final String URL = "-same url-";

    @Override
    public String doInBackground(String... userNumber) {

        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        PropertyInfo user = new PropertyInfo();

        user.setName("usr");
        user.setValue(userNumber);
        user.setType(String.class);

        request.addProperty(user);

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

        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        androidHttpTransport.debug = true;

        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);

            SoapObject resultsRequestSOAP = (SoapObject) envelope.getResponse();

            androidHttpTransport.responseDump = requestDump;

            MainMenuActivity.registrationsGrabbed = resultsRequestSOAP.toString();

            return MainMenuActivity.registrationsGrabbed;

        } catch (Exception e) {

            System.out.println("Error" + e);
            return "NULL";

        }

    }

    protected void onPostExecute(String result) {
        Log.i("userID", userID);
        Log.i("dump", requestDump);
        //Log.i("Registration XML:", registrationsGrabbed);
    }

}
这会使应用程序崩溃。错误来自以下行:

 Log.i("dump", requestDump);
 //Log.i("Registration XML:", registrationsGrabbed);
我假设这些错误告诉我服务器没有响应,即使我发送的是相同类型的请求。谁能告诉我我做错了什么?如果您需要更多信息,请询问。多谢各位

09-04 15:23:25.313  28519-28519/co.cdat.emi E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: co.cdat.emi, PID: 28519
java.lang.NullPointerException: println needs a message
 Log.i("dump", requestDump);
 //Log.i("Registration XML:", registrationsGrabbed);