I'm saying I can process single complex types in the response without my
client-config.wsdd being configured. I believe this is because of the code
in the Stub class. My next step is to try (again) to put something in the
client-config.wsdd that will understand this response.
However, when I get back two objects, serialization fails.
Here are two snippets of my log4j logs. The first is when just a TResult
object is returned and successfully deserialized. The second is when both a
TResult and a TCustomerFinancials object returns. Finally, the SOAP XML
that fails is included at the bottom. This current run is without anything
of interest in my client-config.wsdd.
Just a TResult:
100695 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializerImpl - Set
value [EMAIL PROTECTED] in target
[EMAIL PROTECTED]
100695 [ ft2-7 ] DEBUG org.apache.axis.utils.NSStack - NSPush (32)
100695 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializationContext -
Exit: DeserializationContext::startElement()
100695 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializationContext -
Enter: DeserializationContext::endElement(, return)
100695 [ ft2-7 ] DEBUG org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(popHandler00)
100695 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializationContext -
Popping handler [EMAIL PROTECTED]
100695 [ ft2-7 ] DEBUG org.apache.axis.utils.NSStack - NSPop (32)
100695 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializationContext -
Popped element stack to
org.apache.axis.message.RPCElement:PurchaseRecurringCreateResponse
100695 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializationContext -
Exit: DeserializationContext::endElement()
100695 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializationContext -
Enter: DeserializationContext::endElement(urn:uOBI_Intf-IOBISMSClient,
PurchaseRecurringCreateResponse)
100695 [ ft2-7 ] DEBUG org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(popHandler00)
100695 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializationContext -
Popping handler [EMAIL PROTECTED]
100705 [ ft2-7 ] DEBUG org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(setProp00)
100705 [ ft2-7 ] DEBUG org.apache.axis.message.RPCHandler - Setting
MessageContext property in RPCHandler.endElement().
100705 [ ft2-7 ] DEBUG org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(empty00)
100705 [ ft2-7 ] DEBUG org.apache.axis.utils.NSStack - NSPop (empty)
100705 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializationContext -
Popped element stack to org.apache.axis.message.SOAPBody:Body
100705 [ ft2-7 ] DEBUG org.apache.axis.encoding.DeserializationContext -
Exit: DeserializationContext::endElement()
100705 [ ft2-7 ] DEBUG org.apache.axis.client.Call - Exit:
Call::invoke(RPCElement)
100705 [ ft2-7 ] DEBUG org.apache.axis.client.Call - Exit:
Call::invoke(ns, meth, args)
100705 [ ft2-7 ] DEBUG org.apache.axis.TIME - axis.Call.invoke: 6219
{urn:uOBI_Intf-IOBISMSClient}PurchaseRecurringCreate
TResult and TCustomerFinancials:
6349 [main] DEBUG org.apache.axis.encoding.DeserializerImpl - Set value
[EMAIL PROTECTED] in target
[EMAIL PROTECTED]
6349 [main] DEBUG org.apache.axis.utils.NSStack - NSPush (32)
6349 [main] DEBUG org.apache.axis.encoding.DeserializationContext - Exit:
DeserializationContext::startElement()
6349 [main] DEBUG org.apache.axis.encoding.DeserializationContext - Enter:
DeserializationContext::endElement(, return)
6349 [main] DEBUG org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(popHandler00)
6349 [main] DEBUG org.apache.axis.encoding.DeserializationContext - Popping
handler [EMAIL PROTECTED]
6349 [main] DEBUG org.apache.axis.utils.NSStack - NSPop (32)
6349 [main] DEBUG org.apache.axis.encoding.DeserializationContext - Popped
element stack to
org.apache.axis.message.RPCElement:CustomerFinancialGetResponse
6349 [main] DEBUG org.apache.axis.encoding.DeserializationContext - Exit:
DeserializationContext::endElement()
6349 [main] DEBUG org.apache.axis.encoding.DeserializationContext - Enter:
DeserializationContext::startElement(urn:uOBI_Intf, TCustomerFinancial)
6349 [main] DEBUG org.apache.axis.message.RPCHandler - Enter:
RPCHandler.onStartChild()
6349 [main] DEBUG org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(typeFromAttr00)
6349 [main] DEBUG org.apache.axis.message.RPCHandler - Type from attributes
is: {urn:uOBI_Intf}TCustomerFinancial
6349 [main] DEBUG org.apache.axis.i18n.ProjectResourceBundle -
org.apache.axis.i18n.resource::handleGetObject(exception00)
6349 [main] ERROR org.apache.axis.client.Call - Exception:
org.xml.sax.SAXException: Bad types (class
com.ncube.vod.bps.billing.obi.TCustomerFinancial -> class
com.ncube.vod.bps.billing.obi.TResult)
at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:282)
at
org.apache.axis.encoding.DeserializationContext.startElement(Deserialization
Context.java:1025)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:159)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:
1138)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:308)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:342)
at org.apache.axis.client.Call.invoke(Call.java:2420)
at org.apache.axis.client.Call.invoke(Call.java:2319)
at org.apache.axis.client.Call.invoke(Call.java:1776)
at
com.ncube.vod.bps.billing.obi.IOBISMSClientbindingStub.customerFinancialGet(
IOBISMSClientbindingStub.java:524)
at Deserialize.main(Deserialize.java:51)
SOAP XML:
HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: text/xml
Content-Length: 1543
Server: Indy/9.0.11
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body
SOAP-ENC:encodingStyle="http://schemas.xmlsoap.org/soap/envelope/">
<NS1:CustomerFinancialGetResponse
xmlns:NS1="urn:uOBI_Intf-IOBISMSClient" xmlns:NS2="urn:uGlobalSOAPTypes"
xmlns:NS3="urn:uOBI_Intf">
<NS2:TResult id="1" xsi:type="NS2:TResult">
<ResultCode xsi:type="xsd:int">0</ResultCode>
<ResultText xsi:type="xsd:string">OK</ResultText>
</NS2:TResult>
<return href="#1"/>
<NS3:TCustomerFinancial id="2"
xsi:type="NS3:TCustomerFinancial">
<RemainingCreditLimit
xsi:type="xsd:double">199.99</RemainingCreditLimit>
<CurrentBalance xsi:type="xsd:double">0</CurrentBalance>
<MonthlyCreditLimit
xsi:type="xsd:double">0</MonthlyCreditLimit>
<LastBillAmt xsi:type="xsd:double">0</LastBillAmt>
<LastBillDate xsi:nil="true"/>
<LastCycleCloseDate xsi:nil="true"/>
<LastPaymentAmt xsi:type="xsd:double">0</LastPaymentAmt>
<LastPaymentDate xsi:nil="true"/>
<TotalBalanceDue xsi:type="xsd:double">0</TotalBalanceDue>
<Due30 xsi:type="xsd:double">0</Due30>
<Due60 xsi:type="xsd:double">0</Due60>
<Due90 xsi:type="xsd:double">0</Due90>
<Due120 xsi:type="xsd:double">0</Due120>
<MetadataList xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="NS2:TMetadata[0]"/>
</NS3:TCustomerFinancial>
<CustomerFinancial href="#2"/>
</NS1:CustomerFinancialGetResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
----- Original Message -----
From: "John Menke" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, November 13, 2004 6:38 PM
Subject: RE: typeMapping and Bad Types
> I have not been able to debug the parsing process. Do you have log4j
> configured so you can see what's going on during the parsing of the wsdd
> file? If so can you tell me how you configured this? Also, the names you
> use in the beanMapping look like the names i'm getting in my .wsdl file
when
> i deploy my service through a wsdd file that doesn't have beanMappings. Is
> this because you deployed first and then customized the names to match the
> wsdl or is there a way to figure out how to name the items so that they
> match the wsdl... i'm thoroughly confused...you say your not using the
> beanMappings and it's generating anyway... is beanMapping obsolete?
>