Hello Jim,

Managed to solve this with the great efforts of my fat northern friend
James Allen. I've seen this issue before myself when working with web
services and it's a bitch to diagnose and I believe generally
considered to be a bug in CF.

http://jamesallen.name/index.cfm/2008/1/30/Bug-in-calling-CFCs-remotely-via-the-URL-when-using-applicationcfc

I removed my onRequest() method from my application.cfc and it's now
returning data as expected!.

Hope this helps someone else in the future.

Rob

On 17 July, 16:51, Jim <[email protected]> wrote:
> Are you forcing a return type by passing an argument in to dictate the return 
> behavior? Such as returnFormat="JSON" and returnType="string" or do you have 
> it hard-coded in the CFC?
>
> Have an example of a function that's returning NULL I can look at? You can 
> send it off list. Just need the function and component definition.
>
> --- On Fri, 7/17/09, Sir Rawlins <[email protected]> wrote:
>
> From: Sir Rawlins <[email protected]>
> Subject: [Model-Glue] Re: using cfajaxproxy?
> To: "model-glue" <[email protected]>
> Date: Friday, July 17, 2009, 8:21 AM
>
> Thanks Jim,
>
> I'm just working this out as we speak, seems it's not just my MG stuff
> which isnt returning values, even when testing with some basic CFC's
> and cfajaxprox they're all returning NULL instead of the string value
> I expect, I'm trying to solve the error as we speak.
>
> Rob
>
> On 17 July, 15:03, Jim <[email protected]> wrote:
>
>
>
> > I believe you'll need to return them to JS as the return value for the 
> > original call. So if it's successful, you return the value from your 
> > controller, if it's a validation error, you need to return that.
>
> > Like I said, I am not uber familiar with Mode-Glue's remoting specifically, 
> > but it seems this is how it should be. Once you make the request and the 
> > items are in the collection, when the request terminates, the items are 
> > lost. So, if you want JS to have them, you need to return them as the 
> > return value.
>
> > Sorry I can't be of more help about MG specifics, if this were ColdBox I'd 
> > write it for you! :)
>
> > --- On Fri, 7/17/09, Sir Rawlins <[email protected]> 
> > wrote:
>
> > From: Sir Rawlins <[email protected]>
> > Subject: [Model-Glue] Re: using cfajaxproxy?
> > To: "model-glue" <[email protected]>
> > Date: Friday, July 17, 2009, 6:22 AM
>
> > Yeah thanks Jim, frustrated I missed it myself.
>
> > I'm still a little confused as to how I access the ValidationErrors
> > struct though? my controller method places them into the event object
> > but I have no idea how to access that from the JS, any ideas?
>
> > Rob
>
> > On 17 July, 14:05, Jim <[email protected]> wrote:
>
> > > Wow, yeah, should have seen that!!!!
>
> > > --- On Fri, 7/17/09, Sir Rawlins <[email protected]> 
> > > wrote:
>
> > > From: Sir Rawlins <[email protected]>
> > > Subject: [Model-Glue] Re: using cfajaxproxy?
> > > To: "model-glue" <[email protected]>
> > > Date: Friday, July 17, 2009, 6:01 AM
>
> > > Ok, for those interested I found the error with this, seems i wasn't
> > > using cfajaxproxy quite right:
>
> > > <cfajaxproxy cfc="ModelGlue.gesture.remoting.AbstractRemotingService"
> > > jsclassname="RemoteService" />
>
> > > <h1>This is a form.</h1>
>
> > > <script type="text/javascript">
> > >     var NewProxy = new RemoteService();
> > >     var result = NewProxy.executeEvent("submit.contact_form", {},
> > > "ValidationErrors");
> > > </script>
>
> > > Didn't realize I had to create a new instance of the JS class before
> > > calling it's methods.
>
> > > Rob
>
> > > On 16 July, 21:24, Sir Rawlins <[email protected]>
> > > wrote:
>
> > > > Yeah is a bit strange, I mean, if it works like this then I'm happy
> > > > enough. I'm not sure if it's working though.
>
> > > > I'm now trying to make a test call to the object but I'm getting JS
> > > > errors.
>
> > > > <script type="text/javascript">
> > > >         var callResult = 
> > > > RemoteService.executeEvent("submit.contact_form",
> > > > {}, "ValidationErrors");
> > > > </script>
>
> > > > Results in the error:
>
> > > > Message: Object doesn't support this property or method
> > > > Line: 33
> > > > Char: 2
> > > > Code: 0
> > > > URI:http://localhost:81/index.cfm/modal.contact_form
>
> > > > Which would suggest to me that the proxy isn't being created properly
> > > > and isn't exposing it's executeEvent() method? I don't know, I'm too
> > > > new at this.
>
> > > > Rob
>
> > > > On 16 July, 21:11, whostheJBoss <[email protected]> wrote:
>
> > > > > Yes, that is weird, hmmm
>
> > > > > On Jul 16, 1:05 pm, Sir Rawlins <[email protected]>
> > > > > wrote:
>
> > > > > > Yeah, what's also weird is that if I set cfajaxproxy to the full 
> > > > > > path
> > > > > > of the abstract object like so:
>
> > > > > > <cfajaxproxy 
> > > > > > cfc="ModelGlue.gesture.remoting.AbstractRemotingService"
> > > > > > jsclassname="RemoteService" />
>
> > > > > > The error isn't thrown :-s quite strange.
>
> > > > > > Rob
>
> > > > > > On 16 July, 21:03, whostheJBoss <[email protected]> wrote:
>
> > > > > > > Oops, yeah, since it extends AbstractRemotingService, I checked
> > > > > > > that... it's method is set to remote so you don't need anything 
> > > > > > > other
> > > > > > > than what you have.
>
> > > > > > > Hmm, odd...
>
> > > > > > > On Jul 16, 12:33 pm, Sir Rawlins 
> > > > > > > <[email protected]>
> > > > > > > wrote:
>
> > > > > > > > Hey, thanks for the reply.
>
> > > > > > > > My RemotingService.cfc is the one which comes with MG, my
> > > > > > > > understanding was that I didnt have to place any methods in it 
> > > > > > > > at all,
> > > > > > > > just use the default ones from the object it extends.
>
> > > > > > > > <cfcomponent output="false"
> > > > > > > > extends="ModelGlue.gesture.remoting.AbstractRemotingService"
> > > > > > > > hint="Exposes your Model-Glue application to remote clients.">
>
> > > > > > > >         <!---
> > > > > > > >         If you use a file other than index.cfm as your 
> > > > > > > > application's
> > > > > > > > template, change this line.
> > > > > > > >         --->
> > > > > > > >         <cfset template = "/index.cfm" />
>
> > > > > > > > </cfcomponent>
>
> > > > > > > > Is that not correct?
>
> > > > > > > > Thanks,
>
> > > > > > > > Rob
>
> > > > > > > > On 16 July, 18:55, whostheJBoss <[email protected]> 
> > > > > > > > wrote:
>
> > > > > > > > > I'll ask the obvious...
>
> > > > > > > > > On your function in RemotingService.cfc, do you have 
> > > > > > > > > access="remote" ?
>
> > > > > > > > > Example:
>
> > > > > > > > > <cffunction name="ajaxLogin" access="remote" 
> > > > > > > > > returntype="boolean"
> > > > > > > > > output="false" hint="I log the user in via AJAX">
>
> > > > > > > > > On Jul 16, 10:36 am, Sir Rawlins 
> > > > > > > > > <[email protected]>
> > > > > > > > > wrote:
>
> > > > > > > > > > Hello Guys,
>
> > > > > > > > > > Well, first time out playing with AJAX related stuff. Done 
> > > > > > > > > > a little
> > > > > > > > > > reading through the MG docs on how to get my events setup 
> > > > > > > > > > and ready
> > > > > > > > > > for remoting, the basic task here is to take my existing 
> > > > > > > > > > HTML based
> > > > > > > > > > 'contact us' page and make it into a small modal window 
> > > > > > > > > > contact form.
> > > > > > > > > > all the processing for the form is already handled in an 
> > > > > > > > > > event called
> > > > > > > > > > submit.contact_form.
>
> > > > > > > > > > I'm a total n00b to this so please forgive me if I'm making 
> > > > > > > > > > a real
> > > > > > > > > > mess of things. I've configured my submit.contact_form 
> > > > > > > > > > event to look
> > > > > > > > > > like so:
>
> > > > > > > > > >                 <event-handler name="submit.contact_form">
> > > > > > > > > >                         <broadcasts>
> > > > > > > > > >                                 <message 
> > > > > > > > > > name="contactFormSubmitted" />
> > > > > > > > > >                         </broadcasts>
> > > > > > > > > >                         <results>
> > > > > > > > > >                                 <result name="success" 
> > > > > > > > > > do="thanks" requestFormat="HTML" />
> > > > > > > > > >                                 <result name="failed" 
> > > > > > > > > > do="get-in-touch" requestFormat="HTML" />
> > > > > > > > > >                         </results>
> > > > > > > > > >                 </event-handler>
>
> > > > > > > > > > This way the user is only routed around to different pages 
> > > > > > > > > > if the
> > > > > > > > > > request is made by HTML, correct? Now, my controller 
> > > > > > > > > > creates an struct
> > > > > > > > > > in the event called 'ValidationErrors' if the form is not 
> > > > > > > > > > completed
> > > > > > > > > > properly, this is what I'll be needing to get my hands on 
> > > > > > > > > > once the
> > > > > > > > > > form submit has been made to decide if to display errors or 
> > > > > > > > > > give a
> > > > > > > > > > 'thanks' message to the user.
>
> > > > > > > > > > Now, on my cfm page which contains the form I'm trying to 
> > > > > > > > > > use
> > > > > > > > > > cfajaxproxy to connect to the RemotingService.cfc which 
> > > > > > > > > > comes with
> > > > > > > > > > MG:G in order for me to make my requests, is that correct? 
> > > > > > > > > > however,
> > > > > > > > > > this is throwing an error when I'm viewing the page, like 
> > > > > > > > > > so:
>
> > > > > > > > > > <cfajaxproxy cfc="RemotingService" 
> > > > > > > > > > jsclassname="RemotingService" />
>
> > > > > > > > > > <h1>This is a form.</h1>
>
> > > > > > > > > > And the error is:
>
> > > > > > > > > > The specified function '' on the CFC RemotingService must 
> > > > > > > > > > have its
> > > > > > > > > > access attribute set to 'remote'.
>
> > > > > > > > > > The error occurred in 
> > > > > > > > > > C:\XXXXXXXXXXXXXXXXXXXXXXXX\Views\Communication
> > > > > > > > > > \frmModalContactForm.cfm: line 3
>
> > > > > > > > > > Can anyone shed some light on what I'm doing wrong here? 
> > > > > > > > > > Like a say,
> > > > > > > > > > It's probably a really obvious mistake but it's all Alien 
> > > > > > > > > > to me and
> > > > > > > > > > I'm feeling confused.
>
> > > > > > > > > > Thanks again,
>
> > > > > > > > > > Rob
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "model-glue" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/model-glue?hl=en

For more about Model-Glue, check http://www.model-glue.com .
-~----------~----~----~----~------~----~------~--~---

Reply via email to