1:在SAP端配置WebService对象
tcode:SE80
右键:Z001(界面上找不到企业服务,部分菜单需要设置显示)
命名规则ZSAP2对方系统
创建成功
2、配置
tcode:lpconfig
代理类是上一步创建成功的
缺省端口默认打勾
维护WebService地址
选择你要调用的操作,维护对应操作
soap操作在WebService界面查找
对应的soapAction后的内容,包括双引号
代码调用
对应的类和方法都是来源于第一步创建的类
DATA: L_MSGTXT TYPE BAPI_MSG. DATA:WS_001 TYPE REF TO ZSAP2CRM_003CO_INTERFACE_COMMO . "proxy class DATA: LO_SYSTEM_FAULT TYPE REF TO CX_AI_SYSTEM_FAULT, LO_APPLICATION_FAULT TYPE REF TO CX_AI_APPLICATION_FAULT. DATA: LO_INPUT TYPE ZSAP2CRM_003INVOKE_INTERFACE_1, "输入参数 LO_OUTPUT TYPE ZSAP2CRM_003INVOKE_INTERFACE_S. "输出参数 LO_INPUT-PARAM_INFO = P_IN. CALL METHOD ZCL_SOAP_HANDLER=>CREATE_SOAP_OBJECT EXPORTING IN_CLASS = 'ZSAP2CRM_003CO_INTERFACE_COMMO' "代理类 IN_PORT_NAME = 'ZSAP2CRM_003CO_INTERFACE_COMMO' "逻辑端口 CLIENTID = 'com.boway.esb.crm.crm' "接口客户端 OPERATIONCODE = 'com.boway.esb.crm.otm.creditreleaseinfo' "操作代码 CHANGING C_OBJECT = WS_001. * TRY. CALL METHOD WS_001->INVOKE_INTERFACE "web service 里的函数也叫做方法 EXPORTING INPUT = LO_INPUT IMPORTING OUTPUT = LO_OUTPUT. CATCH CX_AI_SYSTEM_FAULT INTO LO_SYSTEM_FAULT."异常捕获 CLEAR L_MSGTXT. CALL METHOD LO_SYSTEM_FAULT->IF_MESSAGE~GET_TEXT RECEIVING RESULT = L_MSGTXT. * RETURN. CATCH CX_AI_APPLICATION_FAULT INTO LO_APPLICATION_FAULT. CLEAR L_MSGTXT. CALL METHOD LO_SYSTEM_FAULT->IF_MESSAGE~GET_TEXT RECEIVING RESULT = L_MSGTXT. "返回结果 * ENDTRY.