8  Managing SOA Composite Applications

This chapter describes how to manage SOA composite applications, including initiating a test instance of an application; managing faults, policies, and instance states; and testing SOA composite applications.

This chapter includes the following topics:

Note:

The procedures in this guide describe how to access Oracle Enterprise Manager Fusion Middleware Control Console pages from the SOA Infrastructure menu, soa-infra icon in the navigator, and SOA Composite menu. You can also access many pages from the Farm home page. For more information, see Section 2.2.5, "Navigating to the SOA Infrastructure or SOA Composite Application Home Page."

8.1 Initiating a SOA Composite Application Test Instance

This section describes how to initiate a test instance of a deployed SOA composite application.

To initiate a SOA composite application test instance:

  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator... From the Composite Menu...
    1. Select Home.
    2. Select the Deployed Composites tab.

    3. In the Composite section, select a specific SOA composite application.

    4. At the top of the page, click Test.

    1. Under soa-infra, select a specific SOA composite application.
    2. At the top of the page, click Test.

    1. Select Test Service > client.

    Note:

    The Test button is disabled in the following situations:
    • The SOA composite application revision is stopped or retired.

    • There are no Web services available for the application. Only composites having services with Web service bindings can be tested from this page.

  2. If the composite includes multiple services, the Test button has a drop-down list to select the service to test.

    The Test Web Service page for initiating an instance appears.

    This page provides many options for initiating an instance. At a minimum, you must specify the XML payload data to use in the Input Arguments section.

    The WSDL file and endpoint URL are populated automatically based on the service you selected to test. The endpoint URL is derived from the WSDL and can be overridden to invoke that service at a different location. If the service selected has multiple ports, a drop-down list is displayed. Otherwise, the port of the current service is displayed.

    Description of sca_test_payload.gif follows
    Description of the illustration sca_test_payload.gif

  3. Accept the default values for these fields or provide values appropriate to your test environment.

  4. If you change the WSDL file, click Parse WSDL to reload the WSDL file.

    If the WSDL URL does not contain the revision number, it is processed by the default composite application. For example, if there are two revisions of a composite application named HelloWorld, then the following endpoints are exposed by them:

    • http://host:port/soa-infra/services/default/HelloWorld!1.0/client

    • http://host:port/soa-infra/services/default/HelloWorld!2.0/client

    However, if the WSDL specified for Web service invocation does not contain the revision details (for example, http://host:port/soa-infra/services/default/HelloWorld/client), it is processed by the composite revision that is set as default.

  5. If you want to edit the endpoint URL, click Edit Endpoint URL and make appropriate changes.

    The lower part of the Test Web Service page consists of the Request tab. This tab enables you to specify security, quality of service, HTTP transport, stress testing options, and XML input arguments:

    Description of sca_test_payload2.gif follows
    Description of the illustration sca_test_payload2.gif

    The Security section includes the following fields for passing security properties with messages.

    Field Description
    WSS Username Token Inserts a WS-Security SOAP header. The Username field is required, and the Password field is optional.
    Http Basic Auth Inserts the username and password credentials in the HTTP transport header. Both the Username and Password fields are required.
    Custom Policy Uses a custom policy to authenticate the user (specifies the URI for the custom policy). The Username and Password fields are optional.
    None Select to not specify security credentials. This is the default selection.

  6. Accept the default values for these fields or provide values appropriate to your test environment.

    The Quality of Service section includes the following fields. Oracle Fusion Middleware uses a policy-based model to manage Web services. A policy applies behavior requirements to the delivery of messages. For additional details about using the Test Web Service page, see Oracle Fusion Middleware Security and Administrator's Guide for Web Services.

    Field Description
    WS-RM Select one of the following options for testing WS-Reliable Messaging (RM) protocol policies. Reliable messaging policies support this protocol, which guarantees the end-to-end delivery of messages.
    • WSDL Default: Executes the default behavior of the WSDL. For example, if the WSDL contains a reference to a WS-RM policy, then the policy is enforced. If the WSDL does not contain a reference to a WS-RM policy, then reliable messaging is not tested.

    • None: No policy for WS-RM is tested even if the WSDL contains a reference to a policy.

    • Custom: Enforces a custom policy. Specify the URI of the custom policy in the Policy URI field. If a WS-RM policy is referenced in the WSDL, it is ignored, and the policy specified in the Policy URI field is used instead.

    MTOM Select one of the following options for testing Message Transmission Optimization Mechanism (MTOM) policies. MTOM policies ensure that attachments are in MTOM format, a format for efficiently sending binary data to and from Web services.
    • WSDL Default: Executes the default behavior of the WSDL. For example, if the WSDL contains a reference to an MTOM policy, then the policy is enforced. If the WSDL does not contain a reference to an MTOM policy, then MTOM is not tested.

    • None: No policy for MTOM is tested, even if the WSDL contains a reference to a policy.

    • Custom: Enforces a custom policy. Specify the URI of the custom policy in the Policy URI field. If an MTOM policy is referenced in the WSDL, it is ignored, and the policy specified in the Policy URI field is used instead.

    WS-Addressing Select one of the following options for testing WS addressing policies. WS addressing policies verify that SOAP messages include WS-Addressing headers in conformance with the WS-Addressing specification.
    • WSDL Default: Executes the default behavior of the WSDL. For example, if the WSDL contains a reference to a WS-Addressing policy, then the policy is enforced. If the WSDL does not contain a reference to a WS-Addressing policy, then WS-Addressing is not tested.

    • None: No policy for WS-Addressing is tested even if the WSDL contains a reference to a policy.

    • Custom: Enforces a custom policy. Specify the URI of the custom policy in the Policy URI field. If a WS-Addressing policy is referenced in the WSDL, it is ignored, and the policy specified in the Policy URI field is used instead.


  7. Accept the default values for these fields or provide values appropriate to your test environment.

    The HTTP Transport Options section includes the following fields.

    Field Description
    Enable SOAP Action Specifies whether the WSDL soap:operation has a soapAction attribute. This flag is enabled if a soapAction attribute exists. If you do not want to send a request with the SOAP action HTTP header, then clear the check box.
    SOAP Action Displays the soapAction attribute of the WSDL soap:operation, if one exists. You may specify a different SOAP action in this text box.

  8. Accept the default values for these fields or provide values appropriate to your test environment.

    The Additional Test Options section includes the following fields. This section provides a simple stress test that simultaneously invokes multiple instances.

    Note:

    This is not a real stress test tool. Therefore, do not enter huge values for both concurrent threads and the number of times to invoke the operation. Doing so can result in errors.
    Field Description
    Enable Stress Test Click Enable to create a simple stress test. With this enabled, no conversation ID is displayed.
    Concurrent Threads Enter the number of concurrent threads on which the invocations should be sent. The default is 5 threads.
    Loops per Thread Enter the number of times to invoke the operation. The default is 10 times.
    Delay in Milliseconds Specify the delay of milliseconds to wait between operation invocations. The default is 1000 milliseconds (1 second).

  9. Accept the default values for these fields or provide values appropriate to your test environment.

    The Input Arguments section includes the following options for entering XML payload data.

    Field Description
    Tree View Displays a graphical interface of text fields in which to enter information. This option automatically generates the required headers and XML structure.
    XML View Displays the XML file format for inserting values. You can paste the raw XML payload of your message into this field.

    Note:

    If you are using Oracle Enterprise Manager Grid Control Console, you can save the payload you enter. This feature is not available with Oracle Enterprise Manager Fusion Middleware Control Console.
  10. Click Test Web Service.

    The test results appear in the Response tab upon completion.

    Description of soaapp_testresult.gif follows
    Description of the illustration soaapp_testresult.gif

    Note:

    The Response tab does not display payload data if you are performing a stress test or are testing an asynchronous service.
  11. Click Launch Message Flow Trace to access the flow trace of the instance.

  12. To return to the composite home page, click the name of the composite that appears at the top of the page or select Home from the composite target menu.

  13. Return to the Dashboard page of the SOA composite application.

    The Recent Instances table lists recent SOA composite application instances. Each created instance has its own unique ID.

For more information, see the following sections:

8.2 Managing the State of Deployed SOA Composite Applications

You can manage the life cycle state of deployed SOA composite applications from either of two pages:

  • From the Deployed Composites page of the SOA Infrastructure, which lists all SOA composite applications deployed to the SOA Infrastructure

  • From the application home page of a specific SOA composite application (all tabs)

The management tasks that you can perform are based on the page you are on. Table 8-1 provides details.

Table 8-1 Application State Actions

Action Perform in the Deployed Composites Page of the SOA Infrastructure? Perform on the Application Home Page (All Tabs)?

Shut Down and Start Up

Yes

Yes

Retire and Activate

Yes

Yes

Set as Default

Yes

  • No: If only one version of the composite application is set as the default.

  • Yes: If there are multiple versions of the same composite application, this option is visible for all other versions of the same composite expect the one that is the default.

Deploy

Yes

Yes (through the Composite menu by selecting SOA Deployment > Deploy Another Composite)

Undeploy

Yes

Yes (through the Composite menu by selecting SOA Deployment > Undeploy)

Redeploy

Yes

Yes (through the Composite menu by selecting SOA Deployment > Redeploy)

Test

No

Yes

Composite Audit Level

No

Yes

Payload Validation

No

Yes

Show WSDL and Endpoint URI (icon)

No

Yes

Show XML Definition (icon)

No

Yes


See the following section based on the action you want to perform:

For more information, see Section 1.2.2, "Understanding SOA Composite Applications."

8.2.1 Managing the State of All Applications at the SOA Infrastructure Level

You can manage the state of all SOA composite applications from the Deployed Composites page at the SOA Infrastructure level.

To manage the state of all applications at the SOA Infrastructure level:

  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator... From the SOA Composite Menu...
    1. Select Home.
    1. Click soa-infra.
    1. Select SOA Infrastructure.

  2. Click the Deployed Composites tab.

    The Deployed Composites page displays the following details:

    • A utility for searching for a specific SOA composite application by specifying a full or partial composite name and clicking Search.

    • A list of all SOA composite applications deployed in the SOA Infrastructure, including their current mode (active or retired), number of instances, number of faulted instances, and last modification date (deployment time, redeployment time, or any composite configuration change). The green dot to the left of the name indicates that this is the default revision of the application.

    Description of sca_deployedcomps.gif follows
    Description of the illustration sca_deployedcomps.gif

    Note:

    To always see the latest details about deployed SOA composite applications, click the Refresh icon in the upper right corner or navigate away from this page and return to it.
  3. Click Deploy to deploy a new application. For all other options listed above the Composite section, first select the composite application by clicking the column to the left of the name, then select a specific option to perform.

    Description of sca_selectinstance.gif follows
    Description of the illustration sca_selectinstance.gif

    The following table describes the available options.

    Action Description
    Shut Down Shuts down a running SOA composite application revision. Any request (initiating or a callback) to the composite is rejected if the composite is shut down.

    Note: The behavior differs based on which binding component is used. For example, if it is a web service request, it is rejected back to the caller. A JCA adapter binding component may do something else in this case (for example, put the request in a rejected table).

    This option displays when the composite application has been started.

    Start Up Restarts a composite application revision that was shut down. This action enables new requests to be processed (and not be rejected). No recovery of messages occurs.

    This option displays when the composite application has been stopped.

    Retire Retires the selected composite revision. If the process life cycle is retired, you cannot create a new instance. Existing instances are allowed to complete normally.

    An initiating request to the composite application is rejected back to the client. The behavior of different binding components during rejection is as described above for the shut down option.

    A callback to an initiated composite application instance is delivered properly.

    This option displays when the composite application is active.

    Activate Activates the retired composite application revision. Note the following behavior with this option:
    • All composite applications are automatically active when deployed.

    • Other revisions of a newly deployed composite application remain active (that is, they are not automatically retired). If you want, you must explicitly retire them.

    This option displays when the application is retired.

    Set As Default Sets the selected composite application revision to be the default. Default revisions are indicated by a green dot in the Composite table. If a new request comes in for a specific composite application revision, that composite application revision is invoked. If a new request comes in without specifying a revision, the default revision is invoked. The default revision does not change when a composite application is retired. The default revision is changed automatically when a default composite application revision is undeployed.

    The default composite revision also changes automatically when you redeploy a composite. The newly redeployed revision automatically becomes the default revision, unless at the time of redeployment you specify to keep the previous default revision unchanged.

    Note that inbound adapters are only activated on the default revision.

    Deploy Deploys a revision. Deployment activates the composite application in the SOA Infrastructure. Use this selection when you want to deploy:
    • A new SOA composite application for the first time

    • A new revision (for example, 2.0) of a SOA composite application that has a different revision that is currently deployed (for example, 1.0). This option enables both revisions 1.0 and 2.0 to be deployed at the same time.

    If you specify a revision that exists, you receive an error. You must change this revision outside of the Deploy SOA Composite wizard.

    Note: Deploying multiple SOA composite applications at the same time is supported.

    For more information, see Section 5.1, "Deploying Applications."

    Undeploy Undeploys the selected composite application revision. The consequences of this action are as follows:
    • You can no longer configure and monitor this revision of the composite application.

    • You can no longer process instances of this revision of the composite application.

    • You cannot view previously completed processes.

    • The state of currently running instances is changed to stale and no new messages sent to this composite are processed.

    • If you undeploy the default revision of the composite application (for example, 2.0), the next available revision of the composite application becomes the default (for example, 1.0).

    Note: Undeploying multiple SOA composite applications at the same time is not supported.

    For more information, see Section 5.3, "Undeploying Applications."

    Redeploy Redeploys an existing revision of a SOA composite application. The consequences of this action are as follows:
    • A new version of a revision of a currently deployed SOA composite application is redeployed (for example, old version 1.0 is redeployed as new version 1.0).

    • The older, currently-deployed version of this revision is removed (overwritten).

    • If the older, currently-deployed version of this revision has running instances, the state of those instances is changed to stale.

    For more information, see Section 5.2, "Redeploying Applications."


    For more information, see Section 1.3.3.3, "Understanding the Life Cycle State of SOA Composite Applications."

8.2.2 Managing the State of an Application from the SOA Composite Application Home Page

You can manage the state of an individual SOA composite application from the application's home page.

To manage the state of an application from the SOA composite application home page:

  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator...
    1. Select Home.
    2. Select the Deployed Composites tab.

    3. Select a specific SOA composite application.

    1. Under soa-infra, select a specific SOA composite application.

    The Dashboard of the selected SOA composite application is displayed (for this example, AutoLoanComposite).

    Description of sca_helloworld.gif follows
    Description of the illustration sca_helloworld.gif

    Note:

    The Total field of the Recent Instances section sometimes does not display the correct number of total instances despite instances having completed successfully. In these cases, click the Refresh icon in the upper right corner to view the actual number of total instances.
  2. From the list of options at the top of the page, select a specific action to perform. These options also display at the top of the Instances, Faults and Rejected Messages, Unit Tests, and Policies pages of the SOA composite application.

Action Description
Shut Down See the table under Step 3 for a description of this option.
Start Up See the table under Step 3 for a description of this option.
Retire See the table under Step 3 for a description of this option.
Activate See the table under Step 3 for a description of this option.
Settings: Composite Audit Level Sets the level of audit tracking to perform at the SOA composite application level. This setting can override the audit level defined at the SOA Infrastructure level. By default, the value is Inherit, which does not override the SOA Infrastructure level setting.

If you select to set the audit tracking level, the following options are available:

  • Inherit: Logging is equal to the SOA Infrastructure audit level that you set on the SOA Infrastructure Common Properties page. This is the default setting.

  • Production: Minimal information for SOA composite application instances is collected. For example, the BPEL process and Oracle Mediator service engines do not capture the payload. Therefore, the payload details are not available in the flow audit trails. The BPEL service engine collects payload details for all activities except assign activities. This level is optimal for most normal operations and testing.

  • Development: Complete information for SOA composite application instances is collected. This option allows both composite instance tracking and payload tracking. This setting may impact performance because the payload is stored at each step in the message flow. This setting is useful for debugging purposes.

  • Off: No logging is performed. Composite instance tracking and payload tracking information are not collected.

Setting audit level tracking at the SOA composite application level overrides the same tracking set at the SOA Infrastructure level. By default, the settings are the same at the SOA composite application and SOA Infrastructure levels. SOA composite application settings are automatically changed when the global SOA Infrastructure settings are changed. By choosing any other setting at the SOA composite application level, you are overriding the inherited settings.

One form of overriding is when you explicitly select the same local composite value that happens to be the current global value. If the SOA Infrastructure setting is then changed, this specific composite does not inherit the new value. For example, assume the SOA Infrastructure setting is Off. Therefore, all composites have their audit tracking set to Off. Then, you explicitly set composite XYZ to Off. Then, go to the SOA Infrastructure and change the setting to Production. The tracking levels for all composites are now Production; except for XYZ, which is still set to Off.

Note the following impact of instance tracking changes on message flows that span several SOA composite applications. For example, a composite invoking another composite through a reference binding component or an event published in one composite and subscribed to in another composite.

  • If an intermediate composite has disabled instance tracking, then a single message flow across multiple composite instances appears as separate, unconnected flows. For example, assume a message flows through composites C1, C2, and C3. C1 and C3 have enabled instance tracking, while C2 has disabled it. Two separate flows for C1 and C3 display in Oracle Enterprise Manager.

  • Sources or targets of events or messages may not display. For example, assume you have two composites: C1 and C2. If C1 has disabled instance tracking, the flow trace does not display the origin of message flow and makes it appear as if C2 was directly invoked.

Settings: Payload Validation Validates the XML schema-based payload at the inbound and outbound points of the composite revision. If you enable payload validation and there is an invalid payload (that does not follow the schema), a fault is generated for that message.

The exception to this is the response message of a synchronous service. That message is not validated, even with payload validation enabled. Note that the inbound message is still validated; only the outbound message is not.

Test Enables you to initiate a test instance from the Test Web Service page.

Note: This button is disabled when the SOA composite application is stopped or retired. This is because you cannot create an instance for a stopped or retired application. This button is also disabled when there are no Web services available for the application. Only composites having services with Web service bindings can be tested from this page.

For more information, see Section 8.1, "Initiating a SOA Composite Application Test Instance."

Show WSDL and endpoint URI (icon) Click to display the endpoint addresses and WSDLs of all external services for this SOA composite application.
Show Composite XML Definition (... icon) Click to show the XML definition of the SOA composite application.

For more information, see the following sections:

8.2.3 Starting and Stopping a Managed Oracle WebLogic Server

If you start and stop a managed Oracle WebLogic Server on which the SOA Infrastructure is deployed in the middle of BPEL processing in a SOA composite application, note the following issues:

  • For synchronous BPEL processes

    The whole scenario is synchronous and the instances that are in a running state (after server restart) are pending in the BPEL wait activity. Therefore, the flow thread ends with the server (while sleeping in the wait activity). When the server is restarted, the same instance is not restarted because the flow is synchronous. Therefore, these instances always remain in a running state because no processing can happen on these after server restart.

  • For asynchronous BPEL process

    If server shutdown occurred in the middle of a BPEL invoke activity, the messages received by BPEL are not handled. BPEL does not automatically recover these messages during restart; these must be recovered manually using facade API calls.

8.3 Monitoring and Deleting SOA Composite Application Instances from the Application Home Page

Section 8.2, "Managing the State of Deployed SOA Composite Applications" describes how to manage the life cycle state of SOA composite applications. You can also monitor and delete specific SOA composite application instances from the Instances page of the application home page.

To monitor and delete SOA composite application instances from the application home page:

  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator...
    1. Select Home.
    2. Select the Deployed Composites tab.

    3. Select a specific SOA composite application.

    1. Under soa-infra, select a specific SOA composite application.

  2. Click the Instances tab.

    The Instances page displays the following details:

    • A utility for searching for a specific instance by specifying a criteria and clicking Search.

    • SOA composite application instance ID, name, conversation ID, most recent known state of each instance since the last data refresh of the page (for example, completed successfully, running, unknown, and so on), instance start time, and a log file describing any faults. A unique instance ID is created whenever a new instance of a SOA composite application is initiated either automatically by an external consumer of the application or manually by an administrator from the Test Web Service page.

      If a ? icon is displayed, the Capture Composite Instance State check box was not enabled on the SOA Infrastructure Common Properties dialog. Therefore, the instance state was not evaluated. Determining the composite instance state requires evaluating the states of the underlying component, Therefore, this can be disabled to improve performance.

    Description of soaapp_instance.gif follows
    Description of the illustration soaapp_instance.gif

    Note:

    It is possible to generate orphaned service component instances. These instances are generated without any associated composite application instances. The orphaned component instances are generated under the following circumstances:
    • The SOA Infrastructure audit level is set to Off or the composite audit level is set to Off. Even in such cases, the BPEL process service engine can generate instance data for the service components that are included in the SOA composite application.

    • The SOA Infrastructure audit level is set to Off. However, the BPEL process or Oracle Mediator service engine audit level is set to a value other than the Off.

    • All the audit levels are set to Off, but some faults are generated in one of the service engines. In these cases, the component instance gets generated.

    To delete orphaned instances or large numbers of instances, use the PL/SQL purge script described in Section 8.9, "Deleting Large Numbers of Instances." Selecting the Delete All Instance options in the Delete with Options dialog also deletes orphaned component instances. However, this method is not recommended for deleting large numbers of instances (for example, thousands), as the operation times out.

    If composite sensors are included in your SOA composite application, the Instances tab has the following differences:

    • The Add Fields button appears next to Search and Reset in the search utility. This button enables you to add sensor values to your search criteria.

    • A Composite Sensors column appears to the Instances table. Click the sensor icon in that column to display the details of sensor values available in a given instance of the composite.

  3. From the Add Fields list, select composite sensors to add to the search criteria. In this example, four have been selected (CustomerDetails, NameSensor, Datesensor, and Yearsensor).

  4. Input specific values by which each sensor searches. Only the composite instances in which the sensor values match your specified criteria are returned.

    Description of soaapp_instance2.gif follows
    Description of the illustration soaapp_instance2.gif

  5. Click Reset to remove all composite sensor fields from the search criteria or click the Remove icon to the right of the field to remove an individual sensor.

  6. Select a specific instance to delete by clicking a row in the Instances table. To select multiple instances, press Ctrl-Click or Shift-Click for the rows you want to select.

  7. Select a specific action to perform.

    Action Description
    Delete Selected Deletes the selected instance.

    After deleting an instance, instance details are no longer available for review.

    Delete with Options Prompts you to first specify a criteria for deleting the selected instance directly from the database:
    • Common Delete Options: Select a preset range of instances to delete from a list (for example, older than 24 hours).

    • Delete All Instances Of This Composite: Select to delete all instances of the composite. This option deletes the rejected messages associated and all component, service, and reference instances associated with the composite, including those not associated with any composite instance ID.

      Note: If this composite has thousands of instances to delete, do not use this option. Instead, use the purge script described in Section 8.9, "Deleting Large Numbers of Instances."

    • Delete All Instances That Match These Criteria: Specify a criteria for deleting instances, including the instance ID, conversation ID, start and stop times, and instance state.

    Any selections you may have made in the Instances page (such as specifying and executing a search criteria) are ignored for this operation.

    Abort Terminates the selected instance. However, instance details are still available for review.

  8. In the Instances table, perform the following additional tasks:

    1. In the Instance ID column, click a specific instance ID to show the message flow through the various service components and binding components. If an instance ID is listed as unavailable, you can click the Unavailable link for details.

    2. In the State column, if an instance state is marked as Unknown, click it to display more details.

    3. If the Composite Sensors column is available, click a sensor icon to display details about composite sensors included in the instance, such as name, location, and value.

    4. In the Logs column, click a specific log to access the Log Messages page with filtered messages specific to that instance.

    Note:

    Multiple revisions of a SOA composite application that includes inbound JCA adapters are displayed as running. However, only the most recent revision (the default version) is considered active. All previous revisions are not considered active. This is because for inbound JCA adapters, there can only be one active revision of a SOA composite application at any time. The JCA adapter endpoints in all previous revisions are de-activated.

For more information, see the following sections:

8.3.1 Setting the Composite Instance Name at Design Time

You can set the instance name of a SOA composite application during design time in Oracle Mediator and Oracle BPEL Process Manager. The instance name appears as a Name column on the Instances page of a SOA composite application. When you specify a search criteria on the Instances page of a SOA composite application or the SOA Infrastructure, you can specify this name in the Name field.

8.3.1.1 Setting the Composite Instance Name in Oracle Mediator

  1. Set the composite instance name through one of the following options:

8.3.1.2 Setting the Composite Instance Name in a BPEL Process

  1. Use the Java BPEL exec extension bpelx:exec. This extension includes the built-in method setCompositeInstanceTitle(String title)for setting the instance name.

    For more information, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

8.4 Monitoring and Deleting SOA Composite Application Instances at the SOA Infrastructure Level

Section 8.2, "Managing the State of Deployed SOA Composite Applications" described how to manage the life cycle state of all instances of a specific SOA composite application. You can also monitor and delete any number of instances across all deployed SOA composite applications from the Instances page of the SOA Infrastructure home page. This page lists all SOA composite application instances deployed to the SOA Infrastructure.

To monitor and delete SOA composite application instances at the SOA infrastructure level:

  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator... From the SOA Composite Menu...
    1. Select Home.
    1. Click soa-infra.
    1. Select SOA infrastructure.

  2. Click the Instances tab.

    The Instances page displays the following details:

    • A utility for searching for a specific instance by specifying a criteria and clicking Search.

    • All SOA composite application instances in the SOA Infrastructure, including instance and conversation IDs, composite name and revision, SOA composite application instance state, and instance start time.

    Description of sca_instances.gif follows
    Description of the illustration sca_instances.gif

    You can also terminate and delete instances from this page.

  3. Select a specific instance by clicking a row in the Instances table. To select multiple instances, press Ctrl-Click or Shift-Click for the rows you want to select.

  4. Select a specific action to perform.

    Action Description
    Delete Selected Deletes the selected instance.
    Delete with Options Prompts you to first specify a criteria for deleting the selected instance directly from the database.
    • Common Delete Options: Select a preset range of instances to delete from a list (for example, older than 24 hours).

    • Delete All Instances That Match These Criteria: Specify a criteria for deleting instances, including the instance ID, conversation ID, start and stop times, and instance state

    Any instance state selections you made at the top of the Instances page are ignored for this operation.

    Notes:

    • If this composite has thousands of instances to delete, do not use this option. Instead, use the purge script described in Section 8.9, "Deleting Large Numbers of Instances."

    • If you delete an instance with faults, those faults no longer display in the Faults and Rejected Messages page.

    Abort Terminates the selected instance. However, instance details are still available for review.

    Note: If you delete an instance with faults, those faults no longer display in the Faults and Rejected Messages page. In addition, if a terminated instance (shown as aborted) had a fault, it is not added to the fault count.


  5. In the Instance ID column, click a specific instance ID to show the message flow through the various service components and binding components. If the instance ID is unavailable, the message flow cannot be accessed. However, you can still click the link for details.

  6. In the Composite column, click a specific SOA composite application to access its home page.

  7. In the Logs column, click a specific log to access the Log Messages page with filtered messages specific to that instance.

8.5 Recovering from SOA Composite Application Faults at the SOA Infrastructure Level

You can monitor and perform individual and bulk fault recoveries for BPEL process and Oracle Mediator service components across any number of your SOA composite applications. For BPEL process faults to be identified as recoverable, there must be a fault policy defined that is bound to the fault (through the fault-bindings.xml file) and which triggers the action ora-human-intervention. However, without defining any fault policies, the fault takes its normal course as either a recoverable or nonrecoverable fault. Examples of performing both individual and bulk recovery are provided in this section. Human task service component or human workflow service engine faults are recovered from the Oracle BPM Worklist.

To recover from SOA composite application faults at the SOA Infrastructure level:

  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator... From the SOA Composite Menu...
    1. Select Home.
    1. Click soa-infra.
    1. Select SOA infrastructure.

  2. Click the Faults and Rejected Messages tab.

    The Faults and Rejected Messages page displays the following details for all SOA composite application faults:

    • A utility for searching for a specific fault by specifying a criteria and clicking Search. Click the Help icon for details.

    • Faults and rejected messages, including the error message, whether you can recover from the fault, the time of the fault, the SOA composite application in which the fault occurred, the fault location, and the instance ID.

    Description of sca_faultandmanage.gif follows
    Description of the illustration sca_faultandmanage.gif

    Note:

    You cannot search for human workflow error messages by entering details in the Error Message Contains field because these faults are not persisted in the dehydration store.

    Faults identified as recoverable can be recovered.

  3. Select faults for recovery using one of the following options. Note that fault recovery selection at the SOA Infrastructure level is equal to the SOA composite application level and BPEL process and Oracle Mediator service component levels.

    For... Then...
    Single fault recovery There are three options from which to choose for single-fault recovery:
    1. Click the row of the fault that has been identified as recoverable. With the row highlighted, select a specific action from the Recovery Action list, as described in Step 4.

    2. In the Recovery column, click the Recover link to access the Faults page of the instance audit trail to perform fault recovery.

    3. In the Error Message column, click the message of a fault that has been identified as recoverable. This displays complete fault details, including the fault ID, fault time, fault location, fault type, and error message text. A Recover Now option displays for recoverable faults. Click Recover Now to access the Faults page of the instance audit trail to perform fault recovery.

    Bulk fault recovery There are two options from which to choose for bulk-fault recovery:
    1. Use Shift+Click or Control+Click to select specific faults in the rows.

      or

    2. From the Select menu, choose Select All Recoverable. Then use Shift+Click or Control+Click to deselect the faults to not include in the recovery operation.

      Then:

    3. Select an action from the Recovery Action list, as described in Step 4.

      Note: Only the actions applicable to all selected faults are available.

    Recovery of all faults
    1. From the Select menu, choose Select All Recoverable.
    2. Select an action from the Recovery Action list, as described in Step 4.

      Note: Only the actions applicable to all selected faults are available.


  4. Select an action from the Recovery Action list.

    Action Description Action is Available for...
    Retry Retries the instance directly. An example of a scenario in which to use this recovery action is when the fault occurred because the service provider was not reachable due to a network error. The network error is now resolved. BPEL process and Oracle Mediator
    Abort Terminates the entire instance. BPEL process and Oracle Mediator
    Replay Replays the entire scope again in which the fault occurred. BPEL process
    Rethrow Rethrows the current fault. BPEL fault handlers (catch branches) are used to handle the fault. By default, all exceptions are caught by the fault management framework unless an explicit rethrow fault policy is provided. BPEL process
    Continue Ignores the fault and continues processing (marks the faulting activity as a success). BPEL process

    Note:

    In most cases, fault policy actions are automatically executed. The only exception is if you defined a fault policy that uses the action ora-human-intervention. This action creates a recoverable fault that can be recovered from Oracle Enterprise Manager Fusion Middleware Control Console.
  5. If you want to delete rejected messages, click Delete Rejected Messages.

    This displays a dialog for specifying a criteria for deleting rejected messages of all the composites.

    Description of bp_delrejmess.gif follows
    Description of the illustration bp_delrejmess.gif

  6. Specify a criteria and click Delete.

  7. Perform the following additional tasks from within the faults table:

    1. From the View list, select Columns > Fault ID to display the fault IDs for each error message. The fault ID is automatically generated and uniquely identifies a fault. The fault ID also displays when you click an error message.

    2. In the Composite column, click a specific SOA composite application to access its home page.

    3. In the Fault Location column, click a specific location to access the faults page for the location of the fault. The location can be a service, service component, or reference.

    4. In the Composite Instance ID column, click a specific ID to access the flow trace of the instance.

    5. In the Logs column, click a specific log to access the Log Messages page with filtered messages specific to that instance.

  8. See the following sections for examples of single and bulk fault recovery with BPEL processes and Oracle Mediator.

For more information about concepts and instructions on designing a fault policy, see the following documentation:

8.5.1 Examples of Fault Recovery for BPEL Processes

This section provides examples of how to define a fault policy that enables human intervention on a BPEL process fault and perform single and bulk fault recovery on a BPEL process service component.

In this example, you define a fault policy specifying that a fault be manually recovered through human intervention. If an invalid social security number is submitted from a loan broker BPEL process to a credit rating service, the credit rating service returns a negative credit fault. This human intervention action is defined with the ora-human-intervention action in the fault-policies.xml file. Without fault policies, BPEL instances do not generate recoverable faults (instead they are nonrecoverable); the ora-human-intervention action makes the fault recoverable.

<faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
<faultPolicy version="2.0.1"
           id="CRM_ServiceFaults"
           xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns="http://schemas.oracle.com/bpel/faultpolicy"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <Conditions>
               <faultName xmlns:credit="http://services.otn.com" 
               name="credit:NegativeCredit">
               <!-- we get this fault when SSN starts with 0-->
                  <condition>
                     <test>$fault.payload="Bankruptcy Report"</test>
                     <action ref="ora-human-intervention"/>
                  </condition>
               </faultName>
            </Conditions>
</faultPolicy>
</faultPolicies>

The fault-bindings.xml file associates the fault policies defined in the fault-policies.xml with the CRM_ServiceFaults composite.

<faultPolicyBindings version="2.0.1"
 xmlns="http://schemas.oracle.com/bpel/faultpolicy"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <composite faultPolicy="CRM_ServiceFaults"/>
</faultPolicyBindings>

Since human intervention is defined as an action, you perform BPEL process fault recovery in Oracle Enterprise Manager Fusion Middleware Control Console.

For more information about creating and designing fault-policies.xml and fault-bindings.xml files, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite for specific details.

8.5.1.1 Example: Single Fault Recovery for BPEL Processes

This example assumes the following:

To perform single fault recovery for BPEL processes:

  1. From the SOA Infrastructure menu, select Home.

  2. Click the Faults and Rejected Messages tab.

  3. In the faults table, locate the fault that has been identified as recoverable. You can use the search utility to locate the specific fault.

  4. In the Recovery column, click Recover. If you first want to see details about the fault, click the error message. Then, click Recover Now.

    The Faults page for that BPEL process instance is displayed.

  5. In the Recovery column, click Recoverable.

    The page refreshes to display the fault recovery section at the bottom of the page.

    Description of sca_faults2.gif follows
    Description of the illustration sca_faults2.gif

  6. From the Recovery Action list, select Retry.

  7. Select None from the Chain Action Upon Successful Retry list. This list enables you to select Java callout recovery actions. For more information, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.

  8. Select a variable from the Variable list. The content of this variable displays in the Value field. For this example, the variable crInput is selected. This variable is used in an invoke activity and contained an incorrect social security number value.

  9. Enter the correct value in the Value field. For this example, the social security number is edited to begin with 1:

    <ssn xmlns="http://service.otn.com">123456789</ssn>
    
  10. Click Set Value, and click Yes when prompted to continue.

  11. Click Recover to recover from the fault, then click Yes when prompted to continue.

    The page refreshes to indicate that no faults occurred.

8.5.1.2 Example: Bulk Fault Recovery for BPEL Processes

For the social security number example, selecting Retry is not an option for performing a bulk recovery, since the value for the social security number is incorrect and requires correction. An example of performing a bulk recovery with the Retry option is if the social security number is correct, but the system providing the credit rating service was temporarily unavailable and caused a composite reference fault. This prevents the messages from being delivered. Once the credit rating service is available again, selecting Retry re-attempts the invocation to the credit rating service through the composite reference.

To perform bulk fault recovery for BPEL processes:

  1. Perform Steps 1 through 2 of Section 8.5.1.1, "Example: Single Fault Recovery for BPEL Processes."

  2. In the search utility, enter a criteria based on known fault parameters (for example, the time range, composite name, component type (BPEL process), and so on).

  3. If the search returns too many results, limit it by selecting the Show only recoverable faults check box.

  4. From the Select list, choose Select All Recoverable.

  5. From the Recovery Action list, select Abort.

    All selected faults are manually terminated.

8.5.2 Examples of Fault Recovery for Oracle Mediator

This section provides an example of how to perform single and bulk fault recovery on an Oracle Mediator service component.

In this example, an inbound Siebel adapter service binding component submits a payload message to Oracle Mediator for transformation. The processed payload message is then delivered to an outbound file adapter reference binding component. However, the outbound directory into which to write the payload message is not configured with write permissions. This causes a fault to occur. The fault policy defined during design time specifies that the fault be manually recovered through human intervention. Note that three retries are attempted, as defined with the retryCount attribute. The condition and action are defined as follows in the fault-policies.xml file.

Recoverable Oracle Mediator faults do not require a fault policy (though it is one way to make faults recoverable, as described through an ora-human-intervention action). Any parallel routing rule that receives a remote fault from the outbound endpoint also creates a recoverable fault (in this specific example, the fault policy is not required if the Oracle Mediator uses a parallel routing rule to invoke the outbound file adapter).

<faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
<faultPolicy version="2.0.1"
           id="ConnectionFaults"
           xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns="http://schemas.oracle.com/bpel/faultpolicy"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
              <Conditions>
                <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults"
                name="medns:mediatorFault">
                   <condition>
                      <test>contains($fault.mediatorErrorCode, "TYPE_FATAL_
                         MESH")</test>
                      <action ref="ora-retry"/>
                   </condition>
                </faultName>
              </Conditions>
. . .
. . .      <Action id="ora-retry">
        <retry>
          <retryCount>3</retryCount>
          <retryInterval>5</retryInterval>
          <retryFailureAction ref="ora-human-intervention"/>
          <retrySuccessAction ref="ora-terminate"/>
        </retry>
      </Action>
   </Actions>
</faultPolicy>
</faultPolicies>

Note that processing is set to retry 3 times before terminating.

The fault policies are associated with the ConnectionFaults composite in the fault-bindings.xml file:

<faultPolicyBindings version="2.0.1" xmlns="http://schemas.oracle.com/bpel/fault
policy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <composite faultPolicy="ConnectionFaults"/>
</faultPolicyBindings>

8.5.2.1 Example: Single Fault Recovery for Oracle Mediator

For this example, the sap output directory is made read-only. An inbound file adapter retrieves the sender.xml file from the siebel directory and the message is routed through Oracle Mediator to an outbound file adapter reference for placing a file in the sap directory.

To perform single fault recovery for Oracle Mediator:

  1. Change the directory permissions at the operating system command prompt.

    chmod 000 sap
    cp sender.xml siebel/
    
  2. From the SOA Infrastructure menu, select Home.

  3. Click the Faults and Rejected Messages tab.

    Note that three faults appear, based on three retries being attempted. In this case, you see three retries only because the fault policy on the Oracle Mediator interaction with the outbound file adapter defines three retries. Without the fault policy, there is only one fault (no automated retries).

  4. Click the specific instance ID in the Composite Instance ID column.

    The Flow Trace appears. The faults table at the top of the page displays the fault messages. If you want to see where the faulted Oracle Mediator instance is located in the overall message flow, select the fault in the faults table. This highlights the associated instance in the trace table. You can then click the instance to access its audit trail to see more details about the faulted flow.

    Note:

    Steps 4 through 10 represent one way to recover this single fault. The fault can also be recovered directly from the Oracle Mediator faults page through the Recovery Action list.
  5. Locate the Oracle Mediator component instance fault you want to recover in the Faults table and click Recover in the Recovery column.

  6. Select Sender from the Payload Part list.

    The payload is automatically displayed in the Payload field. If necessary, payload modifications can be performed in this field. For this example, payload modification is not necessary.

  7. Change the sap directory to be writable at the operating system command prompt.

    chmod 777 sap
    
  8. Return to the Faults tab and click the Refresh icon in the upper right corner of the page.

  9. Click Retry.

  10. Click Yes when prompted to resubmit the selected fault for recovery.

    The page refreshes to indicate that no faults occurred.

  11. Click the Audit Trail tab.

    The final message indicates that manual recovery was successful and the message payload was written to the sap directory.

    Description of bp_flt29.gif follows
    Description of the illustration bp_flt29.gif

8.5.2.2 Example: Bulk Fault Recovery for Oracle Mediator

Assume the sap directory to which to write the sender.xml payload message is again configured with read-only permissions at the operating system command prompt. Three copies of the sender.xml file are placed in the siebel directory of the inbound Siebel adapter service binding component. This creates three instances.

chmod 000 sap
cp sender.xml siebel/
cp sender.xml siebel/
cp sender.xml siebel/

To perform bulk fault recovery for Oracle Mediator:

  1. Change the sap directory to be writable.

  2. From the SOA Infrastructure menu, select Home.

  3. Click the Faults and Rejected Messages tab.

  4. In the search utility, enter a criteria based on known fault parameters (for example, the time range, composite name, and so on).

  5. If the search returns too many results, limit it by selecting the Show only recoverable faults check box.

  6. Change the sap directory to be writable at the operating system command prompt.

    chmod 777 sap
    
  7. Select all the faults to be recovered.

  8. Select Retry from the Recovery Action list.

  9. Select Yes when prompted to perform fault recovery.

  10. Click the Audit Trail tab.

    The final message indicates that manual recovery was successful and the message payload was successfully written to the sap directory.

8.6 Recovering from SOA Composite Application Faults in the Application Home Page

You can monitor and perform individual and bulk fault recoveries in your SOA composite application. For BPEL process faults to be identified as recoverable, there must be a fault policy defined that is bound to the fault (through the fault-bindings.xml file) and which triggers the action ora-human-intervention. However, without defining any fault policies, the fault takes its normal course as either a recoverable or nonrecoverable fault. Human workflow faults can also be recovered, but not directly from Oracle Enterprise Manager Fusion Middleware Control Console. Instead, the audit trail provides a link to the Oracle BPM Worklist, from which the fault can be addressed.

To recover from SOA composite application faults in the application home page:

  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator...
    1. Select Home.
    2. Select Deployed Composites.

    3. In the Composite section, select a specific SOA composite application.

    1. Under soa-infra, select a specific SOA composite application.

  2. Click the Faults and Rejected Messages tab.

    The Faults and Rejected Messages page displays the following details for the selected SOA composite application:

    • A utility for searching for a specific fault by specifying a criteria and clicking Search. Click the Help icon for details.

    • Faults and rejected messages in SOA composite application instances, including the error message, whether you can recover from the fault, the time of the fault, the fault location, the composite instance ID, and links to log files that describe the fault.

    Description of sca_soaapp_search.gif follows
    Description of the illustration sca_soaapp_search.gif

    Note:

    You cannot search for human workflow error messages by entering details in the Error Message Contains field because these faults are not persisted in the dehydration store.

    Faults identified as recoverable can be recovered.

  3. Select faults for recovery. As with fault recovery at the SOA Infrastructure level and BPEL process and Oracle Mediator service component levels, you can perform single fault recovery, bulk fault recovery, and recovery of all faults. See Step 3 of Section 8.5, "Recovering from SOA Composite Application Faults at the SOA Infrastructure Level" for instructions on selecting faults to perform these types of recovery.

  4. Select an action from the Recovery Action list.

    Action Description Action is Available for...
    Retry Retries the instance directly. An example of a scenario in which to use this recovery action is when the fault occurred because the service provider was not reachable due to a network error. The network error is now resolved. BPEL process and Oracle Mediator
    Abort Terminates the entire instance. BPEL process and Oracle Mediator
    Replay Replays the entire scope again in which the fault occurred. BPEL process
    Rethrow Rethrows the current fault. BPEL fault handlers (catch branches) are used to handle the fault. By default, all exceptions are caught by the fault management framework unless an explicit rethrow fault policy is provided. BPEL process
    Continue Ignores the fault and continues processing (marks the faulting activity as a success). BPEL process

    Note:

    In most cases, fault policy actions are automatically executed. The only exception is if you defined a fault policy that uses the action ora-human-intervention. This action creates a recoverable fault that can be recovered from Oracle Enterprise Manager Fusion Middleware Control Console.
  5. If you want to delete rejected messages, click Delete Rejected Messages.

    This displays a dialog for specifying a criteria for deleting rejected messages of the current composite.

    Description of bp_delrejmess.gif follows
    Description of the illustration bp_delrejmess.gif

  6. Specify a criteria, and click Delete.

  7. Perform the following additional monitoring tasks from within the faults table:

    1. From the View list, select Columns > Fault ID to display the fault IDs for each error message. The fault ID is automatically generated and uniquely identifies a fault. The fault ID also displays when you click an error message.

    2. In the Fault Location column, click a specific location to access the faults page for the location of the fault. The location can be a service, component, or reference.

    3. In the Component Instance ID column, click a specific service component ID to access task details about the instance (for example, the current state of a task). Note that rejected messages do not have a component instance ID.

    4. In the Logs column, click a specific log to access the Log Messages page with filtered messages specific to that instance.

For more information, see the following sections:

8.7 Testing SOA Composite Applications

You can create, deploy, and run test cases that automate the testing of SOA composite applications. Test cases enable you to simulate the interaction between a SOA composite application and its Web service partners before deployment in a production environment. This helps to ensure that a process interacts with Web service partners as expected by the time it is ready for deployment to a production environment. You create test cases in Oracle JDeveloper and include them in a SOA composite application that is then deployed and administered from Oracle Enterprise Manager Fusion Middleware Control Console.

To test SOA composite applications:

Note:

Before testing SOA composite applications from Oracle Enterprise Manager Fusion Middleware Control Console, see Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite for instructions on creating test cases.
  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator... From the SOA Composite Menu...
    1. Select Home.
    2. Select Deployed Composites.

    3. In the Composite section, select a specific SOA composite application.

    4. Click the Unit Tests tab.

    1. Under soa-infra, select a specific SOA composite application.
    2. Click the Unit Tests tab.

    1. Select Unit Test.

    The test cases that display were designed in Oracle JDeveloper and included in a deployed SOA composite application.

  2. Select the entire test suite or individual tests of a suite to run, and click Execute.

    Description of sca_unittest.gif follows
    Description of the illustration sca_unittest.gif

    You are prompted to create a test.

  3. Enter the following values, and click OK.

    Field Description
    Test Run Name Enter a name for the test instance. When testing is complete, report details are captured under this name.
    Timeout Enter a value in seconds in which to complete this test. If the test does not complete within this time limit, then testing is terminated.
    Number of Concurrent Test Instances Enter the number of test instances to create.

    The Test Runs page automatically displays for tracking the running tests.

    The Test Runs page enables you to track running test cases and view test results. Test suites consist of a logical collection of one or more test cases. Each test case contains a set of commands to perform as the test instance is executed. The execution of a test suite is known as a test run.

    Description of sca_unittest2.gif follows
    Description of the illustration sca_unittest2.gif

  4. In the Test Run Name column, click a specific test run to display details in the Results of Test Run section. If you want to create more test runs, you can switch back to the Test Cases page at any time.

    The Results of Test Run sections displays details about the executed test run, such as a test summary and the success rate. Click the Help icon for additional details.

  5. View assertion details at the bottom of the page. Assertions enable you to verify variable data or process flow.

    Description of sca_unittest3.gif follows
    Description of the illustration sca_unittest3.gif

  6. Click a composite instance number to view specific test details.

    The composite instances created by executing unit test runs display with a yellow square next to the instance ID in the Instances page of a SOA composite application and in the Recent Instances tables of the SOA Infrastructure and SOA composite application. This yellow box distinguishes these instances from test instances created on the Test Web Service page or automatically created by external consumers of the application.

For more information, see the following documentation:

8.8 Managing SOA Composite Application Policies

You can attach or detach security policies to and from currently deployed SOA composite applications. Policies apply security to the delivery of messages.

Note:

Before attaching policies, see Oracle Fusion Middleware Security and Administrator's Guide for Web Services for definitions of available policies and details about which ones to use in your environment.

To manage SOA composite application policies:

  1. Access this page through one of the following options:

    From the SOA Infrastructure Menu... From the SOA Folder in the Navigator... From the SOA Composite Menu...
    1. Select Home.
    2. Select Deployed Composites.

    3. In the Composite section, select a specific SOA composite application.

    4. Click the Policies tab.

    1. Under soa-infra, select a specific SOA composite application.
    2. Click the Policies tab.

    1. Select Policies.

    The Policies page enables you to attach and detach policies to and from BPEL process service components. The policies table displays the attached policy name, the component to which the policy is attached, the policy reference status (enabled or disabled) that you can toggle, the category (Management, Reliable Messaging, MTOM Attachment, Security, or WS Addressing), the violations, and the authentication, authorization, confidentiality, and integrity failures since the SOA Infrastructure was last restarted.

    Description of sca_policy.gif follows
    Description of the illustration sca_policy.gif

  2. Click Attach/Detach To.

    If multiple services or components are available, you are prompted to select the service or component for which to perform the attachment or detachment.

  3. Select the component to which to attach or detach a policy.

    Description of soaapp_policy1.gif follows
    Description of the illustration soaapp_policy1.gif

    This invokes a dialog for attaching or detaching policies.

    Currently attached policies appear in the Attached Policies section. Additional policies available for attachment appear in the Available Policies section.

    Description of soaapp_policy2.gif follows
    Description of the illustration soaapp_policy2.gif

  4. Select policies to attach that are appropriate to your environment.

  5. Click Attach.

    The attached policy appears in the Attached Policies section.

    Description of soaapp_policy3.gif follows
    Description of the illustration soaapp_policy3.gif

  6. Attach additional policies as needed.

  7. When you are finished attaching policies, click Validate.

  8. If an error message appears, make the necessary corrections until you no longer have any validation errors.

  9. Click OK.

    The attached policy displays in the policies table.

    Description of soaapp_policy4.gif follows
    Description of the illustration soaapp_policy4.gif

For more information about policies, see the following documentation:

8.8.1 WS-RM Sessions

Multiple requests from Oracle SOA Suite in a single WS-RM session are not currently supported. Each request is in an individual WS-RM session.

8.9 Deleting Large Numbers of Instances

Deleting thousands of instances with the Delete with Options button on the Instances page of a SOA composite application can take time and result in a transaction timeout. Instead, use the fabric-purge.sql PL/SQL script. For details, see technical note 815896.1 at Oracle MetaLink:

http://metalink.oracle.com

The fabric-purge.sql script provides the following functionality.

  • Deletes composite instances:

    procedure delete_composite_instances(a_composite_dn in varchar2,
    a_composite_state in integer,
    a_composite_min_creation_date in timestamp,
    a_composite_max_creation_date in timestamp,
    max_instances in integer);
    

    This performs the following tasks:

    • Deletes all instances in the system across all composites

    • Deletes all instances of a specific composite

    • Deletes instances across composites or for a specific composite within a particular date range or with a particular state.

  • Deletes service component instances in composites that do not have instances because audit level tracking was disabled at the composite level. These are known as orphaned instances.

    procedure delete_orphaned_component_instances(a_composite_dn in varchar2,
    a_component_state in integer,
    a_component_min_creation_date in timestamp,
    a_component_max_creation_date in timestamp,
    max_instances in integer);
    

    This performs the same tasks as described for deleting composite instances.

  • Deletes rejected messages:

    procedure delete_rejected_messages(a_composite_dn in varchar2,); // may add in the max instances and date range if feasible
    

    New composite instances are currently created for every retry of a message from an inbound adapter. Since infinite retries is the default behavior for inbound adapter retries, this handles the large number of different composite instance errors appearing due to the same retry.