axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <mai....@nordea.com>
Subject RE: [AXIS2]ADB problem: Nested complex elements in request are not deserialized
Date Thu, 21 Feb 2008 11:15:28 GMT
Hi Amila,
 
Thanks for your mail.
I've found out it was bacause I used attribute names which are not
Javabean compliant. The "fXFilter" and "mMFilter" should be named by
"fxFilter" and "mmFilter".
 
Best wishes,
Mai Sun

________________________________

From: Amila Suriarachchi [mailto:amilasuriarachchi@gmail.com] 
Sent: 21 February 2008 12:11
To: axis-dev@ws.apache.org
Subject: Re: [AXIS2]ADB problem: Nested complex elements in request are
not deserialized


What is the Axis2 version you use? can you send your client code and
whole wsdl?

thanks,
Amila.


On Thu, Feb 21, 2008 at 3:23 PM, <mai.sun@nordea.com> wrote:



	Hi all, 

	I don't know if it's a bug, but it seems that nested complex
elements in SOAP request are not deserialized by Axis2 ADB. Here is the
schema which defines a TradeFilterDTO contains other two filters:

	<xs:complexType name="TradeFilterDTO"> 
	                <xs:complexContent> 
	                    <xs:extension base="ax21:SoapDTO"> 
	                        <xs:sequence> 
	                            <xs:element minOccurs="0"
name="auxiliariesAsSwaps" nillable="true" type="xs:boolean"/> 
	                            <xs:element minOccurs="0"
name="batchID" nillable="true" type="xs:long"/> 
	                            <xs:element maxOccurs="unbounded"
minOccurs="0" name="businessUnits" nillable="true" type="xs:int"/>

	                            <xs:element maxOccurs="unbounded"
minOccurs="0" name="dealIDs" nillable="true" type="xs:string"/>

	                            <xs:element minOccurs="0"
name="fXFilter" nillable="true" type="ax21:FXTradeFilterDTO"/> 
	                            <xs:element minOccurs="0"
name="fromModifyTime" nillable="true" type="xs:dateTime"/> 
	                            <xs:element minOccurs="0"
name="fromTradeTime" nillable="true" type="xs:dateTime"/> 
	                            <xs:element minOccurs="0"
name="includeModifications" nillable="true" type="xs:boolean"/> 
	                            <xs:element minOccurs="0"
name="mMFilter" nillable="true" type="ax21:MMTradeFilterDTO"/> 
	                            <xs:element minOccurs="0"
name="maxTrades" nillable="true" type="xs:int"/> 
	                            <xs:element minOccurs="0"
name="onlyBatchTrades" nillable="true" type="xs:boolean"/> 
	                            <xs:element minOccurs="0"
name="toModifyTime" nillable="true" type="xs:dateTime"/> 
	                            <xs:element minOccurs="0"
name="toTradeTime" nillable="true" type="xs:dateTime"/> 
	                            <xs:element maxOccurs="unbounded"
minOccurs="0" name="tradeChannels" nillable="true" type="xs:string"/>

	                            <xs:element maxOccurs="unbounded"
minOccurs="0" name="tradeProducts" nillable="true" type="xs:string"/>

	                            <xs:element maxOccurs="unbounded"
minOccurs="0" name="tradeStatus" nillable="true" type="xs:string"/>

	                            <xs:element maxOccurs="unbounded"
minOccurs="0" name="userIDs" nillable="true" type="xs:string"/>

	                        </xs:sequence> 
	                    </xs:extension> 
	                </xs:complexContent> 
	            </xs:complexType> 
	            <xs:complexType name="FXTradeFilterDTO"> 
	                <xs:complexContent> 
	                    <xs:extension base="ax21:SoapDTO"> 
	                        <xs:sequence> 
	                            <xs:element maxOccurs="unbounded"
minOccurs="0" name="currencies" nillable="true" type="xs:string"/>

	                            <xs:element minOccurs="0"
name="fromMaturityDate" nillable="true" type="xs:date"/> 
	                            <xs:element minOccurs="0"
name="fromValueDate" nillable="true" type="xs:date"/> 
	                            <xs:element minOccurs="0"
name="toMaturityDate" nillable="true" type="xs:date"/> 
	                            <xs:element minOccurs="0"
name="toValueDate" nillable="true" type="xs:date"/> 
	                        </xs:sequence> 
	                    </xs:extension> 
	                </xs:complexContent> 
	            </xs:complexType> 
	            <xs:complexType name="MMTradeFilterDTO"> 
	                <xs:complexContent> 
	                    <xs:extension base="ax21:SoapDTO"> 
	                        <xs:sequence> 
	                            <xs:element maxOccurs="unbounded"
minOccurs="0" name="currencies" nillable="true" type="xs:string"/>

	                            <xs:element minOccurs="0"
name="fromMaturityDate" nillable="true" type="xs:date"/> 
	                            <xs:element minOccurs="0"
name="fromValueDate" nillable="true" type="xs:date"/> 
	                            <xs:element minOccurs="0"
name="toMaturityDate" nillable="true" type="xs:date"/> 
	                            <xs:element minOccurs="0"
name="toValueDate" nillable="true" type="xs:date"/> 
	                        </xs:sequence> 
	                    </xs:extension> 
	                </xs:complexContent> 
	            </xs:complexType> 

	The request looks as follows: 

	<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:ser="http://service.webservice.emarkets.nordea.com"
xmlns:xsd="http://dto.webservice.emarkets.nordea.com/xsd">

	   <soap:Header/> 
	   <soap:Body> 
	      <ser:getTrades> 
	      <ser:filter> 
	        <xsd:fXFilter> 
	                <xsd:currencies>EUR</xsd:currencies> 
	        </xsd:fXFilter> 
	        <xsd:mMFilter> 
	                <xsd:currencies>USD</xsd:currencies> 
	        </xsd:mMFilter> 
	        <xsd:maxTrades>2</xsd:maxTrades> 
	        </ser:filter> 
	      </ser:getTrades> 
	   </soap:Body> 
	</soap:Envelope> 

	ADB serialized the above request to the corresponding
TradeFilterDTO object with nested attributes fxFilter and mMfilter null
(maxTrades is set on TradeFilterDTO). 

	Please let me know if I did something wrong, thanks a lot! 

	Regards, 
	Mai Sun 




-- 
Amila Suriarachchi,
WSO2 Inc. 

Mime
View raw message