Ben,

What is the best way to go about handling the result from the
operations.send() call.  I'm sure you must have to add an event
listener on the operations call.  

I do not fully understand the Iresponder from your initial posting.

<<
You can optionally capture the token created by the call and assign a
responder as well:

var call:ASyncToken = op.send();
call.addResponder(IResponder);
The IResponder interface defines a result and fault method that are
called when the operation returns. >>

I tried to add that into my code and received the error:

1046: Type was not found or was not a compile-time constant: ASyncToken.

I believe I have all the proper classes imported:

import mx.rpc.soap.WebService;
import mx.rpc.soap.WSDL;
import mx.rpc.soap.*;
import mx.rpc.IResponder;
import mx.rpc.*;
import mx.rpc.events.ResultEvent;
import mx.rpc.AsyncToken;

Now even if I get the error eliminated, how do you add a resultHandler
function to capture the xml returned from the operations call?

Maybe you can briefly explain how the AsyncToken and Iresponder work?

Here is my current snippet of code:
private function init():void{
                        var ws:WebService = new WebService;
                        ws.wsdl = 
"http://www.myservice.com/services/InventoryService?wsdl";;
                        ws.useProxy = false;
                        
ws.loadWSDL("http://www.myservice.com/services/InventoryService?wsdl";);
                        
                        var op:Operation = ws.getOperation("getPhones") as 
Operation;
                        op.arguments.projectId = 1;
                        op.resultFormat= "e4x"; 
                        
                        //var call:ASyncToken = op.send(); //1046 error
                        //call.addResponder(IResponder);                
                                                
                        op.send();
                }

Thanks for all your help to far.  It has definitely helped!!

--Phil

--- In flexcoders@yahoogroups.com, "ben.clinkinbeard"
<[EMAIL PROTECTED]> wrote:
>
> > is that the method we are trying to call through the web service?
> Yep.
> 
> You know, I almost included the bit about e4x the first time but
> decided against it. For that you simply do op.resultFormat = "e4x";
> 
> Flex handles the serialization of your objects for you, so you just
> put the arguments your method requires onto the arguments property. So
> if your remote method's signature is: doCoolStuff(name:String,
> age:Number, hobbies:Array), you would use the following code in Flex:
> 
> op.arguments.name = "Bob Cratchett";
> op.arguments.age = 34;
> op.arguments.hobbies = new Array("working", "playing with Tim", "etc");
> 
> HTH, let me know if you have additional questions.
> Ben
> 
> 
> --- In flexcoders@yahoogroups.com, "phipzkillah" <pkrasko@> wrote:
> >
> > Thanks for your reply Ben.
> > 
> > I have a few more questions, hopefully you can help.  The
> > "doCoolStuff", is that the method we are trying to call through the
> > web service?  From your example it seems like you can specify
> > operation arguments in either an object or array format.  I don't
> > think I fully understand how the web service works interprets that...
> > 
> > If a method requires certain parameters (ie: name:String, age:Number)
> > how would you go about passing those in as arguments??
> > 
> > op.arguments.objectArg = {name: "John Doe", age: 26}  ??
> > 
> > How do you specify the result format to be e4x?
> > 
> > Help would be appreciated.
> > 
> > -phil
> > 
> > 
> > --- In flexcoders@yahoogroups.com, "ben.clinkinbeard"
> > <ben.clinkinbeard@> wrote:
> > >
> > > I've not dealt with authentication but here is how to call an
> operation.
> > > 
> > > // getOperation() returns generic AbstractOperation by default
> > > // you want mx.rpc.Operation, not mx.rpc.mxml.Operation
> > > var op:Operation = ws.getOperation("doCoolStuff") as Operation;
> > > op.arguments.arrayArg = new Array("foo", "bar");
> > > op.arguments.objectArg = {propA: "tweedle", propB: "dee"};
> > > op.send();
> > > 
> > > You can optionally capture the token created by the call and
assign a
> > > responder as well:
> > > 
> > > var call:ASyncToken = op.send();
> > > call.addResponder(IResponder);
> > > 
> > > The IResponder interface defines a result and fault method that are
> > > called when the operation returns.
> > > 
> > > HTH,
> > > Ben
> > > 
> > > 
> > > 
> > > --- In flexcoders@yahoogroups.com, "phipzkillah" <pkrasko@> wrote:
> > > >
> > > > Hi,
> > > > 
> > > > I am trying to create a web service in pure action script.  I
> need to
> > > > authenticate and then call the proper method from the web service.
> > > > 
> > > > I have not seen any good tutorials explaining how to do this...
> > > > 
> > > > This is my current snippet:
> > > > 
> > > > private function init():void{
> > > >                         
> > > >      var ws:WebService = new WebService;
> > > >                         
> > > >      ws.wsdl =
> > > > "http://sc-vmx-03/clarusipc/services/InventoryService?wsdl";;
> > > >      ws.useProxy = false;    
> > > > 
> > > >     
> > > >
> > >
> >
>
ws.loadWSDL("http://sc-vmx-03/clarusipc/services/InventoryService?wsdl";);
> > > > 
> > > > }
> > > > 
> > > > What is the format to add in an operations object that will
include
> > > > the method and parameters that I'm going to call?
> > > > 
> > > > How would I go about editing the http request to include a
username
> > > > and password to authenticate against?
> > > > 
> > > > Any help would be greatly appreciated!!!  It's driving me nuts!
> > > >
> > >
> >
>


Reply via email to