欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

打印SAP ABAP web service call完整的payload

发布时间:2023/12/19 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 打印SAP ABAP web service call完整的payload 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

测试用的webservice是执行一个简单的将两个整数相加的操作.
[外链图片转存失败(img-6UAKiAlM-1562210533998)(https://user-images.githubusercontent.com/5669954/27282442-439c6500-54f0-11e7-86a9-dd3b727e3c89.png)]

下面的report 不仅显示webservice 调用结果4, 并且能显示出完整的web service response payload:

REPORT zdoc_ws_test. DATA: lo_proxy TYPE REF TO co_zweb_add_21,ls_input TYPE zweb_add_operation,ls_output TYPE zweb_add_operationresponse. TRY.CREATE OBJECT lo_proxy EXPORTING logical_port_name = 'ZJERRY3'.ls_input-iv_op1 = 1.ls_input-iv_op2 = 3.lo_proxy->zweb_add_operation( EXPORTING input = ls_input IMPORTING output = ls_output ).CATCH cx_root INTO DATA(cx_root).WRITE / cx_root->get_text( ).RETURN. ENDTRY. WRITE: / 'result:' , ls_output-ev_result. DATA: lo_payload_protocol TYPE REF TO if_wsprotocol_payload. DATA: lo_payload TYPE REF TO if_ws_payload. DATA: lo_payload_handler TYPE REF TO if_ws_payload_handler,lt_request_data TYPE prx_t_param,ls_request_data TYPE prx_s_param. lo_payload_protocol ?= lo_proxy->get_protocol( if_wsprotocol=>payload ). lo_payload_handler = lo_payload_protocol->get_payload_handler( ). ls_request_data-name = 'OUTPUT'. GET REFERENCE OF ls_output INTO ls_request_data-value. APPEND ls_request_data TO lt_request_data. lo_payload = lo_payload_handler->get_payload_from_response_data( lt_request_data ). DATA(lv_payload) = lo_payload->get_xml_text( ). WRITE: / 'Payload:' , lv_payload.

总结

以上是生活随笔为你收集整理的打印SAP ABAP web service call完整的payload的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。