Skip Navigation Links | |
Exit Print View | |
Oracle Java CAPS JMS Binding Component User's Guide Java CAPS Documentation |
Using the JMS Binding Component
JMS Binding Component Overview
JMS Binding Component Features
JMS Binding Component Scenarios
Outbound InOut Exchange Scenario
Inbound InOut Exchange Scenario
Creating JMS-Based Concrete WSDL Documents
To Create a JMS-Based Concrete WSDL Document from the New WSDL Document Wizard
To Create a JMS-Based Concrete WSDL Document from the New File Wizard
Request Connection Configuration
Request Consumer Configuration
Request Publisher Configuration
Response Destination Configuration
Response Consumer Configuration
Response Publisher Configuration
Specifying the Protocol, Server, and Port
Connecting to the JMS Server Using JNDI
Configuring Redelivery Handling
Configuring Redelivery Handling from the Wizard
Configuring Redelivery Handling by Editing the WSDL Document
Using the Normalized Message Properties
Inbound Normalized Message Properties
Connection URL Property (org.glassfish.openesb.jms.inbound.connectionurl)
User Name Property (org.glassfish.openesb.jms.inbound.username)
Message Selector Property (org.glassfish.openesb.jms.inbound.messageselector)
Destination Property (org.glassfish.openesb.jms.inbound.destination)
Destination Type Property (org.glassfish.openesb.jms.inbound.destinationtype)
Forward As Attachment Property (org.glassfish.openesb.jms.inbound.forwardasattachment)
Outbound Normalized Message Properties
Connection URL Property (org.glassfish.openesb.jms.outbound.connectionurl)
User Name Property (org.glassfish.openesb.jms.outbound.username)
Password Property (org.glassfish.openesb.jms.outbound.password)
Destination Property (org.glassfish.openesb.jms.outbound.destination)
Destination Type Property (org.glassfish.openesb.jms.outbound.destinationtype)
XA Transaction Property (org.glassfish.openesb.jms.outbound.xatransaction)
Delivery Mode Property (org.glassfish.openesb.jms.outbound.deliverymode)
Timeout Property (org.glassfish.openesb.jms.outbound.timeOut)
Client ID (org.glassfish.openesb.jms.outbound.clientid)
Message Selector Property (org.glassfish.openesb.jms.outbound.messageselector)
Subscription Durability Property (org.glassfish.openesb.jms.outbound.subscriptiondurability)
Subscription Name Property (org.glassfish.openesb.jms.outbound.subscriptionname)
Forward As Attachment Property (org.glassfish.openesb.jms.outbound.forwardasattachment)
General Normalized Message Properties
Time To Live Property (org.glassfish.openesb.jms.timetolive)
Priority Property (org.glassfish.openesb.jms.priority)
Message ID Property (org.glassfish.openesb.jms.messagetype)
Message Type Property (org.glassfish.openesb.jms.messagetype)
Correlation ID Property (org.glassfish.openesb.jms.correlationid)
Reply To Destination Property (org.glassfish.openesb.jms.replytodestination)
Reply To Destination Type Property (org.glassfish.openesb.jms.replytodestinationtype)
User Properties Property (org.glassfish.openesb.jms.userproperties)
The JMS WSDL extensibility elements enable you to configure JMS connectivity and binding information for the JMS Binding Component.
JMS connectivity elements consist of the address element and the jmsjcaOptions element.
The JMS address extensibility element specifies the JMS server connectivity information.
The connectionURL attribute is required. The other attributes are optional.
All of the attributes apply to both providers and consumers.
|
The following example illustrates the JMS address extensibility element.
<port binding="y:binding" name="jmsOutOnlyTestEndpoint"> <jms:address connectionURL="mq://localhost:7676" username="admin" password="admin"/> </port>
The JMS jmsjcaOptions extensibility element can specify any option supported by JMSJCA.
Note - JMSJCA is a library that abstracts the differences between JMS servers and provides a single interface to the JMS servers. JMSJCA is shipped as part of the JMS Binding Component. For a list of supported JMS servers, go to https://jmsjca.dev.java.net.
The following example illustrates the JMS jmsjcaOptions extensibility element.
<port name="newWSDL_InPort" binding="tns:JMSInBinding"> <jms:address connectionURL="jndi://"> <jms:jmsjcaOptions> <![CDATA[JMSJCA.UnifiedCF=connectionfactories/xaconnectionfactory JMSJCA.TopicCF=connectionfactories/xatopicconnectionfactory JMSJCA.QueueCF=connectionfactories/xaqueueconnectionfactory java.naming.factory.initial=com.stc.jms.jndispi.InitialContextFactory java.naming.provider.url=stcms://localhost:18007 java.naming.security.principal=Administrator java.naming.security.credentials=STC]]> </jms:jmsjcaOptions> </jms:address> </port>
The JMS extensibility elements for binding abstract WSDL messages to JMS messages fall into several sections.
The JMS binding extensibility element indicates a binding that is of interest to the JMS Binding Component. This element is an empty element that serves as a marker enabling the JMS Binding Component to gather JMS "binding" information described by the other JMS extensibility elements.
The JMS binding extensibility element must be specified in the WSDL to define a JMS protocol-based binding.
The following example illustrates the JMS binding extensibility element.
<binding name="bindingJMSOneWayOut" type="tns:portTypeOneWayOut"> <jms:binding></jms:binding> ... </binding>
The JMS operation extensibility element indicates an operation binding that is of interest to the JMS Binding Component. This element has attributes and child elements that are used to define JMS message delivery options for the JMS Binding Component.
The destination and destinationType attributes are required. The other attributes are optional.
The following attributes apply to both providers and consumers: destination, destinationType, and transaction.
The following attributes apply to providers only: deliveryMode, timeToLive, priority, disableMessageID, disableMessageTimeStamp, timeout, and clientID.
The following attributes apply to consumers only: messageSelector, subscriptionDurability, subscriptionName, batchSize, maxConcurrentConsumers, and redeliveryHandling.
|
The following example illustrates the JMS operation extensibility element.
... <operation name="Operation1"> <jms:operation destination="MyTopic" destinationType="Topic" messageSelector="JMSType='FOO.Type'"/> ... </operation> ...
The messageType and use attributes are required. The other attributes are optional.
|
The following example illustrates the JMS message extensibility element.
... <jms:binding></jms:binding> <operation name="operationOneWayOut"> <jms:operation destination="MyTopic" destinationType="Topic" messageSelector="JMSType='FOO.Type'"/> <input name="input"> <!—jms:message defines the WSDL message to/from jms message mappings --> <jms:message messageType="MapMessage" use="literal" correlationIdPart=”msgPart1” deliveryModePart=”msgPart2” priorityPart=”msgPart3” typePart=”msgPart4” messageIDPart=”msgPart5” timestampPart=”msgPart6”> <jms:mapmessage> <jms:mappart part="partBoolean" type="boolean" name="BooleanMapEntry"> </jms:mappart> <jms:mappart part="partChar" type="char" name="CharMapEntry"> </jms:mappart> </jms:mapmessage > </jms:message> </input> </jms:operation> </operation> </jms:binding> ...
The JMS properties extensibility element is a collection of property elements. It is an optional child element of the JMS message extensibility element.
Each property element defines a mapping of a JMS message user property, either to or from a WSDL message part.
The JMS property element includes the following attributes, all of which are required.
|
The following example illustrates the JMS properties and property extensibility elements.
... <jms:message messageType="TextMessage" textPart="partBody"> <jms:properties> <jms:property part="partPropString" propertyType="string" name="AppStringProperty"> </jms:property> </jms:properties> </jms:message> ...
When the exchange involves a JMS MapMessage type, the JMS mapmessage extensibility element is used to define the mapping of the JMS MapMessage to the WSDL message parts and vice versa.
This element is a child element the JMS message extensibility element. The mapmessage element is a collection of one or more mappart elements.
The JMS mappart element contains the following attributes, all of which are required.
|
The following example illustrates the JMS mapmessage and mappart extensibility elements.
... <jms:message messageType="MapMessage"> <jms:mapmessage> <jms:mappart part="partBoolean" type="boolean" name="BooleanMapEntry"> </jms:mappart> <jms:mappart part="partChar" type="char" name="CharMapEntry"> </jms:mappart> </jms:mapmessage> </jms:message> ...