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/
 



Reply via email to