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/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]ups.com, "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]ups.com [mailto:[EMAIL PROTECTED]ups.com] On
> Behalf Of Mike_Robinson_98
> Sent: Wednesday, June 21, 2006 2:35 PM
> To: [EMAIL PROTECTED]ups.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> "
> 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]
>

__._,_.___

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com





SPONSORED LINKS
Web site design development Computer software development Software design and development
Macromedia flex Software development best practice


YAHOO! GROUPS LINKS




__,_._,___

Reply via email to