Debug the COBOL Console Client

Guides you through the steps required to create a debug configuration for the generated COBOL client application, and to use the Eclipse debugger to access the MakeCheckAppt Web service from the client application.

Set Breakpoints

You want to be able to see when the client program hands off control to the service running in Enterprise Server.

The code that calls the service is contained in the MakeCheckAppt-proxy.cbl file. Because the program hands off control at two points in its execution – first to run the MakeAppt operation, and second to run the CheckAppt operation – set a breakpoint at each hand-off point in the code so you can step through the program from there.

  1. From the COBOL Explorer, expand ProgramSOAP > COBOL Programs > client.
  2. Double-click MakeCheckAppt-proxy.cbl. This places the source code into the COBOL editor.
  3. Press Ctrl+F to search for the following code:
    call "InvokeService03"

    This is the call that hands execution off to the Web service. You want to set a breakpoint on the code that executes just before it, which is:

    move 256 to wsc-srvc-faultstring-len
  4. Place your mouse pointer in the left-most column at that line of code, and double-click to set a breakpoint.
    Note: When the breakpoint has been set, a dot appears in the left-most column.
  5. Search for the next instance of:
    call "InvokeService03"
    and set another breakpoint on the line of code that precedes it.

Create a debug configuration

To successfully run the MakeCheckAppt Web service using the debugger in Eclipse, you must create a debug configuration to set the proper environment.

  1. In the COBOL Explorer, click the ProgramSOAP project.
  2. From the main menu, click Run > Debug Configurations.
  3. In the left pane, right-click COBOL Enterprise Server; then select New Configuration from the context menu.
  4. At the very top of the right pane, type ProgramSOAP into the Name field.
  5. On the General tab click the Browse button that corresponds to the Connection and Server fields.
  6. Select ESSOAP; then click OK.
    Note: If the ESSOAP enterprise server instance is the only instance defined in Enterprise Server, these fields are completed for you.
  7. Under Debugging type, click the Web Service tab.

    This shows that all debug Web services are invoked by a request from the client.

  8. Click Apply; then click Debug.
  9. Answer Yes to any prompts to open views or perspectives.
  10. In the Debug view, you should now see an entry for debugging ProgramSOAP [COBOL Enterprise Server].
Switch back to the COBOL perspective
Before you can set a breakpoint in a client program, you need to switch back to the COBOL perspective and access the COBOL Explorer view.
  • In Eclipse, click the COBOL icon COBOL perspective.

Run the COBOL console client

  1. From the COBOL Explorer, expand ProgramSOAP > COBOL Programs > client.
  2. Right-click MakeCheckAppt-app.cbl, and then select Debug As > COBOL Application from the context menu.
    Note: If a Confirm Perspective Switch message appears, click Switch.

    This places an entry into the Debug view for the client application.

  3. In the Debug view, right-click the bottom-most entry; then select Resume.

    This invokes a console, and waits for input.

  4. In the console, complete the fields as follows to set an appointment slot:
    Service Address leave blank
    Username leave blank
    Password leave blank
    Operation 1
    lnk_customer_name Benton Riley
    lnk_consultant_id 8706
    lnk_date.lnk_yyyy 2525
    lnk_date.lnk_mm 1
    lnk_date.lnk_dd 1
    lnk_time_slot 5

    The client application then resumes execution, and pauses on the breakpoint set on the move 256 to wsc-srvc-faultstring-len statement.

  5. Click Step Into Step Into twice to step just past the call "InvokeService03" statement and into schedule.cbl, which opens in an Eclipse window.
  6. From the Eclipse menu bar, click Resume Resume.
  7. Click Terminate Terminate to terminate MakeCheckAppt-app.dll execution.

Rerun the COBOL console client

Here you rerun the client, selecting the other operation to see that the appointment has been made.

  1. In the Debug view, right-click the MakeCheckAppt-app.dll entry marked as <terminated>; then select Relaunch from the context menu.
  2. In the Debug view, right-click the bottom-most entry; then select Resume.
  3. Complete the fields as follows:
    Service Address leave blank
    Username leave blank
    Password leave blank
    Operation 2
    lnk_customer_name Benton Riley
    lnk_consultant_id 8706
    lnk_date.lnk_yyyy 2525
    lnk_date.lnk_mm 1
    lnk_date.lnk_dd 1

    The client application then resumes execution, and pauses on the move 256 to wsc-srvc-faultstring-len statement.

  4. Click Step Over Step Over repeatedly to step through the code until the appointment you set appears on the list in the console client. You should see it on line [00005] because it is the fifth appointment set for that day.
  5. Click Terminate Terminate to terminate execution and stop debugging.

This concludes the tutorial.