Gavin, when you say " Everything works if I invoke the CFC locally - but refused to work remotely", do you mean by local that you called it as a CFC, and by remote that you called it as a web service? I ask, because if by "remote" you meant that you called it from another CF server, that would be a different and important distinction.
So to be clear, is your attempt to call the web service happening from CFML? Is it running in the same instance? Or another? Or perhaps another box? I ask because I suspect that the bottom line is that when you changed the API (modified a function in the CFC), you ran into CF's default behavior of saving and reusing the WSDL (on the calling server), such that if you change the code on the serving server then it requires new WSDL to be generated. The serving server will instantly offer that new WSDL, but the *calling* server doesn't have any way of knowing that it's changed. I know you say you "removed the wsdl (via CF admin)". To be clear, you didn't need to remove it. You could have just refreshed it. There's a button there to do that. The real question, though, is whether you did it on the server/CF instance that was *calling* the web service. Since you make this mention of "remote", I just wanted to clarify all this. One other tip: you can also now refresh the wsdl from code, at least as of CF8, with a new RefreshWSDL attribute on CFINVOKE or CFOBJECT, and a new structure of arguments that can be added on a createobject call. More in a blog entries at: http://www.carehart.org/blog/client/index.cfm/2007/9/3/cf8_hiddengem_refreshwsdl http://www.carehart.org/blog/client/index.cfm/2007/9/5/cf8_hiddengem_createobject_args truct Hope that helps. If not, I hope others can help you. /charlie > -----Original Message----- > From: cfaussie@googlegroups.com [mailto:cfaus...@googlegroups.com] On Behalf > Of > Gavin Beau Baumanis > Sent: Thursday, October 07, 2010 9:07 AM > To: cfaussie@googlegroups.com > Subject: Re: [cfaussie] Really strange WebService issue. > > The service is a login service that uses LDAP or a database table to > authenticate a user. > > I was having an issue in that "this.datasource" was being set on the > invocation > of the webservice and was always THAT datasource. > Which meant that I needed to create a separate instance of the service for > each > different application that I wanted to use the service for. > Which seemed to defeat the purpose of using a service in the first place. > > I spoke with Phil, and he suggested that I set the datasource in the request > scope instead. > So I changed my application to use Application.CFC instead of CFM and made us > of > the OnRequest method to set the datasource based on the current URL > (application). > > So as a result of changing the above, I needed to add a new parameter to the > functions I call in the service to now include the datasource. > Everything works if I invoke the CFC locally - but refused to work remotely. > > Now simply add in everything from the first email here. > I.e. no further change was made - only restarting the server corrected > whatever > the underlying issue was. > > > As always, please contact me if I can be of any futher assistance. > > Gavin "Beau" Baumanis > Senior Application Developer > PalCare Pty. Ltd. > > P: +61 -3 9380 3513 > M: +61 -438 545 586 > E: b...@palcare.com.au > W: http://palcare.com.au > > > > On 07/10/2010, at 11:43 PM, MrBuzzy wrote: > > > Gav, you didn't actually explain what the 'really simple change' was? > > > > Please elaborate. It can sometimes be funky to work with da web services. > > > > On 07/10/2010, at 23:19, Gavin Baumanis <beauecli...@gmail.com> wrote: > > > >> Hi Everyone, > >> > >> I realise how "odd" this sounds, but I am posting it in case someone > >> else has seen the same thing before. > >> In the very least I;m hoping someone will say that I am not going > >> mad... and maybe even have a solution or an idea of one... > >> > >> I have a webservice that was working, then (after a simple change) > >> didn't work. > >> > >> I removed the wsdl (via CF admin) > >> I cleared the template cache > >> I cleared the CFC cache > >> save class files etc (in the caching tab of cfadmin) are all > >> unchecked. > >> I restarted apache > >> I restarted the CF Server (service) > >> > >> but it still didn't work. > >> > >> The only thing that seemed to remedy the issue was actually rebooting > >> the whole server. > >> Which is what seems odd to me - since I have done everything that I > >> can think of previously - and it didn't work. > >> > >> If you have any ideas - I'd be happy to learn something new! > >> > >> As always - thanks for any thoughts; > >> Gavin. > >> > >> -- > >> You received this message because you are subscribed to the Google Groups > "cfaussie" group. > >> To post to this group, send email to cfaus...@googlegroups.com. > >> To unsubscribe from this group, send email to > cfaussie+unsubscr...@googlegroups.com. > >> For more options, visit this group at > http://groups.google.com/group/cfaussie?hl=en. > >> > > > > -- > > You received this message because you are subscribed to the Google Groups > "cfaussie" group. > > To post to this group, send email to cfaus...@googlegroups.com. > > To unsubscribe from this group, send email to > cfaussie+unsubscr...@googlegroups.com. > > For more options, visit this group at > http://groups.google.com/group/cfaussie?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "cfaussie" group. > To post to this group, send email to cfaus...@googlegroups.com. > To unsubscribe from this group, send email to > cfaussie+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/cfaussie?hl=en. -- You received this message because you are subscribed to the Google Groups "cfaussie" group. To post to this group, send email to cfaus...@googlegroups.com. To unsubscribe from this group, send email to cfaussie+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cfaussie?hl=en.