Open topic with navigation

TIBCO BusinessEvents® Enterprise Edition 6.3.1

# 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.

Serializers

Two types of serializers are available for conversion between JMS messages and `SOAPEvent` events. To send SOAP messages in byte format from the TIBCO BusinessEvents engine, use the `com.tibco.cep.driver.jms.serializer.SoapMessageSerializer` serializer. To send out messages in text format, you can use the `com.tibco.cep.driver.jms.serializer.SoapTextMessageSerializer` serializer.

Channels

A JMS channel by default is 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 destination 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 to know how to deserialize a 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

A serializer and deserializer for SOAP and JMS has been added to the JMS destinations. This serializer handles the conversion between the JMS messages and SOAPEvent events. Two help catalog functions are provided as well:

Catalog Function | Description
--- | ---
`SOAP.registerEventUri()` | Voids registerEventUri(String event URI, String destinationUri, String serviceName, String soapAction, String Preprocessor) Associates an event type to a given input destination, target service, and SOAP action. This is used by the SOAP and JMS deserializer to generate events of specific types (eventUri) instead of using the default event type resolution mechanism. eventUri: The string path of an event type in the project. destinationUri: The string path of the TIBCO BusinessEvents destination receiving the message. If this is empty, it matches all the destinations. serviceName: The string name of the target service declared in the message received. If this is empty, it matches all the service names. soapAction: The string value of the SOAPAction parameter in the message received. Preprocessor: The string path of the preprocessor in the project.
`SOAP.newCorrelationId()` | String newCorrelationId(String responseEventUri) Creates a correlation ID for use when sending a message in a request and response case. This is used by the SOAP and JMS deserializer to generate a response event of a specific type, instead of using the default event type resolution mechanism. responseEventUri: The string path of an event type in the project. returns: The string correlation ID.

In the context of TIBCO BusinessEvents, the two tasks of a message serializer are deserialization from the transport-level message to an event and serialization from an event to the transport-level message.

## WSDL Export

The WSDL Export was implemented to support SOAP and JMS, but it has some limitations. The following include its limitations:

1. It uses the TIBCO format and not W3C.
2. It relies on the presence of an event registration startup function with a body that looks like something that is generated during WSDL Import.
3. It relies on a folder structure that is similar to what is generated during import.
4. It does not export all the possible information, for example, the reply-to names.

Note: The import of a WSDL, then an export to another WSDL should result in similar WSDLs, though not identical.

Did you find this helpful?

YesNo
Great!
Thanks for taking the time to give us some feedback.
Sorry about that

Why wasn't this helpful? (check all that apply)

Could not find what I was looking for
Instructions confusing or unclear
Instructions did not work

Want to tell us more?

Please select at least one option or provide details about the issue!!

Error occurred while submitting feedback.

Error2 occurred while submitting feedback.

TIBCO BusinessEvents® Enterprise Edition

Copyright © 2004-2024. Cloud Software Group, Inc. All Rights Reserved.