Tuesday, October 26, 2010

Debugging a remotely triggered flow service.

To debug a process that is run from a trigger or business process in IntegrationServer7:
  1. Put a pub.flow:savePipelineToFile as the first entry in the flow service and enter a filename.
  2. Execute the code that hits the trigger or business process.
  3. Look at the file on the IntegrationServer/pipeline directory to check the data.
  4. To debug, disable the savePipelineToFile and add a pub.flow:restorePipelineFromFile with the same filename
  5. Step through the flow service and you can now see exactly how it behaved and find your problem.
And in IntegrationServer8 (as mentioned in the comments) it gets much easier:
  1. Open the service and change the pipeline debug option to "Save".  (You may have to click on the title bar of the service to get to the right properties screen)
  2. Execute the code that hits the trigger or business process.
  3. The data is saved in the IntegrationServer/pipeline directory
  4. Now select the service again as in step 1, but change the pipeline debug option to either "Restore" option.
  5. Step through the flow service and it will start out with your restored pipeline.

    2 comments:

    1. In webMethods 8 there is an even better option that allows debugging a flow service without changing the code itself. You could use the flow service property "Pipeline Debug" and set it to "Save" to store the pipeline.

      ReplyDelete
    2. We are still on 7.x, but that sounds really cool!

      ReplyDelete