Na de post Matsiya over het gebruik van SchemaTypeRegistry om de conversie van voorwerpen uit een SOAP Web Service in AS3 klassen, begon ik een paar experimenten. Het gebruik is heel eenvoudig en biedt de mogelijkheid voor het in kaart brengen SOAP Objects complexType soort branches AS3 voorwerpen van zijn keuze, maar met vermelding van zijn naam en naamruimte van het object zoals beschreven in het WSDL-bestand van web service.
Bijvoorbeeld, stel dat we het web service retourneert een lijst met gebruikers en we willen ophalen van de lijst in een categorie genaamd "UserArray", dat is eigenlijk een array van objecten van het type "User". Het volstaat te zeggen dat de vereniging voor het aanroepen van de web service door
SchemaTypeRegistry.getInstance (). RegisterClass (nieuw QName ( "http://www.flex-info.fr/", "userArray"), UserArray);
SchemaTypeRegistry.getInstance (). RegisterClass (nieuw QName ( "http://www.flex-info.fr/", "gebruiker"), User);
Het resultaat teruggegeven door de ResultEvent bevat dan een klasse die klassen UserArray gebruiker.
De afbeelding hieronder illustreert het proces:

Zoals Matsiya, jammer dat er niet meer communicatie over dit aspect van het in kaart brengen van gegevens tussen webservice SOAP en Flex (Flex 3). Ik hoop dat dit bericht is betrokken ...
Update: Om meer compleet, de klassen in AS3 voorwerpen moet worden geschreven met een minimum van hun eigenschappen zo eenvoudig en kunnen ook functies aan objecten. Voorbeeld van de Gebruiker klasse:
pakket (
openbare klasse Gebruiker
(
openbare var ID's: Aantal;
openbare var login: String;
openbare var mail: String;
openbare var naam: String;
openbare var wachtwoord: String;
)
)
UserArray klasse in het voorbeeld is in feite een uitbreiding van de ArrayCollection klasse, maar is niet noodzakelijk als een eenvoudige ArrayCollection is voldoende.
Wanneer een systeem van mapping en synchronisatie klassen Java, PHP of andere klassen te AS3? Il ne manque plus que ça ... niet?
Bovendien: het lijkt erop dat de koppeling niet goed werkt met Web services van het type "document / letterlijk" gegenereerd door Axis 1. De passage in 'RPC / gecodeerd "lost het probleem ...
Als u nu komt voor het eerst op Flex-info.fr kunt u zich abonneren op de RSS feed. Dank u voor uw bezoek!





















21 mei 2008 om 12 h 53 min
Hallo,
Zou het mogelijk om uw voorbeeld door flex uw project? Ik wil weten wat te doen in detail moeten we voeren een klasse type userArray omdat we moeten verklaren uw userArray en dus is het een soort ... (en dus hoe je schrijft deze klasse).
Dank u voor uw hulp.
26 mei 2008 om 11 h 28 min
Hallo,
dank u voor dit artikel, waarin wordt gewezen op een weinig gedocumenteerde werking en zeer praktisch. Echter, zoals u in uw nota update, is het noodzakelijk om alle variabelen in de object-klasse. En dan ook voorkomt dat iedere vorm van klasse "dynamisch".
In uw voorbeeld ingevuld UserArray klasse, dit object kan worden verzonden als zij een zeep (die uiteraard net als de complexType parameter userArray?)
Om een echte indruk van sychronisation gegevens?
Dank u voor uw antwoord.
27 mei, 2008 om 8 uur 48 min.
Hallo Romain,
Je hebt gelijk om te zeggen, AS3 objecten gemaakt kunnen worden verzonden als aan de Web Service indien het type overeenkomt met het type verwacht, of een simpel object of een complexe object.
In grote lijnen, stuurt u een object met ten minste de eigenschappen verwacht door de web service die dit object is gecodeerd in het desbetreffende type.
27 mei 2008 om 11 h 15 min
Hallo, ik gebruik maken van de web services nu na het gebruik van de Remote Objects en helaas krijg ik niet zulke goede kwaliteit mapping. In feite na het gebruik van uw methode Ik krijg vele objecten van het type gewenst, maar nog steeds velden nietig. Na controle van E4X stromen, gegevens worden doorgegeven, maar niet in kaart gebracht. Is het web diensten of goederen voor iets anders.
Bedankt
3 juni, 2008 om 14 h 13 min
Na het zoeken met Julien, het in kaart brengen is niet goed met de Web-diensten die door As 1 in "document / letterlijk". Zie toevoeging aan het einde van artikel ...