【问题标题】:WSDL Soap Web services integration with androidWSDL Soap Web 服务与 android 集成
【发布时间】:2015-10-28 07:25:58
【问题描述】:

我在 wsdl 肥皂服务和 android 应用程序之间建立了联系 但我有错误可以请任何人帮助我吗?

这是日志错误:

10-28 10:19:02.489  27277-27503/info.androidhive.slidingmenu W/System.err﹕ org.ksoap2.transport.HttpResponseException: HTTP request failed, HTTP status: 404
10-28 10:19:02.509  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:237)
10-28 10:19:02.509  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118)
10-28 10:19:02.509  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:113)
10-28 10:19:02.509  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at info.androidhive.slidingmenu.Login$AsyncTaskRunner.doInBackground(Login.java:62)
10-28 10:19:02.509  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at info.androidhive.slidingmenu.Login$AsyncTaskRunner.doInBackground(Login.java:46)
10-28 10:19:02.509  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:287)
10-28 10:19:02.509  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
10-28 10:19:02.519  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:137)
10-28 10:19:02.519  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-28 10:19:02.519  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
10-28 10:19:02.519  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
10-28 10:19:02.519  27277-27503/info.androidhive.slidingmenu W/System.err﹕ at java.lang.Thread.run(Thread.java:856)

这是我的连接:

 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                SoapObject request = new SoapObject(Name_Space, Method);
                //bodyOut is the body object to be sent out with this envelope
                envelope.bodyOut = request;
                HttpTransportSE transport = new HttpTransportSE(URL);
                try {
                    transport.call(Name_Space +"/"+Method, envelope);
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (XmlPullParserException e) {
                    e.printStackTrace();
                }
                //bodyIn is the body object received with this envelope
                if (envelope.bodyIn != null) {
                    //getProperty() Returns a specific property at a certain index.
                    SoapPrimitive resultSOAP = (SoapPrimitive) ((SoapObject) envelope.bodyIn).getProperty(0);
                    resp=resultSOAP.toString();
                }
            } catch (Exception e) {
                e.printStackTrace();
                resp = e.getMessage();
            }
            return resp;

【问题讨论】:

    标签: android soap service wsdl


    【解决方案1】:

    您的问题不正确-但仍然检查您的网址,它应该是这样的-

    http://myurl.com/Service.svc/Service.svc
    
    【解决方案2】:

    试试这样:

    private static final String SOAP_ACTION = "your soapAction"; //http://tempuri.org/ITurnoverService/GetTurnover
    private static final String METHOD_NAME = "your method"; // like GetTurnover
    private static final String SERVICE = "your service"; // like TurnoverService.svc
    private static final String NAMESPACE = "your namespace"; // like http://tempuri.org/
    

    然后应用这些:

            String URL = "your url"; // like www.example.com/something/TurnoverService.svc
    
            SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
            request.addProperty("username", arg0[0]); // property add
            request.addProperty("password", arg0[1]);
    
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.setOutputSoapObject(request);
            envelope.dotNet = true;
            HttpTransportSE httpTransport = new HttpTransportSE(URL);
    
            httpTransport.debug = true;
            try {
                httpTransport.call(SOAP_ACTION, envelope);
            } catch (HttpResponseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (XmlPullParserException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } //send request
    
            Object  result = null;
    
            try {
                result = (Object) envelope.getResponse();
                response = String.valueOf(result);
            } catch (SoapFault e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      相关资源
      最近更新 更多