[flexcoders] Re: RemoteObject Issue
How crazy is this! I took your advise and moved a few things around. In my Unit test file I changed it to: http://www.macromedia.com/2003/mxml" xmlns:sdm="sdm.*" xmlns:services="services.*"> <---changed <---changed Basically just swapping the order of the services and sdm tag made it work. Thanks for all your efforts Doug! Geoff --- In flexcoders@yahoogroups.com, "Doug Lowder" <[EMAIL PROTECTED]> wrote: > > It seems like siteDataServices hasn't been created at the time the > SMDelegate constructor is being called. You'll need to dig through > your code to find out why, e.g. check where you're calling > ReviewKeywordsCommand(), and possibly call the constructor at some > other point when you know the remote object has been created. > > Regarding parameter passing, the constructor example you gave is > exactly what I had in mind. The value you're passing isn't a string > though, it's a reference to the RemoteObject that you gave the id > "siteDataServices" to. Personally, I'd probably pass the service as a > parameter, but as long as the delegate constructor is called only > after you know the service object exists, either way should work. > > I hope this helps, and another thing to note is that the work you're > doing now to implement these design patterns will pay off down the > road - especially if you're implementing a large-scale app. > > Doug > > --- In flexcoders@yahoogroups.com, "Geoffrey" wrote: > > > > I tried to dump myServices via: > > Dumper.dump (mx.core.Application.application.myServices); > > during the Delegate constructor, and it came up 'undefined'. > > > > I tried a creationComplete and an Initialize event to dump > > siteDataServices upon startup of the main mxml file. Both had this > > to say: > > > > [INFO]: (Object) > > log: (Object) > > level: 1 (Number) > > name: RemoteObject_AMF (String) > > __conn: (Object) > > contentType: application/x-fcs (String) > > _headerAdded: false (Boolean) > > _config: (Object) > > m_debug: true (Boolean) > > app_server: (Object) > > coldfusion: true (Boolean) > > amfheaders: false (Boolean) > > amf: false (Boolean) > > httpheaders: false (Boolean) > > recordset: true (Boolean) > > error: true (Boolean) > > trace: true (Boolean) > > _debug: true (Boolean) > > realtime_server: (Object) > > trace: true (Boolean) > > _debug: true (Boolean) > > client: (Object) > > rtmp: true (Boolean) > > http: true (Boolean) > > recordset: true (Boolean) > > trace: true (Boolean) > > _debug: true (Boolean) > > _debug: true (Boolean) > > _protocol: http (String) > > _id: 0 (Number) > > netDebugProxyFunctions: true (Boolean) > > _allowRes: true (Boolean) > > __serviceName: com.foo.test.business.SiteMaintenanceDelegate > > (String) > > __responder: (Object) > > __obj: undefined (undefined) > > __onFault: _resp5_fault (String) > > __onResult: _resp5_result (String) > > __name: siteDataServices (String) > > __showBusyCursor: true (Boolean) > > __concurrency: 0 (Number) > > __parentDocument: undefined (undefined) > > > > Looks like it's available at both initialization and creationComplete > > time frames. > > > > I'm curious why the examples taken from the books website would prove > > to be this difficult to implement. > > > > When you say "pass the service to your delegate constructor as a > > parameter", do you mean as a string? Like the following: > > > > public function ReviewKeywordsCommand() { > > this.delegate = new SDMDelegate( this, mx.core.Application.\ > > application.myServices.siteDataServices ); > > } > > > > > > sorry if these are really basic questions, but I'm new to RIA > > development. > > > > Thanks, > > Geoff > > > > > > --- In flexcoders@yahoogroups.com, "Doug Lowder" > > wrote: > > > > > > The parentApplication property is a reference to the Application > > > object (the nesting refers to applications loaded within other > > > applications with the Loader control and probably doesn't apply to > > > your case), but it's a property of mx.core.UIObject, which your > > > SDMDelegate obviously isn't extending and probably shouldn't. Have > > > you tried dumping mx.core.Application.application.myServices in the > > > delegate constructor to see if it exists at that point? You could > > > also try adding a creationComplete event to the application to > > > determine exactly when the siteDataServices remote object is > > > available; something like > > > creationComplete="Dumper.dump(myServices.siteDataServices
[flexcoders] Re: RemoteObject Issue
It seems like siteDataServices hasn't been created at the time the SMDelegate constructor is being called. You'll need to dig through your code to find out why, e.g. check where you're calling ReviewKeywordsCommand(), and possibly call the constructor at some other point when you know the remote object has been created. Regarding parameter passing, the constructor example you gave is exactly what I had in mind. The value you're passing isn't a string though, it's a reference to the RemoteObject that you gave the id "siteDataServices" to. Personally, I'd probably pass the service as a parameter, but as long as the delegate constructor is called only after you know the service object exists, either way should work. I hope this helps, and another thing to note is that the work you're doing now to implement these design patterns will pay off down the road - especially if you're implementing a large-scale app. Doug --- In flexcoders@yahoogroups.com, "Geoffrey" <[EMAIL PROTECTED]> wrote: > > I tried to dump myServices via: > Dumper.dump(mx.core.Application.application.myServices); > during the Delegate constructor, and it came up 'undefined'. > > I tried a creationComplete and an Initialize event to dump > siteDataServices upon startup of the main mxml file. Both had this > to say: > > [INFO]: (Object) > log: (Object) > level: 1 (Number) > name: RemoteObject_AMF (String) > __conn: (Object) > contentType: application/x-fcs (String) > _headerAdded: false (Boolean) > _config: (Object) >m_debug: true (Boolean) >app_server: (Object) > coldfusion: true (Boolean) > amfheaders: false (Boolean) > amf: false (Boolean) > httpheaders: false (Boolean) > recordset: true (Boolean) > error: true (Boolean) > trace: true (Boolean) > _debug: true (Boolean) >realtime_server: (Object) > trace: true (Boolean) > _debug: true (Boolean) >client: (Object) > rtmp: true (Boolean) > http: true (Boolean) > recordset: true (Boolean) > trace: true (Boolean) > _debug: true (Boolean) >_debug: true (Boolean) > _protocol: http (String) > _id: 0 (Number) > netDebugProxyFunctions: true (Boolean) > _allowRes: true (Boolean) > __serviceName: com.foo.test.business.SiteMaintenanceDelegate > (String) > __responder: (Object) > __obj: undefined (undefined) > __onFault: _resp5_fault (String) > __onResult: _resp5_result (String) > __name: siteDataServices (String) > __showBusyCursor: true (Boolean) > __concurrency: 0 (Number) > __parentDocument: undefined (undefined) > > Looks like it's available at both initialization and creationComplete > time frames. > > I'm curious why the examples taken from the books website would prove > to be this difficult to implement. > > When you say "pass the service to your delegate constructor as a > parameter", do you mean as a string? Like the following: > > public function ReviewKeywordsCommand() { > this.delegate = new SDMDelegate( this, mx.core.Application.\ > application.myServices.siteDataServices ); > } > > > sorry if these are really basic questions, but I'm new to RIA > development. > > Thanks, > Geoff > > > --- In flexcoders@yahoogroups.com, "Doug Lowder" > wrote: > > > > The parentApplication property is a reference to the Application > > object (the nesting refers to applications loaded within other > > applications with the Loader control and probably doesn't apply to > > your case), but it's a property of mx.core.UIObject, which your > > SDMDelegate obviously isn't extending and probably shouldn't. Have > > you tried dumping mx.core.Application.application.myServices in the > > delegate constructor to see if it exists at that point? You could > > also try adding a creationComplete event to the application to > > determine exactly when the siteDataServices remote object is > > available; something like > > creationComplete="Dumper.dump(myServices.siteDataServices)" should > do it. > > > > It might be your best bet to pass the service to your delegate > > constructor as a parameter. > > > > > > --- In flexcoders@yahoogroups.com, "Geoffrey" wrote: > > > > > > Hmm > > > > > > I replaced the service assignment with: > > > "this.service = parentApplication.myServices.siteDataServices;" > > > > > > But I get the following error: > > > "There is no property with the name 'parentApplication'." > > > > > > Looking at the docs, parentApplication looks like it's intended > to > > > walk up the tree of multiple application nested within > themselves. I > > > don't think that applys to this case since I only have 1 mxml
[flexcoders] Re: RemoteObject Issue
I tried to dump myServices via: Dumper.dump(mx.core.Application.application.myServices); during the Delegate constructor, and it came up 'undefined'. I tried a creationComplete and an Initialize event to dump siteDataServices upon startup of the main mxml file. Both had this to say: [INFO]: (Object) log: (Object) level: 1 (Number) name: RemoteObject_AMF (String) __conn: (Object) contentType: application/x-fcs (String) _headerAdded: false (Boolean) _config: (Object) m_debug: true (Boolean) app_server: (Object) coldfusion: true (Boolean) amfheaders: false (Boolean) amf: false (Boolean) httpheaders: false (Boolean) recordset: true (Boolean) error: true (Boolean) trace: true (Boolean) _debug: true (Boolean) realtime_server: (Object) trace: true (Boolean) _debug: true (Boolean) client: (Object) rtmp: true (Boolean) http: true (Boolean) recordset: true (Boolean) trace: true (Boolean) _debug: true (Boolean) _debug: true (Boolean) _protocol: http (String) _id: 0 (Number) netDebugProxyFunctions: true (Boolean) _allowRes: true (Boolean) __serviceName: com.foo.test.business.SiteMaintenanceDelegate (String) __responder: (Object) __obj: undefined (undefined) __onFault: _resp5_fault (String) __onResult: _resp5_result (String) __name: siteDataServices (String) __showBusyCursor: true (Boolean) __concurrency: 0 (Number) __parentDocument: undefined (undefined) Looks like it's available at both initialization and creationComplete time frames. I'm curious why the examples taken from the books website would prove to be this difficult to implement. When you say "pass the service to your delegate constructor as a parameter", do you mean as a string? Like the following: public function ReviewKeywordsCommand() { this.delegate = new SDMDelegate( this, mx.core.Application.\ application.myServices.siteDataServices ); } sorry if these are really basic questions, but I'm new to RIA development. Thanks, Geoff --- In flexcoders@yahoogroups.com, "Doug Lowder" <[EMAIL PROTECTED]> wrote: > > The parentApplication property is a reference to the Application > object (the nesting refers to applications loaded within other > applications with the Loader control and probably doesn't apply to > your case), but it's a property of mx.core.UIObject, which your > SDMDelegate obviously isn't extending and probably shouldn't. Have > you tried dumping mx.core.Application.application.myServices in the > delegate constructor to see if it exists at that point? You could > also try adding a creationComplete event to the application to > determine exactly when the siteDataServices remote object is > available; something like > creationComplete="Dumper.dump(myServices.siteDataServices)" should do it. > > It might be your best bet to pass the service to your delegate > constructor as a parameter. > > > --- In flexcoders@yahoogroups.com, "Geoffrey" wrote: > > > > Hmm > > > > I replaced the service assignment with: > > "this.service = parentApplication.myServices.siteDataServices;" > > > > But I get the following error: > > "There is no property with the name 'parentApplication'." > > > > Looking at the docs, parentApplication looks like it's intended to > > walk up the tree of multiple application nested within themselves. I > > don't think that applys to this case since I only have 1 mxml file > > with the tag. Please correct me if I've > > misunderstood this. > > > > Thanks, > > Geoff > > > > > > --- In flexcoders@yahoogroups.com, "Doug Lowder" > > wrote: > > > > > > My guess would be that SDMDelegate's constructor can't access your > > > siteDataServices RemoteObject through > > mx.core.Application.application. > > > Try "this.service = parentApplication.myServices.siteDataServices" > > > instead, or pass the service as a parameter to the constructor as > > you > > > do with the responder. > > > > > > Doug > > > > > > --- In flexcoders@yahoogroups.com, "Geoffrey" wrote: > > > > > > > > I've been trying for the last few days to get RemoteObject to > > work, > > > > but with little luck. I've searched this site, and have tried to > > > > implement the examples found in "developing rich clients with > > > > macromedia FLEX". To make matters more confusing, I've also > > tried to > > > > implement the command/control/delegate patterns that the above > > book > > > > advocates. > > > > > > > > Basically, I think the problem is that I'm not "seeing" the Java > > > > classes I've created. Below are code snippets of (what I think) > > a
[flexcoders] Re: RemoteObject Issue
The parentApplication property is a reference to the Application object (the nesting refers to applications loaded within other applications with the Loader control and probably doesn't apply to your case), but it's a property of mx.core.UIObject, which your SDMDelegate obviously isn't extending and probably shouldn't. Have you tried dumping mx.core.Application.application.myServices in the delegate constructor to see if it exists at that point? You could also try adding a creationComplete event to the application to determine exactly when the siteDataServices remote object is available; something like creationComplete="Dumper.dump(myServices.siteDataServices)" should do it. It might be your best bet to pass the service to your delegate constructor as a parameter. --- In flexcoders@yahoogroups.com, "Geoffrey" <[EMAIL PROTECTED]> wrote: > > Hmm > > I replaced the service assignment with: > "this.service = parentApplication.myServices.siteDataServices;" > > But I get the following error: > "There is no property with the name 'parentApplication'." > > Looking at the docs, parentApplication looks like it's intended to > walk up the tree of multiple application nested within themselves. I > don't think that applys to this case since I only have 1 mxml file > with the tag. Please correct me if I've > misunderstood this. > > Thanks, > Geoff > > > --- In flexcoders@yahoogroups.com, "Doug Lowder" > wrote: > > > > My guess would be that SDMDelegate's constructor can't access your > > siteDataServices RemoteObject through > mx.core.Application.application. > > Try "this.service = parentApplication.myServices.siteDataServices" > > instead, or pass the service as a parameter to the constructor as > you > > do with the responder. > > > > Doug > > > > --- In flexcoders@yahoogroups.com, "Geoffrey" wrote: > > > > > > I've been trying for the last few days to get RemoteObject to > work, > > > but with little luck. I've searched this site, and have tried to > > > implement the examples found in "developing rich clients with > > > macromedia FLEX". To make matters more confusing, I've also > tried to > > > implement the command/control/delegate patterns that the above > book > > > advocates. > > > > > > Basically, I think the problem is that I'm not "seeing" the Java > > > classes I've created. Below are code snippets of (what I think) > are > > > the relevant files. > > > > > > ### My Java classes ### > > > {TOMCAT-HOME}\webapps\flex\WEB- > > > INF\classes\com\foo\test\business\SiteMaintenanceDelegate.class > > > package com.foo.test.business; > > > import com.foo.test.vo.SiteKeywordVO; > > > public class SiteMaintenanceDelegate { > > > public SiteMaintenanceDelegate() { > > > } > > > public SiteKeywordVO reviewKeywords() { > > > SiteKeywordVO keywords = new SiteKeywordVO(); > > > return keywords; > > > } > > > } > > > > > > {TOMCAT-HOME}\webapps\flex\WEB- > > > INF\classes\com\foo\test\vo\SiteKeywordVO.class > > > package com.foo.test.vo; > > > import java.io.Serializable; > > > public class SiteKeywordVO implements Serializable { > > > public String[] keywords; > > > public void SiteKeywordVO() { > > > String[] keywords = {"first agr", "second agr", "third > agr"}; > > > } > > > } > > > > > > ### My RO definition ### > > > {TOMCAT-HOME}\webapps\flex\services\Services.mxml > > >> > source="com.foo.test.business.SiteMaintenanceDelegate" > > > result="event.call.resultHandler(event)" > > > fault="event.call.faultHandler(event)" > > > showBusyCursor="true"> > > > > > > > > > > > > ### My ActionScript VO ### > > > {TOMCAT-HOME}\webapps\flex\sdm\com\foo\test\vo\SiteKeywordVO.as > > > class com.foo.test.vo.SiteKeywordVO { > > > public var keywords:Array; > > > public var _remoteClass; > > > public function SiteKeywordVO() { > > >_remoteClass="com.foo.test.vo.SiteKeywordVO"; > > > } > > > } > > > > > > ### My testing mxml file ### > > > {TOMCAT-HOME}\webapps\flex\sdm\sdmUnitTest.mxml > > > > > > http://www.macromedia.com/2003/mxml"; > > > xmlns:sdm="sdm.*" > > > xmlns:services="services.*" > > > > > > > > > > > > > > > ### My SiteDataMaint component ### > > > {TOMCAT-HOME}\webapps\flex\sdm\SiteDataMaint.mxml > > > ... //just the script part > > > > > > > > > > > > ... > > > > > > The SDMController class seems to be working correctly. > > > > > > ### My Delegate class ### > > > {TOMCAT-HOME}\webapps\flex\sdm\business\SDMDelegate.as > > > ... //just the constructor > > > public function SDMDelegate(responder:Responder) { > > > this.service = > > > mx.core.Application.application.myServices.siteDataServices; > > > Dumper.dump(service); > > > this.responder = responder; > > > } > > > > > > I think this is where the problem is. When I dump 'service' (via > > > Flex Trace Panel), I get 'undefined'. > > > > > > I really have no idea where
[flexcoders] Re: RemoteObject Issue
Hmm I replaced the service assignment with: "this.service = parentApplication.myServices.siteDataServices;" But I get the following error: "There is no property with the name 'parentApplication'." Looking at the docs, parentApplication looks like it's intended to walk up the tree of multiple application nested within themselves. I don't think that applys to this case since I only have 1 mxml file with the tag. Please correct me if I've misunderstood this. Thanks, Geoff --- In flexcoders@yahoogroups.com, "Doug Lowder" <[EMAIL PROTECTED]> wrote: > > My guess would be that SDMDelegate's constructor can't access your > siteDataServices RemoteObject through mx.core.Application.application. > Try "this.service = parentApplication.myServices.siteDataServices" > instead, or pass the service as a parameter to the constructor as you > do with the responder. > > Doug > > --- In flexcoders@yahoogroups.com, "Geoffrey" wrote: > > > > I've been trying for the last few days to get RemoteObject to work, > > but with little luck. I've searched this site, and have tried to > > implement the examples found in "developing rich clients with > > macromedia FLEX". To make matters more confusing, I've also tried to > > implement the command/control/delegate patterns that the above book > > advocates. > > > > Basically, I think the problem is that I'm not "seeing" the Java > > classes I've created. Below are code snippets of (what I think) are > > the relevant files. > > > > ### My Java classes ### > > {TOMCAT-HOME}\webapps\flex\WEB- > > INF\classes\com\foo\test\business\SiteMaintenanceDelegate.class > > package com.foo.test.business; > > import com.foo.test.vo.SiteKeywordVO; > > public class SiteMaintenanceDelegate { > > public SiteMaintenanceDelegate() { > > } > > public SiteKeywordVO reviewKeywords() { > > SiteKeywordVO keywords = new SiteKeywordVO(); > > return keywords; > > } > > } > > > > {TOMCAT-HOME}\webapps\flex\WEB- > > INF\classes\com\foo\test\vo\SiteKeywordVO.class > > package com.foo.test.vo; > > import java.io.Serializable; > > public class SiteKeywordVO implements Serializable { > > public String[] keywords; > > public void SiteKeywordVO() { > > String[] keywords = {"first agr", "second agr", "third agr"}; > > } > > } > > > > ### My RO definition ### > > {TOMCAT-HOME}\webapps\flex\services\Services.mxml > >> source="com.foo.test.business.SiteMaintenanceDelegate" > > result="event.call.resultHandler(event)" > > fault="event.call.faultHandler(event)" > > showBusyCursor="true"> > > > > > > > > ### My ActionScript VO ### > > {TOMCAT-HOME}\webapps\flex\sdm\com\foo\test\vo\SiteKeywordVO.as > > class com.foo.test.vo.SiteKeywordVO { > > public var keywords:Array; > > public var _remoteClass; > > public function SiteKeywordVO() { > > _remoteClass="com.foo.test.vo.SiteKeywordVO"; > > } > > } > > > > ### My testing mxml file ### > > {TOMCAT-HOME}\webapps\flex\sdm\sdmUnitTest.mxml > > > > http://www.macromedia.com/2003/mxml"; > > xmlns:sdm="sdm.*" > > xmlns:services="services.*" > > > > > > > > > > ### My SiteDataMaint component ### > > {TOMCAT-HOME}\webapps\flex\sdm\SiteDataMaint.mxml > > ... //just the script part > > > > > > > > ... > > > > The SDMController class seems to be working correctly. > > > > ### My Delegate class ### > > {TOMCAT-HOME}\webapps\flex\sdm\business\SDMDelegate.as > > ... //just the constructor > > public function SDMDelegate(responder:Responder) { > > this.service = > > mx.core.Application.application.myServices.siteDataServices; > > Dumper.dump(service); > > this.responder = responder; > > } > > > > I think this is where the problem is. When I dump 'service' (via > > Flex Trace Panel), I get 'undefined'. > > > > I really have no idea where to go from here. I've tried turning on > > all debug stuff, used NetConnectionDebugger, use Flex Trace Panel... > > nothing on all accounts. > > > > Thanks for any suggestions you may have! > > Geoff > > > -- 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/
[flexcoders] Re: RemoteObject Issue
I think I have. Below is part of the file ReviewKeywordsCommand.as, which is the result handler from the RO call. import com.foo.test.vo.*; ... public function onResult( event ) : Void { var sk:SiteKeywordVO = (SiteKeywordVO) event.result; mx.core.Application.alert("Passed in " + sk); } ... I just wanted to throw an Alert for now That way I knew something was coming in. eventually, it will populate a datagrid. Geoff --- In flexcoders@yahoogroups.com, "Peter Farland" <[EMAIL PROTECTED]> wrote: > > Perhaps your SiteKeywordVO is never linked into the SWF because you > never create a dependency on the class name (as mxmlc will optimize and > remove unreferenced class definitions). An import statement is not > enough to create a dependency. > > > -Original Message- > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > Behalf Of Geoffrey > Sent: Tuesday, April 18, 2006 3:10 PM > To: flexcoders@yahoogroups.com > Subject: [flexcoders] RemoteObject Issue > > I've been trying for the last few days to get RemoteObject to work, but > with little luck. I've searched this site, and have tried to implement > the examples found in "developing rich clients with macromedia FLEX". > To make matters more confusing, I've also tried to implement the > command/control/delegate patterns that the above book advocates. > > Basically, I think the problem is that I'm not "seeing" the Java classes > I've created. Below are code snippets of (what I think) are the > relevant files. > > ### My Java classes ### > {TOMCAT-HOME}\webapps\flex\WEB- > INF\classes\com\foo\test\business\SiteMaintenanceDelegate.class > package com.foo.test.business; > import com.foo.test.vo.SiteKeywordVO; > public class SiteMaintenanceDelegate { > public SiteMaintenanceDelegate() { > } > public SiteKeywordVO reviewKeywords() { > SiteKeywordVO keywords = new SiteKeywordVO(); > return keywords; > } > } > > {TOMCAT-HOME}\webapps\flex\WEB- > INF\classes\com\foo\test\vo\SiteKeywordVO.class > package com.foo.test.vo; > import java.io.Serializable; > public class SiteKeywordVO implements Serializable { > public String[] keywords; > public void SiteKeywordVO() { > String[] keywords = {"first agr", "second agr", "third agr"}; > } > } > > ### My RO definition ### > {TOMCAT-HOME}\webapps\flex\services\Services.mxml > source="com.foo.test.business.SiteMaintenanceDelegate" > result="event.call.resultHandler(event)" > fault="event.call.faultHandler(event)" > showBusyCursor="true"> > > > > ### My ActionScript VO ### > {TOMCAT-HOME}\webapps\flex\sdm\com\foo\test\vo\SiteKeywordVO.as > class com.foo.test.vo.SiteKeywordVO { > public var keywords:Array; > public var _remoteClass; > public function SiteKeywordVO() { >_remoteClass="com.foo.test.vo.SiteKeywordVO"; > } > } > > ### My testing mxml file ### > {TOMCAT-HOME}\webapps\flex\sdm\sdmUnitTest.mxml > > http://www.macromedia.com/2003/mxml"; > xmlns:sdm="sdm.*" > xmlns:services="services.*" > > > > > ### My SiteDataMaint component ### > {TOMCAT-HOME}\webapps\flex\sdm\SiteDataMaint.mxml > ... //just the script part > > > > ... > > The SDMController class seems to be working correctly. > > ### My Delegate class ### > {TOMCAT-HOME}\webapps\flex\sdm\business\SDMDelegate.as > ... //just the constructor > public function SDMDelegate(responder:Responder) { > this.service = > mx.core.Application.application.myServices.siteDataServices; > Dumper.dump(service); > this.responder = responder; > } > > I think this is where the problem is. When I dump 'service' (via Flex > Trace Panel), I get 'undefined'. > > I really have no idea where to go from here. I've tried turning on all > debug stuff, used NetConnectionDebugger, use Flex Trace Panel... > nothing on all accounts. > > Thanks for any suggestions you may have! > Geoff > > > > > > -- > 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 > -- 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/
[flexcoders] Re: RemoteObject Issue
My guess would be that SDMDelegate's constructor can't access your siteDataServices RemoteObject through mx.core.Application.application. Try "this.service = parentApplication.myServices.siteDataServices" instead, or pass the service as a parameter to the constructor as you do with the responder. Doug --- In flexcoders@yahoogroups.com, "Geoffrey" <[EMAIL PROTECTED]> wrote: > > I've been trying for the last few days to get RemoteObject to work, > but with little luck. I've searched this site, and have tried to > implement the examples found in "developing rich clients with > macromedia FLEX". To make matters more confusing, I've also tried to > implement the command/control/delegate patterns that the above book > advocates. > > Basically, I think the problem is that I'm not "seeing" the Java > classes I've created. Below are code snippets of (what I think) are > the relevant files. > > ### My Java classes ### > {TOMCAT-HOME}\webapps\flex\WEB- > INF\classes\com\foo\test\business\SiteMaintenanceDelegate.class > package com.foo.test.business; > import com.foo.test.vo.SiteKeywordVO; > public class SiteMaintenanceDelegate { > public SiteMaintenanceDelegate() { > } > public SiteKeywordVO reviewKeywords() { > SiteKeywordVO keywords = new SiteKeywordVO(); > return keywords; > } > } > > {TOMCAT-HOME}\webapps\flex\WEB- > INF\classes\com\foo\test\vo\SiteKeywordVO.class > package com.foo.test.vo; > import java.io.Serializable; > public class SiteKeywordVO implements Serializable { > public String[] keywords; > public void SiteKeywordVO() { > String[] keywords = {"first agr", "second agr", "third agr"}; > } > } > > ### My RO definition ### > {TOMCAT-HOME}\webapps\flex\services\Services.mxml > source="com.foo.test.business.SiteMaintenanceDelegate" > result="event.call.resultHandler(event)" > fault="event.call.faultHandler(event)" > showBusyCursor="true"> > > > > ### My ActionScript VO ### > {TOMCAT-HOME}\webapps\flex\sdm\com\foo\test\vo\SiteKeywordVO.as > class com.foo.test.vo.SiteKeywordVO { > public var keywords:Array; > public var _remoteClass; > public function SiteKeywordVO() { >_remoteClass="com.foo.test.vo.SiteKeywordVO"; > } > } > > ### My testing mxml file ### > {TOMCAT-HOME}\webapps\flex\sdm\sdmUnitTest.mxml > > http://www.macromedia.com/2003/mxml"; > xmlns:sdm="sdm.*" > xmlns:services="services.*" > > > > > ### My SiteDataMaint component ### > {TOMCAT-HOME}\webapps\flex\sdm\SiteDataMaint.mxml > ... //just the script part > > > > ... > > The SDMController class seems to be working correctly. > > ### My Delegate class ### > {TOMCAT-HOME}\webapps\flex\sdm\business\SDMDelegate.as > ... //just the constructor > public function SDMDelegate(responder:Responder) { > this.service = > mx.core.Application.application.myServices.siteDataServices; > Dumper.dump(service); > this.responder = responder; > } > > I think this is where the problem is. When I dump 'service' (via > Flex Trace Panel), I get 'undefined'. > > I really have no idea where to go from here. I've tried turning on > all debug stuff, used NetConnectionDebugger, use Flex Trace Panel... > nothing on all accounts. > > Thanks for any suggestions you may have! > Geoff > -- 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/