Trading configuration > Community trading pickups and partner deliveries > Fields for adding trading pickups and deliveries > JMS transport configuration

JMS transport configuration

To use this exchange, you must have JMS experience and a working JMS system.

Your JMS system may have file size limitations. Check the documentation for your JMS system.

The JMS application transport is an input and output source for messages. This is how it works: Activator polls the JMS server for messages in the designated inbound queue. This means that any JMSMessage placed in the queue by another process is retrieved by Activator, which verifies the type of JMSMessage (BytesMessage or TextMessage). If verified, Activator packages and sends it to the partner. Likewise, every message Activator receives from a partner is unpackaged, converted to a BytesMessage or TextMessage and placed on the designated outbound queue.

For applicaton pickup exchanges, Activator determines whether the message read from the queue is a BytesMessage or a TextMessage. For delivery application delivery exchanges, in which messages from partners are sent to back-end systems, you can select the JMS type (BytesMessage or TextMessage) on the Advanced tab of the transport’s maintenance page.

When using JMS for application exchanges, configure Activator to parse EDI and XML messages retrieved from a back-end system for sender and receiver information.

Binary documents retrieved from the back-end must have the following metadata string parameters appended to the BytesMessage or TextMessage: SenderRoutingId, ReceiverRoutingId and ContentMimeType. Activator performs routing decisions based on the string parameters.

When Activator sends a BytesMessage or TextMessage to the back end, it includes the string parameters SenderRoutingId, ReceiverRoutingId and ContentMimeType for all document types.

Note that when Activator encounters a metadata element containing characters that JMS cannot recognize, it changes the offending characters into the hex representation of the ASCII code of the characters. For example, the metadata element ediint.DocumentType becomes ediint$2eDocumentType. The $2e is the hex representation of a period. When submitting JMS messages to Activator, use the properly encoded hex names to have them turned into the proper metadata names.

In addition to using the delivery exchange wizard to configure a JMS transport, other set up is required. Depending on your provider, follow the recommendations in the JMS transport configuration or JMS transport configuration topic.

Most providers

In addition to completing the JMS transport configuration page in the user interface, to enable Activator to use a custom JMS provider:

  1. Copy the necessary JAR files for your JMS provider to <install_directory>/Activator/site/jars.
  2. This directory is already part of the CLASSPATH.
  3. Restart Activator.

Troubleshooting

Note: You cannot have multiple versions of the provider JAR files in the ...Activator/site/jars or ...Activator/corelib/db/ directories. For example, if you already have v7.5 IBM MQ JARs and add V8.0 JARs, you must remove the older JARS to avoid conflicts.

In Windows environments, in some cases you may experience JAR conflicts when a provider JAR file is added to ...Interchange/site/jars. If this the case, you can:

  1. Create a new folder to contain the specific JAR files for the JMS provider.
  2. Go to .../Activator/conf and open jvmArguements.xml in a text editor.
  3. Add the name of the directory containing the JAR or class files (or both) in the jvmArguements.xml file so the server can locate the JMS and JNDI provider. Add CLASSPATH entries under the “TE” node type, as in the following example. Entries can be either a “path” reference or a reference to a single JAR:
  4. <NodeType type="TE" class="com.axway.clusterold.startup.Boot">

    ...

    <Classpath>../jars/custom.jar</Classpath>

    <Classpath>/JMSProviderJarPath</Classpath>

  5. Save the file.

WebSphere MQ

For WebSphere MQ configuration details, see WebSphere MQ configuration.

JMS fields

The following fields are used in the delivery exchange wizard for configuring this transport.

Except for the user name and password, you can obtain the information needed to complete this page from the JMS provider's documentation. The information varies depending on the provider. If you have questions, contact your JMS provider.

Click Next if you want to name the exchange. Otherwise, click Finish.

Testing JMS

You can use the jmsTester tool to exercise the JMS client outside of Activator. The script to start jmsTester can be found in <install directory>\tools.

jmsTester is a console-based application that can verify the operation of the JMS client in Activator and a partner’s JMS server. Activator server does not have to be running to use this tool. You can use it on UNIX or Windows.

jmsTester duplicates the way Activator accesses a JMS server. It is a test program to verify interoperability with JMS servers. If you can send, list, receive and delete files on a JMS server using jmsTester, this is a good indication Activator can interoperate with the server.

jmsTester prompts for all the information it needs, as the following illustrates:

After prompting for the initial configuration information, you can use one of the following test commands: