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.
