The only real changes (those that aren't ASDoc comments to the core Flex code) I see in the the mx.rpc.soap package is in the SOAPArrayType.as.
FYI, I was happily using the 3.0.676 framework (which was post 3.0 release). --- In [email protected], "Todd" <[EMAIL PROTECTED]> wrote: > > Hello All, > > If have some existing web services that were broken when I upgraded > to the 3.1 flex SDK. I believe it has to do with the SOAP Decoder. I > needed to get the newest SDK because there were other fixes I was > awaiting. > > I have an Actionscript type that I'm decoding through the > SchemaTypeRegistry: > public class FooDogVO implements IValueObject > { > public var quantityBasedFunding : Boolean; > public var numRecordsOrdered : int; > public var numRecordsForPurchase : int; > public var invoiceItems : ArrayCollection = new ArrayCollection(); > public var fundedQuantityAccounts : ArrayCollection = new > ArrayCollection(); > public var paymentAccounts : ArrayCollection = new ArrayCollection(); > ... > } > > I'm calling a WebService that is returning the following SOAP Type, > that is mapped via the SchemaTypeRegister to FooDogVO: > > <xsd:complexType name="FooDogType"> > <xsd:sequence> > <xsd:element name="numRecordsOrdered" type="xsd:int"/> > <xsd:element name="quantityBasedFunding" type="xsd:boolean"/> > <xsd:element maxOccurs="1" minOccurs="0" name="fundedQuantityAccounts"> > <xsd:complexType> > <xsd:sequence> > <xsd:element maxOccurs="unbounded" minOccurs="0" > name="fundedQuantityAccount" type="PaymentOptionType"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="numRecordsForPurchase" type="xsd:int"/> > <xsd:element maxOccurs="1" minOccurs="0" name="invoiceItems"> > <xsd:complexType> > <xsd:sequence> > <xsd:element maxOccurs="unbounded" minOccurs="0" > name="invoiceItem" type="InvoiceItemType"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="total" type="xsd:double"/> > <xsd:element maxOccurs="1" minOccurs="0" name="paymentAccounts"> > <xsd:complexType> > <xsd:sequence> > <xsd:element maxOccurs="unbounded" minOccurs="0" > name="paymentAccount" type="PaymentOptionType"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="applied" type="xsd:double"/> > <xsd:element name="remaining" type="xsd:double"/> > <xsd:element name="allowNewCreditCard" type="xsd:boolean"/> > <xsd:element maxOccurs="1" minOccurs="0" name="newCreditCard" > type="PaymentOptionType"/> > </xsd:sequence> > </xsd:complexType> > > Before the Flex 3.1 update, The SOAP decoder properly made the > FooDogVO.paymentAccounts property an ArrayCollection of > PaymentOptionTypes. > > Now, however, with the Flex 3.1 SDK update, the FoDogVO.paymentAccouns > is an ArrayCollection to an ArrayCollection of PaymentOptionTypes. > It's now FooDogVO.paymentAccounts.[ArrayCollection of PaymentOptionTypes] > > So, I'm looking at the list of Bug fixes for Flex SDK 3.1 and I find > the following two bugs: > https://bugs.adobe.com/jira/browse/SDK-14321 > https://bugs.adobe.com/jira/browse/SDK-14871 > > But I'm not really sure what's going on with the new Soap Decoder > stuff. It seems like I was inadvertently performing a workaround > before, but what really should be the proper mapping of elements of > completTypes to ArrayCollections? > > Thanks for any input on a) what's going on b) how I should properly be > handling this, whether on the Web Service side, or the Flex client. > Naturally, I can always manually remap the properties when the Soap > result completes, keeping my VOs (which the application is coded > against) the same, but ideally, I'd just do "the right thing" with the > SOAP Decoder/Schema Type registry. > > Thanks, > Todd >

