So as it turns out the install and config instructions for the JDE EnterpriseOne BizTalk adapters are lacking information. After following the install guide I spent the best part of a couple of days testing and sorting out java errors until we finally had some success. Below are a few tips on things to look out for, these tips relate to the BizTalk 2013 release of BizTalk Server.
- Don’t go looking for the download for the “BizTalk Server 2013 Adapters for Enterprise Applications”, they are now bundled in with the BizTalk installer. No hassles experienced here. Just launch the BizTalk installer and proceed through the “Install BizTalk Adapters” wizard in order installing the WCF LOB SDK, BizTalk Adapter Pack, and then finally the BizTalk Adapters for Enterprise Applications.
- Install the latest version of JDK. I have the adapter working perfectly with jdk-7u15-windows-i586.
- Ask your CNC specialist for a copy of all .jar files from the Enterprise One server as well as the jde.ini and jdeinterop.ini files. I say all as I went back to my CNC guy about six times after having java errors about files missing. We ended up dumping the lot of BizTalk Server. These jar files are literally for “JDE ThinNet” which is tech used to communicate between BizTalk and EnterpriseOne.
- On the BizTalk Server create a CLASSPATH environment variable and add the following to it.
E:\J\ApplicationAPIs_JAR.jar;E:\J\ApplicationLogic_JAR.jar;E:\J\Base_JAR.jar;E:\J\BizLogicContainer_JAR.jar;E:\J\BizLogicContainerClient_JAR.jar;E:\J\Connector.jar;E:\J\jdbj.ini;E:\J\JdbjBase_JAR.jar;E:\J\JdbjInterfaces_JAR.jar;E:\J\jdeinterop.ini;E:\J\jdelog.properties;E:\J\JdeNet_JAR.jar;E:\J\log4j.jar;E:\J\msbase.jar;E:\J\mssqlserver.jar;E:\J\msutil.jar;E:\J\PMApi_JAR.jar;E:\J\Spec_JAR.jar;E:\J\System_JAR.jar;E:\J\xalan.jar;E:\J\xerces.jar;E:\Program Files (x86)\Microsoft BizTalk Adapters for Enterprise Applications\J.D. Edwards EnterpriseOne(r)\Classes\JDEDynAccess.jar;E:\DB2 JDBC Driver\jt400.jar;E:\J\SystemInterfaces_JAR.jar;E:\J\ManagementAgent_JAR.jar;E:\J\commons-logging-1.1.1.jar;E:\J\commons-httpclient-3.0.jar;E:\J\xmlparserv2.jar;E:\J\MetadataInterface.jar;E:\J\j2ee1_3.jar;E:\J\BusinessLogicServices_JAR.jar;E:\J\castor.jar;E:\J\EventProcessor_EJB.jar;E:\J\EventProcessor_JAR.jar;E:\J\Generator_JAR.jar;E:\J\jmxremote.jar;E:\J\jmxremote_optional.jar;E:\J\jmxri.jar;E:\J\Metadata.jar;
- When configuring a send port in the “JDEdwards JAR Files” field add the following which you’ll note doesn’t include all the jar files. At the time of posting I haven’t culled down the jar files, possibly all the below aren’t required. More testing is needed on that. You’ve probably also noticed I have used a directory call “J”, this was an attempt to reduce the path length on my development server because the send port adapter property field only accepts 1024 characters. Also note the syntax around the drive letter, this is required.
<E:>\J\ApplicationAPIs_JAR.jar;<E:>\J\ApplicationLogic_JAR.jar;<E:>\J\Base_JAR.jar;<E:>\J\BizLogicContainer_JAR.jar;<E:>\J\BizLogicContainerClient_JAR.jar;<E:>\J\Connector.jar;<E:>\J\jdbj.ini;<E:>\J\JdbjBase_JAR.jar;<E:>\J\JdbjInterfaces_JAR.jar;<E:>\J\jdeinterop.ini;<E:>\J\jdelog.properties;<E:>\J\JdeNet_JAR.jar;<E:>\J\log4j.jar;<E:>\J\msbase.jar;<E:>\J\mssqlserver.jar;<E:>\J\msutil.jar;<E:>\J\PMApi_JAR.jar;<E:>\J\Spec_JAR.jar;<E:>\J\System_JAR.jar;<E:>\J\xalan.jar;<E:>\J\xerces.jar;<E:>\Program Files (x86)\Microsoft BizTalk Adapters for Enterprise Applications\J.D. Edwards EnterpriseOne(r)\Classes\JDEDynAccess.jar;<E:>\DB2 JDBC Driver\jt400.jar;<E:>\J\SystemInterfaces_JAR.jar;<E:>\J\ManagementAgent_JAR.jar;<E:>\J\commons-logging-1.1.1.jar;<E:>\J\commons-httpclient-3.0.jar;<E:>\J\xmlparserv2.jar;<E:>\J\MetadataInterface.jar;<E:>\J\j2ee1_3.jar;
- The rest is pretty straight forward. One word of advice. The JDE system tables which take care of sign-on and OCM are often shared between environments. In some cases I’ve seen the “Bootstrap Data Source” section of the send port adapter properties on a development server pointing to production as all JDE system tables are shared from PROD. Something to watch out for, your CNC specialist should be able to advise on this.
At this point you should be able to launch the “Add Generated Items” wizard from Visual Studio and browse a list of JDE business functions. When I was experiencing problems with the CLASSPATH or JAR file settings in the send port properties I would get an unhandled exception whilst attempting to add generated items. Sometimes the exceptions are meaningful and will tell you what jar file is missing, other times the exceptions are extremely obscure. Note the list of jar files in the install and config guide for the adapters is incorrect. The above from step 4 and 5 should get you over the java errors with the BizTalk Server 2013 version of the EnterpriseOne adapter.
If you experience security related issues typically the add generated items wizard handles this gracefully. You will see an empty list of business functions returned, no error is typically visible from the add generated items wizard. However an exception will be logged in the windows application event log. Be aware that the logged exceptions often provide no meaningful insight. We had to go through the security config and the configuration of the adapter properties with our CNC specialist a number of times to get this correct. Problems will typically be around the “Bootstrap Data Source” and “Security Server” sections of the adapter send port properties.