问题
I am very new to Android and ksoap2 development. I have been searching on the forums for an answer to my error and still have not found a fix. Hopefully someone will be able to figure how to fix the error.
I am calling a Webservice with 10 parameters in my sample android app using the Ksoap2-Android-assembly-2.4 jar library.
The error from the responsedump call:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Server was unable to read request. ---> There is an error in XML document (1, 435). ---> Input string was not in a correct format.</faultstring>
<detail />
</soap:Fault>
</soap:Body>
</soap:Envelope>
The request from the requestdump call:
<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
<v:Header />
<v:Body>
<InsertAnalyzerQueue xmlns="http://63.237.52.216/service.asmx/" id="o0" c:root="1">
<uploadcustomerkey i:type="d:int">11111</uploadcustomerkey>
<uploadcustomertype i:type="d:string">C</uploadcustomertype>
<description i:type="d:string">ANDROIDTEST</description>
<uploadedfile i:type="d:string">Myfile</uploadedfile>
<companionfile i:type="d:string">C</companionfile>
<emailaddress i:type="d:string">tom@transferexpress</emailaddress>
<generatedfilename i:type="d:string">MyFileName</generatedfilename>
<companyname i:type="d:string">MyCompany</companyname>
<dealerid i:type="d:string">TEST</dealerid>
<phonenbr i:type="d:string">4409181900</phonenbr>
</InsertAnalyzerQueue>
</v:Body></v:Envelope>
My actual code:
package com.example.soapconnect2;
import java.io.IOException;
import org.ksoap2.transport.AndroidHttpTransport;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class SoapConnect2 extends Activity {
/** Called when the activity is first created. */
private static final String SOAP_ACTION = "http://63.237.52.216/service.asmx/InsertAnalyzerQueue"; //Need to include WebService method
private static final String METHOD_NAME = "InsertAnalyzerQueue"; //WebService
private static final String NAMESPACE = "http://63.237.52.216/service.asmx/"; //Only use IP address plus the asmx file name
private static final String URL = "http://63.237.52.216/service.asmx"; //Only use IP address plus the asmx file name
//HttpGet httpPost = new HttpGet("http://63.237.52.215/serce.asmx/IsValidReferenceID?referenceID='092010-0123A1of1'");
//private static final String URL = "http://63.237.52.216/service.asmx/InsertAnalyzerQueue?uploadcustomerkey=1111&uploadcustomertype=T&description=TESTTESTTEST&uploadedfile=My_file.jpg&companionfile=&emailaddress=tom@test.com&generatedfilename=MyFileName.jpg&companyname=MyCompany&dealerid=TEST&phonenbr=5555555555";
String[] results;
String resultdata;
Toast mtoast;
PropertyInfo mPropertyInfo;
String mRequestDump = null;
String mResponseDump = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
mPropertyInfo = new PropertyInfo();
//mPropertyInfo.elementType.setValue(request.addProperty("uploadcustomerkey", "11111"));
//mPropertyInfo.setElementType(elementType)= PropertyInfo.INTEGER_CLASS;
//Adds parameters <parameter name>, <value>
request.addProperty("uploadcustomerkey", 11111);
request.addProperty("uploadcustomertype", "C");
request.addProperty("description", "ANDROIDTEST");
request.addProperty("uploadedfile", "Myfile");
request.addProperty("companionfile", "C");
request.addProperty("emailaddress", "tom@transferexpress");
request.addProperty("generatedfilename", "MyFileName");
request.addProperty("companyname", "MyCompany");
request.addProperty("dealerid", "TEST");
request.addProperty("phonenbr", "4409181900");
SoapSerializationEnvelope mEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
mEnvelope.dotNet=true;
mEnvelope.setOutputSoapObject(request);
mEnvelope.encodingStyle = SoapSerializationEnvelope.XSI;
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
androidHttpTransport.debug = true;
try {
androidHttpTransport.call(SOAP_ACTION, mEnvelope);
}
catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mRequestDump = androidHttpTransport.requestDump;
mResponseDump = androidHttpTransport.responseDump;
//SoapObject result = (SoapObject)envelope.bodyIn;
//resultdata = result.getProperty(0).toString();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mtoast = Toast.makeText(getBaseContext(), resultdata, Toast.LENGTH_LONG);
mtoast.show();
}
}
The actual Webservice WSDL:
http://63.237.52.216/service.asmx?wsdl
<?xml version="1.0" encoding="utf-8" ?>
- <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://63.237.52.216/service.asmx/" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://63.237.52.216/service.asmx/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
- <wsdl:types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://63.237.52.216/service.asmx/">
<s:import namespace="http://microsoft.com/wsdl/types/" />
- <s:element name="IsValidReferenceID">
- <s:complexType>
+ <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="referenceID" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="IsValidReferenceIDResponse">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="IsValidReferenceIDResult" type="s:boolean" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetDealersUploadedItems">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="dealerID" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="phoneNumber" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="GetDealersUploadedItemsResponse">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetDealersUploadedItemsResult" type="tns:ArrayOfUploadItem" />
</s:sequence>
</s:complexType>
</s:element>
- <s:complexType name="ArrayOfUploadItem">
- <s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="UploadItem" nillable="true" type="tns:UploadItem" />
</s:sequence>
</s:complexType>
- <s:complexType name="UploadItem">
- <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="UploadRefID" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="UploadedDate" type="s:dateTime" />
<s:element minOccurs="0" maxOccurs="1" name="UploadedFileName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="UpdatedFlag" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Description" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="StatusName" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="EmailAddress" type="s:string" />
</s:sequence>
</s:complexType>
- <s:element name="UpdateOrderStatus">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="referenceIDs" type="s:string" />
<s:element minOccurs="1" maxOccurs="1" name="orderStatus" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="newCustomerID" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="UpdateOrderStatusResponse">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="UpdateOrderStatusResult" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="InsertAnalyzerQueue">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="uploadcustomerkey" type="s:int" />
<s:element minOccurs="1" maxOccurs="1" name="uploadcustomertype" type="s1:char" />
<s:element minOccurs="0" maxOccurs="1" name="description" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="uploadedfile" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="companionfile" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="emailaddress" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="generatedfilename" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="companyname" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="dealerid" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="phonenbr" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="InsertAnalyzerQueueResponse">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="InsertAnalyzerQueueResult" type="s:int" />
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="MyTestService">
<s:complexType />
</s:element>
- <s:element name="MyTestServiceResponse">
- <s:complexType>
- <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="MyTestServiceResult" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="boolean" type="s:boolean" />
<s:element name="ArrayOfUploadItem" nillable="true" type="tns:ArrayOfUploadItem" />
<s:element name="int" type="s:int" />
<s:element name="string" nillable="true" type="s:string" />
</s:schema>
- <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
- <s:simpleType name="char">
<s:restriction base="s:unsignedShort" />
</s:simpleType>
</s:schema>
</wsdl:types>
- <wsdl:message name="IsValidReferenceIDSoapIn">
<wsdl:part name="parameters" element="tns:IsValidReferenceID" />
</wsdl:message>
- <wsdl:message name="IsValidReferenceIDSoapOut">
<wsdl:part name="parameters" element="tns:IsValidReferenceIDResponse" />
</wsdl:message>
- <wsdl:message name="GetDealersUploadedItemsSoapIn">
<wsdl:part name="parameters" element="tns:GetDealersUploadedItems" />
</wsdl:message>
- <wsdl:message name="GetDealersUploadedItemsSoapOut">
<wsdl:part name="parameters" element="tns:GetDealersUploadedItemsResponse" />
</wsdl:message>
- <wsdl:message name="UpdateOrderStatusSoapIn">
<wsdl:part name="parameters" element="tns:UpdateOrderStatus" />
</wsdl:message>
- <wsdl:message name="UpdateOrderStatusSoapOut">
<wsdl:part name="parameters" element="tns:UpdateOrderStatusResponse" />
</wsdl:message>
- <wsdl:message name="InsertAnalyzerQueueSoapIn">
<wsdl:part name="parameters" element="tns:InsertAnalyzerQueue" />
</wsdl:message>
- <wsdl:message name="InsertAnalyzerQueueSoapOut">
<wsdl:part name="parameters" element="tns:InsertAnalyzerQueueResponse" />
</wsdl:message>
- <wsdl:message name="MyTestServiceSoapIn">
<wsdl:part name="parameters" element="tns:MyTestService" />
</wsdl:message>
- <wsdl:message name="MyTestServiceSoapOut">
<wsdl:part name="parameters" element="tns:MyTestServiceResponse" />
</wsdl:message>
- <wsdl:message name="IsValidReferenceIDHttpGetIn">
<wsdl:part name="referenceID" type="s:string" />
</wsdl:message>
- <wsdl:message name="IsValidReferenceIDHttpGetOut">
<wsdl:part name="Body" element="tns:boolean" />
</wsdl:message>
- <wsdl:message name="GetDealersUploadedItemsHttpGetIn">
<wsdl:part name="dealerID" type="s:string" />
<wsdl:part name="phoneNumber" type="s:string" />
</wsdl:message>
- <wsdl:message name="GetDealersUploadedItemsHttpGetOut">
<wsdl:part name="Body" element="tns:ArrayOfUploadItem" />
</wsdl:message>
- <wsdl:message name="UpdateOrderStatusHttpGetIn">
<wsdl:part name="referenceIDs" type="s:string" />
<wsdl:part name="orderStatus" type="s:string" />
<wsdl:part name="newCustomerID" type="s:string" />
</wsdl:message>
- <wsdl:message name="UpdateOrderStatusHttpGetOut">
<wsdl:part name="Body" element="tns:int" />
</wsdl:message>
- <wsdl:message name="InsertAnalyzerQueueHttpGetIn">
<wsdl:part name="uploadcustomerkey" type="s:string" />
<wsdl:part name="uploadcustomertype" type="s:string" />
<wsdl:part name="description" type="s:string" />
<wsdl:part name="uploadedfile" type="s:string" />
<wsdl:part name="companionfile" type="s:string" />
<wsdl:part name="emailaddress" type="s:string" />
<wsdl:part name="generatedfilename" type="s:string" />
<wsdl:part name="companyname" type="s:string" />
<wsdl:part name="dealerid" type="s:string" />
<wsdl:part name="phonenbr" type="s:string" />
</wsdl:message>
- <wsdl:message name="InsertAnalyzerQueueHttpGetOut">
<wsdl:part name="Body" element="tns:int" />
</wsdl:message>
<wsdl:message name="MyTestServiceHttpGetIn" />
- <wsdl:message name="MyTestServiceHttpGetOut">
<wsdl:part name="Body" element="tns:string" />
</wsdl:message>
- <wsdl:message name="IsValidReferenceIDHttpPostIn">
<wsdl:part name="referenceID" type="s:string" />
</wsdl:message>
- <wsdl:message name="IsValidReferenceIDHttpPostOut">
<wsdl:part name="Body" element="tns:boolean" />
</wsdl:message>
- <wsdl:message name="GetDealersUploadedItemsHttpPostIn">
<wsdl:part name="dealerID" type="s:string" />
<wsdl:part name="phoneNumber" type="s:string" />
</wsdl:message>
- <wsdl:message name="GetDealersUploadedItemsHttpPostOut">
<wsdl:part name="Body" element="tns:ArrayOfUploadItem" />
</wsdl:message>
- <wsdl:message name="UpdateOrderStatusHttpPostIn">
<wsdl:part name="referenceIDs" type="s:string" />
<wsdl:part name="orderStatus" type="s:string" />
<wsdl:part name="newCustomerID" type="s:string" />
</wsdl:message>
- <wsdl:message name="UpdateOrderStatusHttpPostOut">
<wsdl:part name="Body" element="tns:int" />
</wsdl:message>
- <wsdl:message name="InsertAnalyzerQueueHttpPostIn">
<wsdl:part name="uploadcustomerkey" type="s:string" />
<wsdl:part name="uploadcustomertype" type="s:string" />
<wsdl:part name="description" type="s:string" />
<wsdl:part name="uploadedfile" type="s:string" />
<wsdl:part name="companionfile" type="s:string" />
<wsdl:part name="emailaddress" type="s:string" />
<wsdl:part name="generatedfilename" type="s:string" />
<wsdl:part name="companyname" type="s:string" />
<wsdl:part name="dealerid" type="s:string" />
<wsdl:part name="phonenbr" type="s:string" />
</wsdl:message>
- <wsdl:message name="InsertAnalyzerQueueHttpPostOut">
<wsdl:part name="Body" element="tns:int" />
</wsdl:message>
<wsdl:message name="MyTestServiceHttpPostIn" />
- <wsdl:message name="MyTestServiceHttpPostOut">
<wsdl:part name="Body" element="tns:string" />
</wsdl:message>
- <wsdl:portType name="ServiceSoap">
- <wsdl:operation name="IsValidReferenceID">
<wsdl:input message="tns:IsValidReferenceIDSoapIn" />
<wsdl:output message="tns:IsValidReferenceIDSoapOut" />
</wsdl:operation>
- <wsdl:operation name="GetDealersUploadedItems">
<wsdl:input message="tns:GetDealersUploadedItemsSoapIn" />
<wsdl:output message="tns:GetDealersUploadedItemsSoapOut" />
</wsdl:operation>
- <wsdl:operation name="UpdateOrderStatus">
<wsdl:input message="tns:UpdateOrderStatusSoapIn" />
<wsdl:output message="tns:UpdateOrderStatusSoapOut" />
</wsdl:operation>
- <wsdl:operation name="InsertAnalyzerQueue">
<wsdl:input message="tns:InsertAnalyzerQueueSoapIn" />
<wsdl:output message="tns:InsertAnalyzerQueueSoapOut" />
</wsdl:operation>
- <wsdl:operation name="MyTestService">
<wsdl:input message="tns:MyTestServiceSoapIn" />
<wsdl:output message="tns:MyTestServiceSoapOut" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:portType name="ServiceHttpGet">
- <wsdl:operation name="IsValidReferenceID">
<wsdl:input message="tns:IsValidReferenceIDHttpGetIn" />
<wsdl:output message="tns:IsValidReferenceIDHttpGetOut" />
</wsdl:operation>
- <wsdl:operation name="GetDealersUploadedItems">
<wsdl:input message="tns:GetDealersUploadedItemsHttpGetIn" />
<wsdl:output message="tns:GetDealersUploadedItemsHttpGetOut" />
</wsdl:operation>
- <wsdl:operation name="UpdateOrderStatus">
<wsdl:input message="tns:UpdateOrderStatusHttpGetIn" />
<wsdl:output message="tns:UpdateOrderStatusHttpGetOut" />
</wsdl:operation>
- <wsdl:operation name="InsertAnalyzerQueue">
<wsdl:input message="tns:InsertAnalyzerQueueHttpGetIn" />
<wsdl:output message="tns:InsertAnalyzerQueueHttpGetOut" />
</wsdl:operation>
- <wsdl:operation name="MyTestService">
<wsdl:input message="tns:MyTestServiceHttpGetIn" />
<wsdl:output message="tns:MyTestServiceHttpGetOut" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:portType name="ServiceHttpPost">
- <wsdl:operation name="IsValidReferenceID">
<wsdl:input message="tns:IsValidReferenceIDHttpPostIn" />
<wsdl:output message="tns:IsValidReferenceIDHttpPostOut" />
</wsdl:operation>
- <wsdl:operation name="GetDealersUploadedItems">
<wsdl:input message="tns:GetDealersUploadedItemsHttpPostIn" />
<wsdl:output message="tns:GetDealersUploadedItemsHttpPostOut" />
</wsdl:operation>
- <wsdl:operation name="UpdateOrderStatus">
<wsdl:input message="tns:UpdateOrderStatusHttpPostIn" />
<wsdl:output message="tns:UpdateOrderStatusHttpPostOut" />
</wsdl:operation>
- <wsdl:operation name="InsertAnalyzerQueue">
<wsdl:input message="tns:InsertAnalyzerQueueHttpPostIn" />
<wsdl:output message="tns:InsertAnalyzerQueueHttpPostOut" />
</wsdl:operation>
- <wsdl:operation name="MyTestService">
<wsdl:input message="tns:MyTestServiceHttpPostIn" />
<wsdl:output message="tns:MyTestServiceHttpPostOut" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="IsValidReferenceID">
<soap:operation soapAction="http://63.237.52.216/service.asmx/IsValidReferenceID" style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="GetDealersUploadedItems">
<soap:operation soapAction="http://63.237.52.216/service.asmx/GetDealersUploadedItems" style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="UpdateOrderStatus">
<soap:operation soapAction="http://63.237.52.216/service.asmx/UpdateOrderStatus" style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="InsertAnalyzerQueue">
<soap:operation soapAction="http://63.237.52.216/service.asmx/InsertAnalyzerQueue" style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="MyTestService">
<soap:operation soapAction="http://63.237.52.216/service.asmx/MyTestService" style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="IsValidReferenceID">
<soap12:operation soapAction="http://63.237.52.216/service.asmx/IsValidReferenceID" style="document" />
- <wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="GetDealersUploadedItems">
<soap12:operation soapAction="http://63.237.52.216/service.asmx/GetDealersUploadedItems" style="document" />
- <wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="UpdateOrderStatus">
<soap12:operation soapAction="http://63.237.52.216/service.asmx/UpdateOrderStatus" style="document" />
- <wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="InsertAnalyzerQueue">
<soap12:operation soapAction="http://63.237.52.216/service.asmx/InsertAnalyzerQueue" style="document" />
- <wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="MyTestService">
<soap12:operation soapAction="http://63.237.52.216/service.asmx/MyTestService" style="document" />
- <wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:binding name="ServiceHttpGet" type="tns:ServiceHttpGet">
<http:binding verb="GET" />
- <wsdl:operation name="IsValidReferenceID">
<http:operation location="/IsValidReferenceID" />
- <wsdl:input>
<http:urlEncoded />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="GetDealersUploadedItems">
<http:operation location="/GetDealersUploadedItems" />
- <wsdl:input>
<http:urlEncoded />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="UpdateOrderStatus">
<http:operation location="/UpdateOrderStatus" />
- <wsdl:input>
<http:urlEncoded />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="InsertAnalyzerQueue">
<http:operation location="/InsertAnalyzerQueue" />
- <wsdl:input>
<http:urlEncoded />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="MyTestService">
<http:operation location="/MyTestService" />
- <wsdl:input>
<http:urlEncoded />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:binding name="ServiceHttpPost" type="tns:ServiceHttpPost">
<http:binding verb="POST" />
- <wsdl:operation name="IsValidReferenceID">
<http:operation location="/IsValidReferenceID" />
- <wsdl:input>
<mime:content type="application/x-www-form-urlencoded" />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="GetDealersUploadedItems">
<http:operation location="/GetDealersUploadedItems" />
- <wsdl:input>
<mime:content type="application/x-www-form-urlencoded" />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="UpdateOrderStatus">
<http:operation location="/UpdateOrderStatus" />
- <wsdl:input>
<mime:content type="application/x-www-form-urlencoded" />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="InsertAnalyzerQueue">
<http:operation location="/InsertAnalyzerQueue" />
- <wsdl:input>
<mime:content type="application/x-www-form-urlencoded" />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="MyTestService">
<http:operation location="/MyTestService" />
- <wsdl:input>
<mime:content type="application/x-www-form-urlencoded" />
</wsdl:input>
- <wsdl:output>
<mime:mimeXml part="Body" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="Service">
- <wsdl:port name="ServiceSoap" binding="tns:ServiceSoap">
<soap:address location="http://63.237.52.216/service.asmx" />
</wsdl:port>
- <wsdl:port name="ServiceSoap12" binding="tns:ServiceSoap12">
<soap12:address location="http://63.237.52.216/service.asmx" />
</wsdl:port>
- <wsdl:port name="ServiceHttpGet" binding="tns:ServiceHttpGet">
<http:address location="http://63.237.52.216/service.asmx" />
</wsdl:port>
- <wsdl:port name="ServiceHttpPost" binding="tns:ServiceHttpPost">
<http:address location="http://63.237.52.216/service.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
回答1:
Soapfault parsing has a problem in 2.4. Check out the latest 2.5.1 release of ksoap2 for android that I just released.
回答2:
Set following property,
androidHttpTransport.setXmlVersionTag("<?xml version=\"1.0\" encoding= \"UTF-8\"?>");
before call statement.
来源:https://stackoverflow.com/questions/3865502/android-2-1-and-ksoap2-android-assembly-2-4-soapfault-error