It doesn't. Andy's approach is simplar to what I'm doing. I'm loading the wsdl on application creationComplete. I'll be moving it to the preloader when I get to customizing. For now, the wsdl load takes about a second to load in the background, so there's no apperant delay for the user. Hey, I'm the dense one. :)
Time to go, -TH --- In [email protected], "Carson Hager" <[EMAIL PROTECTED]> wrote: > > I agree that the app wouldn't need to be updated in that case but if the > app doesn't use the new operation, how does that invalidate the approach > Andy posted? If the app doesn't use it, then there would be no need to > recompile. Apologies if I'm being dense here. :) > > > Carson > ____________________________________________ > > Carson Hager > Cynergy Systems, Inc. > http://www.cynergysystems.com <http://www.cynergysystems.com/> > > Email: [EMAIL PROTECTED] > Office: 866-CYNERGY > Mobile: 1.703.489.6466 > > > > ________________________________ > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of Tim Hoff > Sent: Thursday, June 29, 2006 6:01 PM > To: [email protected] > Subject: [flexcoders] Re: Embedding WSDL? > > > > Hi Carson, > > I'm using a derivation of Jeff Tapper's DataManager AS class for > webservice calls. It is dynamic, in that the operation name and > arguments are passed in as parameters (not hardcoded in mxml tags). > Yes, if the signature of the operation changes, the ap would have to > be updated. But, if you add a new operation to the webservice that > the ap doesn't use, (I might be wrong here) the ap wouldn't need to > be updated. I haven't tested this. Maybe it would throw an error. > Just theoretical at this point. :) > > -TH > > --- In [email protected] <mailto:flexcoders% 40yahoogroups.com> > , "Carson Hager" <carson.hager@> > wrote: > > > > Hey Tim, > > > > I'm very interested in what you said here. I'm not exactly sure > how > > your client application would seamlessly handle a web service API > > change. It seems to me that ( at least in the majority of cases ) > any > > WSDL change is going to cause changes in the client code that > invokes > > the web service so you're looking at a client recompile > regardless. I > > realize there may be certain cases where the client could be > handling a > > result purely dynamically in which case you could avoid a > recompile but > > I have to think that's the exception rather than the rule. > Regardless, > > I'd be interested in hearing how you've worked around this. > > > > Another piece of added value to building the WSDL into the client > is > > that it allows you to turn off WSDL publication in production. > This is > > especially value if you're trying to obfuscate your APIs to a web > > service on a public IP server. Outside of the Flex world, this is > a > > very common ( arguably the standard ) practice when deploying web > > services that are not designed for broad public consumption. > > > > It's an interesting design choice that Flex needs WSDL at runtime. > This > > is definitely out of the ordinary as it is not the case in the > majority > > of technologies out there. WSDL ( as was its predecessor IDL ) > designed > > to be consumed at development time and to to generate langauge > specifc > > stub classes to invoke the services at runtime. Typically WSDL and > IDL > > are not used at runtime. The exceptions that I know of would be DLL > > calls in CORBA and then of course Flex. There's nothing saying it > can't > > be used at runtime but most security audits that we have deal with > would > > call this a glaring hole. > > > > > > Carson > > ____________________________________________ > > > > Carson Hager > > Cynergy Systems, Inc. > > http://www.cynergysystems.com <http://www.cynergysystems.com> > <http://www.cynergysystems.com/ <http://www.cynergysystems.com/> > > > > > Email: carson.hager@ > > Office: 866-CYNERGY > > Mobile: 1.703.489.6466 > > > > > > > > ________________________________ > > > > From: [email protected] <mailto:flexcoders% 40yahoogroups.com> > > [mailto:[email protected] <mailto:flexcoders% 40yahoogroups.com> > ] On > > Behalf Of Tim Hoff > > Sent: Thursday, June 29, 2006 3:10 PM > > To: [email protected] <mailto:flexcoders% 40yahoogroups.com> > > Subject: [flexcoders] Re: Embedding WSDL? > > > > > > > > That was my first thought Andrew, but I couldn't find the API to > > ovverride. Anyways, at the end of the day, embedding wsdl isn't > > generally a good idea. If you make a change to a webservice > > operation on the server side, you would have to re-compile and re- > > deploy every Flex application that uses it. Otherwise the > > applications would break. There goes the encapsulation. The extra > > second or two needed to get the wsdl dynamically is acceptable > > overhead if webservices is the chosen RPC. > > > > -TH > > > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > , "Andrew Trice" <andrew.trice@> > > wrote: > > > > > > In Flex 1.5, I was able to preload/embed wsdl into the swf by > > overriding > > > the sendAndLoad method of the native XML object... > > > > > > > > > > > > Take a look at my blog posting here to see how: > > > > > > https://www.cynergysystems.com/blogs/page/andrewtrice? > <https://www.cynergysystems.com/blogs/page/andrewtrice?> > > <https://www.cynergysystems.com/blogs/page/andrewtrice? > <https://www.cynergysystems.com/blogs/page/andrewtrice?> > > > entry=override_nat > > > ive_object_methods_in > > > > > > > > > > > > I don't think that this exact syntax will work in Flex 2 b/c you > > can no > > > longer modify the prototype of a native object. In Flex 2, you > > could > > > try extending the WebService object like this (although I have no > > > guarantee that this would work... I have not actually tried it). > > Use > > > the EmbededWSDL class instead of the WebService class. You might > > also > > > need to override the loadWsdl function. > > > > > > > > > > > > package > > > > > > { > > > > > > import mx.rpc.soap.WebService; > > > > > > > > > > > > public class EmbededWSDL extends WebService > > > > > > { > > > > > > > > > > > > public function EmbededWSDL(){ > > > > > > > > > > > > this.wsdl = "MY WSDL STRING"; > > > > > > super(); > > > > > > } > > > > > > > > > > > > } > > > > > > } > > > > > > > > > > > > > > > > > > Hope that helps! > > > > > > -Andy > > > > > > > > > > > > _____________________________________ > > > > > > Andrew Trice > > > > > > Cynergy Systems, Inc. > > > > > > http://www.cynergysystems.com <http://www.cynergysystems.com> > <http://www.cynergysystems.com <http://www.cynergysystems.com> > > > > > > > > > > > > > Blog: http://www.cynergysystems.com/blogs/page/andrewtrice > <http://www.cynergysystems.com/blogs/page/andrewtrice> > > <http://www.cynergysystems.com/blogs/page/andrewtrice > <http://www.cynergysystems.com/blogs/page/andrewtrice> > > > > > > > Email: andrew.trice@ > > > > > > Office: 866-CYNERGY > > > > > > > > > > > > ________________________________ > > > > > > From: [email protected] > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > > > [mailto:[email protected] > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > ] On > > > Behalf Of Tim Hoff > > > Sent: Thursday, June 29, 2006 4:16 AM > > > To: [email protected] <mailto:flexcoders% 40yahoogroups.com> > <mailto:flexcoders% > 40yahoogroups.com> > > > Subject: [flexcoders] Re: Embedding WSDL? > > > > > > > > > > > > Kelly, > > > > > > As Matt observed, I'm using a single AS class (Cairngorm > > ServiceLocator) > > > for webservice calls. It's based on Jeff Tapper's DataManager > > class: > > > > > > http://jeff.mxdj.com/as3datamanagerfix.htm > <http://jeff.mxdj.com/as3datamanagerfix.htm> > > <http://jeff.mxdj.com/as3datamanagerfix.htm > <http://jeff.mxdj.com/as3datamanagerfix.htm> > > > > > > > I changed the logic to get the wsdl, when the application loads, > > to cut > > > a few seconds off of the initial data call. It appears that once > > the > > > wsdl is loaded, the webservice doesn't request it again for > > subsequent > > > calls. If all of your calls are to the same webservice, there > > would > > > only be one request for the wsdl. This would address your > client's > > > concern about network traffic. > > > > > > -TH > > > > > > Note: You don't have to use AS. The same thing can be done with > > mxml. > > > > > > > > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> , "Kelly Birr" <kelly.fx@> > wrote: > > > > > > > > thanks, I'll have to somehow centralize my web services into > one > > > component, > > > > and find a way to mange getting the result events to the > correct > > place > > > > depending on what the user is doing. > > > > > > > > - Kelly > > > > > > > > _____ > > > > > > > > From: [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > [mailto:[email protected] > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > ] > > > On > > > > Behalf Of Matt Chotin > > > > Sent: Thursday, June 29, 2006 12:06 AM > > > > To: [email protected] > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > > > > > Subject: RE: [flexcoders] Re: Embedding WSDL? > > > > > > > > > > > > > > > > We don't have WSDL caching right now. It sounds like your app > > may call > > > for > > > > a strategy like a ServiceLocator where you put the WebService > in > > a > > > single > > > > location and refer to it from elsewhere. If you have 15 > > WebService > > > tags you > > > > will get 15 WSDL requests even if they are for the same WSDL. > So > > two > > > tags, > > > > less of a deal, 15, big pain. The DataServices approach that > Tim > > has > > > here > > > > is one example of a ServiceLocator. > > > > > > > > > > > > > > > > Matt > > > > > > > > > > > > > > > > _____ > > > > > > > > From: [email protected] > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > [mailto:[email protected] > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > ] > > > On > > > > Behalf Of Tim Hoff > > > > Sent: Wednesday, June 28, 2006 9:49 PM > > > > To: [email protected] > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > > > > > Subject: [flexcoders] Re: Embedding WSDL? > > > > > > > > > > > > > > > > I have the same question as Kelly. It seems that the initial > > call > > > > to a webservice is slower because of the wsdl. Subsequent > calls > > are > > > > fine, but there is always an initial delay. I know, switch to > > > > HTTPService or RemoteObject. > > > > > > > > For the following code, I'm thinking that I could override the > > > > loadWSDL() function, but the mx.rpc.soap.WebService API > doesn't > > > > appear in the framework. Is the API final? Is there a work- > > around > > > > here? > > > > > > > > public function DataServices(pri:PrivateClass, wsdl:String) > > > > { > > > > this.ws = new WebService(); > > > > ws.wsdl = wsdl; > > > > ws.loadWSDL(); > > > > ws.useProxy = false; > > > > ws.makeObjectsBindable = false; > > > > } > > > > > > > > Thank you, > > > > -TH > > > > > > > > --- In [EMAIL PROTECTED] <mailto:flexcoders% > 40yahoogroups.com> > > > ups.com, > > > > "Kelly Birr" kelly.fx@ wrote: > > > > > > > > > > Is it possible to somehow embed WSDL in the compiled SWF, or > > > > read/write the > > > > > actual WSDL directly to the web services without them having > > to > > > > request it > > > > > via HTTP at runtime? Can I bind the WSDL to a string that I > > > > manually > > > > > request via UrlLoader? > > > > > > > > > > Along with that if I have 15 different web service tags on > > > > different MXML > > > > > components of my application that all call the same web > > service > > > > with the > > > > > exact same WSDL Uri, will the WSDL cache? or will each Web > > Service > > > > instance > > > > > make a request for the WSDL via HTTP when it is initialized. > > > > > > > > > > My client is very concerned that the application may be > > > > too "chatty" on > > > > > their network and it seems that these WSDL requests may be > > part of > > > > the > > > > > problem. I'm using Flex 2.0 RTM. > > > > > > > > > > - Kelly > > > > > > > > > > > > > > > ------------------------ Yahoo! Groups Sponsor --------------------~--> Great things are happening at Yahoo! Groups. See the new email design. http://us.click.yahoo.com/TISQkA/hOaOAA/yQLSAA/nhFolB/TM --------------------------------------------------------------------~-> -- 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/

