CFML Gateway in CF8

I am getting the error below while try to run cfml gateway
from CF8
Error invoking CFC for gateway CreatePDF: An exception
occurred when performing document processing.
{ORIGINATORID={CFMLGateway},DATA={{MARKETNAME={Phoenix},USERID={258},ORIENTATION={portrai t},FILE={defaultEventLog},PRODUCTID={},FILENAME={ProfileVersion1.cfm?PropId=5039&marketId= 1&renttype=net&fomat=pdf&UserID=258&reporttitle=ProfileVersion1&orientation=portrait},SAVE FILENAME={258_ProfileVersion1_9_24_39.pdf}}},GATEWAYID={CreatePDF},GATEWAYTYPE={CFMLGatewa y}}.
The cause of this exception was that:
coldfusion.runtime.UndefinedVariableException: Variable CFEVENT is
undefined..
Please help me to solve this issue

I am getting the error below while try to run cfml gateway
from CF8
Error invoking CFC for gateway CreatePDF: An exception
occurred when performing document processing.
{ORIGINATORID={CFMLGateway},DATA={{MARKETNAME={Phoenix},USERID={258},ORIENTATION={portrai t},FILE={defaultEventLog},PRODUCTID={},FILENAME={ProfileVersion1.cfm?PropId=5039&marketId= 1&renttype=net&fomat=pdf&UserID=258&reporttitle=ProfileVersion1&orientation=portrait},SAVE FILENAME={258_ProfileVersion1_9_24_39.pdf}}},GATEWAYID={CreatePDF},GATEWAYTYPE={CFMLGatewa y}}.
The cause of this exception was that:
coldfusion.runtime.UndefinedVariableException: Variable CFEVENT is
undefined..
Please help me to solve this issue

Similar Messages

  • CFML gateway : java.lang.OutOfMemoryError

    I though that CFML gateways were designed for long running
    tasks, but my tests tends to show the opposite :
    whatever I do, it always crash with a
    java.lang.OutOfMemoryError
    I made a mass emailing gateway, following the CDFJ article (
    june 2005,
    volume 7, issue 6 : the asynchronous CFML gateway)
    that is to say :
    - a classic cfm page that defines the needed struct
    (arguments for the gateway cfc) then a call to the gateway.
    - the gateway cfc is very basic : it makes a query to
    retrieve email adresses from a database then loop over the query
    and for each adress send an email.
    I use cfoutput query + a cfmail for each email because i need
    to make a bit of other things in the loop (every 100 email sent i
    made another "update" query to keep an information of what email
    were sent.
    I have about 150,000 emails to send but plan to send more
    (1,000,000. I'm not a spammer, all adresses are opted-in).
    The first time it crashed around 25,000 emails.
    I tried to maximize the JVM settings (maxperm, maxheap, ...
    to 512MB then 1024MB), it then crashed around 55,000, but whatever
    I do it still crashs before the end of the task. The server is a
    dual xeon 3.0 ghz with 2 GB of RAM and is running Coldfusion 7.0.1
    (updater 2) on windows 2003 std.
    I also replace the cfmal tag by cffile tag (for each adress i
    write then delete a small file, to simulate activity without really
    sending tons of emails
    ... and remove the "every 100 loops update a
    counter" query... it still crashs (but around 360,000 loops).
    Just in case, I tried the cfsetting timeout in the cfc, the
    timeout in the struct passed to the cfc... no effect.
    So I'm a bit confused about the aibility to handle long
    running tasks...
    The exception.log files contains :
    "Error","Thread-13","04/20/06","17:26:58",,"Error invoking
    CFC for gateway emailblaster: null"
    java.lang.OutOfMemoryError
    And here is a part of the cfc code :

    obouillaud wrote:
    > - Why not cleaning the email before it's insertion in
    the database ? I already
    > do it, but I want to be sure to avoid crashing the
    sending process because
    you can't crash the "sending process" w/bad email, it will
    only NOT send those
    emails.
    > someone manualy (bad) changed an adress in the database,
    or everything else
    > that can lead to a bad formated adress...
    you need procedures, etc. to manage that sort of thing. for
    instance, if your db
    has triggers, you can have it verify the email when/if
    somebody messes w/it.
    > - splitting into chunks... what a shame !!! the gateways
    are designed for such
    > tasks, that is to say long running queries. The
    asynchronous process is made to
    > avoid the "blank loading page" of these long tasks. Do
    you mean I need to make
    > a gateway that handle the whole process and that calls
    for example every
    > thousands email another gateway that send the emails ?!?
    probably several way to handle this. here's one:
    one asynch gateway, one CFC, pass in query conditions &
    let it work (do the
    query, send the mail). instead of one monster loop of 500k,
    maybe 10 of 50k
    would work better. it's all the same to the user/main app--it
    hands off the
    processing to the gateway & goes on to do other things.
    you can easily call the
    gateway 10x in the main app, since everything's happening in
    the gateway it's
    very fast as far as the user/main app is concerned.
    i'm not sure what your UPDATE query is actually used for but
    you could easily
    hand-off parsing send logs, etc. to an asynch gateway (could
    even be the same
    one that's running the email, you can specify a different CFC
    to use) to handle
    that. or if you really wanted to get "fancy" have a look at
    sean's concurrency
    app:
    http://cfopen.org/projects/concurrency
    i've combined gateways before. for example, SMS & asynch
    gateways work very well
    together (cf can melt down SMS aggregators fairly easily). so
    having more than 1
    gateway handle a job's not a bad idea.

  • Missing falshservices gateway in CF8

    I recently upgraded my development CF from 7 to 8. I use IIS
    as server, not the built in
    Realizeing that CF7 was still there, after much testing of
    sites on CF8, I uninstalled CF7. I had copied the CFIDE folder
    because it was in the inetpub/wwwroot tree and was afraid it might
    get lost. The uninstall did remove that CFIDE folder; but, I copied
    it back.
    Now I'm noticing that anything that relies on flash remoting
    isn't working. Some direct flash swfs and getting data into some of
    the flash forms (cfform).
    I tried a fla directly that uses flash remoting and got the
    message:
    Error opening URL '
    http://localhost/flashservices/gateway'
    My remoting components are still there in flash, but
    somewhere I lost something critical. But, not sure what!
    Appreciate any help!
    Thanks
    Keith

    Additionally, we tried both of these methods to no avail:
    http://www.mac-connect.com/winfrommac.php
    http://www.mac-connect.com/macfromwin.php
    SMB doesn't work from MAC to PC. And on the PC, the MAC does not show up on as a network node as in the previous post above.

  • Cfselect data binding with statically defined options

    I am having some trouble getting statically defined options
    to remain in my cfselects when I use binding in CF8
    I have four cfselects: Continent, Country, State/Province,
    County
    The continent select is populated by a list in a database,
    and each subsequent select is populated depending on the continent
    value (your run-of-the-mill related select box model).
    I have a form that allows a user to edit an existing record
    that uses these select boxes. The form is populated with data from
    that existing record - for example, a record in which
    Continent=North America, Country=United States, State=Montana, and
    County=Meagher
    The problem is that when I define a static option based on
    what's already in the database:
    <cfselect name="continentSelect"
    bind="cfc:CF_Classes.places.getContinents()" bindonload="true">
    <option value="#
    defined continent name#" selected="selected">
    defined continent name</option>
    </cfselect>
    the static option is displayed only momentarily while the
    query is running and then disappears completely from the box once
    the box is populated. I have got the option to stay when I turn
    "bindonload" off, but even then when I trigger the binding the
    option disappears. I have been able to get it to stay when I use
    the old method of defining a query to populate the box, but then I
    lose the binding ability in subsequent boxes so that options I
    don't want to show are displayed (i.e. something like
    Continent=North America, Country=Japan).
    Maybe there isn't a way around this, but there is an example
    of this type of thing in the CFML reference for CF8. I haven't
    tested it so I don't know if that one works or not. Am I missing
    something?

    Hi,
    There are a couple of ways you can do this. One is where the dropdown would change the presence of static text objects. The other would be where the dropdown would set the actual text within a textfield.
    Sample here: https://acrobat.com/#d=k2tAeWMsKS0pEbhmWt33oA
    Good luck,
    Niall

  • CF8 DirectoryWatcher Gateway Doesn't Run When I Overwrite a File

    I've set up a Coldfusion Directory Event Gateway on my site (Win2K3 server, CF8 Ent).  The DW monitors an FTP directory where my users upload a batch of 5 PDF files each week.  The files are named file1.pdf, file2.pdf and so on.  When my DW gateway sees an addition or a file change, it copies the file to a new location, reads the PDF's meta data and uses that to rename the file and then add an entry to a database table for that file (the table entry gets used to populate a PDF archive list on a different page). In general this all works with a few exceptions.
    ISSUE 1: If I add a new file, the gateway sees it and calls my onAdd function (which actually just calls my onChange function). If I rename a file in that directory, the onChange event fires and my code runs.  However, if I upload a new file1.pdf file which overwrites the old file1.pdf, nothing happens. The new file is truly different and has a new modification date.  I read through the Java class and mod date is how the gateway determines a change.  Now, so far am not actually FTPing a new file in, but rather just coping it in from my local machine to the server directory via a mapping.
    I saw a solution for a similar issue which talked about setting up the onDelete event b/c the FTP will actually delete then add the file. Does this sound like a solution?
    ISSUE 2: I had a lot of CFM files that needed to be put into the archive, so I converted those to PDFs.  I then put all of them in my watch directory so my script would process them.  To my surprise, the script would only load 11 files at a time.  So after some tests to confirm the issue and the correct number of files, I then loaded my batch, 11 files at a time.  Any ideas why this would happen?
    My Specs again:
    Windows 2003 Server
    Coldfusion 8 Enterprise
    In my config file:
    checking my directory every minute (60000 milliseconds)
    only checking for .pdf extension
    Set an onAdd and onChange function call, but no onDelete
    my onAdd function simply calls my onChange function, passing
    in the CFEvent argument that it received

    We had the same problem here, and I agree that it is disappointing that the DW doesn't consider that a new file.  As far as a workaround, what I did was change the way our process dealt with incoming files entirely.  I used to handle the files as they came in, relying on Dave Ferguson's tricks for getting around files that were still being written to or otherwise locked (thanks, Dave!).  Now, instead of that, I only do one thing when a file is received: I rename it with a datestamp and write this to our db as the received filename so that the additional processes can be run on it.  That way, when that same filename is used by our client again, which is every time, the DW picks it up again as a new file.  I don't know if that helps or not, because it still means you lose the functionality that used to be inside the DW instead of a scheduled task, but at least you know when an actual new file is received, regardless of its name.  You may even be able to put your functions inside the onChange or onDelete if you keep the reference to the original filename, then have those do your work after the file is renamed and/or moved.  In our case, the DW also kept hanging every couple of days so we were missing very important files.  I ended up just restarting the gateway through code as the last piece of the scheduled task that runs every 30 mins to process the files.

  • 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

  • CF8/JRun4 Cluster for Load Balancing

    Does anyone have an example of how to set up a CF8/JRun4
    cluster for load balancing?
    I have three servers:
    x004 - Linux - Apache2 (10.0.0.54,10.1.0.54)
    x020 - Linux - JRun4/CF8 (10.0.0.70,10.1.0.70)
    x021 - Linux - JRun4/CF8 (10.0.0.71,10.1.0.71)
    Every server in our network has two network cards. One
    network card is attached to 10.0.x.x which has a gateway to the
    internet and runs at 100Mbps and is firewalled, and the other is
    attached to 10.1.x.x which runs at 1Gbps and is internal with no
    gateway. I'm trying to set it up so web traffic arrives on
    10.0.0.54 into Apache and mod_jrun20 bootstraps a cluster named
    STST using 10.1.0.54 which consists of STST_x020 coldfusion server
    running on x020 and STST_x021 running on x021. I want the
    communications between JRun4 on x020 and x021 to occur on the
    10.1.x.x network and eventhough JRun and ColdFusion will only use
    the 10.1.x.x network I still need the 10.0.x.x network card
    attached for other purposes which require a gateway. I have
    installed JRun4/CF8 about 10 times already and it seems I have no
    control over what network JRun4 clusters on... sometimes it will
    communicate on one, sometimes the other and without being able to
    set which network is being used there always seems to be "network
    error" on at least one of the two CF8 servers. I was able to get
    everything working fine by disabling the network cards on the
    10.0.x.x network and re-installing everything... but as soon as I
    added the network cards back the whole thing was broken again.
    How is this supposed to work? Most of the examples are either
    no clustering or clustering on the same machine with Apache running
    on the same box... I don't see any clustering across machines
    examples.
    How do I install a connector on a web server which doesn't
    have JRun on it and get wsconfig to connect to a multi-machine
    cluster when wsconfig only accepts a single IP address as a host
    and the cluster is not listed?
    How do I get JRun to bind to a specific network card?
    Does this work if I choose a J2EE server other than JRun?
    Any help anyone can provide is greatly appreciated. I'm
    getting close to giving up which means staying on the non-clustered
    environment and figuring out how we can deal with scalability by
    switching to something else.

    The article at
    http://www.adobe.com/go/1e8e9170
    is specific to configuring two or more cluster nodes that reside on
    separate networks, e.g. 10.0.1.0/24 and 10.0.2.0/24. (The article
    doesn't state it, but you can only use unicast peers if your
    cluster nodes host a single instance of JRun or multiple instances
    of JRun in the same cluster domain. When performing unicast
    discovery, JRun looks for all Jini groups and not just the cluster
    group.)
    Anyhow, that's not your problem. The simplest solution is you
    haven't enabled the jrun.servlet.jrpp.JRunProxyService service. I'm
    most familiar with the Windows version of JRun, but I'm assuming
    the directory structure is similar across platforms. In
    <jrun_root>/servers/<name>/SERVER-INF/jrun.xml, set the
    deactivated attribute of the jrun.servlet.jrpp.JRunProxyService
    service to false and restart JRun. You should now see JRun
    listening on the appropriate port. (The default for the first
    manually created instance is 51000.) You can limit the proxy
    service to a single interface using the interface attribute.
    If you have enabled the proxy service, verify your security
    settings in <jrun_root>/lib/security.properties. It's usually
    best to limit access to specific hosts. Comment out the
    jrun.subnet.restriction parameter and set the jrun.trusted.hosts to
    the IP address of your web server, e.g. 10.1.0.54.
    Forcing all JRun processes/services to listen on a single
    interface isn't difficult, but it does require modifying quite a
    few configuration files by hand. If you need assistance with that,
    I can elaborate.
    Configuring the JRun module under Apache is pretty
    straightforward. If you're not using virtual hosts, it's very
    simple. If you are using virtual hosts, it's still simple, but your
    JRun configuration can be virtual host-specific.
    On your Apache server, you'll want to create a directory
    structure for the JRun module. I'll assume
    /opt/jrun/lib/wsconfig/1, but you can use anything you want. Once
    the directory structure is created, extract the appropriate JRun
    module from wsconfig.jar to the new directory. You're most likely
    interested in the Apache 2.0 module,
    wsconfig.jar/connectors/apache/intel-linux/prebuilt/mod_jrun20.so.
    Let's assume you've extracted the module to
    /opt/jrun/lib/wsconfig/1/mod_jrun20.so. Your Apache service account
    should have read, write, and execute permissions on the
    /opt/jrun/lib/wsconfig/1 directory.
    The JRun module configuration is normally appended to your
    current httpd.conf file by wsconfig. Here's a sample configuration:
    LoadModule jrun_module
    "/opt/jrun/lib/wsconfig/1/mod_jrun20.so"
    <IfModule mod_jrun20.c>
    JRunConfig Verbose false
    JRunConfig Apialloc false
    JRunConfig Ssl false
    JRunConfig Ignoresuffixmap false
    JRunConfig Serverstore
    "/opt/jrun/lib/wsconfig/1/jrunserver.store"
    JRunConfig Bootstrap 10.1.0.70:51000
    #JRunConfig Errorurl <optionally redirect to this URL on
    errors>
    #JRunConfig ProxyRetryInterval 600
    #JRunConfig ConnectTimeout 30
    #JRunConfig RecvTimeout 30
    #JRunConfig SendTimeout 30
    AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr
    .cfswf
    </IfModule>
    You may also want to update your DirectoryIndex directive
    with an appropriate index page, e.g. index.cfm.
    After the first request to a page handled by the JRun module
    is received, the module will query the boostrap server,
    10.1.0.70:51000, for a list of cluster peers. If you've configured
    your cluster correctly, a line similar to following will be written
    to /opt/jrun/lib/wsconfig/1/jrunserver.store:
    proxyservers=10.1.0.70:51000;10.1.0.71:51000
    You can create/edit this file manually as well.
    Unfortunately, the bootstrap option only accepts one server. If
    your bootstrap server is down, the JRun module will use the values
    in jrunserver.store directly, if the file exists.
    Here's a complete list of JRun module options:
    metrics *
    debugger *
    ssl *
    verbose
    traceflags
    serverstore
    bootstrap
    errorurl
    apialloc
    ignoresuffixmap
    proxyretryinterval
    connecttimeout
    recvtimeout
    sendtimeout
    sslcalist
    Options flagged with an asterisk can only be configured at
    the Apache server level. All other options can be configured at the
    server level and/or the virtual host level. The usage of these
    options is in the JRun documentation, and the JRun module source
    code is included in wsconfig.jar. Keep in mind that versions of the
    JRun module shipped prior to ColdFusion 8 were coded to assign the
    connecttimeout and sendtimeout options to the socket connection
    timeout. Whichever option appeared last in your configuration ended
    up as the final value. This has been fixed in ColdFusion 8 and
    presumably the next release of the JRun updater.
    I think that's a good start. If you need more information or
    can't find what you need in the JRun or ColdFusion documentation,
    let me know.
    If you're looking for resiliency, I highly recommend
    expanding your configuration to include a second web server and a
    hardware load-balancer (preferably one that supports redudancy via
    multiple paths and devices, e.g. devices from Cisco, F5, or Foundry
    Networks). Often, however, running Apache on the ColdFusion
    server(s) provides adequate performance, and round-robin DNS
    records coupled with the ability to update DNS quickly in the event
    of a failure may be all you need for load-balancing and
    failover.

  • CF8 breaks IIS v6.0 on Win Server 2003...

    If I install CF8 without the built-in web-server, I can't
    even run the CF Admin page when it's done installing! So HOW
    exactly am I supposed to get it to finish configuring itself?
    If I install it with the built-in web-server, it will allow
    me to run the CF Admin page -- but NOTHING ELSE. (edit: "
    http://localhost:8500/administrator"
    is the ONLY page that works.) Every page I try to browse to,
    whether locally or remotely, shows HTTP 500 (Internal Server
    Error). Uninstalling CF8 will fix the problem immediately, but
    obviously that's not the solution I need here.
    After installing CF8 with the built-in web-server, it
    automatically ran the Admin page for the first time where it
    supposedly configured IIS (but didn't). I also ran Programs ->
    Adobe -> ColdFusion8 -> Web Server Configuration Tool. Added
    IIS to it, all websites, with Cold Fusion Apps enabled. It *did* do
    the propper .cfm, .cfc, .cfml, etc., mappings, but it did NOT
    create the JRunScripts virtual directory. How do I create that
    directory manually? Do I really need to create that directory at
    all? What does that directory do? (I'm not actually going to run CF
    apps on this server, I just need CF to allow Flex to access a MS
    SQL database -- or at least, that's what I was told. So do I really
    need the JRunScripts directory, anyway?)
    And on the CF8 Admin -> Server Settings -> Mappings
    page, there's no mapping to the main website. Only a /CFIDE mapping
    that points to C:\ColdFusion8\wwwroot\CFIDE (which I can't change
    or delete), and a /gateway mapping that points to
    C:\ColdFusion8\gateway\cfc. Seems like there should be a / mapping
    that points to C:\Inetpub\wwwroot, but creating one had no effect.
    Any help is appreciated.

    When you install without the built-in web server - which is
    how you should install if the machine is running IIS - is the
    option to configure ColdFusion to work with all IIS sites? If not,
    you should manually select that option.

  • Problem installing CF8 on Windows 7 x64

    Hello. I am trying to install ColdFusion 8.0.1 64 bit on the Windows 7 RC x64. I already had CF8 on Windows 7 beta 32 bit OS and it ran just fine. For some reason I can't seem to get CF installed. I'm guessing it's because of the fact that it's a 64 bit OS, but I don't understand why. The installation process works fine until I get to the step where I have to configure my web server. I am trying to install CF on an Apache server (which I have successfully done in the past). When I click on the Add  button, the JRE window pops up and freezes. Nothing happens when I click on the Browse button to point to the configuration directory or the bin directory. It won't even respond when I try to cancel out of the window. Any ideas are welcome right now, because I'm out. I don't know what to try. Thanks.

    You'll need to setup 2 things:
    - in httpd.conf you'll need to add the config entries to load the jrun
    connector module (extract mod_jrun20.so from wsconfig.jar)
    LoadModule jrun_module "C:/jrun4/lib/wsconfig/2/mod_jrun20.so"
    JRunConfig Serverstore "C:/jrun4/lib/wsconfig/2/jrunserver.store"
    JRunConfig Bootstrap 127.0.0.1:51020
    AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
    Alias /CFIDE/ "c:/jrun4/servers/cfusion/cfusion-ear/cfusion-war/CFIDE/"
    - in jrun.xml enable the JrunProxyService and make sure it's the same
    port as the one in httpd.conf
    Bafta
    Mack

  • Extent to which IPv6 is supported in CF8/9/10?

    The suits have indicated that our DMZ will be "fully IPv6-compliant" (their words, not mine) by early next calendar year. After asking a couple of questions, I believe they think that means that the servers in the DMZ will be running in a mode where all network addressing is using IPv6 and IPv4 will be disabled.
    I'm trying to figure out what that means in terms of our CF servers and CF applications there. From looking at some of the CF docs and from experience, I know there is some support for IPv6 within at least CF8 and later, but I am also seeing indications that the support may not currently be complete.
    Can someone who has been down this road or from within the Adobe CF team comment on the following:
    1. Can anything within the CF Administrator where hostnames are used support IPv6 addresses in the same way it currently supports IPv4 addresses? I know for instance that IPv6 addresses work in specifying debugging IPs, but what about JDBC connections, mailserver connections, etc.?
    2. Do all CFML tags and their CFSCRIPT equivalents completely support IPv6? For instance, does CFHTTP work if the URL is specified with an IPv6 address rather than a hostname?
    3. Do all CFML functions support IPv6? A couple of examples would include IsValid("url", address-in-ipv6-format), IsValid("email", user@address-in-ipv6-format), the XML validation functions which issue http requests in order to retrieve schemas.
    I've done a bit of checking, and at leas the preliminary indication I have right based on that testing is that IsValid("url", address) does not yet support it. All three of the following should be equivalent:
    IsValid("url", "https://fastweb.inel.gov/")
    IsValid("url", "https://204.134.140.60/")
    IsValid("url", "https://[2002:CC86:8C3C:0:0:0:0:0/]")
    Only the first two return an indication of validity, the third (and all other equivalent versions of the IPv6 address) indicates it is not valid, but it really should be.
    At any rate, can anyone shed any further light on answers to those questions above or other IPv6-related areas within ColdFusion?
    Thanks in advance.
    /ron

    Could always just try it? I'd ignore the isValid() function, doesn't even work on email addresses; it's just a regex, nothing to do with networking support.

  • Coldfusion Socket Gateway in web application help

    I've created a Java Socket Gateway in ColdFusion to talk to a 3rd party API.
        User requests their credit balance by clicking a button.
        On clicking the button, a socket is opened with the 3rd party server in CFML, it sends a gateway message (request for balance) and the template request ends. A listener CFC waits for a response, and receives data back 15 seconds later and deals with the results but in a different request.
        I'm not sure how I give these results back to the user as it's not completed in the same request? Do I look at web sockets, node.js, CF web sockets or just poll with ajax?
    I'm new to socket communication and the api I'm using and unsure of how to proceed, can anyone offer any advice or tips?
    Cheers
    Shaun

    I've created a Java Socket Gateway in ColdFusion to talk to a 3rd party API.
        User requests their credit balance by clicking a button.
        On clicking the button, a socket is opened with the 3rd party server in CFML, it sends a gateway message (request for balance) and the template request ends. A listener CFC waits for a response, and receives data back 15 seconds later and deals with the results but in a different request.
        I'm not sure how I give these results back to the user as it's not completed in the same request? Do I look at web sockets, node.js, CF web sockets or just poll with ajax?
    I'm new to socket communication and the api I'm using and unsure of how to proceed, can anyone offer any advice or tips?
    Cheers
    Shaun

  • Multiple Apache Servers tied to CF8/JRUN?

    I've got CF6 experience over J2EE, but now I'm trying to
    deploy CF8 over
    embedded JRUN 4.0 on an OS X Tiger Server (10.4.10) and
    running into some
    headaches. From what I can see in the JRUN 4 documentation I
    need to enable
    Proxy Service so that I can have multiple web hosts tied into
    the same CF8
    server, but I can't figure out how to do this. The CF8
    documentation doesn't
    talk about embedded JRUN very much. Is there an administrator
    interface for
    embedded JRUN or should I attempt to edit jrun.xml by hand?
    Or am I totally on
    the wrong track?
    Any help would be appreciated.
    What follows are the nitty-gritty details.
    The JRun / CF8 server is running at 192.168.1.100 and
    jrun.xml contains the
    following snippet (the default);
    <service class="jrun.servlet.jrpp.JRunProxyService"
    name="ProxyService">
    <attribute
    name="activeHandlerThreads">50</attribute>
    <attribute
    name="minHandlerThreads">1</attribute>
    <attribute
    name="maxHandlerThreads">1000</attribute>
    <attribute name="mapCheck">0</attribute>
    <attribute
    name="threadWaitTimeout">300</attribute>
    <attribute name="backlog">500</attribute>
    <attribute name="deactivated">false</attribute>
    <attribute name="interface">*</attribute>
    <attribute name="port">51800</attribute>
    <attribute name="timeout">300</attribute>
    <!-- set this to false for multi-hosted sites -->
    <attribute
    name="cacheRealPath">false</attribute>
    <!--
    <attribute
    name="keyStore">{jrun.rootdir}/lib/keystore</attribute>
    <attribute
    name="keyStorePassword">changeit</attribute>
    <attribute
    name="trustStore">{jrun.rootdir}/lib/trustStore</attribute>
    <attribute
    name="socketFactoryName">jrun.servlet.jrpp.JRunProxySSLServerSocketFactory</attr
    ibute>
    -->
    </service>
    The Apache server running on the same machine
    (192.168.1.100) contains the
    following connection info in its httpd.conf file. This works
    beautifully.
    # JRun Settings
    LoadModule jrun_module
    /Applications/ColdFusion8/runtime/lib/wsconfig/1/mod_jrun.so
    <IfModule mod_jrun.c>
    JRunConfig Verbose false
    JRunConfig Apialloc false
    JRunConfig Ssl false
    JRunConfig Ignoresuffixmap false
    JRunConfig Serverstore
    /Applications/ColdFusion8/runtime/lib/wsconfig/1/jrunserver.store
    JRunConfig Bootstrap 127.0.0.1:51800
    #JRunConfig Errorurl url <optionally redirect to this URL
    on errors>
    #JRunConfig ProxyRetryInterval 600 <number of seconds to
    wait before
    trying to reconnect to unreachable clustered server>
    #JRunConfig ConnectTimeout 15 <number of seconds to wait
    on a socket
    connect to a jrun server>
    #JRunConfig RecvTimeout 300 <number of seconds to wait on
    a socket receive
    to a jrun server>
    #JRunConfig SendTimeout 15 <number of seconds to wait on
    a socket send to
    a jrun server>
    AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr
    .cfswf
    </IfModule>
    Where I run into trouble is when I enable the following
    configuration on a
    second Apache server (at 192.168.1.102). If I enable the
    following code I get
    errors. [Yes, /Applications/Coldfusion8 is populated
    properly, as far as I can
    tell, but I don't want to launch JRUN / CF8 on this machine.]
    # JRun Settings
    LoadModule jrun_module
    /Applications/ColdFusion8/runtime/lib/wsconfig/1/mod_jrun.so
    <IfModule mod_jrun.c>
    JRunConfig Verbose false
    JRunConfig Apialloc false
    JRunConfig Ignoresuffixmap false
    JRunConfig Ssl false
    JRunConfig Serverstore
    /Applications/ColdFusion8/runtime/lib/wsconfig/1/jrunserver.store
    JRunConfig Bootstrap 192.168.1.100:51800
    #JRunConfig Errorurl url <optionally redirect to this URL
    on errors>
    #JRunConfig ProxyRetryInterval 600 <number of seconds to
    wait before
    trying to reconnect to unreachable clustered server>
    #JRunConfig ConnectTimeout 15 <number of seconds to wait
    on a socket
    connect to a jrun server>
    #JRunConfig RecvTimeout 300 <number of seconds to wait on
    a socket receive
    to a jrun server>
    #JRunConfig SendTimeout 15 <number of seconds to wait on
    a socket send to
    a jrun server>
    AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr
    .cfswf
    </IfModule>
    Here are the connection errors that I receive when the
    Apache server at
    192.168.1.102 fires up:
    [Thu Aug 9 16:36:40 2007] [notice] jrApache[25761:61918]
    255.255.255.255:0
    connect failed[54]: 49 49 Can't assign requested address
    [Thu Aug 9 16:36:40 2007] [notice] jrApache[25761:61918]
    could not
    initialize proxy for fe80:0:0:0:203:93ff:feab:9662%4:51800
    [Thu Aug 9 16:36:40 2007] [notice] jrApache[25761:61918]
    255.255.255.255:0
    connect failed[54]: 49 49 Can't assign requested address
    [Thu Aug 9 16:36:40 2007] [notice] jrApache[25761:61918]
    could not
    initialize proxy for fe80:0:0:0:203:93ff:fec0:7676%5:51800
    ---END---

    Hi:
    I played with this stuff and I found that this will work, without the Location elements:
    <IfModule mod_weblogic.c>
    MatchExpression /app1 WebLogicHost=server1|WebLogicPort=7003
    MatchExpression /app2 WebLogicHost=server2|WebLogicPort=7003
    </IfModule>
    Also this will work too, with no entries inside the IfModule element:
    <Location /app1 >
    SetHandler weblogic-handler
    WebLogicHost server1
    WebLogicPort 7003
    </Location>
    <Location /app2 >
    SetHandler weblogic-handler
    WebLogicHost server2
    WebLogicPort 7003
    </Location>

  • CF8 Multiserver IIS6-Jrun Broken Images

    Hello All
    We have run into a problem with the multiserver install of
    CF8 Enterprise Edition. I would appreciate any insight into it.
    Server details:
    Web Servers
    IIS 6.0 on Windows 2003 Server
    Use the JRun connector to communicate with CF servers (.cfm
    .cfml .cfc .cfr mapped to jrun_iis6.dll)
    CF 8 servers:
    CF8.0.1 Enterprise edition; on windows 2003 server; 1 cluster
    of 2 instances; running the proxy service on default ports (51000,
    51002 and so on),
    We want to use the reverse proxy for every type of file for
    specific virtual directories on the Web server. This includes, .js,
    .css, .gif, .jpg files.
    Problem:
    The coldfusion specific file formats are proxied to the CF
    servers without a problem (since an IIS mapping exists for each of
    them). However, for the static file formats it does not work
    (broken images, missing .css files etc.)
    We have observed that:
    a) if there is no extension mapping on web server, IIS 6.0
    sends a 404 message for the images on the page
    b) if there is an extension mapping to the same jrun_iis6.dll
    on the web server, we get a 503 error from the CF server
    (Indicating no mapping on the CF server)
    c) if in addition to (b), we introduce a url-pattern mapping
    in web.xml, and associate it with CfmServlet, we start getting the
    content of the image in a stream (Server response = 200 ) but with
    incorrect content-type (it comes across as text/html). The images
    still appear broken because the content-type is incorrect.
    At this point, we are at a loss of what we are missing.
    Has anyone run into this problem before... any pointers will
    be much appreciated!
    Regards
    Kev

    deepblue9999 wrote:
    > We want to use the reverse proxy for every type of file
    for specific virtual
    > directories on the Web server. This includes, .js, .css,
    .gif, .jpg files.
    >
    > Problem:
    > The coldfusion specific file formats are proxied to the
    CF servers without a
    > problem (since an IIS mapping exists for each of them).
    However, for the static
    > file formats it does not work (broken images, missing
    .css files etc.)
    > c) if in addition to (b), we introduce a url-pattern
    mapping in web.xml, and
    > associate it with CfmServlet, we start getting the
    content of the image in a
    > stream (Server response = 200 ) but with incorrect
    content-type (it comes
    > across as text/html). The images still appear broken
    because the content-type
    > is incorrect.
    Very close. You need to map the extensions to the
    FileServlet, not the
    CfmServlet. Then restart CF and you are in business. You can
    even remove
    the mappings in IIS, the mappings in web.xml will overrule
    them anyway.
    Jochem
    Jochem van Dieten
    Adobe Community Expert for ColdFusion

  • Is a gateway what I need?

    I am using CF8 in a windows environment.
    I have a magentic stripe reader on the network at IP xxx.xx.xxx.174:1070
    When a badge is scanned, I want that information to automatically log in my SQL database. I think a Socket Gateway is what I want, so it will listen to the address in question, and allow me to capture and store the information upon a scan, but I cant find much information on the net as to how to go about this. I have gone through the exanples but apparently I am not smart enough to "get it". Can anyone point me in the right direction?

    After further research, I find the following in the socket-gateway log:
    Error attempting to listen on socket: java.net.socketException: socket closed
    This is a strange one, because the socket is clearly open when I look at it through Windows administration tools.
    I am using port 1070, and because it is over port 1000, I should not need any special permissions.
    In the CF administrator it shows the gateway instance as running, but no in and out entries get registered.
    I have stopped and restarted the gateway hundreds of times. No effect. Always the message shown above in the socket-gateway log.
    Is there a bug that I need to know about?
    CF8 on a windows environment.
    Web searches turn up nothing, so apparently nobody is using the socket gateway. Even the Adobe documentation is barely existant. Not really sure why I am posting this here, since it is obvious that nobody reads, much less responds to, queries in the Gateway section!

  • How to create pdf in cf8

    Hi
    i had an application in which we are exporting data to excel and now we need to add save as PDF option for this data. I dont know how to do this in cf8 to create pdfs.
    the pdf should get data from queries.
    please help me how  to create this pdf form

    <cfdocument>
    Usage is described in the cfml reference manual.  If you don't have one, the internet does.

Maybe you are looking for

  • Is there a way to link two apple accounts so they can share stuff in their itunes?

    Stuff meaning music, apps because me and my mom started our accounts and started buying stuff with our own apple accounts. ( I have an ipod and she has an ipad) so we would like to buy some music for us to share. However she is paying with her accoun

  • How to get the name of the currently used display variant

    Dear all, I found the user-exit EXIT_SAPLGRAP_001 for programming download authorization. With us no standard user is allowd to download data from R/3. With the user-exit it would be possible to allow certain downloads. one problem i solved already.

  • Why does my new Airport Extreme accept the old password for a guest user?

    I have a new N/AC Airport Extreme Time Capsule that a friend can access only by using the password for an older "G" Airport base station from a previous visit. She can't get onto my current network using the correct/current passwrod. Anybody have any

  • How to run servlet in J2EE

    Hi I am evaluating J2EE. I am wondering if it is possible to run Servlets on J2EE that works just like under servlets 2.2, i.e.: I can use: http://servername/servlet/HelloWorldServlet without add any servlet mappings into the web.xml file. Or is ther

  • Cannot download hotsync manager portion of Palm Desktop

    Hi, I am unable to download hotsync manager for Palm desktop. The error message reads "the application config launch services has unexpectedly quit". I am however able to download it as another user so the problem must be something in my folder? I ha