开发者

Soap webservice in android

hai i am kamal i am new in android and while i running my program i got the error in logcat in the following error

.plz provide a suitable way to connect and got response

03-09 12:00:38.639: WARN/System.err(220): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://www.w3.org/2001/12/soap-envelope}Envelope (position:START_TAG <html>@1:6 in java.io.InputStreamReader@43d464c0) 
03-09 12:00:38.690: WARN/System.err(220):     at org.kxml2.io.KXmlParser.exception(KXmlParser.java:245)
03-09 12:00:38.700: WARN/System.err(220):     at org.kxml2.io.KXmlParser.require(KXmlParser.java:1376)
03-09 12:00:38.717: WARN/System.err(220):     at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:127)
03-09 12:00:38.720: WARN/System.err(220):     at org.ksoap2.transport.Transport.parseResponse(Transport.java:63)
03-09 12:00:38.720: WARN/System.err(220):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:100)
03-09 12:00:38.720: WARN/System.err(220):     at com.devstream.http.MainActivity$1.onClick(MainActivity.java:92)
03-09 12:00:38.740: WARN/System.err(220):     at android.view.View.performClick(View.java:2364)
03-09 12:00:38.750: WARN/System.err(220):     at android.view.View.onTouchEvent(View.java:4179)
03-09 12:00:38.771: WARN/System.err(220):     at android.view.View.dispatchTouchEvent(View.java:3709)
03-09 12:00:38.801: WARN/System.err(220):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-09 12:00:38.801: WARN/System.err(220):     at android.view.Vi开发者_StackOverflow社区ewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-09 12:00:38.811: WARN/System.err(220):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-09 12:00:38.821: WARN/System.err(220):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-09 12:00:38.832: WARN/System.err(220):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
03-09 12:00:38.841: WARN/System.err(220):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
03-09 12:00:38.850: WARN/System.err(220):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
03-09 12:00:38.860: WARN/System.err(220):     at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
03-09 12:00:38.870: WARN/System.err(220):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
03-09 12:00:38.889: WARN/System.err(220):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
03-09 12:00:38.889: WARN/System.err(220):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-09 12:00:38.889: WARN/System.err(220):     at android.os.Looper.loop(Looper.java:123)
03-09 12:00:38.899: WARN/System.err(220):     at android.app.ActivityThread.main(ActivityThread.java:4363)
03-09 12:00:38.912: WARN/System.err(220):     at java.lang.reflect.Method.invokeNative(Native Method)
03-09 12:00:38.919: WARN/System.err(220):     at java.lang.reflect.Method.invoke(Method.java:521)
03-09 12:00:38.930: WARN/System.err(220):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
03-09 12:00:38.939: WARN/System.err(220):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
03-09 12:00:38.959: WARN/System.err(220):     at dalvik.system.NativeStart.main(Native Method)


Looks like you are trying to connect to a SOAP web service. But, the web service is returning HTML response instead of SOAP response. You can use tools like SOAP UI to test your web service and then consume it from your android program.


There may be an error in the input parameters that you are sending to the soap service. Make sure that adding input parameters to the SOAP service (request) is as follows:

SoapObject request = new SoapObject(NAMESPACE, "yourFunctionName");

request.addProperty("dbuser", dbuser); // addProperty rather than addAttribute.

And to obtain output parameters from the SOAP service (the consumption part):

androidHttpTransport.call("yourFunctionName", env);

SoapObject result = (SoapObject) env.bodyIn;

Then call the getProperty(int) method to obtain all the properties you intended to consume.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜