Performs runtime selection of which backend service implementation
to invoke.
Description
The Service Invocation mediation primitive
performs runtime selection of which backend service implementation to invoke.
The backend service endpoint is determined by a policy attribute. The Service
Invocation mediation primitive also provides additional function around setting
up the call to the backend Web service, including session and attachment propagation.
Policy configuration
This mediation primitive makes
use of the following policies for runtime configuration:
service.Endpoint
The
endpoint used for calling the backend Web service. This attribute identifies
the service implementation mapping for the Web service request. If this policy
is critical for calling the backend service, implementation and fault are
raised when this policy is not present.
service.notification.Username
User
name used for transport-level security in delivering outbound notifications.
If this policy is not present, no transport-level security is used.
service.notification.Password
Contains
an encrypted password used for transport-level security in delivering outbound
notifications. If this policy is not present, no transport-level security
is used. Encrypt the password with the AdminTool that is provided with TWSS:
java -jar AdminTool.jarencryptpassword.
Mediation primitive properties
This mediation primitive
uses the following configuration properties. These properties can be modified
using WebSphere® Integration
Developer (WID) tooling. Properties that are promoted can be configured using
the Integrated Solutions Console.
propagateAttachments
Indicates whether to propagate attachments along with the backend
Web service invocation. If false, no attachments are included with the request.
This allows this primitive to be reused in different parts of the flow to
provide dynamic invocation capabilities where it might not be desirable to
propagate attachments. This capability is enabled by default.
- Type: Boolean
- Default: True
- Promoted: Yes
Upstream SOAP headers
The following SOAP header
elements are expected from upstream mediation primitives. The notification
element is expected only for notification messages:
<twss:twssHeaders>
...
<twss:policies>
<twss:policy attribute="" value=""/>
<twss:policy attribute="" value=""/>
...
</twss:policies>
<twss:notification>
<twss:destination>
<!-- The notification endpoint destination -->
</twss:destination>
</twss:notification>
...
</twss:twssHeaders>
Added SOAP headers
The following SOAP header elements
are added or modified for downstream mediation primitives:
None
Message handling
Messages that are successfully
processed by the Service Invocation mediation primitive are passed to the
output terminal of the mediation primitive. If an error occurs in processing
the message, the message is redirected to the fault terminal.
- The service message object (SMO) data object transient context (“context/transient/exceptionType”)
indicates whether a service-related or policy-related exception occurred,
- Fault information is set in the SMO headers as indicated in the following
table:
SMO Header (Represented by XPath) |
Contents |
ServiceMessageObject/context/failInfo/failureString |
The full message text that represents the fault situation with substituted
variables. For example, SOAC4025E: Error occurred. |
ServiceMessageObject/context/failInfo/origin |
The name of the mediation primitive class that originated the fault. |
ServiceMessageObject/SOAPFaultInfo/faultcode |
The TWSS message code that represents the fault situation. For example, SOAC4025E. |
ServiceMessageObject/SOAPFaultInfo/faultstring |
The full message text that represents the fault situation with substituted
variables. For example, SOAC4025E: Error occurred. |