4 Replies Latest reply on Sep 22, 2005 7:22 PM by Thomas Diesler

    org.xml.sax.SAXException: Invalid element

    Husain Sutarwala Newbie

      I 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?