How To Debug ABAP Web Service on SAP Web Application Server (WAS)

One of the more confounding aspects of developing in the SAP space is the lack of good, low-level, helpful instructions.  While this post is merely regurgitating information that is readily available elsewhere, it will be done in a manner that (hopefully) will actually be useful to vast majority of ABAP developers out there that,  like me, find a lot of SAP’s implementation of web services on the ABAP stack confusing.

Debugging a web service on the ABAP stack of SAP Web Application Server is a very useful procedure to know.  Here’s how you do it.

Note: This example is for ECC 5.0

  1. Locate the web service definition in the HTTP Service Hierarchy.  There are two ways to do this:
    • Option 1: Use transaction WSCONFIG and display the configuration for your web service.  Click on the ICF Details button
      Debug ABAP Web Service 01

    • Option 2: Start transaction SICF. Navigate directly to /sap/bc/srt/rfc/sap for your default host.
  2. Regardless of the method used to get to the service definition for your web service enabled function module, you should have it selected as in this example.
    Debug ABAP Web Service 02

  3. Next, enable the debugger by selecting the Edit\Debugging\Activate Debugging menu.

    Debug ABAP Web Service 03

  4. In the ensuing dialog box, confirm the debugging options (the defaults are usually OK).
    Debug ABAP Web Service 04

  5. To exercise the debugger, test your web service.  For this example, I will use the SAP WAS web service test tool, but the application calling the web service can be anything as long as it connects with the debugger’s user ID.
    Debug ABAP Web Service 05

  6. When the web service is executed, the debugger will start in a new SAPGUI session (make sure you are already logged in via the SAPGUI prior to executing the web service).
    Debug ABAP Web Service 06

  7. In the debugger, choose Breakpoints\Breakpoint at\Function Module from the menu to create a new breakpoint.
    Debug ABAP Web Service 07

  8. Specify the function module that implements your web service.  In the debugger, press F8 to run to your newly created breakpoint.
    Debug ABAP Web Service 08
    If the debugger doesn’t get to your breakpoint, the most likely culprit is malformed input XML.  Check the payload of the message to ensure that it conforms to the specifications of the web service.

Once the debugger has started, it is just like debugging any other SAP application. If you have any specific tips or tricks regarding debugging web services, please share them in the comments section of this blog.

About Craig Stasila

Craig Stasila is a senior partner consultant with DataXstream, LLC. He has over twelve years of experience with SAP integration and is an innovative leader who is familiar with current advances in technology, especially in cross application interfacing.

Comments

  1. Nice tips Craig, thanks a lot

  2. Ganesan Rajamani says:

    Excellent Tip. Thanks Craig!

  3. Craig,

    we are currently developing some interfaces with SAP utilizing SAP web services. We have had success with their creation and deployment to a web page.

    However, one issue I have come up against is trying to test the service, before deploying it to a web page. When I try to test the service, the browser opens to an error page. Does the J2EE server need to be enabled on the SAP system in order to use the test system? I am currently working with our system administrator to enable this functionality.

    you are correct, there seems to be scattered bits of info on SAP’s web services on the net.

    Regards,
    Justin

  4. You brush over the “same username” issue.

    How do I find the username of the web service? Without that I am stuck

    How do I make them the same. change mine or the WS or both?. I realise this might depend on the situation but you could discuss the pros and cons

    Peter

  5. @Peter,
    Go to SICF, search for your web service. It will normally be under sap/bc/srt/rfc/sap/ folder. Now double-click the web service. In second tab, rightfully named ” Logon Data”, maintain login information under Logon Data frame.

    @Justin,
    Without JAVA stack, SAP WAS can’t run Web services.

    thankz,
    Ajay

  6. Shobhika says:

    Hi,

    how do i test my web service.I’m stuck as I cannot debug my ITS.

    please suggest

    Shobhika

  7. Hi,

    I’m trying to create a WebService using just ABAP Stack and when I select “Open Web Service navigator for selected binding” on SOAMANAGER I get error: ” J2EE host or port not specified; define them under “System Settings”.

    Also, when I use an external WebService Test Tool I get error: “System.Net.WebException: The request failed with HTTP status 401: Unauthorized.”

    Any idea?
    AF

  8. Ajay,

    Is this true?

    “Without JAVA stack, SAP WAS can’t run Web services.”

    AF

Add Comment Register



Speak Your Mind

*