Dopo il post Matsiya sull'uso di SchemaTypeRegistry per consentire la conversione di oggetti provenienti da un Web Service SOAP in AS3 classi, ho cominciato a pochi esperimenti. L'uso è molto semplice e permette per la mappatura SOAP Oggetti complexType tipo classi AS3 oggetti di sua scelta, dichiarando solo il proprio nome e nomi di oggetto, come descritto nel file WSDL del Web service.
Ad esempio, immaginare che il servizio Web restituisce un elenco di utenti e si desidera recuperare l'elenco in una classe denominata "UserArray", che in realtà è un array di oggetti di tipo "Utente". Basti dire l'associazione prima di chiamare il servizio Web da
SchemaTypeRegistry.getInstance (). RegisterClass (nuovo QName ( "http://www.flex-info.fr/", "userArray"), UserArray);
SchemaTypeRegistry.getInstance (). RegisterClass (nuovo QName ( "http://www.flex-info.fr/", "utente"), l'utente);
Il risultato restituito dalla ResultEvent poi contiene una classe che contiene le classi UserArray utente.
L'immagine qui di seguito illustra il processo:

Come evidenziato Matsiya, peccato non ci sia più comunicazione su questo aspetto della mappatura dei dati tra i servizi Web SOAP e Flex (Flex solo 3). Mi auguro che questo post è coinvolto ...
Aggiornamento: Per essere più completi, le classi AS3 oggetti devono essere scritti con un minimo di loro proprietà, come semplice e può includere funzioni agli oggetti. Esempio di classe per l'utente:
pacchetto (
classe pubblica utente
(
var IDUS pubblico: Numero;
pubblico var login: String;
pubblico var mail: String;
pubblico var nome: String;
pubblico var password: String;
)
)
UserArray classe l'esempio è in realtà una proroga del ArrayCollection classe, ma è necessario se non un semplice ArrayCollection è sufficiente.
Quando un sistema di mappatura e di sincronizzazione classi Java, PHP o altre classi di AS3? Il ne manque plus que ça ... non?
Inoltre: sembra che la mappatura non funziona bene con i servizi Web di tipo "documento / letterale" generato da Axis 1. Il passaggio in "RPC / codificati" risolve il problema ...