2 hero yang hero_yang 于 2015.07.24 10:50 提问

android 通过ksoap2调用webservice

就是报这个错:org.xmlpull.v1.XmlPullParserException: expected: END_TAG {http://schemas.xmlsoap.org/soap/envelope/}Body (position:END_TAG </{http://schemas.xmlsoap.org/soap/envelope/}SOAP-ENV:Fault>@2:212 in java.io.InputStreamReader@419f6958)

Java代码:
SoapSerializationEnvelope envelop = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelop.setOutputSoapObject(soapObject);
envelop.dotNet = true;
envelop.bodyOut = soapObject;
// 注册envelope

new MarshalBase64().register(envelop);
HttpTransportSE transport = new HttpTransportSE(WSDL);
try {
transport.debug = true;
transport.call(NameSpace + Name, envelop); //程序跑到这儿就报错
nlvbyte = (byte[]) envelop.getResponse();

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

    xml代码:
    <message name="GetFileResponse"><part name="file" type="xsd:base64Binary" /> </message>

请哪位大神帮帮忙,比较着急,谢谢咯

7个回答

jimhjj
jimhjj   2015.07.24 10:52

都说了END_TAG ,你们家xml,上下标签不对齐的吗?

hero_yang
hero_yang 对齐了的呀,如果type返回值是string类型就没有问题,返回值是base64Binary就会报这个错误
接近 3 年之前 回复
CSDNXIAOC
CSDNXIAOC   2015.07.24 10:53

1.指定 WebService 的命名空间和调用方法;

   String name_space = "";(命名空间)
   String method_name = "method_name";
   String endpoint = ""(url的完整路径)
   String soap_action = "http://WebXml.com.cn";(一般设置为null)......
答案就在这里:android ksoap2调用webservice
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

jimhjj
jimhjj   2015.07.24 10:53

试试

jimhjj
jimhjj   2015.07.24 10:55
 <part name="file" type="xsd:base64Binary" ></part >
hero_yang
hero_yang   2015.07.24 10:59

这个xml文件不是我写的。我只是调用,其他地方需要调用,修改不了,我很怀疑是base64Binary的问题,但是就是不知道咋解决

jimhjj
jimhjj   2015.07.24 11:03

那只能是编码的问题了,你看看是不是转成ASCII

hero_yang
hero_yang   2015.07.24 11:08

应该这么转啊?transport.call(NameSpace + Name, envelop); //程序跑到这儿就报错

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android通过ksoap2这个框架调用webservice大讲堂
昨天有人问我Android怎么连接mysql数据库,和对数据库的操作呀,我想把,给他说说json通信,可是他并不知道怎么弄,哎算了吧,直接叫他用ksoap吧,给他说了大半天,好多零碎的知识,看来还是有必要把这些东西整合起来,一方面自己有时候也看,另一方面当然是能帮助没有做个的小伙伴,其实东西不是很多,就是讲的有点详细,不怕多,就怕不仔细, WebServices简介 Web services是一
Android使用Ksoap2调用Web service传递自定义对象,List,大文件
JavaBean,List 调用 1、导入Gson.jar包 2、调用 new Gson().toJson(obj); new Gson().toJson(list); 将JavaBean或list转换成String类型,其余操作同基本参数一样 解析返回的json参数 Object obj = new Gson().fromJson(str,Object.cl
andorid使用ksoap2进行WebService通信
WebService 是一种基于SOAP协议的远程调用标准。通过WebService可以将不同操作系统平台,不同语言、不同技术整合到一起。在Android SDK中并没有提供调用WebService的库,因此,需要使用第三方类库(KSOAP2)来调用WebService。 示例代码分为两部分,android端与Web端(Android studio,VS2015) Web端 使用VS创建一个新项目
android ksoap2下webservice的 https请求
参考okhttp调用https实现自签名SSL证书: http://www.cnblogs.com/tommylemon/p/5454303.html stackoverflow:How to use Ksoap2 on ssl (https) connection - Android http://stackoverflow.com/questions/28583614/how-to-us
android通过ksoap访问webservice方法传递一个复杂对象参数
1.webservice方法要传递参数的对象中包含了日期类型,guid类型。如下所示: POST /MyWebService.asmx HTTP/1.1 Host: 192.168.11.62 Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/AddMainte
Android使用ksoap2调用C#中的webservice实现图像上传
目录:    一. android使用ksoap2调用webservice    二. 异步调用    三. Android使用ksoap2调用C#中的webservice实现图像上传参考方法    四. 图像传输中Base64编码问题一. android使用ksoap2调用webservice这个话题很多文章中做过讨论,这里需要说明的一点,You can't do Network operati
在Android 中使用KSOAP2调用WebService
在Android 中使用KSOAP2调用WebService在Android 中使用KSOAP2调用WebService在Android 中使用KSOAP2调用WebService
Android客户端WebService访问接口(Ksoap2Android调用.net服务端)
package com.nassoft.infomed.util; import java.util.List; import org.apache.http.message.BasicNameValuePair; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.kso
对多线程下载文件的理解和使用ksoap2-android调用WebService的操作步骤
1、首先创建URL对象。 2、获取指定URL对象锁指向资源的大小 3、在本地磁盘创建一个与网络资源相同大小的空文件 4、计算每条线程应该下载网络资源的哪个部分(从哪个字节开始,到哪个字节结束) 5、依次创建,启动多条线程来下载网络资源的指定部分 计算每条线程下载网络资源的哪个部分需要用到RandomAccessFile类,它是一个直接继承Object的,独立的类。 通过Rand
Android之ksoap2-android详解与调用天气预报Webservice完整实例
Google为Android平台开发Web Service客户端提供了ksoap2-android项目,在这个网址下载开发包http://code.google.com/p/ksoap2-android/source/browse/m2-repo/com/google/code/ksoap2-android/ksoap2-android-assembly/3.1.0/ksoap2-android-