Debug flow services

Use debugging to identify and fix issues in flow services by monitoring data and execution steps.

You can debug a flow service and can inspect the data flow during the debugging session. The flow service gets automatically saved when you start the debug session.

In debug mode, you can:

  • Start a flow service in debug mode, specify the input values, and inspect the results.
  • Examine the pipeline data before you run each individual step, and you can edit the pipeline data after you complete the execution of that step.
  • Monitor the execution path, run the steps one at a time, or specify breakpoints where you want to halt the execution.
Note:
  • If a flow service includes input fields, the Input Values dialog opens so that you can enter the required values. If no input fields exist, the Debug page opens immediately.
  • If you do not define any input fields or pipeline output variables, a message appears during debugging that states the pipeline is empty.
  • If you disable a step, that step is skipped during debugging.
  • The Flow service execution page and the Execution history page do not display any execution logs for debug sessions.
  • If a flow service has a child flow service, webMethods Integration ignores the child flow service during a debug session.

Limitations:

Flow services that use setHTTPResponse cannot be debugged. During debugging, setHTTPResponse modifies the HTTP response, which interferes with the debug session and prevents subsequent debugging steps.

The following table describes all the options that are available when you debug a flow service.

Name Descriptions
Insert Breakpoints Insert a breakpoint in a flow service by clicking on the step number. To remove a breakpoint, click the step number where the breakpoint is inserted. Breakpoints are recognized only when you run a flow service in a debug session. A breakpoint is a point where you want processing to pause when you debug the flow service. Breakpoints can help you isolate a section of code or examine data values at a particular point in the execution path. For example, you might want to set a pair of breakpoints before and after a particular step so that you can examine the pipeline before and after that step executes. When you run a flow service with a breakpoint, it stops right before the breakpoint and does not run that part.
Disable Breakpoints Ignores all breakpoints that are inserted in the flow service steps.
Enable Breakpoints Enables all breakpoints that are inserted in the flow service steps.
Resume Continues the debug session but pauses at the next breakpoint.
Stop Stops the debug session. A debug session might also stop by itself for the following reasons: The flow service that you are debugging executes to completion (error or success).- You select Step over for the last step in the flow service.- You Exit the flow service.
Restart Restarts the debug session from the first step.
Step over Runs the flow service on a step-by-step basis. For conditional controls: Conditions are evaluated- if values are true, then the steps inside it are executed on the next step over.
Clear all breakpoints Removes all breakpoints that are inserted in the flow service.
Step-in

Click the Step-in icon to enter a service and debug each step inside a flow service.

Step-return Click the Step-return icon to exit the current service and return to the calling step. It helps you skip over internal details once you have finished inspecting them.
Close Closes the Debug page and goes back to the flow service.

Modifying the current pipeline data while debugging

While debugging, you can modify the contents of the pipeline by clicking on the field values. The changed values are not applied on the current step but on successive steps when you do a Step over or Resume.

While modifying the pipeline, keep the following points in mind:

  • You can modify the pipeline data only during an active debug session.
  • When you modify values in the pipeline, the changes apply only to the current debug session. The flow service is not permanently changed.
  • You can modify existing variables but cannot add new variables to the pipeline.
Note: While running or debugging flow services and testing operations, if the input has any duplicate keys, or if the service returns an output with duplicate keys, you can view those keys.