Send Outbound Messages to Web Services

You can configure an object workflow to send an outbound message to a Web service at a specified endpoint URL. The endpoint URL is an external Web service that shares data with your applications, and must conform to your Oracle service WSDL.

For example, you can define an object workflow that automatically sends, based on a trigger, an outbound message containing an object like opportunity, lead, or account details from one system to another.

This figure illustrates how outbound messages are configured as part of object workflows.
Outbound Messages

You can configure outbound-messages event for a parent or a child object. When you define a workflow using a parent object, the outbound message is sent using service data objects (SDO) of that parent object as well as its child objects. When you define a workflow using a child object, the outbound message is sent using the SDO of only the child object.

To define an outbound message action:

  1. From the Application Composer main page, select Object Workflows.

  2. Click Create.

  3. Select an Object and provide a meaningful Name and Description for the workflow you are creating.

  4. Define the trigger condition using When a record is created or When a record is updated event point.

  5. Select the Outbound Message event action.

    This opens the Create Action: Outbound Message page.

  6. Specify the Name and Description for the outbound message action and set the Execution Schedule for triggering the action. See: Execution Schedule in this topic.

  7. Provide the endpoint URL of the external Web service.

    To build the external Web service, use the OutboundMessageService.wsdl and .xsd files. Then, when defining the outbound message event action for the object workflow, you provide the endpoint URL of the external Web service.

    For example, an endpoint URL can be http://GlobalFusion:7011/OMTestOpportunity/OutboundMessageServiceSoapHttpPort. At run time, a service data object containing details of the object on which the object workflow is defined is sent to the specified endpoint URL.

  8. Save the event action.

Execution Schedule

While defining an event action, you can optionally set an execution schedule that governs when an event action should happen. Else, the event actions are run immediately. When multiple event actions are configured, the Field Updates happen first before any other event action is triggered. For event actions other than Field Updates, there is no particular sequence and the event actions are triggered based on whether or how you configure the execution schedule.

If a field update event action is also scheduled along with outbound messages event action, the field updates event action is triggered first, so that the outbound messages contain the updated data.

Security Considerations

The outbound messages can use either an authentication-only client-side security policy or a transport-level security policy that protects the message during transfer. The default authentication-only policy used by object workflow outbound message is oracle/wss10_saml_token_client_policy. This policy includes Security Assertion Markup Language (SAML) tokens in outbound Simple Object Access Protocol (SOAP) request messages. This policy should only be used when the target web service is located within a secure network segment.

The corresponding service can use any compatible service policy, such as oracle/wss10_saml_token_service_policy or oracle/wss_saml_or_username_token_service.

When the service is outside your firewall, you must protect the message by selecting the Protect Message option on the Create Action: Outbound Message page. When protected, the outbound message uses oracle/wss_username_token_over_ssl_client_policy with one-way secure socket layer (SSL) enabled by default. The corresponding service must use a compatible service policy, such as oracle/wss_username_token_over_ssl_service_policy.

Outbound Messages Protection

You must perform the following setup activities when you are using the Protect Message option:

  1. Your applications require credentials to access the remote system to which the outbound message is being sent. Log a service request (SR) to provide these credentials to access the remote system.

  2. If the remote system is using a self-signed SSL certificate, log an SR for the Oracle administrator to import the SSL certificate.