Thanks Franck!

Seth (at Adobe) responded here: 
http://groups.yahoo.com/group/flexcoders/message/47803

It looks like most of the problems I have been experiencing are 
because of the Document/Literal wrapped format that I'm using -- and 
given Seth's comments I would expect everything to work with an 
RPC/Encoded webservice.

Although switching to an RPC/Encoded web service is possible, it's 
not reasonable for us, nor would I expect it to be for most people.  
I might try it out for testing purposes now and then, but I might 
just write a proxy class for now that will translate my calls into 
XMLDocument's which then get sent out.  I can't easily make a 
portable solution that way... but at least I'll have something 
workable.

My experience with Flex/ActionScript started about three weeks ago 
when I started investigating it as an RIA toolkit for web 
applications on top of webservices.  Although I have been very 
impressed in many areas, it's support webservices has been less than 
impressive -- in both Document/Literal and RPC/Encoded formats.  Our 
first attempts used RPC/Encoded webservices, but those attempts 
failed because of its lack of support for overloading (function 
overloading IIRC).  Upon switching to Document/Literal Wrapped 
webservices, we had many other problems.  If I had known for certain 
when I started my investigations that I was using the right syntax 
and methodology to communicate with the webservice, I might have 
dismissed Flex immediately and not seen some of its other great 
features and benefits.

Given the number of messages and people discussing webservices on 
flexcoders right now, I would guess that a lot of people are in the 
process of testing it out.  For it to be adopted at an enterprise 
level, I believe there is still much work left to be done.  Frankly, 
I'm a bit worried about what I might find as I start diving into 
more complex webservices.

Overall, Flex is great!  It's designed very well and has good 
supporting libraries (aside from a few quirks and bugs).

--Kaleb


--- In [email protected], "Franck de Bruijn" 
<[EMAIL PROTECTED]> wrote:
>
> Hi Kaleb,
> 
>  
> 
> Nice test.
> 
>  
> 
> Could you try exposing your webservice as RPC/Encoded. I'm very 
curious to
> see if that makes a difference. Personally, I don't have a 
configuration
> running where I could test this.
> 
>  
> 
> Ben: The XSD is referred to from WSDL, so, yes: it's necessary. 
But as you
> already have asked many times, I'm curious what Flex DOES with a 
schema file
> in the serialization process.
> 
>  
> 
> Cheers,
> 
> Franck
> 
>  
> 
>   _____  
> 
> From: [email protected] 
[mailto:[EMAIL PROTECTED] On
> Behalf Of ben.clinkinbeard
> Sent: Saturday, August 19, 2006 3:41 AM
> To: [email protected]
> Subject: [flexcoders] Re: ComplexType in WSDL with webservice not 
sending
> arguments
> 
>  
> 
> I get the same result- an empty request that successfully returns 
an
> empty result. Do you have to use the XSD? I am not familiar with 
these
> at all, so I don't understand exactly what purpose it may serve, 
but I
> would not be surprised at all if the WebService library did not
> support things like this.
> 
> Ben
> 
> --- In [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com> 
ups.com,
> "kaleb_pederson" <kibab@> wrote:
> >
> > Hello all,
> > 
> > My webservice has one function, sendStrings(), which takes a 
> > sequence of arg0 values, each of which are strings. Despite the 
> > simplicity of the request, I cannot get the web service to send 
> > anything but an empty request across (other than variation 9 in 
> > which I send XML across). I have tried every variation that I 
could 
> > think of and have included them below:
> > 
> > I'm hoping that one of you can try this and figure out if this 
is a 
> > bug or if I'm just completely missing something.
> > 
> > Feel free to hit this service as many times as needed to help 
with 
> > this issue:
> > 
> > WSDL: http://kibab. 
<http://kibab.homeip.net:8080/myserv/myserv?wsdl>
> homeip.net:8080/myserv/myserv?wsdl
> > XSD: http://kibab. 
<http://kibab.homeip.net:8080/myserv/myserv?xsd=1>
> homeip.net:8080/myserv/myserv?xsd=1
> > (The crossdomain.xml file is setup to allow everyone access)
> > 
> > If I send Array("One","Two","Three",...) across, the expected 
result 
> > would be: Array("[0]One","[1]Two","[2]Three",...).
> > 
> > Here are the different variations I've tried:
> > 
> > /* NOTE: I fully re-initialize the web service each time:
> > 
> > var ws:WebService = new mx.rpc.soap.mxml.WebService();
> > ws.addEventListener(LoadEvent.LOAD,loadHandler);
> > ws.addEventListener(FaultEvent.FAULT,faultHandler);
> > ws.loadWSDL("http://kibab.
> <http://kibab.homeip.net:8080/myserv/myserv?wsdl>
> homeip.net:8080/myserv/myserv?wsdl");
> > // then after the load has completed perform the test
> > 
> > */
> > 
> > trace("variation1");
> > var op:AbstractOperation = ws.getOperation("sendStrings");
> > op.arguments = new Array("variation","one");
> > op.send();
> > 
> > trace("variation2");
> > ws.sendStrings.arguments = new Array("variation","two");
> > ws.sendStrings.send();
> > 
> > trace("variation3");
> > ws.sendStrings.send(new Array("variation","three"));
> > 
> > trace("variation4");
> > ws.sendStrings.send("variation","four");
> > 
> > trace("variation5");
> > ws.sendStrings("variation","five");
> > 
> > // this function results in a fault event:
> > // Unexpected parameter "sendStrings" found in input arguments.
> > trace("variation6");
> > var op:AbstractOperation = ws.getOperation("sendStrings");
> > op.arguments = {sendStrings:{arg0:new 
> > Array("variation","six")}};
> > op.send();
> > 
> > trace("variation7");
> > var op:AbstractOperation = ws.getOperation("sendStrings");
> > op.send({sendStrings:{arg0:new Array("variation","six")}});
> > 
> > trace("variation8");
> > var xml:XML = new XML("<ns1:sendStrings 
> > xmlns:ns1="http://server.
> <http://server.webservices.tutorials.wakaleo.com/>
> webservices.tutorials.wakaleo.com/">" +
> > "<arg0>variation</arg0><arg0>eight</arg0>" +
> > "</ns1:sendStrings>");
> > var op:AbstractOperation = ws.getOperation("sendStrings");
> > op.send(xml);
> > 
> > trace("variation9");
> > // this WORKS (but variation 8 does not)
> > var xml:XMLDocument = new XMLDocument("<ns1:sendStrings 
> > xmlns:ns1="http://server.
> <http://server.webservices.tutorials.wakaleo.com/>
> webservices.tutorials.wakaleo.com/">" +
> > "<arg0>variation</arg0><arg0>nine</arg0>" +
> > "</ns1:sendStrings>");
> > var op:AbstractOperation = ws.getOperation("sendStrings");
> > op.send(xml);
> > 
> > trace("variation10");
> > var op:Operation = ws.getOperation("sendStrings") as Operation;
> > op.resultFormat = "e4x";
> > var args:Object = new Object();
> > args.arg0 = new Array("variation","ten");
> > op.arguments = args;
> > ws.sendStrings();
> > 
> > trace("variation11");
> > var op:Operation = ws.getOperation("sendStrings") as Operation;
> > op.resultFormat = "e4x";
> > var args:Object = new Object();
> > args.sendStrings = new Object();
> > args.sendStrings.arg0 = new Array("variation","eleven");
> > op.arguments = args;
> > ws.sendStrings();
> > 
> > Please let me know if there is any other information that I can 
> > provide to help resolve this issue.
> > 
> > Thanks for the help!
> > 
> > --Kaleb
> >
>







--
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