首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android:访问KSOAP

Android:访问KSOAP
EN

Stack Overflow用户
提问于 2012-01-20 11:08:29
回答 1查看 610关注 0票数 0

我有这样的错误:

代码语言:javascript
复制
01-20 10:45:20.910: W/System.err(24727): SoapFault - faultcode: 's:InvalidUser' faultstring: 'InvalidUser' faultactor: 'null' detail: org.kxml2.kdom.Node@4053e568

01-20 10:45:20.910: W/System.err(24727):    at org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(SoapSerializationEnvelope.java:116)
01-20 10:45:20.910: W/System.err(24727):    at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:137)
01-20 10:45:20.910: W/System.err(24727):    at org.ksoap2.transport.Transport.parseResponse(Transport.java:63)
01-20 10:45:20.910: W/System.err(24727):    at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:100)

我想从web服务中获取数据,但似乎无法访问它。代码如下:

代码语言:javascript
复制
import android.app.Activity;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.os.Bundle;
import android.util.Log;

public class SoapActivity extends Activity {

     private static final String NAMESPACE = "http://titoms.com/services/1.0";
     private static final String METHOD_NAME = "SelectAll";
     private static final String SOAP_ACTION = "http://titoms.com/services/1.0/IBranchComponent/SelectAll";
     private static final String URL = "http://cbqa.basecamptech.ph/titoms/BranchComponent.svc?wsdl";

     public void onCreate(Bundle icicle) {
             super.onCreate(icicle);
             setContentView(R.layout.main);

             try{
                     SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
                     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                     envelope.dotNet = true;
                     envelope.setOutputSoapObject(request);
                     HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
                     androidHttpTransport.debug = true;
                     androidHttpTransport.call(SOAP_ACTION,envelope);
                     SoapPrimitive so = (SoapPrimitive)envelope.getResponse();

                     Log.i("Soap", "Response: "+so.toString());

             } catch (Exception E) {
                     E.printStackTrace();
             }
     }

}

有谁可以帮我?我非常需要访问web服务。

EN

回答 1

Stack Overflow用户

发布于 2012-01-20 14:47:53

我认为你应该改变你的SOAP动作,因为SOAP ACTION=NAMESPACE+METHOD NAME;你的NAMESPACE = "http://titoms.com/services/1.0";METHOD_NAME = "SelectAll";

因此SOAP操作必须是SOAP_ACTION = "http://titoms.com/services/1.0/SelectAll";

我希望这能帮到你

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8936301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档