Android Ksoap故障字符串问题

标签 android web-services ksoap2

我正在使用以下代码通过 KSOAP 进行 Web 服务调用。

 private static final String SOAP_ACTION = "http://www.tempuri.org/GetAuthenticateUser";
    private static final String METHOD_NAME = "GetAuthenticateUser";
    private static final String NAMESPACE = "http://www.tempuri.org/";
    private static final String URL = "http://stage.mysite.com/FinancialSnapshotService/Service.asmx?WSDL";
   // I have tried http://stage.mysite.com/FinancialSnapshotService/Service.asmx also

    public void getResults() {

        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("vstrUserID", "vk@gmail.com");
        request.addProperty("vstrPassword", "password");

        SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
        soapEnvelope.dotNet = true;
        soapEnvelope.setOutputSoapObject(request);


        HttpTransportSE aht = new HttpTransportSE(URL);

        try {
            aht.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
            aht.call(SOAP_ACTION, soapEnvelope);

            SoapObject result = (SoapObject) soapEnvelope.getResponse();


            Log.d("WS", String.valueOf(result));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

虽然 Web 服务完全正常(因为它在 Iphone 应用程序上运行良好),但我收到错误消息:

05-03 16:47:49.427: WARN/ActivityManager(1194): Activity pause timeout for HistoryRecord{45cc0980 ksoap2app.main/.Ksoap2App}
05-03 16:47:49.821: WARN/System.err(4055): SoapFault - faultcode: 'soap:Client' faultstring: 'Server did not recognize the value of HTTP Header SOAPAction: http://www.tempuri.org/GetAuthenticateUser.' faultactor: 'null' detail: org.kxml2.kdom.Node@45927830
05-03 16:47:49.831: WARN/System.err(4055):     at org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(SoapSerializationEnvelope.java:112)
05-03 16:47:49.831: WARN/System.err(4055):     at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:137)
05-03 16:47:49.831: WARN/System.err(4055):     at org.ksoap2.transport.Transport.parseResponse(Transport.java:63)
05-03 16:47:49.831: WARN/System.err(4055):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:100)
05-03 16:47:49.831: WARN/System.err(4055):     at ksoap2app.main.Ksoap2App.getResults(Ksoap2App.java:44)
05-03 16:47:49.831: WARN/System.err(4055):     at ksoap2app.main.Ksoap2App.onCreate(Ksoap2App.java:23)
05-03 16:47:49.831: WARN/System.err(4055):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-03 16:47:49.841: WARN/System.err(4055):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2466)
05-03 16:47:49.841: WARN/System.err(4055):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2519)
05-03 16:47:49.841: WARN/System.err(4055):     at android.app.ActivityThread.access$2200(ActivityThread.java:123)
05-03 16:47:49.841: WARN/System.err(4055):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1870)
05-03 16:47:49.841: WARN/System.err(4055):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-03 16:47:49.841: WARN/System.err(4055):     at android.os.Looper.loop(Looper.java:123)
05-03 16:47:49.841: WARN/System.err(4055):     at android.app.ActivityThread.main(ActivityThread.java:4370)
05-03 16:47:49.841: WARN/System.err(4055):     at java.lang.reflect.Method.invokeNative(Native Method)
05-03 16:47:49.841: WARN/System.err(4055):     at java.lang.reflect.Method.invoke(Method.java:521)
05-03 16:47:49.851: WARN/System.err(4055):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-03 16:47:49.851: WARN/System.err(4055):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-03 16:47:49.851: WARN/System.err(4055):     at dalvik.system.NativeStart.main(Native Method)

我的代码有什么问题?

最佳答案

我已经像那样更改了变量:

private static final String SOAP_ACTION = "http://tempuri.org/GetAuthenticateUser";
private static final String METHOD_NAME = "GetAuthenticateUser";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://stage.mysite.com/FinancialSnapshotServic/Service.asmx";

问题解决了

关于Android Ksoap故障字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5869177/

相关文章:

java - 如何在文件中存储 SoapObject 或 Envelope

iphone - 从 iPhone 应用程序访问私有(private) Web 服务

java - 使用 ksoap2 捕获 .net webservice out 参数

java - 在 Android 中使用 Observable

android - android 在启动应用程序时执行什么过程以及它在运行时如何与 R 类交互?

java - 从 WSDL 到 Java 对象 - 自动生成?

c# - 为网络服务动态构建数组

android - 如何使用 ksoap2 设置soap Header - android

android - 适用于 Android/iOS 应用的 OAuth Web 流程

Android:无法实例化 FloatingActionButton