SOAP over JMS Support in WSDL Import and Export
SOAP and JMS are supported in WSDL Import and Export for events, channels, rules, rulefunctions and catalog functions.
WSDL Import
The WSDL Import wizard generates resources for handling SOAP and JMS bindings.
Events
One Event type named /Events/SoapJms. This event inherits from SOAPEvent and provides a set of properties that may be useful for SOAP and JMS. Events are operation-specific events and they are imported similarly as for the SOAP and HTTP WSDL Import.
Channels
A JMS channel by default is located at /Channels/SoapJms for each different set of parameters, with one shared JMS connection resource.
By default the resource is in the Transport folder of the imported service folder. One destinations for each different set of destination parameters is designated.
By default the destination is named destinationName, which uses the serializer SoapMessageSerializer and the default event type /Event/SoapJms. See the RegisterSoapEventUris function below, which allows the deserializer know how to deserialize message into operation-specific events instead of using the destination default.
Rules
There is one rule for each operation, which is imported similarly as for the SOAP and HTTP WSDL Import.
By default, the rule replies with a SOAP fault stating that the operation is not implemented.
RuleFunctions
There is one RuleFunction for each operation, which is imported similarly as for the SOAP and HTTP WSDL Import.
If desired, the RuleFunction can be used as a preprocessor function.
The one RuleFunction is named, RegisterSoapEventUris.
By default, it is available in the Transport folder of the imported service folder. This registers in the JMS SoapMessageSerializer, and event type for each operation that is reachable by a SOAP and JMS binding. It should be invoked as a startup function.
Catalog Functions
WSDL Export
The WSDL Export was implemented to support SOAP and JMS, but it has some limitations. The following include its limitations:
- It uses the TIBCO format and not W3C.
- It relies on the presence of an event registration startup function with a body that looks like something that is generated during WSDL Import.
- It relies on a folder structure that is similar to what is generated during import.
- It does not export all of the possible information, for example, the reply-to names.