« Tom Donovan of the ColdFusion Team having a look... | Main | Measure Area Tool ? »

Tom Donovan has cracked the CFX_ESRIMAP on J2EE issue...

The problem with cfx_esrimap and its associate libraries is that they are in a few too many places, and it seems this can throw CF in the J2EE configuration. Tom Donovan has provided a fix, but you may need to change the paths to suit your install (eg. those who don't install into "Program Files" etc.). I have followed these steps on our Windows 2003 Server, and it is now working again on J2EE. If anyone has problems with Standalone, we will have to look into that as well but I think the JVM.config is there as well. In the JVM make sure that everything for the path and libraries is all on one line as it will be wrapped in these instructions. Thanks again Tom. Click the link below for the extended entry including the instructions.

The long lines will are wrapped, so please note that the entries for java.library.path and java.class.path are each one long line when editing jvm.config:

1. Install ArcIMS to default location C:\Program Files\ArcGIS\ArcIMS

2. Edit the file C:\Program Files\ArcGIS\ArcIMS\Connectors\Servlet\Esrimap_prop
changing APPSMACHINE to the server name for http requests.

from: appServerMachine=APPSMACHINE

to: appServerMachine=

3. Stop all three "Macromedia JRun" services

4. Edit C:\JRun4\bin\jvm.config

Change the java.library.path entry to include the two directories
containing the ArcIMS shared libraries.

C:/Program
Files/ArcGIS/ArcIMS/Middleware/CF_Connector/bin,C:/Program
Files/ArcGIS/ArcIMS/Connectors/ColdFusion/Server

Change the java.class.path entry to include the one directory
containing the ArcIMS Java classes.

C:/Program Files/ArcGIS/ArcIMS/Connectors/Servlet

Note that forward slashes are used even on Windows, and that the list is comma delimited.

Note that the java.library.path entry and the java.class.path entry are each a single long line.

Example change to C:\JRun4\bin\jvm.config :
...
# where to find shared libraries

java.library.path={application.home}/servers/cfusion/cfusion-ear/cfusion-war
/WEB-INF/cfusion/lib,{application.home}/servers/cfusion/cfusion-ear/cfusion-
war/WEB-INF/cfusion/jintegra/bin,{application.home}/servers/cfusion/cfusion-
ear/cfusion-war/WEB-INF/cfusion/jintegra/bin/international,{application.home
}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib/_nti40/bin,C:/
Program Files/ArcGIS/ArcIMS/Middleware/CF_Connector/bin,C:/Program
Files/ArcGIS/ArcIMS/Connectors/ColdFusion/Server
system.path.first=false

# JVM classpath

java.class.path="{application.home}/servers/lib,{application.home}/servers/c
fusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib/cfusion.jar,{application.
home}/servers/cfusion/cfusion-ear/cfusion-war/WEB-INF/cfusion/lib,{applicati
on.home}/lib/jrun.jar,{application.home}/lib,C:/Program
Files/ArcGIS/ArcIMS/Connectors/Servlet"
...

5. Start all three "Macromedia JRun" services

6. In ColdFusion Administrator http://localhost/administrator/index.cfm

Extensions - CFX Tags - register a C++ Tag

Tag Name: CFX_ESRIMAP
Server Library: C:\Program
Files\ArcGIS\ArcIMS\Connectors\ColdFusion\Server\cfx_esrimap.dll
Procedure: ProcessTagRequest
Keep Library Loaded: checked

Extensions - Custom Tag Paths - Add a new custom tag path

C:\Program
Files\ArcGIS\ArcIMS\Connectors\ColdFusion\CustomTags (or simply drop in existing CustomTags)

The ColdFusion Custom Tag CFX_ESRIMAP requires that ColdFusion can locate
the following shared libraries. The last library is in a different directory.

The two directories containing these libraries must either be listed in the java.library.path directive in
C:\JRun4\bin\jvm.config
-or-
be in the System PATH environment variable

C:\program files\arcgis\arcims\connectors\coldfusion\server\cfx_esrimap.dll

C:\program files\arcgis\arcims\connectors\coldfusion\server\aimsutil.dll

C:\program files\arcgis\arcims\connectors\coldfusion\server\emaplink.dll

C:\program files\arcgis\arcims\connectors\coldfusion\server\icuin22.dll

C:\program files\arcgis\arcims\connectors\coldfusion\server\icuuc22.dll

C:\program
files\arcgis\arcims\connectors\coldfusion\server\xerces-c_2_1_0.dll
C:\program files\arcgis\arcims\connectors\coldfusion\server\znlib.dll

C:\Program Files\ArcGIS\ArcIMS\Middleware\CF_Connector\Bin\icudt22l.dll

TrackBack

TrackBack URL for this entry:
http://www.mariposa.com.au/mt/mt-tb.cgi/195

Comments

Am I stupid... ? :)
I don't see any /connectors/coldfusion/server directory under $AIMSHOME on my Solaris installation...

Thanks for the update Tom+Kirk!

/Hugo

Hugo...

Never stupid question if it is meant as a real question. :)

On Unix platforms, you will find the connectors under the "Middleware" directory. There isn't a "connectors" directory in Unix installs. If you don't have a CF_Connector directory under $AIMSHOME/Middleware, then make sure you actually did install it! :>

Margaret

Hi All,
I'm still having issues trying to get this thing to work. Current environment:
Win 2K
IIS
Tomcat 5.0
Java SDK 1.4.2
ArcIMS 4.0.1
CF 5.0

The response I get from CF is "Error in reply from Middleware."

I tried following Mr. Donovan's instructions but I don't have a "JRun" directory with a jvm.cfg file. I do have 5 other directories with the jvm.cfg and not know which one to modify I chose to put the paths in the system environment variables.
I modified the esrimap_prop as directed, registered the cfx in the cf administrator and I'm still not getting anything from ArcIMS.

Any help on what to look at would be greatly appreciated.

Regards,
T. Mullins

Do I have to install ArcIMS? Or can I just install the connector so it points at an ArcIMS server?

Add these 2 directories in jvm.config didn't do the trick.

C:/Program Files/ArcGIS/ArcIMS/Middleware/CF_Connector/Bin,C:/Program Files/ArcGIS/ArcIMS/Connectors/ColdFusion/Server

However,
Adding these in System environment path.(It's Windows 2003) did a trick.

C:\Program Files\ArcGIS\ArcIMS\Middleware\CF_Connector\Bin;C:\Program Files\ArcGIS\ArcIMS\Connectors\ColdFusion\Server
(After this, check by run 'path' on cmd.)

kinda suspect that the space in path(Program Files) on jvm.config would cause problems.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)