SAP與外部WebService接口的鏈接


參考博客:http://scnblogs.techweb.com.cn/lxzwsk/archives/27.html

SAP 能通過設置WebService與外部的webservice服務連接;

1、進入事務:SE80,選擇 Package ,指定保存的開發包,按圖1操作,創建一個Enterprise Service;

(圖1)

2、會出現如下的創建導向窗口,選擇 'Service Consumer',點擊‘繼續’,如圖2;

 

(圖2)

3、在彈出的下一個窗口中選擇‘URL/HTTP Destination’,點擊‘繼續’,如圖3;

(圖3)

4、在彈出的窗口中,選擇‘URL’,並輸入wdsl地址,如圖4;

(圖4)

5、在彈出的窗口中,在'Package'欄中輸入所需保存的開發類,若保存為本地開發類,則需將‘Local/Object’選上,如圖5;

(圖5)

6、點擊完最終的‘Complete’后,如果相連接的WDSL沒有問題,則會出現WebService 代理類的創建窗口,如圖6;

(圖6)

7、在保存並激活完代理類后,進入事務:LPCONFIG,進行創建邏輯端口的操作,如圖7;

(圖7)

8、在進入創建端口的界面后,輸入描述,並在‘一般設置’下的‘調用參數’頁簽中,在'URL'中輸入WSDL地址,並在‘應用程序特定設置’
    的‘全局設置’頁簽下將‘狀態管理’勾上,否則在激活的時候會提示‘激活不成功’,如圖8;
(圖8)
9、在‘一般設置’下的‘操作’頁簽中,在‘SOAP’操作對應的輸入框中輸入對應的行為地址,如圖9;
(圖9)
10、保存並激活邏輯端口。
11、通過編寫代碼來測試SAP與WebService的鏈接,如附件;
 
 1 *&----------------------------------------------------------------------*
 2 *&  Program  Name :  ZQIU_TEST44
 3 *&  Author's  Name : QLB
 4 *&  Written   Date :  25.02.2014 15:59:03
 5 *&  Request  Number:
 6 *&  Program Description:  sap 與 webservice 的連接測試
 7 *&----------------------------------------------------------------------*
 8 *  Changer           Changed Date         Request  NO.        Dec.
 9 *&----------------------------------------------------------------------*
10 
11 REPORT  zqiu_test44.
12 
13 DATA:webservice TYPE REF TO zco_oa_workflow_service.
14 
15 DATA:gw_zcreat_oa_workflow  TYPE zcreat_oa_workflow,
16      gw_input  TYPE zcreat_oa_workflow1,
17      gw_output TYPE zcreat_oa_workflow_response1.
18 
19 DATA:lo_sys_exception   TYPE REF TO cx_ai_system_fault,
20      lo_app_exception   TYPE REF TO cx_ai_application_fault.
21 
22 DATA: p_str1   TYPE string,
23       p_str2   TYPE string,
24       p_str3   TYPE string.
25 
26 
27 START-OF-SELECTION.
28 
29   "XML數據
30   p_str1 = '<fields><field><name>Title</name><value>交辦測試</value></field><field><name>Urgency</name><value>緊急</value></field>'.
31   p_str2 = '<field><name>YQDate</name><value>2013-09-24</value></field><field><name>Day_HF</name><value>3</value></field><field><name>XGXM</name><value>1</value></field>'.
32   p_str3 = '<field><name>Name_KH</name></field><field><name>Content</name><value>任務安排111</value></field><field><name>Remarks</name><value>備注111</value></field></fields>'.
33 
34   TRY.
35       CREATE OBJECT webservice
36         EXPORTING
37           logical_port_name = 'LZP01'.
38       "為此webservice創建的邏輯端口。
39     CATCH cx_ai_system_fault .
40       MESSAGE '出錯了' TYPE 'E'.
41   ENDTRY.
42 
43   "寫輸入參數
44   gw_zcreat_oa_workflow-arg0 = 'TW9QUQXPR74U95SS'.
45   gw_zcreat_oa_workflow-arg1 = 'L_TYLC_GZJB'.
46   gw_zcreat_oa_workflow-arg2 = ''呵呵.
47   gw_zcreat_oa_workflow-arg3 = ''.
48   gw_zcreat_oa_workflow-arg4 = 'admin'.
49   gw_zcreat_oa_workflow-arg5 = |{ p_str1 }{ p_str2 }{ p_str3 }|.
50   gw_input-parameters = gw_zcreat_oa_workflow.
51 
52   TRY.
53       CALL METHOD webservice->creat_oa_workflow
54         EXPORTING
55           creat_oa_workflow          = gw_input
56         IMPORTING
57           creat_oa_workflow_response = gw_output.
58     CATCH cx_ai_system_fault INTO lo_sys_exception .
59       "“message ‘出錯了 systemai’ type ‘s’.
60       WRITE lo_sys_exception->errortext.
61     CATCH cx_ai_application_fault INTO lo_app_exception .
62       WRITE / .
63       WRITE lo_app_exception->textid.
64   ENDTRY.
65 
66   WRITE gw_output-parameters-return.

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM