org.xml.sax.SAXException: Invalid element
hsutarwala Sep 7, 2005 7:02 PMI used the wscompile toolkit to generate the client stubs to a remote WSDL and then wrote a jUnit test. I have been fighting this error for a week now. When the method to perform work is invoked, the jUnit test throws the following errors:
java.lang.reflect.UndeclaredThrowableException at $Proxy3.calculateTax(Unknown Source) at com.clientlogic.oms.webservices.calculatetax.CalculateTaxWSTest.testCalculateTax(CalculateTaxWSTest.java:90) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194) Caused by: org.xml.sax.SAXException: Invalid element in com.clientlogic.oms.webservices.calculatetax.CalculateTaxResponse - CalculateTaxResult at org.jboss.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:419) at org.jboss.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1168) at org.jboss.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244) at org.jboss.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1389) at org.jboss.axis.message.RPCElement.deserialize(RPCElement.java:262) at org.jboss.axis.message.RPCElement.getParams(RPCElement.java:396) at org.jboss.axis.client.Call.invoke(Call.java:2672) at org.jboss.axis.client.Call.invoke(Call.java:2548) at org.jboss.axis.client.Call.invokeInternal(Call.java:1979) at org.jboss.axis.client.Call.invoke(Call.java:1917) at org.jboss.webservice.client.CallImpl.invoke(CallImpl.java:265) at org.jboss.axis.client.AxisClientProxy.invokeSEIMethod(AxisClientProxy.java:286) at org.jboss.webservice.client.PortProxy.invoke(PortProxy.java:177) ... 17 more
This is the jaxrpc-mapping-client.xml
<?xml version="1.0" encoding="UTF-8"?> <java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"> <package-mapping> <package-type> com.clientlogic.oms.webservices.calculatetax </package-type> <namespaceURI>http://eai.clientlogic.com/</namespaceURI> </package-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.ArrayOfBucket </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:ArrayOfBucket </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>bucket</java-variable-name> <xml-element-name>Bucket</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.ArrayOfAddress </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:ArrayOfAddress </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>address</java-variable-name> <xml-element-name>Address</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.ArrayOfTaxInfo </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:ArrayOfTaxInfo </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>taxInfo</java-variable-name> <xml-element-name>TaxInfo</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.TaxInfo </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:TaxInfo </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>amount</java-variable-name> <xml-element-name>Amount</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>proudctCode</java-variable-name> <xml-element-name>ProudctCode</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>exemptAmount</java-variable-name> <xml-element-name>ExemptAmount</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>freightAmount</java-variable-name> <xml-element-name>FreightAmount</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>creditIndicator</java-variable-name> <xml-element-name>CreditIndicator</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>vendorId</java-variable-name> <xml-element-name>VendorId</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>country</java-variable-name> <xml-element-name>Country</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>totalTax</java-variable-name> <xml-element-name>TotalTax</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>totalRate</java-variable-name> <xml-element-name>TotalRate</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>compoundTax</java-variable-name> <xml-element-name>CompoundTax</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>buckets</java-variable-name> <xml-element-name>Buckets</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.Bucket </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:Bucket </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>value</java-variable-name> <xml-element-name>Value</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>su</java-variable-name> <xml-element-name>Su</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.CalculateTax_In </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:CalculateTax_In </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>header</java-variable-name> <xml-element-name>Header</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>invoice</java-variable-name> <xml-element-name>Invoice</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>invoiceDate</java-variable-name> <xml-element-name>InvoiceDate</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>certNumber</java-variable-name> <xml-element-name>CertNumber</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>prospectId</java-variable-name> <xml-element-name>ProspectId</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>addresses</java-variable-name> <xml-element-name>Addresses</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.CalculateTaxResponse </java-type> <anonymous-type-qname> http://eai.clientlogic.com/:>CalculateTaxResponse </anonymous-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>calculateTaxResult</java-variable-name> <xml-element-name>CalculateTaxResult</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.SvcHeaderOut </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:SvcHeaderOut </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>traceGuid</java-variable-name> <xml-element-name>TraceGuid</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>resultCode</java-variable-name> <xml-element-name>ResultCode</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>resultDescription</java-variable-name> <xml-element-name>ResultDescription</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name> resultDescriptionList </java-variable-name> <xml-element-name>ResultDescriptionList</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.CalculateTax_Out </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:CalculateTax_Out </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>header</java-variable-name> <xml-element-name>Header</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>taxInfo</java-variable-name> <xml-element-name>TaxInfo</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.Product </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:Product </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>amount</java-variable-name> <xml-element-name>Amount</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>proudctCode</java-variable-name> <xml-element-name>ProudctCode</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>exemptAmount</java-variable-name> <xml-element-name>ExemptAmount</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>freightAmount</java-variable-name> <xml-element-name>FreightAmount</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>creditIndicator</java-variable-name> <xml-element-name>CreditIndicator</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>vendorId</java-variable-name> <xml-element-name>VendorId</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.Address </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:Address </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>street1</java-variable-name> <xml-element-name>Street1</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>street2</java-variable-name> <xml-element-name>Street2</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>city</java-variable-name> <xml-element-name>City</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>ocli</java-variable-name> <xml-element-name>Ocli</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>county</java-variable-name> <xml-element-name>County</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>countyCode</java-variable-name> <xml-element-name>CountyCode</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>state</java-variable-name> <xml-element-name>State</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>geoCode</java-variable-name> <xml-element-name>GeoCode</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>country</java-variable-name> <xml-element-name>Country</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>countryCode</java-variable-name> <xml-element-name>CountryCode</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>countryGroup</java-variable-name> <xml-element-name>CountryGroup</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>zip</java-variable-name> <xml-element-name>Zip</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>type</java-variable-name> <xml-element-name>Type</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>vatNo</java-variable-name> <xml-element-name>VatNo</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>products</java-variable-name> <xml-element-name>Products</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.SvcHeaderIn </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:SvcHeaderIn </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>callerId</java-variable-name> <xml-element-name>CallerId</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>traceGuid</java-variable-name> <xml-element-name>TraceGuid</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>clientId</java-variable-name> <xml-element-name>ClientId</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>campaignId</java-variable-name> <xml-element-name>CampaignId</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>agent</java-variable-name> <xml-element-name>Agent</xml-element-name> </variable-mapping> <variable-mapping> <java-variable-name>extReference</java-variable-name> <xml-element-name>ExtReference</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.ArrayOfString </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:ArrayOfString </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>string</java-variable-name> <xml-element-name>string</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.CalculateTax </java-type> <anonymous-type-qname> http://eai.clientlogic.com/:>CalculateTax </anonymous-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>input</java-variable-name> <xml-element-name>input</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.ArrayOfProduct </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:ArrayOfProduct </root-type-qname> <qname-scope>complexType</qname-scope> <variable-mapping> <java-variable-name>product</java-variable-name> <xml-element-name>Product</xml-element-name> </variable-mapping> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.Bucket[] </java-type> <anonymous-type-qname> http://eai.clientlogic.com/:ArrayOfBucket>Bucket[0,unbounded] </anonymous-type-qname> <qname-scope>complexType</qname-scope> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.Address[] </java-type> <anonymous-type-qname> http://eai.clientlogic.com/:ArrayOfAddress>Address[0,unbounded] </anonymous-type-qname> <qname-scope>complexType</qname-scope> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.TaxInfo[] </java-type> <anonymous-type-qname> http://eai.clientlogic.com/:ArrayOfTaxInfo>TaxInfo[0,unbounded] </anonymous-type-qname> <qname-scope>complexType</qname-scope> </java-xml-type-mapping> <java-xml-type-mapping> <java-type>java.lang.String[]</java-type> <anonymous-type-qname> http://eai.clientlogic.com/:ArrayOfString>string[0,unbounded] </anonymous-type-qname> <qname-scope>complexType</qname-scope> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.Product[] </java-type> <anonymous-type-qname> http://eai.clientlogic.com/:ArrayOfProduct>Product[0,unbounded] </anonymous-type-qname> <qname-scope>complexType</qname-scope> </java-xml-type-mapping> <java-xml-type-mapping> <java-type> com.clientlogic.oms.webservices.calculatetax.AddressType </java-type> <root-type-qname xmlns:typeNS="http://eai.clientlogic.com/"> typeNS:AddressType </root-type-qname> <qname-scope>simpleType</qname-scope> </java-xml-type-mapping> <service-interface-mapping> <service-interface> com.clientlogic.oms.webservices.calculatetax.CalculateTaxWS </service-interface> <wsdl-service-name xmlns:serviceNS="http://eai.clientlogic.com/"> serviceNS:CalculateTaxWS </wsdl-service-name> <port-mapping> <port-name>CalculateTaxWSSoap</port-name> <java-port-name>CalculateTaxWSSoap</java-port-name> </port-mapping> </service-interface-mapping> <service-endpoint-interface-mapping> <service-endpoint-interface> com.clientlogic.oms.webservices.calculatetax.CalculateTaxWSSoap </service-endpoint-interface> <wsdl-port-type xmlns:portTypeNS="http://eai.clientlogic.com/"> portTypeNS:CalculateTaxWSSoap </wsdl-port-type> <wsdl-binding xmlns:bindingNS="http://eai.clientlogic.com/"> bindingNS:CalculateTaxWSSoap </wsdl-binding> <service-endpoint-method-mapping> <java-method-name>calculateTax</java-method-name> <wsdl-operation>CalculateTax</wsdl-operation> <method-param-parts-mapping> <param-position>0</param-position> <param-type> com.clientlogic.oms.webservices.calculatetax.CalculateTax </param-type> <wsdl-message-mapping> <wsdl-message xmlns:wsdlMsgNS="http://eai.clientlogic.com/"> wsdlMsgNS:CalculateTaxSoapIn </wsdl-message> <wsdl-message-part-name> parameters </wsdl-message-part-name> <parameter-mode>IN</parameter-mode> </wsdl-message-mapping> </method-param-parts-mapping> <wsdl-return-value-mapping> <method-return-value> com.clientlogic.oms.webservices.calculatetax.CalculateTaxResponse </method-return-value> <wsdl-message xmlns:wsdlMsgNS="http://eai.clientlogic.com/"> wsdlMsgNS:CalculateTaxSoapOut </wsdl-message> <wsdl-message-part-name> parameters </wsdl-message-part-name> </wsdl-return-value-mapping> </service-endpoint-method-mapping> </service-endpoint-interface-mapping> </java-wsdl-mapping>
Last but not the least I am throwing in the WSDL too:
<?xml version="1.0" encoding="utf-8"?> <definitions xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://eai.clientlogic.com/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://eai.clientlogic.com/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="http://eai.clientlogic.com/"> <s:import namespace="http://microsoft.com/wsdl/types/" /> <s:element name="CalculateTax"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="input" type="s0:CalculateTax_In" /> </s:sequence> </s:complexType> </s:element> <s:complexType name="CalculateTax_In"> <s:complexContent mixed="false"> <s:extension base="s0:SvcDataIn"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Invoice" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="InvoiceDate" type="s:dateTime" /> <s:element minOccurs="0" maxOccurs="1" name="CertNumber" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="ProspectId" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Addresses" type="s0:ArrayOfAddress" /> </s:sequence> </s:extension> </s:complexContent> </s:complexType> <s:complexType name="SvcDataIn"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Header" type="s0:SvcHeaderIn" /> </s:sequence> </s:complexType> <s:complexType name="SvcHeaderIn"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="CallerId" type="s:int" /> <s:element minOccurs="1" maxOccurs="1" name="TraceGuid" type="s1:guid" /> <s:element minOccurs="0" maxOccurs="1" name="ClientId" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="CampaignId" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Agent" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="ExtReference" type="s:string" /> </s:sequence> </s:complexType> <s:complexType name="ArrayOfAddress"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="Address" nillable="true" type="s0:Address" /> </s:sequence> </s:complexType> <s:complexType name="Address"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Street1" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Street2" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Ocli" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="County" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="CountyCode" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="State" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="GeoCode" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="CountryCode" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="CountryGroup" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Zip" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="Type" type="s0:AddressType" /> <s:element minOccurs="0" maxOccurs="1" name="VatNo" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Products" type="s0:ArrayOfProduct" /> </s:sequence> </s:complexType> <s:simpleType name="AddressType"> <s:restriction base="s:string"> <s:enumeration value="BillTo" /> <s:enumeration value="ShipTo" /> </s:restriction> </s:simpleType> <s:complexType name="ArrayOfProduct"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="Product" nillable="true" type="s0:Product" /> </s:sequence> </s:complexType> <s:complexType name="Product"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="Amount" type="s:double" /> <s:element minOccurs="0" maxOccurs="1" name="ProudctCode" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="ExemptAmount" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="FreightAmount" type="s:double" /> <s:element minOccurs="0" maxOccurs="1" name="CreditIndicator" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="VendorId" type="s:string" /> </s:sequence> </s:complexType> <s:element name="CalculateTaxResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="CalculateTaxResult" type="s0:CalculateTax_Out" /> </s:sequence> </s:complexType> </s:element> <s:complexType name="CalculateTax_Out"> <s:complexContent mixed="false"> <s:extension base="s0:SvcDataOut"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="TaxInfo" type="s0:ArrayOfTaxInfo" /> </s:sequence> </s:extension> </s:complexContent> </s:complexType> <s:complexType name="SvcDataOut"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Header" type="s0:SvcHeaderOut" /> </s:sequence> </s:complexType> <s:complexType name="SvcHeaderOut"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="TraceGuid" type="s1:guid" /> <s:element minOccurs="1" maxOccurs="1" name="ResultCode" type="s:int" /> <s:element minOccurs="0" maxOccurs="1" name="ResultDescription" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="ResultDescriptionList" type="s0:ArrayOfString" /> </s:sequence> </s:complexType> <s:complexType name="ArrayOfString"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" /> </s:sequence> </s:complexType> <s:complexType name="ArrayOfTaxInfo"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="TaxInfo" nillable="true" type="s0:TaxInfo" /> </s:sequence> </s:complexType> <s:complexType name="TaxInfo"> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="Amount" type="s:double" /> <s:element minOccurs="0" maxOccurs="1" name="ProudctCode" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="ExemptAmount" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="FreightAmount" type="s:double" /> <s:element minOccurs="0" maxOccurs="1" name="CreditIndicator" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="VendorId" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Country" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="TotalTax" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="TotalRate" type="s:double" /> <s:element minOccurs="1" maxOccurs="1" name="CompoundTax" type="s:double" /> <s:element minOccurs="0" maxOccurs="1" name="Buckets" type="s0:ArrayOfBucket" /> </s:sequence> </s:complexType> <s:complexType name="ArrayOfBucket"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="Bucket" nillable="true" type="s0:Bucket" /> </s:sequence> </s:complexType> <s:complexType name="Bucket"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="Value" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Su" type="s:string" /> </s:sequence> </s:complexType> </s:schema> <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/"> <s:simpleType name="guid"> <s:restriction base="s:string"> <s:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" /> </s:restriction> </s:simpleType> </s:schema> </types> <message name="CalculateTaxSoapIn"> <part name="parameters" element="s0:CalculateTax" /> </message> <message name="CalculateTaxSoapOut"> <part name="parameters" element="s0:CalculateTaxResponse" /> </message> <portType name="CalculateTaxWSSoap"> <operation name="CalculateTax"> <input message="s0:CalculateTaxSoapIn" /> <output message="s0:CalculateTaxSoapOut" /> </operation> </portType> <binding name="CalculateTaxWSSoap" type="s0:CalculateTaxWSSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> <operation name="CalculateTax"> <soap:operation soapAction="http://eai.clientlogic.com/CalculateTax" style="document" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> </binding> <service name="CalculateTaxWS"> <port name="CalculateTaxWSSoap" binding="s0:CalculateTaxWSSoap"> <soap:address location="http://k3dstage:27020/Tax_Ws/CalculateTaxWS.asmx" /> </port> </service> </definitions>
I have read on some forums about an underlying AXIS error that would be causing this. It mentioned something about elements in uppercase in the WSDL not being identified correctly on the client end. Is this the case? Any resolutions or ideas?