*&---------------------------------------------------------------------*
*& Report Y_CLY_WS_001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Y_CLY_WS_001.
DATA: LV_ANS TYPE STRING.
DATA: LV_MSG TYPE STRING.
START-OF-SELECTION.
PERFORM FRM_CALL_WS_PORT1 CHANGING LV_ANS LV_MSG.
WRITE: LV_MSG.
*&---------------------------------------------------------------------*
*& Form FRM_CALL_WS_PORT1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_CALL_WS_PORT1 CHANGING CV_ANS CV_MSG.
DATA: L_BOOL TYPE FLAG.
DATA: INTERFACE TYPE REF TO ZCO_DESADAPTER_SOAP. " 代理类 proxy name
DATA: EX_ERR1 TYPE REF TO CX_AI_SYSTEM_FAULT.
DATA: EX_ERR2 TYPE REF TO CX_AI_APPLICATION_FAULT.
DATA: EX_ERR3 TYPE REF TO CX_SY_REF_IS_INITIAL.
DATA: L_I TYPE ZDES_TEST_SOAP_IN.
DATA: L_O TYPE ZDES_TEST_SOAP_OUT.
""""""""""" 代理端口 可通过 SOAMANAGER or LPCONFIG 生成
TRY .
CREATE OBJECT INTERFACE
EXPORTING
LOGICAL_PORT_NAME = '&PARA1'. " 代理端口
CATCH CX_AI_SYSTEM_FAULT INTO EX_ERR1.
CV_MSG = EX_ERR1->GET_TEXT( ).
CV_ANS = ''.
ENDTRY.
""""""""""" 调用函数
TRY.
CALL METHOD INTERFACE->DES_TEST
EXPORTING
INPUT = L_I
IMPORTING
OUTPUT = L_O.
CATCH CX_AI_SYSTEM_FAULT INTO EX_ERR1.
CV_MSG = EX_ERR1->GET_TEXT( ).
CV_ANS = ABAP_TRUE.
CATCH CX_AI_APPLICATION_FAULT INTO EX_ERR2 .
CV_MSG = EX_ERR2->GET_TEXT( ).
RETURN.
CATCH CX_SY_REF_IS_INITIAL INTO EX_ERR3.
CV_MSG = EX_ERR3->GET_TEXT( ). " 端口PORT1不存在时
RETURN.
ENDTRY.
ENDFORM. " FRM_CALL_WS_PORT1