I'm a little closer; I've found another piece of the puzzle. I didn't
understand what "SAXException: Bad types (classA -> classB)" meant. While
working on the server-side of my app, I created this same problem by
returning the wrong object type. So I'm assuming this message is similar to
a ClassCastException.
In my own situation, I'm able to deserialize a TResult object when it is the
only object in the message. But when two objects are there, deserialization
doesn't work. I've also found when I return a TResult object and a second
object that's "nil", deserialization works.
What I don't understand is why deserializing the 2nd object doesn't work
even though my WSDL distintly says that a GetCustomerFinancialsResponse will
consist of both a TResult and a TCustomerFinancials.
I don't see any point where I load the WSDL in as a resource. I've only
generated code with WSDL2Java. Am I supposed to set the location of the
WSDL in the code somewhere?
Here are the relevant pieces from the WSDL:
<message name="CustomerFinancialGet2Request">
<part name="CustomerID" type="ns1:TCustomerID"/>
<part name="CustomerFinancial" type="ns1:TCustomerFinancial"/>
</message>
<message name="CustomerFinancialGet2Response">
<part name="CustomerFinancial" type="ns1:TCustomerFinancial"/>
<part name="return" type="ns2:TResult"/>
</message>
.
.
.
<portType name="IOBISMSClient">
<operation name="CustomerFinancialGet">
<input message="tns:CustomerFinancialGet2Request"/>
<output message="tns:CustomerFinancialGet2Response"/>
</operation>
.
.
.
<binding name="IOBISMSClientbinding" type="tns:IOBISMSClient">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="CustomerFinancialGet">
<soap:operation
soapAction="urn:uOBI_Intf-IOBISMSClient#CustomerFinancialGet" style="rpc"/>
<input message="tns:CustomerFinancialGet2Request">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:uOBI_Intf-IOBISMSClient"/>
<soap:header xmlns:n1="http://schemas.xmlsoap.org/wsdl/"
n1:required="true" use="encoded"
message="tns:CustomerFinancialGet2headerRequest" part="TSecurity"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:uGlobalSOAPTypes"/>
</input>
<output message="tns:CustomerFinancialGet2Response">
<soap:body use="encoded"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:uOBI_Intf-IOBISMSClient"/>
</output>
</operation>