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/amfpolling
[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], "Peter Farland" <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED] On
> Behalf Of Mike_Robinson_98
> Sent: Wednesday, June 21, 2006 2:35 PM
> To: [email protected]
> 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> "
> xmlns:xsi="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>  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> 
> '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:
> :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