That results in this structure being created and sent:

<SelectedPlans xmlns="">
   <item xmlns="">78167</item>
   <item xmlns="">78173</item>
</SelectedPlans>

Arrays do not seem to have their names preserved consistently. I am
assuming this is affected by the WSDL. Please, get some clarification
into the community on these issues. If my experience is
representative, companies evaluating Flex for web service-based
applications are going to be very discouraged by the lack of
documentation and may once again disregard it as a viable solution. I
would love nothing more than to convince my superiors to use Flex but
with the issues I have been running into it is making it very hard for
me to stand behind it as a solid platform for development that is
heavily reliant on web services.

Ben


--- In flexcoders@yahoogroups.com, "Matt Chotin" <[EMAIL PROTECTED]> wrote:
>
> Shouldn't you have another array, PlanNumber hanging off the object (not
> array) SelectedPlans and be pushing your numbers into that?
> 
>  
> 
> Matt
> 
>  
> 
> ________________________________
> 
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of ben.clinkinbeard
> Sent: Monday, August 14, 2006 6:11 AM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] Re: Clarification needed on how WSDL affects
> conversion of AS objects to SOAP
> 
>  
> 
> Hi Matt,
> 
> My current problem and questions are concerning serialization, not
> deserialization. Flex is creating SOAP requests differently for 2
> methods of the same service, even though the AS is virtually
> identical. My only guess is that its due to the WSDL. Here is a recap
> from my previous posts.
> 
> // SERIALIZES AS EXPECTED AND WORKS CORRECTLY
> args.ContainersToRetrieve = new Array();
> args.ContainersToRetrieve.push("Client");
> args.ContainersToRetrieve.push("IndustryTrends");
> 
> // RESULTING SOAP CALL
> <ContainersToRetrieve>
> <ContainerType>Client</ContainerType>
> <ContainerType>IndustryTrends</ContainerType>
> 
> // CORRESPONDING PIECE OF WSDL
> <s:element minOccurs="0" maxOccurs="unbounded" name="ContainerType"
> type="tns:ContainerType"/>
> (tns:ContainerType maps to an enum collection)
> 
> // ====================================
> 
> // DOES NOT SERIALIZE AS EXPECTED, CAUSING AN ERROR IN THE WEB SERVICE
> args.RPRSelections = new Object();
> args.RPRSelections.SelectedPlans = new Array();
> for(var i:int = 0; i < model.arr_selectedPlans.length; i++)
> {
> args.RPRSelections.SelectedPlans.push(model.arr_selectedPlans[i]);
> }
> 
> // RESULTING SOAP CALL
> // ignores the SelectedPlans array that was created.
> <RPRSelections>
> <item>78167</item>
> <item>78173</item>
> 
> // WHAT IT SHOULD LOOK LIKE
> <RPRSelections>
> <SelectedPlans>
> <PlanNumber>78167</PlanNumber>
> <PlanNumber>78173</PlanNumber>
> <SelectedPlans>
> </RPRSelections>
> 
> // CORRESPONDING PIECE OF WSDL
> <s:element minOccurs="0" maxOccurs="1" name="SelectedPlans"
> type="tns:ArrayOfString"/>
> 
> <s:complexType name="ArrayOfString">
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="unbounded" name="PlanNumber"
> nillable="true" type="s:string"/>
> </s:sequence>
> </s:complexType>
> 
> I would LOVE to know how to fix this as right now its a total deal
> breaker for my project.
> 
> Thanks,
> Ben
> 
> --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
> , "Matt Chotin" <mchotin@> wrote:
> >
> > I'm not sure how WSDL structure would affect deserialization. We have
> > mappings of the standard types into ActionScript versions. There's not
> > a huge number of those types so we map as best as possible. Are you
> > looking for those exact details? As far as RPC vs. doc-literal, I
> > believe that the WSDL for a doc-lit generally provides less
> information
> > that we can use so we're less likely to be able serialize or
> deserialize
> > with as much accuracy as we attempt in RPC. If you use
> > resultFormat="xml" or e4x of course the doc-lit services will work
> fine,
> > though I've seen serialization work fine with doc-lit too.
> > 
> > 
> > 
> > Sorry, not sure if that is very helpful. If you have a more specific
> > issue I might be able to forward that in, though the engineer who
> really
> > knows our library at this point is on vacation. 
> > 
> > 
> > 
> > Matt
> > 
> > 
> > 
> > 
> > 
> > ________________________________
> > 
> > From: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
> [mailto:flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
> ] On
> > Behalf Of ben.clinkinbeard
> > Sent: Friday, August 11, 2006 10:48 AM
> > To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> 
> > Subject: [flexcoders] Re: Clarification needed on how WSDL affects
> > conversion of AS objects to SOAP
> > 
> > 
> > 
> > Hi Matt,
> > 
> > The types of things I would like to see explained are what I mentioned
> > in my previous posts. Stuff like how does
> > WSDL structure affect Flex's serialization of objects? (this is a big
> > one) and what differences are there in Flex's treatment of Doc/Literal
> > vs RPC/Encoded web services?
> > 
> > I would also be more than willing to alpha/beta test any new
> > functionality as my entire app revolves around .NET web services.
> > 
> > Thanks,
> > Ben
> > 
> > --- In flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > , "Matt Chotin" <mchotin@> wrote:
> > >
> > > We have folks working on a complete rewrite of the web service
> library
> > > in an attempt to really bring it up to snuff. However it won't be
> > > available until the next major release. I believe we do have some
> web
> > > service articles in the works. If you have suggestions for what
> you'd
> > > like to see as far as tutorials or articles on the subject let me
> know
> > > offlist.
> > > 
> > > 
> > > 
> > > Matt
> > > 
> > > 
> > > 
> > > ________________________________
> > > 
> > > From: flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > [mailto:flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > ] On
> > > Behalf Of ben.clinkinbeard
> > > Sent: Wednesday, August 09, 2006 5:56 AM
> > > To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com> 
> > > Subject: [flexcoders] Re: Clarification needed on how WSDL affects
> > > conversion of AS objects to SOAP
> > > 
> > > 
> > > 
> > > Hi Franck,
> > > 
> > > I am also impressed at how powerful Flex + web services seem like
> they
> > > could be and I don't think my issue is related to a bug. My
> complaint
> > > is that, as far as I know, there are zero Adobe sponsored articles
> or
> > > tutorials about using web services in anything but the most basic
> and
> > > mundane ways. As both of us have said, web services are the
> mechanism
> > > that will allow the widest adoption and impact of Flex (I also work
> in
> > > an environment where money is not the deciding factor), yet they
> have
> > > seemingly ignored the topic in their communications to developers,
> in
> > > favor FDS at every turn.
> > > 
> > > Like FDS, web services are a very complex topic, but we have
> virtually
> > > no information on the finer points of their implementation. How does
> > > WSDL structure affect Flex's serialization of objects (my current
> > > issue)? What differences are there in Flex's treatment of
> Doc/Literal
> > > vs RPC/Encoded web services? Those kinds of things. Without Jesse's
> > > sample app on how to use web services with Flex 2 + Cairngorm 2 we'd
> > > really be screwed.
> > > 
> > > All I am saying is that the focus on FDS seems unrealistic and
> > > counter-productive to the overarching goal of massive Flex adoption.
> I
> > > would venture to guess that the overwhelming majority of
> organizations
> > > (90%+) will not deploy FDS. Whether it be due to financial, platform
> > > or other infrastructure reasons, it simply doesn't fit into most
> > > stacks. That being said, you would think they could give some more
> > > detailed info on how to implement the pieces of the framework that
> the
> > > rest of us are going to use. Like I said, I think Flex is great.
> > > Really great. I just don't want to see them blow the adoption
> > > challenge. Again.
> > > 
> > > Ben
> > > 
> > > PS - I am using Doc/literal web services
> > > 
> > > --- In flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com>
> > > , "Franck de Bruijn"
> > > <franck.de.bruijn@> wrote:
> > > >
> > > > Hi Ben,
> > > > 
> > > > 
> > > > 
> > > > Let's try not to be too pessimistic, although you might be right
> > that
> > > > Adobe's focus is more on the FDS part than the webservices part.
> It
> > > must be
> > > > a hell of a complicated module and indeed, more money to be
> gained.
> > > > 
> > > > 
> > > > 
> > > > I have quite some experience now with webservices, and they are
> > > extremely
> > > > difficult to work with. And I don't believe that the first release
> > of
> > > a
> > > > product can be error free. So far, I am quite impressed with the
> > > support of
> > > > Flex for webservices, but there will be bugs. It's up to us to
> > > signal them.
> > > > 
> > > > 
> > > > 
> > > > I agree with you though that webservices is actually the only
> > > interesting
> > > > way of communication with a back-end. For the near future, I don't
> > > expect to
> > > > use any of the FDS features for the applications that I wish to
> > > build (and
> > > > that is for large corporations that could afford the investment of
> > > an FDS
> > > > module). Although webservices are a pain-in-the-neck, they are the
> > > only hope
> > > > for a full heterogeneous world of clients and servers.
> > > > 
> > > > 
> > > > 
> > > > How are you exposing your webservice? Doc/Literal or RPC/Encoded?
> > > > 
> > > > 
> > > > 
> > > > Cheers,
> > > > 
> > > > Franck
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > _____ 
> > > > 
> > > > From: flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com>
> > > [mailto:flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com>
> > > ] On
> > > > Behalf Of ben.clinkinbeard
> > > > Sent: Tuesday, August 08, 2006 8:59 PM
> > > > To: flexcoders@yahoogroups.com
> <mailto:flexcoders%40yahoogroups.com>
> <mailto:flexcoders%40yahoogroups.com>
> > <mailto:flexcoders%40yahoogroups.com> 
> > > > Subject: [flexcoders] Re: Clarification needed on how WSDL affects
> > > > conversion of AS objects to SOAP
> > > > 
> > > > 
> > > > 
> > > > Hi Franck,
> > > > 
> > > > I am pretty sure this is all related to types and the fact that
> Flex
> > > > will serialize primitive types differently than complex ones. The
> C#
> > > > code that creates the WS looks like this for the correctly
> > functioning
> > > > elements:
> > > > 
> > > > [XmlArray("ContainersToRetrieve")]
> > > > [XmlArrayItem("ContainerType", typeof(ContainerType))]
> > > > ContainerType[] containersToRetrieve,
> > > > 
> > > > and like this for the incorrect ones:
> > > > 
> > > > [XmlArray("SelectedPlans")]
> > > > [XmlArrayItem("PlanNumber")]
> > > > string[] SelectedPlans
> > > > 
> > > > I think the only way to fix this would be to have SelectedPlans be
> > an
> > > > array of complex objects rather than an array of strings.
> > > > Unfortunately, I don't believe this is an option as there is other
> > > > code that relies on this WS.
> > > > 
> > > > Sigh. I really wish there was more focus on, documentation of and
> > > > support for web services in Flex. The apparent concentration on
> FDS
> > > > seems misguided to me as I don't see is as being a viable option
> for
> > > > nearly as many organizations as web services are. I suppose I
> > > > understand that FDS deployments are where the real money would be
> > for
> > > > Adobe, but it rings of the unrealistic and arguably unsuccessful
> > model
> > > > upon which Flex 1 and 1.5 were based on.
> > > > 
> > > > Ben
> > > > 
> > > > --- In [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
> > > ups.com,
> > > > "Franck de Bruijn"
> > > > <franck.de.bruijn@> wrote:
> > > > >
> > > > > Hi Ben,
> > > > > 
> > > > > 
> > > > > 
> > > > > I'm not sure if I'm following you, but I'll try :).
> > > > > 
> > > > > 
> > > > > 
> > > > > I don't have answers, just questions. Let me put them to you:
> > > > > 
> > > > > * Could it maybe be the type="s:string" part? Is 's' pointing to
> > the
> > > > > right xsd namespace?
> > > > > * I'm curious what is exactly making the 'ContainerType' element
> > in
> > > > > your SOAP-message. Is it the name attribute or the type
> attribute?
> > > > If it is
> > > > > the type attribute, then for sure in the PlanNumber element
> it'll
> > > > not work
> > > > > ...
> > > > > * Could the nesting be a problem? What I see from your code
> > example,
> > > > > is that the PlanNumber elements are one level deeper than the
> > > > ContainerType
> > > > > elements. Maybe it's an idea to test a webservice operation that
> > > takes
> > > > > straight PlanNumber elements?
> > > > > 
> > > > > 
> > > > > 
> > > > > Good luck!
> > > > > 
> > > > > Franck
> > > > > 
> > > > > 
> > > > > 
> > > > > _____ 
> > > > > 
> > > > > From: [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
> > > ups.com
> > > > [mailto:[EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
> > > ups.com]
> > > > On
> > > > > Behalf Of ben.clinkinbeard
> > > > > Sent: Tuesday, August 08, 2006 7:29 PM
> > > > > To: [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
> > > ups.com
> > > > > Subject: [flexcoders] Re: Clarification needed on how WSDL
> affects
> > > > > conversion of AS objects to SOAP
> > > > > 
> > > > > 
> > > > > 
> > > > > I meant to hit preview... here is the rest of my post.
> > > > > 
> > > > > The pieces of the WSDL that correspond are:
> > > > > 
> > > > > <s:element minOccurs="0" maxOccurs="unbounded"
> > name="ContainerType"
> > > > > type="tns:ContainerType"/> (works correctly)
> > > > > 
> > > > > and 
> > > > > 
> > > > > <s:element minOccurs="0" maxOccurs="unbounded" name="PlanNumber"
> > > > > nillable="true" type="s:string"/> (array is disregarded)
> > > > > 
> > > > > Is nillable="true" causing a problem here? What changes need to
> be
> > > > > made to make Flex treat arrays just like objects, like it does
> in
> > > the
> > > > > first operation?
> > > > > 
> > > > > Thanks,
> > > > > Ben
> > > > > 
> > > > > --- In [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com>
> > > > ups.com,
> > > > > "ben.clinkinbeard"
> > > > > <ben.clinkinbeard@> wrote:
> > > > > >
> > > > > > In one part of my app, I am creating my Operation.arguments
> > object
> > > > > > like this:
> > > > > > 
> > > > > > args.ContainersToRetrieve = new Array();
> > > > > > args.ContainersToRetrieve.push("Client"); 
> > > > > > args.ContainersToRetrieve.push("IndustryTrends");
> > > > > > 
> > > > > > which, as expected, results in a SOAP call like this:
> > > > > > 
> > > > > > <ContainersToRetrieve>
> > > > > > <ContainerType>Client</ContainerType>
> > > > > > <ContainerType>IndustryTrends</ContainerType>
> > > > > > 
> > > > > > In a different spot, I am constructing a call in the same
> > manner:
> > > > > > args.RPRSelections = new Object();
> > > > > > args.RPRSelections.SelectedPlans = new Array();
> > > > > > for(var i:int = 0; i < model.arr_selectedPlans.length; i++)
> > > > > > {
> > > > > >
> > args.RPRSelections.SelectedPlans.push(model.arr_selectedPlans[i]);
> > > > > > }
> > > > > > 
> > > > > > but that produces the following output, seemingly ignoring the
> > > > > > SelectedPlans array that was created.
> > > > > > 
> > > > > > <RPRSelections>
> > > > > > <item>78167</item>
> > > > > > <item>78173</item>
> > > > > >
> > > > >
> > > >
> > >
> >
>







--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to