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.
In addition to completing the JMS transport configuration page in the user interface, to enable Activator to use a custom JMS provider:
<
install_directory>/
Activator
/site/jars
. Note: You cannot have multiple versions of the provider JAR files in the ...
Activator
/site/jars
or ...
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.Activator
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:
.../Activator
/conf
and open jvmArguements.xml
in a text editor.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:
<NodeType type="TE" class="com.axway.clusterold.startup.Boot"> ... <Classpath>../jars/custom.jar</Classpath> <Classpath>/JMSProviderJarPath</Classpath> |
For WebSphere MQ configuration details, see WebSphere MQ configuration.
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.
smqp://localhost:4001/timeout=10000
com.swiftmq.jndi.InitialContextFactoryImpl
com.cyclonecommerce.tradingengine.transport.jms.OracleAQQueueUtil
If you want a Java class for a provider other than Oracle AQ, you need the help of a professional services consultant. Contact technical support for information.
Click Next if you want to name the exchange. Otherwise, click Finish.
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:
**** Welcome to the Cyclone JMS test program **** -> (n)ew client, (c)onnect, (d)isconnect, (s)end, (r)etrieve, (a)cknowledge, (q) uit: n -> Use JNDI (Y/N - default is yes): -> JNDI URL (): url -> JNDI Factory (): factory -> JNDI Username (): name -> JNDI Password (): pwd -> JMS Queue Connection Factory(null): : -> JMS Queue (null): -> JMS Username (null): -> JMS Password (null): -> Use Transacted Queue (Y/N - default is no): -> Send using Bytes or Text Message type: (bytes): |
After prompting for the initial configuration information, you can use one of the following test commands: