- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试从网络服务调用网络方法“注册”。它包含一个输入参数和一个输出。
HttpTransportSE httpTransport=null;
try
{
String organization = "Слоник Зеленый";
String method = "Registration";
SoapObject request = new SoapObject("http://www.ServiceDesk.org", method);
PropertyInfo pi1 = new PropertyInfo();
pi1.setName("Organisation");
pi1.setValue(organization);
pi1.setType(String.class);
request.addProperty(pi1);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); //VER.10,VER.11,VER.12 don't help
envelope.setOutputSoapObject(request);
// envelope.implicitTypes = true; #don't help me
envelope.dotNet = false; # "true" value don't help
List<HeaderProperty> headerList = new ArrayList<HeaderProperty>();
headerList.add(new HeaderProperty("Authorization", "Basic " + org.kobjects.base64.Base64.encode("user:password".getBytes())));
httpTransport = new HttpTransportSE(MainAsync.wsdlSchema);
httpTransport.debug=true;
httpTransport.call("http://www.ServiceDesk.org#ServiceDesk:Registration", envelope,headerList);
SoapObject result =(SoapObject) envelope.bodyIn;
String roleId = result.getProperty("return").toString();
httpTransport.reset();
return roleId;
} catch (Exception e) {
Log.e(httpTransport.responseDump);
Log.e("Request "+httpTransport.requestDump);
e.printStackTrace();
if(httpTransport!=null)
httpTransport.reset();
return"";
} finally{
if(httpTransport!=null)
httpTransport.reset();
}
但是 om nethod 调用,我收到下一个错误:
org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <definitions name='ServiceDesk' targetNamespace='http://www.ServiceDesk.org'>@9:48 in java.io.InputStreamReader@76ed5528)
at org.kxml2.io.KXmlParser.exception(KXmlParser.java:242)
at org.kxml2.io.KXmlParser.require(KXmlParser.java:1384)
at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:128)
at org.ksoap2.transport.Transport.parseResponse(Transport.java:118)
at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:275)
at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118)
这是我的 wsdl 文件:
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12bind="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.ServiceDesk.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://www.ServiceDesk.org" name="ServiceDesk" targetNamespace="http://www.ServiceDesk.org">
<types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs1="http://www.ServiceDesk.org" targetNamespace="http://www.ServiceDesk.org" elementFormDefault="qualified">
<xs:element name="Registration">
<xs:complexType>
<xs:sequence>
<xs:element name="Organisation" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</types>
<message name="RegistrationRequestMessage">
<part name="parameters" element="tns:Registration"/>
</message>
<message name="RegistrationResponseMessage">
<part name="parameters" element="tns:RegistrationResponse"/>
</message>
<portType name="ServiceDeskPortType">
<operation name="Registration">
<input message="tns:RegistrationRequestMessage"/>
<output message="tns:RegistrationResponseMessage"/>
</operation>
<binding name="ServiceDeskSoapBinding" type="tns:ServiceDeskPortType">
<soapbind:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="Registration">
<soapbind:operation style="document" soapAction="http://www.ServiceDesk.org#ServiceDesk:Registration"/>
<input>
<soapbind:body use="literal"/>
</input>
<output>
<soapbind:body use="literal"/>
</output>
</operation>
</binding-name>
<service name="ServiceDesk">
<port name="ServiceDeskSoap" binding="tns:ServiceDeskSoapBinding">
<documentation>
<wsi:Claim xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" conformsTo="http://ws-i.org/profiles/basic/1.1"/>
</documentation>
<soapbind:address location="http://volga.rarus.ru/abc2009_artur/ru/ws/ServiceDesk"/>
</port>
<port name="ServiceDeskSoap12" binding="tns:ServiceDeskSoap12Binding">
<soap12bind:address location="http://volga.rarus.ru/abc2009_artur/ru/ws/ServiceDesk"/>
</port>
</service>
我正在解析类似问题的 stackoverflow,但这对我没有帮助。
最佳答案
我尝试过这个并且对我来说是正确的:
嗯,我认为 NAMESPACE 字符串应该是 SoapObject 构造函数中的第一个参数。 call() 方法也是如此(这里应该是 NAMESPACE + METHOD_NAME 作为第一个参数)
试试这个:
_envelope.setOutputSoapObject(_client);
而不是这个:
_envelope.bodyOut = _client;
获取响应:这取决于您的 Web 服务返回的内容(原始对象还是复杂对象?)
来自this link的回答:
关于java - SOAP org.xmlpull.v1.XmlPullParserException : expected: START_TAG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29428388/
我正在学习 xml 解析,我想使用 xmlpull.org 的 api。 我是从http://www.xmlpull.org/v1/download/下载的“xmlpull_1_0_5.jar”文件并
我正在测试Xmlpull,我实际上已经在我的计算机上本地解析了xml。现在,我想解析互联网上的一个XML文件,该文件是: http://api.androidhive.info/pizza/?form
我有一个 xml 文件,我显示了它的一小部分,以显示我想要的内容 Getty Images file 2010 Getty Image
本文整理了Java中org.xmlpull.v1.builder.XmlElement类的一些代码示例,展示了XmlElement类的具体用法。这些代码示例主要来源于Github/Stackoverf
本文整理了Java中org.xmlpull.v1.builder.XmlInfosetBuilder类的一些代码示例,展示了XmlInfosetBuilder类的具体用法。这些代码示例主要来源于Git
我正在尝试将 xml 文件(作为 byte[])绑定(bind)到 java 对象。这是我的代码- public voidinputConfigXML(String xmlfile, byte[] x
我了解 SAX 解析器与 XMLPull 解析器的工作方式之间的区别。其实这里有一个很好的解释: http://www.firstobject.com/xml-reader-sax-vs-xml-pu
我是在 android 上使用 KSOAP2 的新手,我遇到了问题 我看过关于同一问题的类似帖子,但没有人帮助我解决错误 我正在尝试连接到返回我登录时使用的用户名的网络服务 (WSDL)。当我在任何浏
将 robolectric 添加到 build.gradle 文件后出现错误 Program type already present: org.xmlpull.v1.XmlPullParserExc
Custom xml file to view 这是上述问题产生的错误 我设法将 XML 文件保存到 Assets 文件夹中并加载(我什至可以浏览解析器的不同部分并从中生成输出)但是当我尝试传递 Xm
本文整理了Java中org.xmlpull.v1.builder.XmlElement.newNamespace()方法的一些代码示例,展示了XmlElement.newNamespace()的具体用
本文整理了Java中org.xmlpull.v1.builder.XmlElement.setParent()方法的一些代码示例,展示了XmlElement.setParent()的具体用法。这些代码
本文整理了Java中org.xmlpull.v1.builder.XmlElement.hasNamespaceDeclarations()方法的一些代码示例,展示了XmlElement.hasNam
本文整理了Java中org.xmlpull.v1.builder.XmlElement.removeAllAttributes()方法的一些代码示例,展示了XmlElement.removeAllAt
本文整理了Java中org.xmlpull.v1.builder.XmlElement.removeChild()方法的一些代码示例,展示了XmlElement.removeChild()的具体用法。
本文整理了Java中org.xmlpull.v1.builder.XmlElement.newElement()方法的一些代码示例,展示了XmlElement.newElement()的具体用法。这些
本文整理了Java中org.xmlpull.v1.builder.XmlElement.requiredElement()方法的一些代码示例,展示了XmlElement.requiredElement
本文整理了Java中org.xmlpull.v1.builder.XmlElement.ensureNamespaceDeclarationsCapacity()方法的一些代码示例,展示了XmlEle
本文整理了Java中org.xmlpull.v1.builder.XmlElement.hasChildren()方法的一些代码示例,展示了XmlElement.hasChildren()的具体用法。
本文整理了Java中org.xmlpull.v1.builder.XmlElement.insertChild()方法的一些代码示例,展示了XmlElement.insertChild()的具体用法。
我是一名优秀的程序员,十分优秀!