12-16-2011 4:27 PM
Hi,
In order to debug calls made to an external web service I'd like to find a way to get the request (XML data) that is being sent to the ws. I've created an ABAP web service consumer, by creating a ProxyClass from the web service WSDL via SE80.
Is there a way to get back the XML data that is being sent when the execute method of the proxy class instance is called?
Thank you,
Pietro
12-17-2011 1:44 PM
Hi ,
Use transaction SRT_UTIL for monitoring of webservices.
It can monitored by user id Or by Path.
Thanks
Jitendra Soni
12-17-2011 1:44 PM
Hi ,
Use transaction SRT_UTIL for monitoring of webservices.
It can monitored by user id Or by Path.
Thanks
Jitendra Soni
12-19-2011 10:16 AM
Hi Jitendra,
I've launched the SRTUTIL transaction but I'm only able to see the function modules that are called.
The only other thing that I've got is a Message ID. Is there a transaction to get the message given its ID?
Thank you,
Pietro
12-19-2011 7:48 PM
Hi Pietro,
just double click on that message id.
u will see there are 4 lines
1. first shows request passed to interface.
2. second shows the req passed to FM.
3. third shows response passed by FM.
4. fourth shows response passed by interface.
If u want to see the XML data just select 1 Or 4 then click on button " Original XML ".
Thanks
Jitendra Soni
12-20-2011 9:29 AM
Hi Jitendra,
thank you for your reply.
Unfortunately I can't follow your instructions because double clicking on the Message ID does not show anything.
When I launch SRTUTIL I get a screen divided in two: on the left there is a tree of users and on the right there is the details panel.
I've added the user that I want to monitor and checked "Monitor performance" (don't know if this is the correct english name, I'm seeing a translated interface). On the "Performance data" tab (the second tab) I have a table showing the columns "Component", "Action", "Date", "Time", "Expiration date" and "Status".
If I double click on one row, the details table is displayed:
1 1 1 Sector 1: WS-Consumer CL_WS_PROXY_RUNTIME_OUTBOUND Create_Proxy 15 2
2 2 2 CL_SRT_LP_MAINTENANCE Create_Client_Application 13 3
>>Proxy_Class ZAG_EDA_CO_WS_AFDYANDGCL_00_0P
>>Logical_Port TEST_WEBSERVICE
3 3 CL_SRT_LP_MAINTENANCE Create_Config_Client 2
4 1 3 CL_SRT_LP_MAINTENANCE Initialize_Client 8 1
5 1 4 CL_SOAP_APPLICATION_CLIENT Initialize_Context 7
6 3 5 CL_SRT_WSP_RT_CONFIG Initialize 7 2
7 6 CL_SRT_WSP_RT_CONFIG Get_Global_Properties
8 6 CL_SRT_WSP_RT_CONFIG Create_Protocols 1
9 6 6 CL_SRT_WSP_RT_CONFIG Initialize_Protocols 4 1
10 7 CL_SRT_WSP_RT_CONFIG CL_SOAP_RUNTIME_PROTOCOL
11 7 CL_SRT_WSP_RT_CONFIG CL_WS_SECURITY_PROTOCOL 1
12 7 CL_SRT_WSP_RT_CONFIG CL_SOAP_SESSION_PROTOCOL 1
13 7 CL_SRT_WSP_RT_CONFIG CL_SOAP_MSGID_PROTOCOL
14 7 CL_SRT_WSP_RT_CONFIG CL_SOAP_WSADDR_PROTOCOL
15 7 CL_SRT_WSP_RT_CONFIG CL_SOAP_WSRM_PROTOCOL 1
16 1 1 Sector 1: WS-Consumer CL_WS_PROXY_RUNTIME_OUTBOUND Execute: remoteInvoke 272 1
17 1 2 CL_WS_PROXY_RUNTIME_OUTBOUND Process_Call 271 1
18 1 3 CL_SOAP_RUNTIME_CLIENT Execute_Processing 270 2
19 5 4 CL_SOAP_RUNTIME_CLIENT Exec_Processing 268 2
20 5 CL_SOAP_RUNTIME_ROOT Pre_Process_Protocols 1
21 3 5 CL_SOAP_HTTP_TPBND_ROOT Transport_Binding_Send 8 4
>>SOAP_Action ""
22 6 CL_SOAP_HTTP_TPBND_ROOT Create_HTTP_Client_By_URL 1
>>URL http://sarch0.syssede.systest.sanpaoloimi.com:8023/scriptArch0/webservices/WS_AFDYANDGCL_00_0
23 1 6 CL_SOAP_HTTP_TPBND_ROOT Serialize_Message 2
24 7 CL_SOAP_MESSAGE_NEW Write_HTTP_Body
>>HTTP_Body_size 3155
25 6 CL_SOAP_HTTP_TPBND_ROOT HTTP_Send 1
26 3 5 CL_SOAP_HTTP_TPBND_ROOT Transport_Binding_Receive 256 4
27 6 CL_SOAP_HTTP_TPBND_ROOT HTTP_Receive 251
28 6 CL_SOAP_HTTP_TPBND_ROOT Create_Message
29 2 6 CL_SOAP_HTTP_TPBND_ROOT Get_Method 1
>>Method remoteInvokeResponse
30 7 CL_SOAP_MESSAGE_NEW Create_XML_Reader
31 7 CL_SOAP_MESSAGE_NEW Parse_XML
32 5 CL_SOAP_RUNTIME_ROOT Post_Process_Protocols
33 5 CL_SOAP_HTTP_TPBND_ROOT Deserialize_Body 1
This is where I'm stuck. Getting the details of one row does not get me the XML nor it displays an "Original XML" button.
Maybe I have a different version of yours.
Thank you.
Pietro
12-20-2011 11:13 AM
Hi,
I've made further investigations and it seems that XML messages are not monitored on my system.
Do you know how to activate/enable XML message monitoring?
Thank you,
Pietro
12-20-2011 7:32 PM
Hi Pietro,
First , pls use Tcode SRT_UTIL.
On the left tree click on "Add user" and enter user name.
Now in right side click on "configuration" tab and made the "Payload Trace" active .
now click on "Save Configuration" button , below on screen.
Now Run ur webservice. Click on "Payload Trace" Tab and u will see all the calls. Now double click on any of these and
follow steps of my earlier reply.
Thanks
Jitendra soni