A ver si me pueden dar una mano con esto, se los agradeceria.
Estoy trabajando con Flash CS3 + AS3 + Webservices (.NET C#). (SI, webservices en flash CS3)
El problema es que en la respuesta de un webservice, estoy enviando lo que en C# seria un array de XMLNode (XMLNodeList). Algo asi:
Código :
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <RetrieveXMLResponse xmlns="http://blumer.com.ar/"> <RetrieveXMLResult> <XmlNode> <Page name="FrontCover"> <box name="Disclaimer" id="4"> <category id="2" name="Disclaimer" value="Este es el Disclaimer"> <valuepair value=""/> </category> </box> </Page> </XmlNode> <XmlNode> <Page name="FrontCover"> <box name="Disclaimer" id="4"> <category id="2" name="Disclaimer" value="Disclaimer"> <valuepair value=""/> </category> </box> </Page> </XmlNode> </RetrieveXMLResult> </RetrieveXMLResponse> </soap:Body> </soap:Envelope>
Ahora, en AS3, tengo una clase XMLNode, si trato de usarla, tengo un error de conversion, obviamente:
Código :
var ws:WebService = new WebService();
ws.addEventListener(Event.CONNECT, connected);
ws.connect("http://localhost/Core.asmx?WSDL");
function connected(evt:Event):void {
ws.RetrieveXML(done, "Page");
}
function done(serviceResponse:XMLNode):void { //aca tengo un error, porque lo que recibo es un array.
var strresponse:XML = serviceResponse;
trace("Este es el resultado: " + strresponse);
}
Si lo declaro en AS3 como :XML, no hay errores. Pero en este caso, como hago para acceder por ejemplo a (en el XML):
Código :
<Page name="FrontCover"> <box name="Disclaimer" id="4"> <category id="2" name="Disclaimer" value="Este es el Disclaimer. Este es el valor que quiero acceder"/>
Se entiende? Estoy viendo la ayuda del Flash, pero los ejemplos que utiliza no me aclaran mucho. Podria acceder a ese valor haciendo algo como:
strresponse.children().children().children();
Pero supongo que haya algo mas "accesible" no?
Gracias!
