Table of Contents

Search

  1. Preface
  2. Part 1: Using Process Developer
  3. Part 2: Creating and Modifying Processes
  4. Part 3: Functions, Events, Errors, and Correlation
  5. Part 4: Testing and Deployment
  6. Part 5: Process Central and Process Server (On-Premises)

Process Developer

Process Developer

Using the Retry-Policy Service with BPEL Processes

Using the Retry-Policy Service with BPEL Processes

An input message sent to a retry-policy BPEL process would have the following parts:
<retryCheckInput xmlns="http://www.activebpel.org/services/retry"> <faultName>{namespace}localpart</faultName> <processId>process id</processId> <processName>process name</processName> <invokePath>path of activity which is faulted</invokePath> <attempts>retry attempts already executed</attempts> <partnerLinkName>partner link used by invoke </partnerLinkName> <partnerLink>endpoint reference of partner link </partnerLink> </retryCheckInput>
The process you write would send back a message to the server with the following parts:
<retryCheckOutput xmlns=http://www.activebpel.org/services/retry> <retry>yes or no indicating whether or not to retry</retry> <interval>number of seconds to delay if retrying</interval> </retryCheckOutput>
The message you send back could also include an alternate service to try. The message to send back to the server would look similar to the following:
<retryCheckOutput xmlns=http://www.activebpel.org/services/retry> <retry>yes or no indicating whether or not to retry</retry> <interval>number of seconds to delay if retrying</interval> <wsa:EndpointReference xmlns="http:// schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ext="http://www.activebpel.org/bpel/extension" xmlns:ns1="http://www.activebpel.org/services /retrytests" xmlns:s="http://www.activebpel.org/ services/retrytests" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03 /addressing" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03 /business-process/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsa:Address>ae:localhost:alternateRetryService </wsa:Address> <wsa:ServiceName PortName= "retryTesterServicePort">s:retryTesterService </wsa:ServiceName> </wsa:EndpointReference </retryCheckOutput>
The process could do many other programmatic tasks, such as account for system downtime.
System Downtime
A service can have downtime for maintenance or for an unplanned event. In either case, it may be appropriate to use a retry-policy service to reschedule an invocation programmatically using BPEL activities.
Here are some general steps to consider when creating a retry-policy service.
To create a BPEL process to be used as a retry-policy service:
  1. In the Project Explorer, create a new project.
  2. Select
    File > New > BPEL
    Process.
  3. Name the process and click
    Next
    .
  4. On the Process Template page, select the Retry-Policy process template.
  5. A new file opens on the Process Editor canvas with a
    ReceiveRetryCheck
    activity. The receive activity is based on the
    retryCheck
    operation.
  6. Finish building the process, replacing the default retry and interval data in the Assign activity that you wish.
  7. Launch the Process Deployment Descriptor wizard and on the Partner Links page, do the following:
    1. Select the My Role partner link.
    2. Type in a Service Name for the My Role partner link.
  8. Start up the Process Server, and deploy the retry-policy process to the server. Note that in the BPR, there are no WSDL or XSD. They are already deployed and available on the server.
  9. You need to remember the he retry-policy service name as you must refer to it in the Retry Policy Assertion in the PDD file of the process containing the invoke activity targeted by the retry-policy BPEL process. In the Retry Policy Assertion dialog, be sure to specify the QName of the retry-policy process as shown in bold in the following example:
    <wsa:EndpointReference xmlns:s="http://www.activebpel.org/services/retrytests"> <wsa:ServiceName PortName="retrytesterServicePort"> s:retryTesterService</wsa:ServiceName> <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/ 2002/12/policy" xmlns:abp="http://www.activebpel.org/policies"> <abp:retry
    service="retryCheckerService"
    faultList="{http://xml.apache.org/axis/}* {http://www.active-endpoints.com/2004/06/bpel /extensions/}* {http://www.activebpel.org/services /retrytests}*"/> </wsp:Policy> </wsa:EndpointReference>
  10. Deploy the process to the server and use remote debugging to test that when the invoke faults, the retry-policy service executes.

0 COMMENTS

We’d like to hear from you!