ColdFusion Event Gateway Flex CF 8
I am doing this exercises in the FlexBuilder SDK .
Use Coldfusion Event Gateway Adapter exercise
When I get to
Select Event Gateways > Gateway Instances.
Enter Flex2CF2 as the Gateway ID.
Select Flex Messaging - Flex as the Gateway Type.
There is no Flex Messaging-Flex option
The closest two are
DataManagement Notifies Data Management Services of data
changes coldfusion.eventgateway.flex.FlexDataManagementGateway
DataServicesMessaging Handles Data Services Messaging
messages coldfusion.eventgateway.flex.FlexMessagingGateway
I try the example @
http://localhost:8700/samples/dataservice/myapp/flexemail2cf.mxml
The flex server is running fine but generates an RMI error in
the cmd console
flex.messaging.MessageException: Unable to find ColdFusion
gateway 'Flex2CF2 in RMI registry on host localhost
the gateway may not be running.
The gateway shows as running in the coldfusion adminstrator.
Please help
I think Flex messaging event gateway capability first was
available in CF 7.
Similar Messages
-
Coldfusion Event Gateway Adapter exercise
I am doing this exercises in the FlexBuilder SDK .
Use Coldfusion Event Gateway Adapter exercise
When I get to
Select Event Gateways > Gateway Instances.
Enter Flex2CF2 as the Gateway ID.
Select Flex Messaging - Flex as the Gateway Type.
There is no Flex Messaging-Flex option
The closest two are
DataManagement Notifies Data Management Services of data
changes coldfusion.eventgateway.flex.FlexDataManagementGateway
DataServicesMessaging Handles Data Services Messaging
messages coldfusion.eventgateway.flex.FlexMessagingGateway
I try the example @
http://localhost:8700/samples/dataservice/myapp/flexemail2cf.mxml
The flex server is running fine but generates an RMI error in
the cmd console
flex.messaging.MessageException: Unable to find ColdFusion
gateway 'Flex2CF2 in RMI registry on host localhost
the gateway may not be running.
The gateway shows as running in the coldfusion
adminstrator.You need to ask them on Adobe forum: https://forums.adobe.com/community/coldfusion
This posting is provided AS IS with no warranties or guarantees , and confers no rights.
Ahmed MALEK
My Website Link
My Linkedin Profile
My MVP Profile -
ColdFusion Event Gateway - Data Processing Delay
Hi,
We are running ColdFusion 9 inside JBOSS.
We have event gateways that communicate with JMS Queue from JBOSS to acquire the vehicle related data for further processing (about 2 millions data per day in real time).
However, we facing performance degradation for the event gateways after it runs for 8hrs (initially data processing at 0 sec delay, subsequently built up to almost 10 mins delay) and it requires restart to resume back to normal speed.
Further checking on the servers show that the event gateways occupied all CPU processing power after running for few hrs.
May I know what is the issue and what can i do improve the performance. Your help shall be high appreciated.
Below the settings for event gateways.
Queue Size : 10000
Thread : 30
Server Spec
IBM x3650 series
RAM : 6GB
Processor : Dual Quad Core Processors 2.5GHZHi, anyone can assist for my question posted ?
TQ -
Hello all,
I've recently been developing a project that involves sending out events from ColdFusion to LiveCycle 2.6.1 using the Data Management event gateway to Flex 4.0 clients (LiveCycle and ColdFusion are on different Instances, but the same server). To begin with, I used ColdFusion assemblers, DAO's, and models and everything worked fine locally. After deploying this setup to a beta site, I decided that this setup would be very troublesome in terms of configuring clustered instances across multiple servers. I then decided to convert my assemblers, DAO's, and models to Java. The conversion went well and the flex clients see the exact same data as they did with the ColdFusion adapter.
Once I tried to send an update through from my ColdFusion application to a Flex client, I get an error stating that:
"Unable to find the Flex adapter for destination My_Dest in the RMI registry on localhost:1099.The Flex adapter may not be running or the destination may be incorrect."
After seeing this error, downloaded a Java-based RMI inspector to see what was going on. To get a good idea of what was happening when the ColdFusion adapter was being used, I switched my data-management-config file back to the CF adapter. I noticed that the RMI entry was as follows:
localhost:1099/cfdataserviceadapter/My_Dest
localhost:1099/cfassembler/my_cf_instance
Once I gathered this data as the base, I converted back to the Java adapter in my data-management-config file, restarted the servers, and ran the RMI inspector again. Only the "localhost:1099/cfassembler/my_cf_instance" was showing. (This one shows because I have "Enable Remote Adobe LiveCycle Data Management Access" checked in my CF instance's CF Admin -> Flex Integration). Since I don't need this checked anymore, I unchecked it and re-ran the RMI inspector. As it should, the "localhost:1099/cfdataserviceadapter/My_Dest" went away. Since no destination shows up, it means that the Flex adapter isn't registering my "my_Dest" destination with RMI. Since it isn't registered, I can't see it when I try to send a message through the CF Data Management event gateway.
Can anyone help me out here? I certainly may be missing something when it comes to RMI (I don't work with Java very often). Any advice would be greatly appreciated!
Thank you,
Dustin BlomquistDustin,
Without the ColdFusion based data management destination defined on the LCDS server, the destination will not show up in the RMI registry. It is only the CF adapter code that does this. The 'stock' LCDS adapter does not support invoking via RMI the way the CF version does.
I would recommend you run the LCDS MessageBrokerServlet inside the ColdFusion web application. This will give you two things:
1. You will not have the overhead of RMI between CF and LCDS as they will share the same VM (better performance!).
2. You will be able to use the CF Data Management Gateway to pass messages to Java-based destinations. The APIs the gateway uses should work fine with either CF or Java based Data Management destinations.
The CF/LCDS integration doesn't support what you are trying to do when you run two seperate instances. -
Event Gateways in Multiserver Environment
Hi all
As a company we are looking to deploy a Flex application
using 'push' messaging.
The backend is a multiserver Coldfusion 8 setup behind a load
balancer. My concern is around the multiserver setup while using
event gateways. If a client consumes from a particular gateway on a
particular server, and a CF process on
another server produces for a gateway on it's server how
will the data push occur thus updating all clients consuming from
the gateways on
all servers.
I'm afraid we will have to get the CF process on one server
produce for it's own gateway and we'll have to get all clients to
consume from that gateway - thus not allowing us to spead the load
across all CF servers using thier own gateways in the multi-server
environment.
Am I missing something here? This area appears to be fairly
new, so any and all comments appreciated.
Cheers,
CiaranHey guys, just wanted to register that I am having the same
exact problem! Let me know about any solution!
bhyder
Richard
Gere Fansite -
Asynch Event Gateway not multi-threaded?
Hi there,
I've stumbled upon a huge problem and I would greatly
appreciate your help otherwise I am looking at a major rework of my
application :S
I thought that any event gateway (asynch) would be
multi-threaded? that is, multiple users can call the event gateway
at the same time and this would just fire up threads of the event
gateway and parallel processing of the cfc will occur?
However, that is not whats happening in my application. My
event gateway is called from a webpage and it computes (very
complicated and time consuming data) its data and creates a file
with a unique filename. However, if more then 1 user submits a job
at the same time, it only takes the first job, finishes it and then
starts working on the next job in the queue. So if there were 5
users who submitted their jobs one after the other, the event
gateway will take their jobs one by one which is very bad for me.
Is there a way to have event gateway work on multiple jobs at
the sametime??? or is this just not possible?
I will greatly appreciate your reply. thank you
using Coldfusion MX 7, WINXPMy event gateway is called from a webpage and it computes (very
complicated and time consuming data) its data and creates a file
with a unique filename. However, if more then 1 user submits a job
at the same time, it only takes the first job, finishes it and then
starts working on the next job in the queue. So if there were 5
users who submitted their jobs one after the other, the event
gateway will take their jobs one by one
I'm not so sure about your conclusion in the case of 5 jobs.
The 5 jobs may start in the order in which they were triggered, but
might end in a different order. Also, there could be some
multithreaded processing between the first job starting and the
last job finishing. Threads can be unpredictable worms. -
How Do You Assume A Session From Event Gateways?
I am using event gateways to send and receive via SMS, IM,
and Email. I can go back and forth just fine, and if the client
initiates the session, session persistence is not a problem.
Sometimes, though, we need the server to initiate the session
and the client to assume that session so we don't have to
re-establish the thread before we move on.
For example, if the client says "Approve John Doe" for
something, the bot can respond with "John Doe found. Reply with A
for admin rights, W for web rights", and so on. Because the client
established the session, replies are cemented in the bots brain so
they know if an "A" is returned, it will give John Doe Admin
access.
The trouble is if the SERVER initiates the call to the IM
Client: "This is the server speaking. John Doe is attempting to
access the double-secret files. Reply with A to Allow or X to send
10,000 volts to their computer". Reply with A and the bot will
respond with, basically, "request unknown" because the client
actually initiated a new session and nothing the server said was
heard or can be viewed by the client.
When the server creates a session in the event gateway, there
also appears to be no sessionid, cfid, or cftoken. Especially for
SMS, it's difficult to pass a UUID or specially coded variable for
the client to use to at least search and retrieve the particulars
of the event.
So, how does one get a CLIENT IM, Email or SMS to assume the
Session from the server?
Alternative solutions welcomed!
RLSBKBK,
Thank you for your response. That does adequately cover the
client-originated sessions, but still leaves the ability I am
looking for unavailable.
It did serve to definitively answer my most pressing
question, however, with this statement:
Note: ColdFusion cannot create a session if an initiator
application uses a SendGatewayMessage method to start an
interaction with a client, such as an SMS user. In this case, the
sending code must keep track (for example, in a database) of the
messages it sends and their destinations. When a response event
arrives, it can look up the origniatorID to determine whether it
was in response to an outgoing message.
I will play around with the Application scope to see if there
might be a workable solution there.
RLS -
Socket event gateway error in CF8?
Having upgraded to CF8 with no code changes I am seeing a
socket event gateway accept an xml message line by line and not the
entire xml packet in one shot (each line is shown in the log
separately). Passing a simple sentence with a return in it also
becomes 2 events. This obviously causes problems, as the xml cannot
be recognized and processed when it comes in line by line. The xml
is coming from a daemon writen in Perl, and I can't immediately
make any changes to it, as these requests are also sent out to
other Perl systems, so any changes would have to be tested against
them as well.
I couldn't find anything online about this being a bug in
CF8, has anyone else seen it?Hi,
Remove this (And never put it in again)
EXCEPTION
when others then
raise_application_error(-20001,'Error sending email.Error: '||sqlerrm);
--Dbms_Put.Put_Line('Error sending email.Error: '||dbms_util.get_detailed_sqlerrm);This will tell you more about what is going on, such as giving you the location of the error.
But 20999, is a user defined exception, are you putting objects into system schema?
Regards
Peter -
How Do I Programmatically Dispatch an Itemclick Event in Flex 3?
Hi,
I need some help with programmatically dispatching an itemclick event in Flex 3.
For example, I've got a popupmenubutton as follows:
<mx:PopUpMenuButton
id="myPopUpMenuButton"
label="Neighborhoods"
dataProvider="{myNeighborhoodList}"
itemClick="myPopUpMenuButtonClickHandler(event)"
/>
Let's say that the myNeighborhoodList contains 3 choices: Old Port, Newport, Southport.
In another piece of code, I want to programmatically dispatch the myPopUpMenuButton itemclick event as if "Newport" were chosen. How do I do that?
FYI, I posted this question on Stack Overflow, but I didn't get a reply.
Thank you!
-LaxmidiOk , here is how I solve the problem architecturally. One class should be responsible for the viewstack index. This class can respond to events dispatched anywhere. So it goes a little something like this.
The view stack
<Viewstack selctedIndex="{stackIndex}">
<Script>
[Bindable] public var stackIndex:int;
</Script>
<ViewOne />
<ViewTwo/>
<ViewThree />
</Viewstack/>
StackPresentation.as
public var stackCount:int;
[Bindable] public var stackIndex:int;
public function startUp():int
stackIndex = someRandomNumberGenerator( 0 , stackCount );
return stackIndex;
public function changeStackHandler( newStackIndex:int ):void
stackIndex = newStackIndex;
There are a few things I must explain here.
1. The stackIndex of the StackPresentation class in "injected" into the Viewstack class. This can be accomplished using a number of frameworks. Personally I use Mate , but there is a whole cornucopia of DI frameworks ( Prana , RobotLegs , Swiz ...).
2. When you want to change the stack index from any part of the application , you dispatch an event like the one I posted earlier. Your framework will wire this event to the StackPresentation. The event will have some parameters ( i.e var newStackIndex:int ) which it uses to go to the next stack index , it could very well be different from what I posted as this is an example.
The advantages of this are numerous. But they all stem from "separation of concern". The view class is responsible for being a view , and the presentation is responsible for coordinating the state of the view class. The other advantage is that if some other part of the application wants to change the viewstack index , it MUST go through the presentation layer , preventing a "ball of mud" type of approach. This greatly cuts down on the number of bugs and the time it takes to resolve them. In scenarios where there is a problem , you only have to look at a few things , the logic in the presentation class ( which lends itself to unit-testing) and the cases where the event triggering the change is dispatched. Hope this helps.
Sincerely ,
Ubu -
Hello all,
I am having a problem with the SMS event gateway in regards
to sending optional parameters. In the SMPP 3.x spec, there are
parameters that can be used by the SMSC, and our aggregator is
utilizing two of them. I am trying to determine how to deliver the
optional parameters to the SMSC successfully. In the CF docs it
describes how to send a subset of the optional parameters, but is
there a way to send others? For example, the cf docs say you can
send msgStr.alertOnMsgDelivery = 1 to set the
alert_on_message_delivery (0x130C) parameter. The SMPP spec states
that 0x1400 - 0x3FFF are "Reserved for SMSC Vendor specific
optional
parameters". How can I send these parameters via the SMS
event gateway? I need to send two parameters (0x2151 & 0x2152),
can this be done via the gateway?
Thanks!
RichI have the same problem, Joralac. I'm looking for the same
answer. Here's what I just posted in the Event Gateways forum which
seems to be a no-man's-land forum because nothing there ever gets
answered... :-)
RLS
What I posted there was:
After experimenting with SMS providers, we settled on MX
Telecom. Great - except that the level of the service we have says
that we must send back a special username based on the carrier from
which the message came. Pain in the posterior...
So, for example, they give this parameter for Operator Code:
ID: 0x3010
Name: Operator Code
Direction: MX -> Customer
Length: Variable
value: string (not null terminated)
So, if my cfscript code looks something like this:
mesg = structNew();
mesg.command = "submit";
mesg.sourceAddress = "12345";
mesg.destAddress = "16125551212";
mesg.shortMessage = "Hello, World.";
sendGatewayMessage("smsMyMenuTest", mesg);
Just how do I encode and pass along that parameter that they
want? -
Sending above 254 characters through coldfusion sms gateway
I have been sending SMS using coldfusion sms gateway. If am sending below 254 characters, it works perfectly but when I need to send above 254 characters, I use the messagePayload attribute and convert the message to binary. The message sends OK but only the first 25 characters are displayed
on the phone. I have gone through the coldfusion documentation but what I don't understand is "The messagePayload field can contain up to 64K bytes;
it must start with 0x0424, followed by 2 bytes specifying the payload length, followed by the message contents."
Adobe didn't state any specific example on how this would be implemented. Kindly send an example on how this would be implemented.
If anyone knows any other method of sending long messages, please share it cos my .Net friends are laughing at me, telling me coldfusion is wackquote:
are the unicode SMS getting thru? have you updated your cf
server, there's one
Are you referring to ColdFusion 7.0.1 Updater Paul?
Yes I did install the updater. I just found out that my
problem is not unicode problem at all. Basically every return
receipt that I received from the SMPP Gateway has err:1 in the
message. All I did is log every CFEvent that I received from the
SMPP server if error occurs. The example is:
STRUCT ->
CFCPATH -> ....
GATEWAYID -> My Gateway
ORIGINATORID -> 86???????????
CFCMETHOD -> onIncomingMessage
DATA ->
esmClass -> 4
sourceAddress -> 86???????????
priority -> 0
registeredDelivery -> 0
messageLength -> 135
protocol -> 0
destAddress -> *my number*
MESSAGE -> id:*some hex message id* sub:001 dlvrd:0
submit date:0606270957 done date:0606270957 stat:REJECTD err:1
text:esting routing,
dataCoding -> 0
GATEWAYTYPE -> SMS
and everytime I got an error, I only receive that message.
However after I called the SMPP support team just now, they said
that on their end they actually send out two messages to my server
and in my end, my logger only log one message for every SMS sent.
The thing really bugging me is, does coldfusion hiding some
of the messages they received from the server, or does it have some
kind of funny thing going on. Well, frankly I don't know much about
Coldfusion, I just been using it for about 6 months. -
SetLocale no effect in event gateway
SetLocale() is ignored when a CFC is called through an event
gateway. SetLocale() works fine when called through an ordinary
HTTP request. When called through the gateway the locale is always
set as default locale that the server JVM instance was installed
with.
Does anybody have a workaround for this?
We use MX7.
Here is some example code if you want to test:
<cfset message = StructNew()>
<cfset message.method = "onTest">
<cfset pushQueue =
SendGatewayMessage("LocaleTest",message)>
Create a gateway "LocaleTest" pointing to "LocaleText.cfc"
which looks like this:
<cfcomponent>
<cffunction name="onTest" output="no">
<cfargument name="CFEvent" type="struct"
required="yes">
<!--- choose a different locale then your server default
--->
<cfset SetLocale("en_GB")>
<cffile action="append" file="c:\temp.log"
output="#GetLocale()#">
</cffunction>
</cfcomponent>
You can find the output in c:\temp.log, you will see it
doesnt take the locale set by SetLocale()Leo_CF wrote:
> SetLocale() is ignored when a CFC is called through an
event gateway.
> SetLocale() works fine when called through an ordinary
HTTP request. When
> called through the gateway the locale is always set as
default locale that the
> server JVM instance was installed with.
ok, i can confirm for asynch gateways.
> Does anybody have a workaround for this?
not sure i'd class this as a "workaround" as it's pretty
drastic & i have not
tested for any side effects but this "works":
<cfscript>
locale=createObject("java","java.util.Locale");
thisLocale=locale.init("th","TH");
originalLocale=locale.getDefault();
locale.setDefault(thisLocale);
</cfscript>
<!--- note that cflog doesn't do unicode --->
<cflog text="#getLocale()# :::
#LSdateFormat(now(),'FULL')#" file="localeTest">
<cfscript>
// return to original locale
locale.setDefault(originalLocale);
</cfscript> -
Event Gateways missing from CF Administrator
I see other people have had this issue but I have not seen a
solution posted ...
I do not have any "Event Gateway" options in my CF
Administrator - nothing at all - no links on the left under Data
& Services or anywhere else.
Please ... any suggestions! Please!!!Only the Enterprise edition has the Gateway feature enabled.
if you are running Standard Edition, you will not see links to
Event Gateway, because they are not available. -
Will BC eventually include Coldfusion and/or Flex?
My understanding is that BC web sites are .NET based. Will BC sites eventually include Coldfusion and/or Flex servers?
Having spent many hours learning and building rich Internet applications using Coldfusion and Flex, hard to believe an Adobe-hosted web site system (BC) would be solely .NET based.Hi Ahande2!
Unfortunately not in the near future and at this stage.
The BC Sytstem is a SAAS (Software as a Service) and this system is a .net based system.
You have NO access to server side code so you can not run any PHP, Java, Coldfusion, .net code on your sites.
If you need any custom functionality etc you can use the ever expanding API of the system.
http://kb.worldsecuresystems.com/635/bc_635.html?bc-partner
Kind regards,
-Sidney -
I keep getting my cfc file not found on my Gateway Instance
screen. Here is my set up:
Gateway ID: gal
Gateway TYpe: DirectoryWatcher-Watches a dire for file
changes
CFC Path: C:\Inetpub\wwwroot\myproject\gal\
Configuration File: C:\Inetpub\wwwroot\myproject\gal\gal.cfg
Startup Mode: Automatic
and when I click on Add Gateway Instance, i got "Error
creating event gateway instance.Event CFC file not found:
c:\inetpub\wwwroot\myproject\gal
Both of my gal.cfg and gal.cfc are under
C:\Inetpub\wwwroot\myproject\gal\ folder.
gal.cfg:
directory=c:/Inetpub/wwwroot/myproject/gal/dir_tobe_watched
recurse=no
interval=10
extensions=*
addFunction=onAdd
deleteFunction=onDelete
changeFunction=onChange
gal.cfc:
<cfcomponent>
<cffunction name="onAdd">
<CFDIRECTORY Directory=
"#GetDirectoryFromPath(GetTemplateFromPath())#" NAME="MyDirectory"
ACTION="List" FILTER="">
<CFTABLE QUERY="MyDirectory" HTMLTABLE COLHEADERS>
<CFCOL HEADER="Name" TEXT="#Name#">
<CFCOL HEADER="Type" TEXT="#Type#">
<CFCOL HEADER="Size" TEXT="#Size#">
</CFTABLE>
<CFLOOP QUERY="MyDirectory">
<CFFILE ACTION="Copy"
SOURCE="C:\Inetpub\wwwroot\myproject\gal\dir_tobe_watched\"
DESTINATION="C:\Inetpub\wwwroot\myprojects\copyto_dir\"
NAMECONFLICT="Overwrite">
</CFLOOP>
</cffunction>
</cfcomponent>Hi Norma,
PayPal unfortunately can't be used for event registrations. Only seamless gateways, such as Authorize.net can be used in this case. This is true for all web forms.
You could use PayPal Express and embed a hidden form into a page with the PayPal button, but in this case the customer info will not be recorded inside CRM and BC site will have no knowledge of the payment. Everything would have to be entered into CRM manually. With this solution you could use webMarketing plan which is cheaper.
Cheers,
-mario
Maybe you are looking for
-
My extremely disappointing experience with Apple's service
I have been a loyal customer of Apple since the first iPhone, however, my recent experiences have started to make me reconsider that relationship. Here's what happened: I am living in Asia now and as an avid apple fan, I bought an Iphone plus 64gb in
-
Hello new xorgserver users According to the recent xorgserver upgrade to 1.6.1 I've got blackscreen eachtime I started X. The only way to solve that problem (I'm driving a nvidia desktop) was to replace nvidia driver with xf86-video-nv and no use xor
-
Status are "open" in CRM but not same shown in replicated sales Doc.
Dear Experts, Status are "open" in CRM but not same shown in replicated sales Doc ( R/3 ). please suggest with optimal solution. Regards, Sany
-
Need P/shop 3.2 unlock code
Hi there! I am unable to register my Adobe photoshop starter edition 3.2, a problem a lot of people seem to have. and therfore am unable to get an unlock key to access my photos, if somebody has the unlock code i would appreciate it if they could pos
-
Help: A strange xsl processing error
Hi, I get a strange XSLException when using the following template: <xsl:template match="complexType | group | sequence"> <xsl:param name='path'><xsl:value-of select='$SEPARATOR'/></xsl:param> <xsl:apply-templates select='./*'> <xsl:with-param name='