Posts in Category "Uncategorized"

ADEP Data Services Complete Quick Start

A complete example of using data services with ADEP for Windows. This provides instructions for installing Java, Maven, Flash Builder and ADEP. This contains all the instructions and source code necessary to execute a simple java class example with Flash Builder and Data Services. This information also exists within the ADEP documentation here http://help.adobe.com/en_US/enterpriseplatform/10.0/documentation.html. This document provides you with step-by-step instructions.

Download ADEP Data Services Complete Quick Start

 

Share on Facebook

Flex SDK – running test builds

Setting up a new machine today I ran into an issue running the test command when checking a patch I created for the Flex SDK within ANT.

The command I was running is to test my change: ant -q checkintests

The error was: BUILD FAILED
C:\svn\branches\4.x\build.xml:1103: The following error occurred while executing
this line:
C:\svn\branches\4.x\build.xml:1233: Java returned: 1

This had me confused because I “thought” I had configured everything correctly on this new machine. I checked the build.xml and found it failed on the mustellaresultsparser.

After about 30 minutes of review I realized that I didn’t configure the Flash Player with the mm.cfg for the trace output and looking at the java class for MustellaResultsParser it was clear that it was necessary.

Make sure you have the following lines in your mm.cfg file.
ErrorReportingEnable=1
TraceOutputFileEnable=1

If you run into this error I hope you find my blog ;)

Share on Facebook

Halo Button Skin for Spark Component

Halo Button Skin example

Using Flex 4 and the Spark components you can create a custom SkinClass that looks just like the Halo Flex 3 Button. See the attached example files ButtonSkin.mxml and HaloTheme2.mxml the Button below on the right is a Spark Button and the one on the left is a mx Button.

s|Button
{
skinClass: ClassReference("ButtonSkin");
}

Share on Facebook

LCDS with SSL Termination with Load Balancer fails

If using SSL with a Load Balancer it’s possible you will run into problems trying to reach the LCDS server. The reason for this is caused by the endpoint URL that LCDS is expecting.

This diagram shows a Client Browser request to an HTTPS Load Balancer with SSL Terminiation. Notice that the request is sent from the Load Balancer to the application server with HTTP data.

lb_example.png

Within LCDS most endpoints are servlets within waiting for a request. The messagebroker/amfsecure endpoint is defined within the services-config.xml file for LCDS under the WEB-INF/flex/ directory.

<channel-definition id=”my-amf-secure” class=”mx.messaging.channels.SecureAMFChannel“>
<endpoint url=”https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure” class=”flex.messaging.endpoints.SecureAMFEndpoint “/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>

lb_step1.png

Notice in the configuration above we want to send a request from the Client to the Load Balancer as SSL. To do this the SWF uses a channel-definition for SSL. The following class will be used by the SWF to create the channel within ActionScript class=”mx.messaging.channels.SecureAMFChannel“. This will send the request to the Load Balancer where it will terminate the SSL and decrypt it.

The next step in this process is to pass the data from the Load Balancer to the Application server as in the diagram below.

lb_step2.png

On the server we need to modify the endpoint so it will not use a class that tries to decrypt the data. In this case we will use the endpoint class that specifies AMFEndpoint.

<channel-definition id=”my-amf-secure” class=”mx.messaging.channels.SecureAMFChannel“>
<endpoint url=”https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure” class=”flex.messaging.endpoints.AMFEndpoint “/>
<properties>
<add-no-cache-headers>false</add-no-cache-headers>
</properties>
</channel-definition>

With this modification the request is received on the server at the endpoint https://{server.name}:{server.port}{context.root}/messagebroker/amfsecure/ it will use the flex.messaging.endpoints.AMFEndpoint to process the request. This endpoint will not decrypt the data and will pass back the request to the Load Balancer.

Share on Facebook

Adobe AIR 2 Beta 1 apps will not work with AIR 2 beta 2 runtime

Adobe AIR 2 Beta 1 apps will not work with AIR 2 beta 2 runtime

NOTE: Applications built against Adobe AIR 2 beta 1 will not run using the AIR 2 beta 2 runtime. In order for an AIR 2 beta 1 application to run on the AIR 2 beta 2 runtime, the namespace of the beta 1 application descriptor file must first be updated to “2.0beta2″ and compiled against the AIR 2 beta 2 SDK. .

Download the runtime here .

Share on Facebook