0

I am using KSOAP in my application to call one webservices.In that i am getting some exception.I am using the following code:

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.setOutputSoapObject(request);
            envelope.dotNet=true;           
            HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);  
            try
            {
                androidHttpTransport.call(SOAP_ACTION, envelope);              
//              SoapPrimitive response = (SoapPrimitive)envelope.getResponse();    
                SoapObject response=(SoapObject)envelope.getResponse();      ------>getting exceptopn here
}  

I am getting the following error:

 W/System.err(994): SoapFault - faultcode: 'soap:Server' faultstring: 'System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.

 W/System.err(994):    --- End of inner exception stack trace ---' faultactor: 'null' detail: org.kxml2.kdom.Node@44ed4ff0
 W/System.err(994):     at org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(SoapSerializationEnvelope.java:116)
 W/System.err(994):     at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:137)
 W/System.err(994):     at org.ksoap2.transport.Transport.parseResponse(Transport.java:63)
 W/System.err(994):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:100)
 W/System.err(994):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
 W/System.err(994):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
 W/System.err(994):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
 W/System.err(994):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
 W/System.err(994):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
 W/System.err(994):     at android.os.Handler.dispatchMessage(Handler.java:99)
 W/System.err(994):     at android.os.Looper.loop(Looper.java:123)
 W/System.err(994):     at android.app.ActivityThread.main(ActivityThread.java:4363)
 W/System.err(994):     at java.lang.reflect.Method.invokeNative(Native Method)
 W/System.err(994):     at java.lang.reflect.Method.invoke(Method.java:521)
 W/System.err(994):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
 W/System.err(994):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
 W/System.err(994):     at dalvik.system.NativeStart.main(Native Method)
 I/ActivityManager(60): Displayed activity com.redbus/.SearchRoute: 2501 ms (total 2501 ms)

Anybody can please help me..

subburaj
  • 161
  • 2
  • 15
  • as I said before please paste lines of code that you initialize `request` – Bob May 10 '12 at 04:31
  • SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); – subburaj May 10 '12 at 04:38
  • Hi Richa where i have to use this code.Whether i have to use in case for Soapobject. – subburaj May 10 '12 at 04:42
  • can you paste message of your exception? I mean e.toString() of catch – Bob May 10 '12 at 06:28
  • catch (Exception e) { e.printStackTrace(); } – subburaj May 10 '12 at 06:31
  • Oh my god!!!! `String strMsg = e.toString()`. please write the **content!!!** of strMsg in this example – Bob May 10 '12 at 06:42
  • I mean `catch (Exception e) { String strMsg = e.toString() } `. write the content of strMsg – Bob May 10 '12 at 06:43
  • Hi breceivemail i can't understand ur suggestion. – subburaj May 10 '12 at 06:44
  • `try { androidHttpTransport.call(SOAP_ACTION, envelope); SoapObject response=(SoapObject)envelope.getResponse(); } catch (Exception e) { String strMsg = e.toString() ; }` When exception occured, curser comes to line `String strMsg = e.toString() ;` You can get content of strMsg in debug mode or write it to a TextView and tell us what it is. – Bob May 10 '12 at 06:48
  • Hi breceivemail the same is happening.The cursor is not moving to anywhere,it stays as it is. – subburaj May 10 '12 at 06:57
  • :) OK. you are really new in java! – Bob May 10 '12 at 06:59

1 Answers1

0

you can figure out your problem, here the running code::

            SoapObject request = new SoapObject(NAMESPACE,METHODE_NAME);
            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                    SoapEnvelope.VER11);
            request.addProperty("image", param[0]);
            request.addProperty("desc", param[1]);
            request.addProperty("venueId", param[2]);
            request.addProperty("userId", param[3]);
            envelope.setOutputSoapObject(request);
            envelope.dotNet = true;
            HttpTransportSE androidHttpTransport = new HttpTransportSE(
                    Data.URL_BASE, 20000);
            try {
                androidHttpTransport.call(Data.SOAP_ACTION, envelope);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                responseXML = null;
            }
            SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
            String responseLocal = resultsRequestSOAP.toString();

let me know if you still have problem,

Anand Tiwari
  • 1,583
  • 10
  • 22
  • Yes still i have problem.Showing class cast exception.SoapObject response=(SoapObject)envelope.bodyIn; String responseLocal = response.toString(); System.out.println("subbu="+responseLocal); – subburaj May 10 '12 at 04:51
  • may be depend on web response type, try [this](http://stackoverflow.com/questions/4490505/java-lang-classcastexception-org-ksoap2-serialization-soapprimitive) – Anand Tiwari May 10 '12 at 04:57