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

Reply via email to