November 26th, 2007 by Kyle
Posted in: Flex, Flex Builder, Flex Data Services

I just recently was made aware that there are actually 3 different “builds” of Flex SDK “hotfix 3″ out there.
1. Originally hotfix 3 was applied to hotfix 2 (updating a few swcs) - version 1
2. Late summer 2007 it was realized this confused some folks so the hotfix kb article was replaced with a full version of the SDK with the fixes applied - version 2
3. Flex Builder 3 beta 2 shipped with the latest/greatest SDK from the 2.0.1 branch which is an equivalent to hotfix 3 SDK - version 3.

These versions should be functionally identical afaik.

I updated my version checker to detect and differentiate these versions. I have updated the original blog entry here and also have links to the update AIR app here.


No Comments »

November 12th, 2007 by Kyle
Posted in: Flex, Flex Data Services

Finding out what version of the SDK you are using for Flex Builder, command line compilation, Ant compilation or in your Flex war file for FDS or LCDS can be comfusing. Especially if you have added one of the SDK hotfixes for 2.0.1. When faced with issues from customers, I often ask them what version of the Flex SDK or FDS/LCDS they are using. Sometimes they don’t know or don’t remember if they have installed a hot fix or if they are running FDS or LCDS. To be fair though, finding out what version of the SDK is not clear nor is finding out the version of a FDS/LCDS war. Cracking open some swc files or jar files to find a build number or starting your server to look for a build number in the output or logs and translating the build number to an actual version equivalent really could be made easier. I thought this would make a good AIR application, so I started coding and here is what I came up with. Mind you, it is not feature complete, pretty looking or by any means architecturally elegant. It does the job though…those other things can come later. This is build with Adobe Air Beta2, which can be downloaded here.

Here is a link to the installer.


1 Comment »

September 27th, 2007 by Kyle
Posted in: Flex, Coldfusion, Flex Data Services

This post is to carry on from my previous post regarding moving data from ColdFusion CFCs to Flex 2 Applications Using Webservices.

Here is the first sample showing basic retrieval of a string via Remote Object:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" >
    <mx:Script>
        <![CDATA[
            import mx.rpc.events.ResultEvent;
            import mx.controls.Alert;
           
            [Bindable]
            public var sResult:String;
           
            public function handleStringResult(event:ResultEvent):void{
                sResult=event.result as String
            }
        
        ]]>
    </mx:Script>
        
    <mx:RemoteObject
        id="myService"
        destination="ColdFusion"
        source="services.HelloWorld">   
        <mx:method name="sayHelloString" result="handleStringResult(event)"  fault="Alert.show(event.fault.message)" />
    </mx:RemoteObject>

    <mx:Label id="lblStringResult" text="{sResult}"/>   
    <mx:Button label="get String Remote Object" click="myService.sayHelloString()"/>

</mx:Application>
 

This movie requires Flash Player 9

Browse the source of this example.
Download a zipfile containing the source to this sample.

Read the rest of this post»


No Comments »

September 27th, 2007 by Kyle
Posted in: Flex, Coldfusion, Flex Data Services

  
I am using HostMySite as my web host and have the Linux Builder Plus CF package.
I haven’t upgraded to CF8 since that would require me to change my host package to use Windows. I don’t think I want that, since I like having SSH access to the machine my site is physically on.
I had just finished with my blog regarding Moving data from ColdFusion CFCs to Flex 2 Applications Using Webservices and was trying to get my code working on my site for the follow up article on Moving data from ColdFusion CFCs to Flex 2 Applications Using RemoteObject.
I was not being very successful and had even spoken with HostMySite support and they told me that accessing cfcs from Flex as RemoteObjects through the Flex Gateway with Coldfusion was not enabled and furthermore could not be enabled for a shared hosting account. If I wanted that functionality, I would have to upgrade to a VPS (Virtual Private Server) host package.

  
Now I pay about $65 per quarter for my host account for CF and Wordpress capabilities. The base VPS host package with Coldfusion starts at $116 a month. I don’t know about you, but that is quite a jump for me, so I decided to do a bit more digging around. As it turned out, I found a few forum entries that seemed to allude that it was possible. In fact, one person had even posted to a link in his hosted site where he actually had my dev center article remote object sample working! Unfortunately he didn’t quite say how he had accomplished such a feat.

  
Well I knew how I would deal with that mystery. I got out my trusty Web Debugging Proxy tool: Charles to sniff the request that the sample was making so I could see what the url was to the flex gateway. As it turns out, I was just missing a trailing slash on my flex2gateway URI!!!!!

The key to getting this to work revolves around 3 things:
1. Getting your config files located and configured properly for compilation.
2. Getting the fully qualified name for your cfc correct.
3. Knowing the endpoint URI for your Flex Gateway fro your Coldfusion server.

In Flex Builder in my project, I create the following 2 config files:

services-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<services-config>
    <services>
        <service-include file-path="remoting-config.xml" />
    </services>
    <channels>
        <channel-definition id="my-cfamf" class="mx.messaging.channels.AMFChannel">
            <endpoint uri="http://739saintlouis.com/flex2gateway/" class="flex.messaging.endpoints.AMFEndpoint"/>
            <properties>
                <polling-enabled>false</polling-enabled>
                <serialization>
                    <instantiate-types>false</instantiate-types>
                </serialization>
            </properties>
        </channel-definition>
    </channels>
</services-config>
 

remoting-config.xml:


class="flex.messaging.services.RemotingService"
messageTypes="flex.messaging.messages.RemotingMessage">






** Read the rest of this post»


No Comments »

August 2nd, 2007 by Kyle
Posted in: Flex Data Services

Here is a post by the Flex Doc team on their blog that is very useful:

Real Time Messaging channels in LCDS ES

It should help customer’s with configuration questions regarding dataservices and rtmp/t channels when using firewalls and load balancing software.

HTH

-Kyle


No Comments »

June 29th, 2007 by Kyle
Posted in: Flex Data Services

I have had a few customers come across the following error when trying to restart the LCDS 2.5 or FDS 2.0 applications without restarting the app server.

[6/28/07 10:54:22:468 EDT] 0000001f ServletWrappe E Deregister the
mbean because of uncaught init() exception thrown by servlet
MessageBrokerServlet: javax.servlet.UnavailableException: The MBean, ‘flex.runtime.LiveCycle Data Services:type=MessageBroker,id=MessageBroker1′, cannot be registered because the previous MBean with the same name could not be unregistered possibly due to some security setting on the application server. This can be avoided by setting manageable property to false in the configuration file.
at
flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:154)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:
190)
at
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.init(ServletWrapper.jav
a:317)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper
.java:1142)
at
com.ibm.ws.wswebcontainer.servlet.ServletWrapper.initialize(ServletWrapp
er.java:150)
at
com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServlet
Wrapper(WebExtensionProcessor.java:99)
at
com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:766)
at
com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.ja
va:446)
at
com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.
java:283)
at
com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:273)
at
com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.jav
a:88)
at
com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java
:157)
at
com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:655)
at
com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.ja
va:608)
at
com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerI
mpl.java:333)
at
com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImp
l.java:549)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl
.java:1312)
at
com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectS
tart(DeployedApplicationImpl.java:1129)
at
com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl
.java:569)
at
com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedAppli
cationImpl.java:814)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(Applica
tionMgrImpl.java:965)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl
.java:1495)
at
com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.jav
a:3836)
at
com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerIm
pl.java:3913)
at
com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.jav
a:245)
at
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(Applica
tionMgrImpl.java:1500)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:265)
at
javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredMode
lMBean.java:1089)
at
javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean
.java:971)
at
com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.j
ava:231)
at
com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:238)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBea
nServerInterceptor.java:833)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:802)
at
com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1057)
at
com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.
java:118)
at
com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:950)
at
com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServic
eDelegator.java:139)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at
com.ibm.ws.management.connector.soap.SOAPConnector.invoke(SOAPConnector.
java:338)
at
com.ibm.ws.management.connector.soap.SOAPConnector.service(SOAPConnector
.java:206)
at
com.ibm.ws.management.connector.soap.SOAPConnection.handleRequest(SOAPCo
nnection.java:55)
at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
680)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:484)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469),

You can work around this error by setting manageable false in the system block of services-config.xml.
WebSphere actually injects additional key-value property pairs into our Mbean object names which makes FDS unregister calls on shutdown no-ops. On startup, FDS attempts to register the new Mbean instances for the newly instantiated MessageBroker and its children and this fails. This is one of several Mbean related issues on WebSphere that is not an issue on other app servers.
It would be nice if IBM could resolve this issue but we don’t have a fix yet. So the options are - cycle the full container, or just disable our Mbeans via the config option above for now.


No Comments »

May 22nd, 2007 by Kyle
Posted in: Flex, Flex Data Services

I thought I had this bookmarked, but I didn’t. So I figured I would add a reference to it in my blog. I often go to this post for reference when I am reconfiguring fresh installs of Flex with Integrated Jrun on my machine.
Here is the url: http://www.bpurcell.org/blog/index.cfm?mode=entry&entry=1064


No Comments »

February 12th, 2007 by Kyle
Posted in: Flex, Flex Builder, Flex Data Services, Flex Automated Testing, Flex Charting

I just published two Tech note articles for Flex regarding changes to Daylight Savings time in effect for 2007 and Sun’s JVM changes regarding this:

“How to upgrade the JVM shipped with Flex”

and

“Flex and Sun’s JVM: U.S. Daylight Saving Time changes in 2007″


No Comments »

February 2nd, 2007 by Kyle
Posted in: Flex, Coldfusion, Flex Builder, Flex Data Services, mxml

I wrote this article for the Flex 2.0 release.
It is a good intro on how you can move data between Coldfusion 7.02 CFCs and Flex 2.0 using Web Services or Remote Object calls.

My co-worker, Lin Lin, blogged a good follow up to this article that expands up on the configuration and steps necessary to access cfcs on your Coldfusion server from a flex app on a separate server.


No Comments »


Professional Medicines, Online Pharmacy buy clomid buy viagra buy cialis buy tramadol buy soma buy levitra buy propecia buy ultram buy acomplia buy phentermine buy xenical buy kamagra Online Pharmacy Products
cialis consultation delivery discount health man cialis cialis forum cialis side eefects low cost generic generic cialis pills effectiveness viagra levitra cialis cheapest generic viagra and cialis pills cat 6 cialis bargain levitra levitra cialis dysfunction erectile levitra viagra 2003 cyalis levitra market sales viagra clarinex stimula levitra aldara pay pal order diflucan viagra, cialis, levitra, diflucan, clomid buy generic soma dream levitra online order pharmaceutical zithromax price soma prescriber information soma aura soma color therapy essences soma carisoprodol 350mg soma restaurant scottsdale buy pfizer viagra viagra buying online story viagra viagra before and after viagra substituts modo de empleo viagra viagra suppositories side effects viagra testemonials viagra videos