Debugging Orchestration Workflows

This section presents the steps that you should take to debug the Service step. The example demonstrates one of the most common errors that cause the execution of an orchestration workflow to stop. This problem occurs when a Web service returns a response SOAP message that contains a SOAP fault during execution of the workflow.

To debug orchestration workflows using the Log Viewer:

  1. In the Common Log Viewer, click Refresh to see the latest messages.
  2. On the Overview tab, look for errors in any of the orchestration workflows invoked by the application workflow (project) that you submitted to.

    Errors are indicated by numbers in the first position within the brackets next to the name of the application workflow. For example, UserVerificationOWF [1/0/0/7] indicates that there is one error messages, no warning messages, no info messages, and seven debug messages in the Common Log Viewer for this orchestration workflow.

    Note: If there are no error messages, you should also look at any other messages. Find the message with the most severe logging level that is the farthest in the orchestration workflow sequence.
  3. Select the orchestration workflow in the list, and then click the Details tab.

    In the example, you would click UserVerificationOWF.

  4. Locate any error messages on the list.

    You would usually look for the error that occurred during the latest run, that is, the one with the highest number.

    For example, the following series of messages can be displayed when an orchestration workflow is executed. (By default, all Common Log Viewer messages appear in this format.) From the messages, you can see that something went wrong with Service step VerifyUser.

    Date Run Associated element Text
    Debug Icon 2/20/2… 1 image Asynch The Orchestration Engine received the following message to invoke...
    Debug Icon 2/20/2… 1 Service Step Icon VerifyUser A Web service is being invoked at Service step VerifyUser, and the…
    Debug Icon 2/20/2… 1 Service Step Icon VerifyUser A Web service was invoked at Service step VerifyUser, and now the…
    Error Icon 2/20/2… 1 Service Step Icon VerifyUser A fault occurred during the execution of the orchestration workflo…
  5. Right-click the error message row, and then select Show Message on the menu.
  6. The Message Detail dialog box opens and displays the entire error message. (Steps 7 and 8 relate to Service steps only.)

    The following is part of the example error message. Note that the message (in bold text) indicates an invalid User ID or password.

    The fault is:  <?xml version="1.0" encoding="UTF-16"?><AEWebservicesFault 
    xmlns="urn:sbmappservices72" 
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:ae="urn:sbmappservices72" xmlns:c14n="http://www.w3.org/2001/10/xml-exc-c14n#" 
    xmlns:diag="urn:SerenaDiagnostics" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
    xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    Invalid User ID or Password</AEWebservicesFault>. 
    [org.jbpm.bpel.integration.client.]
  7. In the Message Detail dialog box, click the Previous button to display the "A Web service was invoked" message, and then locate the SOAP fault, shown below in bold text.

    A Web service was invoked at Service step VerifyUser, and now the Orchestration Engine is receiving the following message:

    <SOAP-ENV:Envelope 
    xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' 
    xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' 
    xmlns:ae='urn:sbmappservices72' 
    xmlns:c14n='http://www.w3.org/2001/10/xml-exc-c14n#' 
    xmlns:ds='http://www.w3.org/2000/09/xmldsig#' 
    xmlns:wsse='http://docs.oasis-open.org/wss/2004/01/oasis-2004
    01-wss-wssecurity-secext-1.0.xsd' 
    xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-20040
    1-wss-wssecurity-utility-1.0.xsd' 
    xmlns:xsd='http://www.w3.org/2001/XMLSchema' 
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><SOAP-E
    NV:Header></SOAP-ENV:Header><SOAP-ENV:Body><SOAP-ENV:Fault 
    xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'><f
    aultcode>SOAP-ENV:Server</faultcode><faultstring>Invalid User 
    ID or Password</faultstring><detail><ae:AEWebservicesFault 
    xmlns:ae='urn:sbmappservices72'>Invalid User ID or 
    Password</ae:AEWebservicesFault></detail></SOAP-ENV:Fault></S
    OAP-ENV:Body></SOAP-ENV:Envelope>[org.jbpm.bpel.integration.s
    oap.SerenaSoapUtil]
    
  8. Often a SOAP fault is returned because some invalid data was sent to the Web service. To see the invalid User ID or Password that was sent by the VerifyUser Service step call to the SBM Application Engine, click Previous to view the "A Web service is being invoked" message. The values that were sent with the Web service call are shown in bold text.

    A Web service is being invoked at Service step VerifyUser, and the Orchestration Engine is sending the following message:

    <env:Envelope 
    xmlns:env='http://schemas.xmlsoap.org/soap/envelope/' 
    xmlns:xsd='http://www.w3.org/2001/XMLSchema'><env:Header><n:S
    ecurity SOAP-ENV:mustUnderstand='0' 
    xmlns:n='http://docs.oasis-open.org/wss/2004/01/oasis-200401-
    wss-wssecurity-secext-1.0.xsd' 
    xmlns:SOAP-ENV='null'></n:Security></env:Header><env:Body><de
    faultNS1:IsUserValid 
    xmlns:bpws='http://schemas.xmlsoap.org/ws/2003/03/business-pr
    ocess/' xmlns:defaultNS='urn:sbmappservices72' 
    xmlns:defaultNS1='urn:sbmappservices72' 
    xmlns:ns8='urn:sbmappservices72'><ns8:auth><ns8:userId>ZZZZ</ns
    8:userId><ns8:password>XXXX</ns8:password></ns8:auth><ns8:log
    inId xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' 
    xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' 
    xmlns:ns='http://www.eclipse.org/alf/schema/EventBase/1' 
    xmlns:s='http://www.eclipse.org/alf/schema/EventBase/1' 
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 
    xsi:type='xsd:string' 
    xmlns:xsd='http://www.w3.org/2001/XMLSchema'>XYZ</ns8:loginId
    ></defaultNS1:IsUserValid></env:Body></env:Envelope>[org.jbpm
    .bpel.integration.soap.SerenaSoapUtil]
  9. To go to the source of the problem, right-click in the error message row, and then select Show Associated Element on the menu.

    SBM Composer opens the appropriate design element in the workflow editor and selects the design element associated with the error.

    In the example, SBM Composer opens UserVerificationOWF in the workflow editor and selects the VerifyUser Service step.

  10. Correct the problem in the design element. (If the error was caused by sending invalid data, configure the Service step to provide the correct data.)

    In the example, you would enter a valid User ID and Password in the userID and password data elements under auth.

Related Topics

Troubleshooting Orchestrations Using the Common Log Viewer

Web Service Faults