IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

WSDL URI formats for JMS

You must use WSDL to configure SOAP nodes. When using WSDL with a JMS transport, different URI formats can exist in the address element in the WSDL, which affect how properties are parsed and applied to the configured nodes.

Two different URI formats can exist in the WSDL address element. Several node properties are initially set from properties in the imported WSDL, which is parsed according to which type of URI is found in the WSDL element. The first type is the W3C SOAP JMS specification format. For example:

<soap:address location="jms:jndi:REPLYTOQ2?jndiConnectionFactoryName=QCF&amp;
	jndiInitialContextFactory=com.sun.jndi.fscontext.RefFSContextFactory&amp;
	jndiURL=file:/C:/mqsi6/webservices/SOAP/JMS/JNDI&amp;
	targetService=SOAPJMSGenMessageSetSOAP_JMS_Service&amp;
	timeToLive=30000"
/>

The second URI format for the address element is a proprietary IBM® format which is currently deprecated. For example:

<soap:address location="jms:/queue?destination=jms/RequestQ&amp;
	connectionFactory=jms/WMBQCF&amp;
	targetService=SOAPJMSGenMessageSetSOAP_JMS_Service&amp;
	initialContextFactory=com.sun.jndi.fscontext.RefFSContextFactory&amp;
	jndiProviderURL=file:/C:/mqsi6/webservices/SOAP/JMS/JNDI"
/>

There are several differences between these URI formats. IBM Integration Bus accepts both URI formats. Different WSDL properties are used to set the SOAP node properties depending on which URI format is used in the WSDL address element.

The following table shows how WSDL properties are parsed into SOAPInput node properties. The columns headed "W3C names in URI" and "W3C allowed values" indicate the property names that the parser looks for when a W3C-style URI is found, and the allowed values for those properties. The columns headed "IBM names in URI" and "IBM allowed values" indicate the property names that the parser looks for when an IBM-style URI is found in the WSDL, and the allowed values for those properties. Where more than one property name is shown in a table cell, the node property is set to the value of the first of those property names found in the WSDL address element. Any properties found in the WSDL address element that are not parsed into node properties are discarded.
SOAPInput node property name W3C SOAP/JMS specification names W3C names in URI W3C allowed values IBM names in URI IBM allowed values
Source soapjms:destinationName jms-dest (in URI) <string> destination <string>
Connection factory name soapjms:jndiConnectionFactoryName jndiConnectionFactoryName <string> connectionFactory <string>
Initial context factory soapjms:jndiInitialContextFactory jndiInitialContextFactory <string> initialContextFactory <string>
JNDI URL bindings location soapjms:jndiURL jndiURL <URL> jndiProviderURL <URL>
JNDI parameters soapjms:jndiContextParameter jndi-name=value <string for name and value> N/A <string>
Delivery mode soapjms:deliveryMode deliveryMode

NON_PERSISTENT

PERSISTENT1

deliveryMode

persistence

<int 1 | 2>
Message priority soapjms:priority priority <int 0-9>

priority

Priority

<int 0-9>
Target service soapjms:targetService targetService <string> targetService <string>
Notes:
  1. IBM Integration Bus accepts the values 1 and 2 when parsing a W3C-style URI for compatibility reasons, but the W3C specification allows only the string values NON_PERSISTENT and PERSISTENT for this property.
The following table shows how WSDL properties are parsed into SOAPRequest andSOAPAsyncRequest node properties. The columns headed "W3C names in URI" and "W3C allowed values" indicate the property names that the parser looks for when a W3C-style URI is found, and the allowed values for those properties. The columns headed "IBM names in URI" and "IBM allowed values" indicate the property names that the parser looks for when an IBM-style URI is found in the WSDL, and the allowed values for those properties. Where more than one property name is shown in a table cell, the node property is set to the value of the first of those property names found in the WSDL address element. Any properties found in the WSDL address element that are not parsed into node properties are populated in the User Parameters table.
SOAPRequest or SOAPAsyncRequest node property name W3C SOAP/JMS specification names W3C names in URI W3C allowed values IBM names in URI IBM allowed values
Destination soapjms:destinationName jms-dest (in URI) <string> destination <string>
Connection factory name soapjms:jndiConnectionFactoryName jndiConnectionFactoryName <string> connectionFactory <string>
Initial context factory soapjms:jndiInitialContextFactory jndiInitialContextFactory <string> initialContextFactory <string>
JNDI URL bindings location soapjms:jndiURL jndiURL <URL> jndiProviderURL <URL>
JNDI parameters soapjms:jndiContextParameter jndi-name=value <string for name and value> N/A <string>
Delivery mode soapjms:deliveryMode deliveryMode

NON_PERSISTENT

PERSISTENT1

deliveryMode

persistence

<int 1 | 2>
Message expiration soapjms:timeToLive timeToLive <int> timeToLive <int>
Message priority soapjms:priority priority <int 0-9>

priority

Priority

<int 0-9>
Reply to destination soapjms:replyToName replyToName <string>

replyToName

replyTo

replyToDestination

replyDestination

<string>
Target service soapjms:targetService targetService <string> targetService <string>
User parameters UserProperties <any other property name> <string> <any other property name> <string>
Notes:
  1. IBM Integration Bus accepts the values 1 and 2 when parsing a W3C-style URI for compatibility reasons, but the W3C specification allows only the string values NON_PERSISTENT and PERSISTENT for this property.

bc19000_.htm | Last updated Friday, 21 July 2017