Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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/3/android/195.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 android中callsoap服务的问题_Java_Android_Web Services_Soap - Fatal编程技术网

Java android中callsoap服务的问题

Java android中callsoap服务的问题,java,android,web-services,soap,Java,Android,Web Services,Soap,朋友们好,我想集成SOAP服务,代码如下 String METHOD_NAME = "processPayment"; String NAMESPACE = "http://paymentgateway.mcommerce/"; String URL = "http://182.19.20.182:81/mcommerce.webservices/pgService?wsdl"; Element authHeader = new Element(); authHeader.se

朋友们好,我想集成SOAP服务,代码如下

String METHOD_NAME = "processPayment";
String NAMESPACE = "http://paymentgateway.mcommerce/";
String URL = "http://182.19.20.182:81/mcommerce.webservices/pgService?wsdl";

Element authHeader = new Element();
        authHeader.setNamespace(NAMESPACE);


        Element username = authHeader.createElement(NAMESPACE, "userId");
        username.addChild(Node.TEXT, "aJtlkG0NQTRBaLgVt4YC4A==");
        authHeader.addChild(Node.ELEMENT, username);

        Element password = authHeader.createElement(NAMESPACE, "password");
        password.addChild(Node.TEXT, "7p/MAUl80KP+FdRERRyvlQ==");
        authHeader.addChild(Node.ELEMENT, password);

        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

        request.addProperty("MCODE", "0021225252");
        request.addProperty("TXNDATE", "12052015");
        request.addProperty("TRANSREFNO", "20090824203454");
        request.addProperty("MSISDN", "9879900088");
        request.addProperty("AMT", 100.0);
        request.addProperty("NARRATION", "TEXT");
        request.addProperty("SURCHARGE", 5);
        request.addProperty("FILLER1", "");
        request.addProperty("FILLER2", "");
        request.addProperty("FILLER3", "");
        request.addProperty("FILLER4", "");
        request.addProperty("FILLER5", "");
        request.addProperty("mPIN", "1256");

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);
        envelope.headerOut = new Element[]{authHeader};

        /*envelope.headerOut = new Element[1];
        envelope.headerOut[0] = buildAuthHeader();*/

        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.call("", envelope);
            SoapObject response = (SoapObject) envelope.getResponse();
            System.out.print("SOAP RESPONSE " + response);
        } catch (Exception e) {
            e.printStackTrace();
        }
当我运行上面的代码时,会出现如下错误

java.lang.RuntimeException:无法在第行序列化:100.0
androidHttpTransport.call(“,信封)


我的SoapAction在我的服务中是空的,所以我没有在代码中提及,所以你知道我如何解决这个问题吗?

我想这一行是罪魁祸首:

request.addProperty("AMT", 100.0);
请注意,100.0与所有其他属性值不在双引号中。所以把它改成

request.addProperty("AMT", "100.0");

看看它是否有效。

我按照您在响应字符串中的建议做了,我得到以下字符串anyType{statusCode=101;reason=Authentication failed;}好的,这与您问题中描述的错误完全不同。这可能是身份验证错误,您确定在标头上正确设置了用户名/密码吗?正如我所看到的,您提供了用户ID和密码作为散列。我不认为这是正确的,但我也不知道你的应用程序的身份验证策略,以进一步帮助你。elefasGR:是的,这是正确的用户名和密码elefasGR:首先告诉我,我在代码中设置了正确的标题参数发布方式?elefasGR:你也可以检查我的web api url链接