ABAP 与 WEBSERIVE
一. Abap 发布webserive
1. sicf中激活相应服务:
2. se 37 fun: YRFC_TEST_WEB
FUNCTION YRFC_TEST_WEB.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(INDATA) TYPE CHAR1 OPTIONAL
*" EXPORTING
*" VALUE(OUT_DATA) TYPE CHAR20
*"----------------------------------------------------------------------
caseINDATA.
when 'X'.
OUT_DATA = 'This is X'.
when 'Y'.
OUT_DATA = 'This is Y'.
when OTHERS.
OUT_DATA = 'This is Nothing '.
endcase.
ENDFUNCTION.
3. 生成webservice
保存并激活
4. 进行IE发布SOAMANAGER
输入用户名与密码:
保存后,再显示wsdl:
http://ids.yonghui.cn:50500/sap/bc/srt/wsdl/bndg_441EA144622F1EE1A89352159592DC0F/wsdl11/allinone/ws_policy/document?sap-client=100
外部语言进行调用即可
5.
二. Abap调用外部的webservice方式
1. 获取webservie wsdl
http://10.1.1.40/venderts/Service1.asmx
http://10.1.1.40/venderts/Service1.asmx?wsdl
2. 生成webservice
http://10.1.1.40/venderts/Service1.asmx?wsdl
Active
3. LPCONFIG创建Logical Port
保存并激活
4. 编写webserive 程序 se38
*&---------------------------------------------------------------------*
*& Report YTST_WEB01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT YTST_WEB01 NO STANDARD PAGE HEADING MESSAGE-ID 00.
*---------------------------------------------------------------------
*数据定义
*---------------------------------------------------------------------
DATA:
* Reference variables for proxy and exceptionclass
lo_clientproxy TYPE REF TOZTESTPROXY1CO_SERVICE3SOAP,
lo_sys_exception TYPE REF TOcx_ai_system_fault,
* Structures to set and get message content
ls_helloworld TYPEZTESTPROXY1WRITE_VENDER_SOAP_O-WRITE_VENDER_RESULT,
ls_request TYPEZTESTPROXY1WRITE_VENDER_SOAP_I,
ls_response TYPEZTESTPROXY1WRITE_VENDER_SOAP_O.
****Set the input parameter into the Requestof the SOAP Object
****Create the Proxy and Clall it.
CREATE OBJECT lo_clientproxy.
TRY.
CALL METHOD lo_clientproxy->WRITE_VENDER
EXPORTING
INPUT = ls_request
IMPORTING
OUTPUT = ls_response.
****Write Out the Basic Information
ls_helloworld = ls_response-WRITE_VENDER_RESULT.
WRITE /1 ls_helloworld.
CATCHcx_ai_system_fault INTO lo_sys_exception.
write: / lo_sys_exception->ERRORTEXT.
* Error handling
ENDTRY.
5. 进行测试
6. 可以使用接口调用