Yeah, sorry, this is more of a Perl SOAP WSDL generation issue than a Flash issue I think. I don't do the WSDL creation in .NET here, I have a .NET C# developer I work with. Nobody here knows Perl SOPA WSDL creation in my group. I do know that using native complex objects are fine with Flash and .NET produced WSDLs, and they semi-problematic in ColdFusion (according to some recent posts on this list - they recommended sticking with the straight XML response instead), but I know nothing of Perl-based WSDL SOAP requests. I only know the basics of a SOAP WSDL format, so I couldn't begin to debug yours... sorry. Have you compared your SOAP response to working ones on the Web?
Best of luck to you, Jason Merrill Bank of America Learning & Organization Effectiveness - Technology Solutions >>-----Original Message----- >>From: [EMAIL PROTECTED] [mailto:flashcoders- >>[EMAIL PROTECTED] On Behalf Of Tom Shaw >>Sent: Monday, August 14, 2006 3:28 PM >>To: Flashcoders@chattyfig.figleaf.com >>Subject: Re: [Flashcoders] Flash 8 - Decoding a SOAP Response - Array of complex >>objects >> >>Hi Jason, >> >>Im using Perl with Apach2-SOAP under mod_perl. >> >>If you are sending objects back and forth then I dont see why I should >>be having problems. It must be a problem with my WSDL or Perl SOAP >>Response. >> >>Since flash decodes the response according to the WSDL file then it >>seems likely there is a problem with this bit. >> >>I have included the WSDL file and a copy of the request and response. >>Does the response look vastly different for an array of objects that >>you might expect to see on your working Flash/SOAP project? >> >>This is an example and triggers my problem and is as short as I could >>make it. >> >>----- snip 8< ------ >> >>Request >><?xml version="1.0" encoding="utf-8"?> >><SOAP-ENV:Envelope >>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> >> <SOAP-ENV:Body xmlns:ns1="http://ice.zerofiveone.com/Objecttest"> >> <ns1:getPeople >> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> >> <author xsi:type="xsd:int"></author> >> </ns1:getPeople> >> </SOAP-ENV:Body> >></SOAP-ENV:Envelope> >> >>Response >><?xml version="1.0" encoding="UTF-8"?> >><SOAP-ENV:Envelope >> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >> xmlns:namesp2="http://xml.apache.org/xml-soap" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" >> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> >> <SOAP-ENV:Body> >> <namesp6:getPeopleResponse >> xmlns:namesp6="http://ice.zerofiveone.com/Objecttest"> >> <SOAP-ENC:Array xsi:type="SOAP-ENC:Array" >> SOAP-ENC:arrayType="namesp2:SOAPStruct[3]"> >> <item xsi:type="namesp2:SOAPStruct"> >> <name xsi:type="xsd:string">Tom</name> >> <age xsi:type="xsd:int">24</age> >> </item> >> <item xsi:type="namesp2:SOAPStruct"> >> <name xsi:type="xsd:string">Chris</name> >> <age xsi:type="xsd:int">26</age> >> </item> >> <item xsi:type="namesp2:SOAPStruct"> >> <name xsi:type="xsd:string">Andrew</name> >> <age xsi:type="xsd:int">56</age> >> </item> >> </SOAP-ENC:Array> >> </namesp6:getPeopleResponse> >> </SOAP-ENV:Body> >></SOAP-ENV:Envelope> >> >>And finally the WSDL - I tried to keep this as short as possible for >>this example. >> >><?xml version="1.0"?> >><definitions >>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" >> xmlns:si="http://soapinterop.org/xsd" >> xmlns:tns="http://ice.zerofiveone.com/Objecttest" >> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >> xmlns="http://schemas.xmlsoap.org/wsdl/" >> targetNamespace="http://ice.zerofiveone.com/Objecttest"> >> <types> >> <xsd:schema >> targetNamespace="http://ice.zerofiveone.com/Objecttest"> >> <xsd:import >> namespace="http://schemas.xmlsoap.org/soap/encoding/" /> >> <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" /> >> <xsd:complexType name="Person"> >> <xsd:all> >> <xsd:element name="name" type="xsd:string" /> >> <xsd:element name="age" type="xsd:string" /> >> </xsd:all> >> </xsd:complexType> >> <xsd:complexType name="PersonArray"> >> <xsd:complexContent> >> <xsd:restriction base="SOAP-ENC:Array"> >> <xsd:attribute ref="SOAP-ENC:arrayType" >> wsdl:arrayType="tns:Person[]" /> >> </xsd:restriction> >> </xsd:complexContent> >> </xsd:complexType> >> </xsd:schema> >> </types> >> >> <message name="getPeopleRequest"> >> <part name="author" type="xsd:int" /> >> </message> >> <message name="getPeopleResponse"> >> <part name="return" type="tns:PersonArray" /> >> </message> >> >> <portType name="ObjecttestPortType"> >> <operation name="getPeople"> >> <input message="tns:getPeopleRequest" /> >> <output message="tns:getPeopleResponse" /> >> </operation> >> >> </portType> >> <binding name="ObjecttestBinding" type="tns:ObjecttestPortType"> >> <soap:binding style="rpc" >> transport="http://schemas.xmlsoap.org/soap/http" /> >> <operation name="getPeople"> >> <soap:operation >> soapAction="http://ice.zerofiveone.com/Objecttest/getPeople" >> style="rpc" /> >> <input> >> <soap:body use="encoded" >> namespace="http://ice.zerofiveone.com/Objecttest" >> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> >> </input> >> <output> >> <soap:body use="encoded" >> namespace="http://ice.zerofiveone.com/Objecttest" >> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /> >> </output> >> </operation> >> </binding> >> <service name="Objecttest"> >> <port name="ObjecttestPort" binding="tns:ObjecttestBinding"> >> <soap:address >> location="http://ice.zerofiveone.com/Objecttest/soap" /> >> </port> >> </service> >></definitions> >> >> >>Id really apprecaite any help with this one. Im completely suck :) >> >>Cheers, >>Tom >> >>On Mon Aug 14 10:45:06 2006, in you wrote: >> >>>What are you using on your backend? .NET? ColdFusion? If .NET, yes, >>>you can easily send objects back and forth. It serializes as SOAP >>>formatted XML inbetween, but you'll never notice. You can read an object >>>with arrays, set properties, and send it back. I can't send you our >>>SOAP message because it might be considered propriety bank information >>>(even though it's not really), but there are some tutorials on the web> >>> >>>http://www.sephiroth.it/tutorials/flashPHP/webServiceConnector/ >>> >>>Here is the WSDL is uses: >>> >>>http://www.xmethods.net/sd/2001/BabelFishService.wsdl >>> >>>Here is some code I use to test loading in an object from a wsdl SOAP >>>object from .NET >>> >>>import mx.services.*; >>> >>>function startmyws():Void{ >>> ws = new WebService("http://blahblahurl/theService.asmx?WSDL"); >>> ws.onLoad = trace("The webservice loaded fine."); >>> methodResultObj = ws.GetProject(0); >>> methodResultObj.onResult = showResult; >>> methodResultObj.onFault = function(fault) { >>> trace("!! Flash Web Services Component Error. \n Fault Code: >>>"+fault.faultcode + ", Fault: " + fault.faultstring); >>> } >>>} >>> >>>function showResult(projObj:Object){ >>> //test object value: >>> theVar = projObj.Content.Topics[0].TextAreas[0].Content >>> trace(theVar) >>>} >>> >>>startmyws(); >>> >>>Don't bother with parsing through XML if you are using .NET. And wash >>>those socks. :) >>> >>>Jason Merrill >>>Bank of America >>>Learning & Organization Effectiveness - Technology Solutions >>> >>> >>> >>> >>> >>> >>>>>-----Original Message----- >>>>>From: [EMAIL PROTECTED] [mailto:flashcoders- >>>>>[EMAIL PROTECTED] On Behalf Of Tom Shaw >>>>>Sent: Monday, August 14, 2006 9:29 AM >>>>>To: flashcoders@chattyfig.figleaf.com >>>>>Subject: [Flashcoders] Flash 8 - Decoding a SOAP Response - Array of >>>complex >>>>>objects >>>>> >>>>>Hi all, This is my first post on the list so Ill say hi now and hope >>>>>you are all friendly :) >>>>> >>>>>Ive been going round for days on this one and have searched high and >>>>>low for an answer. I even looked under the bed but all I found was >>>>>smelly socks, so before I actually go mad could anyone shed some light >>>>>on this rather annoying problem with Flash 8 Pro. >>>>> >>>>>I have a SOAP server set up under mod_perl which delivers an array of >>>>>objects. >>>>> >>>>>To avoid reinventing the wheel I wanted Flash to decode the SOAP >>>>>response from the server. the result Im actually getting is an array >>>>>of XML Objects. >>>>> >>>>>I could parse these XML objects but then I might as well and decode >>>>>the entire response manually anyway. the overhead for getting flash >>>>>to decode the object has already been incurred so Id really like to >>>>>figure this out. >>>>> >>>>>Now while this might seem trivial I do want to return some rather more >>>>>complex objects so this has effetively stopped my development for now. >>>>> >>>>>I dont want to go down the path with flash Remoting at the minute but >>>>>for those who might suggest it I have considered it and may implement >>>>>it in the future. >>>>> >>>>>If anyone is getting Flash to fully decode Arrays of Objects or any >>>>>other remotely complex data structure could they please post their >>>>>SOAP response and reply for me to study so I can try and find out what >>>>>exactly is wrong. >>>>> >>>>>I have a few more questions to ask but for clarity Ill leave these for >>>>>another day. >>>>> >>>>>Im not sure if posting my SOAP reply would help at this point...I will >>>>>create a simple example and post it shortly. >>>>> >>>>>Id really appreciate some help here so Ill cross my fingers and hope >>>>>for the best. >>>>> >>>>>Cheers, >>>>>Tom >>>>>_______________________________________________ >>>>>Flashcoders@chattyfig.figleaf.com >>>>>To change your subscription options or search the archive: >>>>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>>>> >>>>>Brought to you by Fig Leaf Software >>>>>Premier Authorized Adobe Consulting and Training >>>>>http://www.figleaf.com >>>>>http://training.figleaf.com >>_______________________________________________ >>Flashcoders@chattyfig.figleaf.com >>To change your subscription options or search the archive: >>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> >>Brought to you by Fig Leaf Software >>Premier Authorized Adobe Consulting and Training >>http://www.figleaf.com >>http://training.figleaf.com _______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com