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>
Similar Messages
-
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 -
titles are not visible, they show up on timeline as a grey box no text does not effect other events or projects. could this have something to do with motion
Without seeing the timeline it sounds as if they've been off. Maybe you pressed the V or the role is switched off in the timeline index.
-
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. -
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 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 helpI think Flex messaging event gateway capability first was
available in CF 7. -
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? -
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 -
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. -
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 -
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 -
How to remove crop effect on Event
Hi,
I'm editing a video on iMovie and playing with the crop feature I've set a crop on the event itself so now I can't move video to my project without the crop effect so I get just a piece of the actual video.
How can I remove the whole crop thing on the event? I tried the trim button but the result is cutting the film on the sides and not getting the whole picture.
My next step is to import the video from the camera and start all over againg but I'm sure there should be a way to delete the crop thing.This is one way:
create a method, lets call it resizeWindow(). Call this method from inside your ChangeListener.
public void resizeWindow() {
this.setSize(300, 400); //whatever values you want
public void stateChange(ChangeEvent e) {
if (tabID == 2) {
resizeWindow();
} -
Is it possible to connect to google IM server using the IM
gateways in CF ?yes with Cf Enterprise and the XMPP event gateway
Maybe you are looking for
-
Extending a material view in Material Master
Hi I have created a Material without a sales view.Now I wnt to add sales view in the existing Material Master. How to do this. Regards venkat
-
Can you install adobe flash player on macbook pro '13?
on my computer it won't let me listen to pandora or watch movies and videos on comcast.net/ xifinity. please help. thank you
-
I just got a new hd tv im using the mac vga port but the screen will not centre?
i selected best display to fit screen and its off centre, there is a large black gap on the left of the screen, the resolution is great but i cant work like this, i can change it to a lower res to fit the screen but it looks terrible, i could use hdm
-
ACS upgrade from 4.2.1.15 to ACS5.6
HI We have bought new ACS5.6 SNS3415 Boxes , earlier we have ACS4.2.1.15 , now we want to migrate the data from old ACS to new ACS. We have downloaded the ACS and trying to install 4.2.1.15 but getting the error " ACS4.2.115 can only be installed
-
N95 Mass storage connection issue.
I have a strange problem with my N95. When I connect to my PC Vista cannot install the drivers for the mass storage/data transfer application. The drivers for PC suite, media player and image print work fine, but it appears that the drivers for Mass