就是报这个错: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>
请哪位大神帮帮忙,比较着急,谢谢咯
都说了END_TAG ,你们家xml,上下标签不对齐的吗?
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,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
<part name="file" type="xsd:base64Binary" ></part >
这个xml文件不是我写的。我只是调用,其他地方需要调用,修改不了,我很怀疑是base64Binary的问题,但是就是不知道咋解决
那只能是编码的问题了,你看看是不是转成ASCII
应该这么转啊?transport.call(NameSpace + Name, envelop); //程序跑到这儿就报错