2009-05-28 4 views
1

J'ai un WebService qui retourne XML dans une réponse SOAP:Comment convertir un résultat WebService typé ObjectProxy en XML?

<?xml version="1.0" encoding="utf-8" ?> 
<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> 
     <GetConfigResponse xmlns="Web.Services"> 
      <GetConfigResult> 
       <Configuration xmlns=""> 
        <Stuff>False</Stuff> 
        <MoreStuff> 
         <Report_Format>PDF</Report_Format> 
         <Report_Sections> 
          <Report_Section> 
           <idNmb>1</idNmb> 
           <name>Report 1</name> 
           <isDefault>true</isDefault> 
           <isVisible>true</isVisible> 
          </Report_Section> 
          <Report_Section> 
           <idNmb>2</idNmb> 
           <name>Report 2</name> 
           <isDefault>false</isDefault> 
           <isVisible>true</isVisible> 
          </Report_Section> 
         </Report_Sections> 
        </MoreStuff> 
       </Configuration> 
      </GetConfigResult> 
     </GetConfigResponse> 
    </soap:Body> 
</soap:Envelope> 

Quand j'appelle ce WebService le débogueur Flex indique le type de ResultEvent.RESULT est « ObjectProxy ». Lorsque j'essaie de convertir cette valeur en XML, elle se présente comme "[object Object]" et je ne peux pas accéder aux nœuds XML. Pour la plupart des autres WebServices que j'appelle, ResultEvent.result est de type "Array", et convertit en XML sans problème. Que puis-je faire pour stocker ce résultat au format XML?

Répondre

3

Réglez le resultFormat de votre demande/opération "e4x" et retourne un objet XML au lieu de convertir le résultat à un ObjectProxy.

+0

J'utilise AbstractOperation comme type d'opération dans ma classe WebService de base. Pas de résultatFormat pour la classe AbstractOperation. Je vais essayer de changer cela en mx.rpc.soap.Operation et voir si cela fonctionnera correctement. Je vous remercie. –

+0

Ça a marché! Merci. Tellement évident, mais je ne pouvais pas le voir. Merci ianmjones (et stackoverflow). –

+0

Cela a interrompu un autre appel WebService que j'avais - il ne traitait pas les espaces de noms correctement - donc j'ai dû changer le resultFormat en "xml" pour que cela fonctionne à travers le tableau. –

Questions connexes