Hi all,
Is there any way to force ADEP to return results from data services in simple AS3 Arrays, not ArrayCollections? Here are my situation:
In my project I use ADEP Data Management Services. To connect to ADEP services we use RTMP channel defined in services-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<services-config>
...
<services>
<service-include file-path="remoting-config.xml" />
<service-include file-path="proxy-config.xml" />
<service-include file-path="messaging-config.xml" />
<service-include file-path="data-management-config.xml" />
<service-include file-path="managed-remoting-config.xml" />
<service class="fiber.data.services.ModelDeploymentService" id="model-deploy-service" />
<default-channels>
<channel ref="my-rtmp"/>
</default-channels>
</services>
...
<channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
<endpoint url="rtmp://{server.name}:1000" class="flex.messaging.endpoints.RTMPEndpoint"/>
<properties>
<idle-timeout-minutes>20</idle-timeout-minutes>
<block-rtmpt-polling-clients>true</block-rtmpt-polling-clients>
<rtmpt-poll-wait-millis-on-client>0</rtmpt-poll-wait-millis-on-client>
</properties>
</channel-definition>
...
</services-config>
To manage data in database we defined data services in data-management-config.xml like this:
<?xml version="1.0" encoding="UTF-8"?>
<service id="data-service" class="flex.data.DataService">
<adapters>
<adapter-definition id="java-dao" class="flex.data.adapters.JavaAdapter"/>
<adapter-definition id="mr-java-dao" class="flex.data.adapters.ManagedRemotingDataAdapter" />
<adapter-definition id="actionscript" class="flex.data.adapters.ASObjectAdapter" default="true"/>
</adapters>
<default-channels>
<channel ref="my-rtmp"/>
</default-channels>
<destination id="SomeProduct.SomeItems">
<adapter ref="java-dao" />
<properties>
<source>flex.data.assemblers.SQLAssembler</source>
<scope>application</scope>
<metadata>
<identity property="ID" />
</metadata>
<server>
<database>
<datasource>java:comp/env/jdbc/SP</datasource>
</database>
<actionscript-class>com.somecompany.classes.SomeCoolClass</actionscript-class>
<create-item>
<procedure name="SomeItems_Insert">
<procedure-param property-value="#Session_ID#" />
<procedure-param property-value="#Division_ID#" />
<procedure-param property-value="#Salesrep_ID#" />
<procedure-param property-value="#Area_Code#" />
<procedure-param property-value="#Item_ID#" />
</procedure>
<id-query>SELECT IDENT_CURRENT('Work_Area_Item')</id-query>
</create-item>
<fill>
<name>all</name>
<procedure name="SomeItems_Get">
<procedure-param property-value="#Session_ID#" />
<procedure-param property-value="#Last_Sync_Time#" />
</procedure>
</fill>
<update-item>
<procedure name="SomeItems_Update">
<procedure-param property-value="#Session_ID#" />
<procedure-param property-value="#Division_ID#" />
<procedure-param property-value="#Salesrep_ID#" />
<procedure-param property-value="#Area_Code#" />
<procedure-param property-value="#Item_ID#" />
</procedure>
</update-item>
<delete-item>
<procedure name="SomeItems_Delete">
<procedure-param property-value="#Session_ID#" />
<procedure-param property-value="#Item_ID#" />
</procedure>
</delete-item>
</server>
</properties>
</destination>
</service>
By default, ADEP returns results from SomeProduct.SomeItems destination to Flex side as ArrayCollection of SomeCoolClass instances but I need the data to be returned in simple AS3 Arrays. Recently, I found that there is small optional serialization configuration in channel-definition that should resolve my problem. So I updated my channel-definition in services-config.xml to this:
<channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
<endpoint url="rtmp://{server.name}:1000" class="flex.messaging.endpoints.RTMPEndpoint"/>
<properties>
<serialization>
<legacy-collection>true</legacy-collection>
</serialization>
<idle-timeout-minutes>20</idle-timeout-minutes>
<block-rtmpt-polling-clients>true</block-rtmpt-polling-clients>
<rtmpt-poll-wait-millis-on-client>0</rtmpt-poll-wait-millis-on-client>
</properties>
</channel-definition>
However, result are still returned in ArrayCollections.
Any ideas?
Thanks in advance
Views
Replies
Total Likes