Well Pete, I finally got it to work.

It seems like the problem was in using the Spring framework. Something
about setting either the context-param or listener for Spring in my
web.xml file was causing the conflict. Once I removed these references
and simply instantiated the bean in my Assembler class instead of
having Spring inject it, all worked as expected.

I have read http://www.devx.com/Adobe/Article/31489 about the changes
to beta3 and one of the points was Flex Data Services has better
support for Spring. However, as of yet I cannot find any references in
the documentation about the usage of Spring with FDS.

Has anyone else used Spring with FDS or has a reference on how that
might be done?

Thanks,
Mike

--- In [email protected], "Peter Farland" <[EMAIL PROTECTED]> wrote:
>
> Hmm, it looks like the endpoints are starting up fine, but there's
> something wrong with the destination configuration as the error message
> shows that the data service doesn't believe it has that destination
> configured. You restarted the server after modifying the configuration
> files, right? Also, you cleaned and forced a recompile of the mxml after
> changing the configuration?
>  
> If you can't solve it, would it be possible to send a .war of the app to
> me off line?
>  
> Pete
> 
> ________________________________
> 
> From: [email protected] [mailto:[EMAIL PROTECTED] On
> Behalf Of Mike_Robinson_98
> Sent: Wednesday, June 21, 2006 8:03 PM
> To: [email protected]
> Subject: [flexcoders] Re: Flex dataservices:
> 
> 
> 
> Pete, thanks for the response. Yes, you're probably right. It appears
> that the endpoints are not being created. My guess is it has something
> to do with a security setting ( I removed all references to security
> in the config files, as they did not seem necessary). That's just a
> wild guess. Here's some of the log from the stdout.log file. 
> 
> // from stdout.log
> // *******************************************'
> Loading configuration file C:\Tomcat
> 5.5\webapps\metalsmith\WEB-INF\flex\flex-webtier-config.xml, root
> element flex-webtier-config
> Loading configuration file C:\Tomcat
> 5.5\webapps\metalsmith\WEB-INF\flex\flex-config.xml, root element
> flex-config
> 06/21 12:13:12 DEBUG configuration service started.
> 06/21 12:13:12 DEBUG logger services started.
> Loading configuration file C:\Tomcat
> 5.5\webapps\samples\WEB-INF\flex\flex-webtier-config.xml, root element
> flex-webtier-config
> Loading configuration file C:\Tomcat
> 5.5\webapps\samples\WEB-INF\flex\flex-config.xml, root element
> flex-config
> [Flex] [INFO] Starting Adobe Flex Data Services 2.0 Express (beta
> period ends Jul 31, 2006)
> [Flex] [INFO] Adobe Flex Data Services Build: 138139
> [Flex] [INFO] Endpoint my-amf created with security: None
> at URI:
> http://{server.name}:{server.port}/{context.root}/messagebroker/amf
> [Flex] [INFO] Endpoint my-polling-amf created with security: None
> at URI:
> http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolli
> ng
> [Flex] [INFO] Endpoint my-http created with security: None
> at URI:
> http://{server.name}:{server.port}/{context.root}/messagebroker/http
> [Flex] [INFO] Endpoint my-secure-amf created with security: None
> at URI:
> https://{server.name}:9100/{context.root}/messagebroker/amfsecure
> [Flex] [INFO] Endpoint my-rtmp created with security: None
> at URI: rtmp://{server.name}:2037
> [Flex] [INFO] Endpoint my-secure-http created with security: None
> at URI:
> https://{server.name}:9100/{context.root}/messagebroker/httpsecure
> [Flex] [ERROR] Exception when invoking service: data-service
> with message: Flex Message (flex.data.messages.DataMessage) 
> operation = fill
> id = null
> clientId = 495BED4E-B85F-C791-613D-F802D929ADAE
> correlationId = 
> destination = orderRow
> messageId = 699A031A-F1DF-2517-DE70-F802D9394E53
> timestamp = 1150917204500
> timeToLive = 0
> body = 
> [
> 
> ]
> hdr(DSEndpoint) = my-rtmp
> exception: flex.messaging.MessageException: No destination
> 'orderRow' exists in service flex.data.DataService
> 
> - Mike
> 
> --- In [email protected] <mailto:flexcoders%40yahoogroups.com>
> , "Peter Farland" <pfarland@> wrote:
> >
> > Mike,
> > 
> > The fact that the error said the send failed means that perhaps the
> RTMP
> > channel isn't running... so I'm guessing something went wrong on
> > starting the web application. Most likely the configuration was
> invalid.
> > Can you look at the server startup output (perhaps in the console
> window
> > itself or in the web application logs... depending on how you launched
> > Tomcat) for an indication as to whether there were such errors, and,
> > hopefully, a clue as to what is wrong with the config?
> > 
> > Pete
> > 
> > 
> > ________________________________
> > 
> > From: [email protected] <mailto:flexcoders%40yahoogroups.com>
> [mailto:[email protected] <mailto:flexcoders%40yahoogroups.com>
> ] On
> > Behalf Of Mike_Robinson_98
> > Sent: Wednesday, June 21, 2006 2:35 PM
> > To: [email protected] <mailto:flexcoders%40yahoogroups.com> 
> > Subject: [flexcoders] Flex dataservices:
> > 
> > 
> > 
> > I have read some of the posts on issues similar to this one.
> > Especially the Hank Williams and Peter Farland exchange. However, this
> > problem is different enough that their posts did not help.
> > 
> > I am trying to adapt the samples examples to work with an app I am
> > developing. (BTW, all the samples work on my Tomcat test server
> > running on Windows.)
> > 
> > The issues I have is a failure when I try to a fill on a DataService.
> > I've attempted to simplify the configuration files but I must have
> > left something out. Anyone who has some experience in this area may
> > easily spot my mistake but I have tried all the changes I can think of
> > without any change in the result.
> > 
> > Here are the gory details:
> > 
> > // This is the script that creates the data service and tries to
> > populate the orders arraycollection.
> > <mx:Script>
> > <![CDATA[
> > import mx.data.DataService;
> > import mx.collections.ArrayCollection;
> > import com.othenos.metalsmith.order.OrderRow;
> > public var ds:DataService;
> > [Bindable]
> > public var orders:ArrayCollection;
> > [Bindable]
> > public var orderRow:OrderRow;
> > 
> > public function initApp():void{
> > orders = new ArrayCollection();
> > ds = new DataService("orderRow");
> > ds.fill(orders);
> > }
> > ]]>
> > </mx:Script>
> > 
> > // Here is the AS class that acts as the DTO
> > // **************************************************
> > package com.othenos.metalsmith.order
> > {
> > import mx.data.IManaged;
> > import mx.data.utils.Managed;
> > import mx.core.MXMLObjectAdapter;
> > 
> > [Managed]
> > [RemoteClass(alias="com.othenos.metalsmith.order.OrderRow")]
> > public class OrderRow
> > {
> > public var orderID:int;
> > public var orderDate:Date;
> > public var orderAmount:Number;
> > public var status:String = "";
> > public var salesmanName:String = "";
> > public var customerName:String = "";
> > }
> > }
> > 
> > // Part of the Java class that is the Assembler
> > // ********************************************************
> > public class OrderAssembler {
> > public List loadOrders(){
> > try{
> > return orderDao.getOrders();
> > }
> > catch(ModuleException me){
> > System.out.println("Exception in getting orders - " +
> > me.getMessage());
> > }
> > return null;
> > }
> > 
> > // The flex-enterprise-services.xml
> > // ****************************************************
> > <?xml version="1.0" encoding="UTF-8"?>
> > <services-config>
> > 
> > <services>
> > <service-include file-path="flex-data-service.xml" />
> > </services>
> > 
> > <channels>
> > <channel-definition id="my-rtmp"
> > class="mx.messaging.channels.RTMPChannel">
> > <endpoint uri="rtmp://{server.name}:2037"
> > class="flex.messaging.endpoints.RTMPEndpoint"/>
> > <properties>
> > <idle-timeout-minutes>20</idle-timeout-minutes>
> > <!-- for deployment on WebSphere, must be mapped to a
> > WorkManager available in the web application's jndi context.
> > 
> >
> <websphere-workmanager-jndi-name>java:comp/env/wm/MessagingWorkManager</
> > websphere-workmanager-jndi-name>
> > -->
> > </properties>
> > </channel-definition>
> > 
> > </channels>
> > 
> > <logging>
> > <!-- You may also use flex.messaging.log.ServletLogTarget -->
> > <!-- You may also use flex.messaging.log.ConsoleTarget -->
> > <target class="flex.messaging.log.ConsoleTarget" level="Debug">
> > <properties>
> > <prefix>[Flex] </prefix>
> > <includeDate>true</includeDate>
> > <includeTime>true</includeTime>
> > <includeLevel>true</includeLevel>
> > <includeCategory>true</includeCategory>
> > </properties>
> > <filters>
> > <!--<pattern>Endpoint.*</pattern>-->
> > <!--<pattern>Service.*</pattern>-->
> > <pattern>Message.*</pattern>
> > <pattern>DataService.*</pattern>
> > <pattern>Configuration</pattern>
> > </filters>
> > </target>
> > </logging>
> > 
> > <system>
> > <redeploy>
> > <enabled>true</enabled>
> > <watch-interval>20</watch-interval>
> > 
> >
> <watch-file>{context.root}/WEB-INF/flex/flex-enterprise-services.xml</wa
> > tch-file>
> > 
> >
> <watch-file>{context.root}/WEB-INF/flex/flex-data-service.xml</watch-fil
> > e>
> > <touch-file>{context.root}/WEB-INF/web.xml</touch-file>
> > </redeploy>
> > </system>
> > 
> > </services-config>
> > 
> > // The flex-data-service.xml
> > // ******************************************************
> > <?xml version="1.0" encoding="UTF-8"?>
> > <service id="data-service"
> > class="flex.data.DataService"
> > messageTypes="flex.data.messages.DataMessage">
> > 
> > <adapters>
> > <adapter-definition id="java-dao"
> > class="flex.data.adapters.JavaAdapter"/>
> > </adapters>
> > 
> > <default-channels>
> > <channel ref="my-rtmp"/>
> > </default-channels>
> > 
> > <destination id="orderRow">
> > 
> > <adapter ref="java-dao" />
> > 
> > <properties>
> > <source>com.othenos.metalsmith.order.OrderAssembler</source>
> > <scope>application</scope>
> > 
> > <metadata>
> > <identity property="orderID"/>
> > </metadata>
> > 
> > <network>
> > <session-timeout>20</session-timeout>
> > <paging enabled="false" pageSize="10" />
> > <throttle-inbound policy="ERROR" max-frequency="500"/>
> > <throttle-outbound policy="REPLACE" max-frequency="500"/>
> > </network>
> > 
> > <server>
> > <fill-method>
> > <name>loadOrders</name>
> > </fill-method>
> > 
> > <sync-method>
> > <name>syncOrders</name>
> > </sync-method>
> > </server>
> > </properties>
> > </destination>
> > 
> > </service>
> > 
> > // The web.xml
> > // **************************************************************
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> > 
> > <web-app xmlns="http://java.sun.com/xml/ns/j2ee
> <http://java.sun.com/xml/ns/j2ee> 
> > <http://java.sun.com/xml/ns/j2ee <http://java.sun.com/xml/ns/j2ee> > "
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
> <http://www.w3.org/2001/XMLSchema-instance> 
> > <http://www.w3.org/2001/XMLSchema-instance
> <http://www.w3.org/2001/XMLSchema-instance> > "
> > xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> <http://java.sun.com/xml/ns/j2ee> 
> > <http://java.sun.com/xml/ns/j2ee <http://java.sun.com/xml/ns/j2ee> >
> web-app_2_4.xsd"
> > version="2.4">
> > 
> > <context-param>
> > <param-name>contextConfigLocation</param-name>
> > 
> >
> <param-value>/WEB-INF/conf/metalsmith-servlet.xml,/WEB-INF/conf/metalsmi
> > th-service.xml,/WEB-INF/conf/metalsmith-data.xml</param-value>
> > </context-param>
> > 
> > <context-param>
> > <param-name>flex.class.path</param-name>
> > 
> > <param-value>/WEB-INF/flex/hotfixes,/WEB-INF/flex/jars</param-value>
> > </context-param>
> > 
> > <!-- NOTE: ContextLoaderListener may not work for all application
> > servers. If it does not work for yours, you must use
> > ContextLoaderServlet instead. See page XXX, chapter 8
> > for more information. -->
> > <listener>
> > 
> >
> <listener-class>org.springframework.web.context.ContextLoaderListener</l
> > istener-class>
> > </listener>
> > 
> > <!-- Struts Servlet -->
> > <servlet>
> > <servlet-name>action</servlet-name>
> > <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
> > <init-param>
> > <param-name>application</param-name>
> > <param-value>applicationResources</param-value>
> > </init-param>
> > <init-param>
> > <param-name>config</param-name>
> > <param-value>/WEB-INF/conf/struts-config.xml</param-value>
> > </init-param>
> > <init-param>
> > <param-name>chainConfig</param-name>
> > 
> > <param-value>org/apache/struts/tiles/chain-config.xml</param-value>
> > </init-param>
> > <init-param>
> > <param-name>debug</param-name>
> > <param-value>0</param-value>
> > </init-param>
> > <init-param>
> > <param-name>detail</param-name>
> > <param-value>0</param-value>
> > </init-param>
> > <init-param>
> > <param-name>validate</param-name>
> > <param-value>true</param-value>
> > </init-param>
> > <load-on-startup>1</load-on-startup>
> > </servlet>
> > 
> > <!-- MessageBroker Servlet -->
> > <servlet>
> > <servlet-name>MessageBrokerServlet</servlet-name>
> > <display-name>MessageBrokerServlet</display-name>
> > <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
> > <init-param>
> > <param-name>services.configuration.file</param-name>
> > 
> > <param-value>/WEB-INF/flex/flex-enterprise-services.xml</param-value>
> > </init-param>
> > <load-on-startup>1</load-on-startup>
> > </servlet>
> > 
> > <servlet>
> > <servlet-name>FlexMxmlServlet</servlet-name>
> > <display-name>MXML Processor</display-name>
> > <description>Servlet wrapper for the Mxml Compiler</description>
> > <servlet-class>flex.bootstrap.BootstrapServlet</servlet-class>
> > <init-param>
> > <param-name>servlet.class</param-name>
> > <param-value>flex2.server.j2ee.MxmlServlet</param-value>
> > </init-param>
> > <init-param>
> > <param-name>webtier.configuration.file</param-name>
> > 
> > <param-value>/WEB-INF/flex/flex-webtier-config.xml</param-value>
> > </init-param>
> > <load-on-startup>1</load-on-startup>
> > </servlet>
> > 
> > <servlet>
> > <servlet-name>FlexSwfServlet</servlet-name>
> > <display-name>SWF Retriever</display-name>
> > <servlet-class>flex.bootstrap.BootstrapServlet</servlet-class>
> > <init-param>
> > <param-name>servlet.class</param-name>
> > <param-value>flex2.server.j2ee.SwfServlet</param-value>
> > </init-param>
> > <!-- SwfServlet must be initialized after MxmlServlet -->
> > <load-on-startup>2</load-on-startup>
> > </servlet>
> > 
> > <servlet>
> > <servlet-name>FlexInternalServlet</servlet-name>
> > <servlet-class>flex.bootstrap.BootstrapServlet</servlet-class>
> > <init-param>
> > <param-name>servlet.class</param-name>
> > 
> >
> <param-value>flex.server.j2ee.filemanager.FileManagerServlet</param-valu
> > e>
> > </init-param>
> > <load-on-startup>10</load-on-startup>
> > </servlet>
> > <!-- Standard Action Servlet Mapping -->
> > <servlet-mapping>
> > <servlet-name>action</servlet-name>
> > <url-pattern>*.do</url-pattern>
> > </servlet-mapping>
> > 
> > <servlet-mapping>
> > <servlet-name>MessageBrokerServlet</servlet-name>
> > <url-pattern>/messagebroker/*</url-pattern>
> > </servlet-mapping>
> > 
> > <servlet-mapping>
> > <servlet-name>FlexMxmlServlet</servlet-name>
> > <url-pattern>*.mxml</url-pattern>
> > </servlet-mapping>
> > 
> > <servlet-mapping>
> > <servlet-name>FlexSwfServlet</servlet-name>
> > <url-pattern>*.swf</url-pattern>
> > </servlet-mapping>
> > 
> > <servlet-mapping>
> > <servlet-name>FlexInternalServlet</servlet-name>
> > <url-pattern>/flex-internal/*</url-pattern>
> > </servlet-mapping>
> > 
> > <resource-ref>
> > <description>mySQL Datasource example</description>
> > <res-ref-name>jdbc/mysql</res-ref-name>
> > <res-type>javax.sql.DataSource</res-type>
> > <res-auth>Container</res-auth>
> > </resource-ref>
> > 
> > </web-app>
> > 
> > // And finally, the error messages when trying to fill the dataservice
> > // *****************************************************************
> > [SWF] /metalsmith/metalsmith-flex/metalsmith-debug.swf - 1,072,216
> > bytes after decompression
> > 'cds-producer-orderRow-null' producer set destination to 'orderRow'.
> > 'cds-consumer-orderRow-null' consumer set destination to 'orderRow'.
> > cds-producer-orderRow-null New DataManager destination='orderRow'
> > cds-producer-orderRow-null DataService.fill() called with 0 arguments.
> 
> > (Array)#0
> > 
> > 'cds-producer-orderRow-null' producer sending message
> > '82E7A818-D646-A9FB-381A-F7BFE881D5A8'
> > 'my-rtmp' channel endpoint set to rtmp://localhost:2037
> <rtmp://localhost:2037> 
> > <rtmp://localhost:2037 <rtmp://localhost:2037> > 
> > 'my-rtmp' channel settings are:
> > <channel id="my-rtmp" type="mx.messaging.channels.RTMPChannel">
> > <endpoint uri="rtmp://{server.name}:2037"/>
> > <properties>
> > <idle-timeout-minutes>20</idle-timeout-minutes>
> > </properties>
> > </channel>
> > 'my-rtmp' channel got status. (Object)#0
> > code = "NetConnection.Connect.Failed"
> > level = "error"
> > 'my-rtmp' channel polling stopped.
> > 'my-rtmp' channel connect failed.
> > 'cds-consumer-orderRow-null' consumer channel faulted with
> > Channel.Connect.Failed null
> > 'cds-producer-orderRow-null' producer channel faulted with
> > Channel.Connect.Failed null
> > 'cds-producer-orderRow-null' producer fault for
> > '82E7A818-D646-A9FB-381A-F7BFE881D5A8'.
> > [RPC Fault faultString="Send failed"
> > faultCode="Client.Error.MessageSend"
> > faultDetail="Channel.Connect.Failed error null"]
> > at
> >
> mx.data::ConcreteDataService/http://www.adobe.com/2006/flex/mx/internal:
> <http://www.adobe.com/2006/flex/mx/internal:> 
> > :dispatchFaultEvent
> > <http://www.adobe.com/2006/flex/mx/internal::dispatchFaultEvent
> <http://www.adobe.com/2006/flex/mx/internal::dispatchFaultEvent> >
> >
> ()[C:\dev\enterprise_beta3\frameworks\mx\data\ConcreteDataService.as:148
> > 2]
> > at
> >
> ConcreteDataService.as$43::DataListRequestResponder/fault()[C:\dev\enter
> > prise_beta3\frameworks\mx\data\ConcreteDataService.as:3883]
> > at
> >
> mx.rpc::AsyncRequest/fault()[C:\dev\enterprise_beta3\frameworks\mx\rpc\A
> > syncRequest.as:107]
> > at
> >
> mx.messaging::ChannelSet/mx.messaging:ChannelSet::faultPendingSends()[C:
> > \dev\enterprise_beta3\frameworks\mx\messaging\ChannelSet.as:946]
> > at
> >
> mx.messaging::ChannelSet/channelFaultHandler()[C:\dev\enterprise_beta3\f
> > rameworks\mx\messaging\ChannelSet.as:679]
> > at flash.events::EventDispatcher/dispatchEvent()
> > at
> >
> mx.messaging::Channel/mx.messaging:Channel::connectFailed()[C:\dev\enter
> > prise_beta3\frameworks\mx\messaging\Channel.as:658]
> > at
> >
> mx.messaging.channels::PollingChannel/mx.messaging.channels:PollingChann
> >
> el::connectFailed()[C:\dev\enterprise_beta3\frameworks\mx\messaging\chan
> > nels\PollingChannel.as:111]
> > at
> >
> mx.messaging.channels::RTMPChannel/mx.messaging.channels:RTMPChannel::st
> >
> atusHandler()[C:\dev\enterprise_beta3\frameworks\mx\messaging\channels\R
> > TMPChannel.as:202]
> >
>







------------------------ Yahoo! Groups Sponsor --------------------~--> 
Yahoo! Groups gets a make over. See the new email design.
http://us.click.yahoo.com/XISQkA/lOaOAA/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