Android 2.1 and Ksoap2-Android-assembly-2.4 — SoapFault Error

跟風遠走 提交于 2020-01-07 08:28:11

问题


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. ---&gt; There is an error in XML document (1, 435). ---&gt; 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!