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, <[EMAIL PROTECTED]> 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.

Reply via email to