Multi-web configuration for Railo 3.1 and BlazeDS
Seems like lots of people are having a problem with Railo configured for multiple websites on a single host, but also need to support AMF via BlazeDS.
The common symptom is when you restart railo services, sometimes you will get a big error instead of your web page that says something like:
MessageBroker failed to start: flex.messaging.config.ConfigurationException: MessageBroker already defined from MessageBrokerServlet with init parameter messageBrokerId = '__default__'
Here is what I found to work for me:
1. Read this post by Roland Ringgenberg at the railo google group and follow the directions to install the java jar and edit the flex/services-config.xml file:
<services>
<service-include file-path="remoting-config.xml" />
<service-include file-path="proxy-config.xml" />
<service-include file-path="messaging-config.xml" />
<service id="railoBootstrap" class="railo.runtime.net.amf.RailoMessageBrokerBootstrapService">
<properties>
<messageBrokerId>yourcustomBroker</messageBrokerId>
</properties>
</service>
</services>
2. For me, railo runs on port 8600 internally, and I have IIS configured to serve up content. BlazeDS however doesn't get mapped through IIS, so you need to talk on the native port (again, for MY configuration, YMMV). So to access it, i needed to open TCP port 8600 through the firewall.
3. Once i could talk to the server over port 8600, I changed my flex app that uses remoting to point to http://myserver:8600/flashservices/gateway/ and eveyrthing worked great!
One other interesting observation... When using Flash remoting with CF7/8/9, you can talk to your CFCs and invoke methods that are set to "public." With BlazeDS, your methods need to be marked as "remote" to be accessible. Minor syntax difference, but a huge impact on security. make sure you secure your CFCs!

There are no comments for this entry.
[Add Comment]