SAP_Web_Service開發配置


第一章    SAP創建WS

1.1       概要技術說明

1.2       創建RFC函數

1.3       創建WS

1.4       外部系統訪問配置

第二章    SAP調用WS

2.1       概要技術說明

2.2       創建服務代理對象

2.3       創建端口

2.3.1        創建默認端口

2.3.2        配置默認端口

2.4       程序實現調用

2.4.1        代碼實現

第三章    數據交換格式

3.1       數據交換格式

 

第一章       SAP創建WS

1.1   概要技術說明

  Web Service 簡介:構建互聯網分布式系統的基本部件。Web Services 正成為企業應用集成(Enterprise Application Integration)的有效平台。你可以使用互聯網中提供的Web Service構建應用程序,而不必考慮這些Web Service是怎樣運行的。

Web Service通過標准通信協議,在互聯網上發布程序模塊(以服務的方式),目前大部分是用SOAP來做通信協議

本文檔為一個SAP ECC(以下簡稱ECC)系統如何生成Web Service(以下簡稱WS)供外部系統調用的示例。ECC系統生成WS的大致流程為:首先在SAP中創建一個屬性為RFC的函數,然后對該函數進行封裝,最后通過事務代碼——SOAMANAGER進行配置,即可得到供外部系統進行調用WS的URL。詳細技術說明見1.2—1.4。

系統環境:SAP ECC 6.0, BASIS 700 SP15;

WS通訊協議:SOAP 1.1(此ECC的版本暫不支持SOAP1.2)。

1.2    創建RFC函數

使用TCODE:se37或SE80,首先在函數組(函數組自行創建)中創建一個函數,在彈出的界面輸入相關參數,將Processing Type選為RFC類型即可。具體如下:

 

該函數的輸入、輸入參數均為String類型。

1.3    創建WS

創建WS有兩種途徑,一種是通過SE80,另一種是通過SE37,前一種提供了多種選擇類型(WS、Proxy Object 等),后者只能創建WS。本文檔使用后一種方法,通過如下路徑:Utilities->More Utilities->Create Web Service->Form the Function Module。

 

 

 系統彈出Web Service創建向導,輸入服務名稱、描述:

 

Name Mapping和XML文件中生成的函數名對應的變量命名有關,一般不選。



Profile為安全文件設置,即外部系統訪問該服務時ECC系統設置的安全級別。Deploy Service可不選。

 

輸入開發包和傳輸請求:

 

完成:

 

基本信息如下:

 

1.4   外部系統訪問配置

若是生成的WS供SAP系統調用,則此步驟可省略,非SAP系統訪問則必須配置。通過事務代碼:SOAMANAGER對Web Service(ZXTPT_DXP)進行配置。具體過程如下:

 

點擊Web Service Administration進行配置,進入后選擇自己創建的WS,然后點擊Apply Selection:

 

點擊 Configurations,再點擊Edit按鈕,如下:

 

在上圖中輸入用戶名和密碼即可,然后點擊Save按鈕配置完成。再點擊下圖中的Overview按鈕,然后打開:Open WSDL document for selected binding標簽,即可獲得URL。

 

URL在IE的地址欄中獲得。

 

第二章        SAP調用WS

2.1   概要技術說明

ECC系統調用外部WS是企業信息系統整合集成時經常遇見到的情況,本章為一個ECC系統調用外部WS來實現和企業門戶的數據交換例子。ECC系統調用外部WS的大致流程為:首先在SAP中創建一個代理對象,然后為對象創建端口,並將配置端口激活,最后通過事務代碼——SOAMANAGER進行配置,即可在程序中調用WS中提供的方法,以實現系統間的數據傳輸。詳細技術說明見2.2—2.4。

系統環境:SAP ECC 6.0, BASIS 700 SP15;

WS通訊協議:SOAP 1.1(此ECC的版本暫不支持SOAP1.2)。

2.2    創建服務代理對象

使用TCODE:se80,選擇建立,在彈出的界面輸入相關參數即可。具體流程如下:

 

選擇服務消費者:    

 

選擇URL/HTTP類型:

 

輸入你需調用的URL:

 

輸入開發包、前綴號和請求號:

 

完成:

 

最后生成了前綴名為ZXTPT的Proxy Object,它包含了很多種方法,此處只調用方法dxpaccess_service。

 

2.3    創建端口

2.3.1  創建默認端口

通過事務代碼:LPCONFIG為Proxy Object 創建一個默認端口。具體過程如下:

輸入類名稱和端口名稱,若是默認調用的端口,打上對號:

 

編輯端口,輸入名稱、URL和應用設置等:


檢查無誤后,點擊激活按鈕激活此端口即可。

 

 

2.3.2  配置默認端口

通過事務代碼:SOAMANAGER對Proxy Object 進行配置。具體過程如下:

 

點擊Web Service Administration進行配置,進入后選擇自己創建的代理類,然后點擊Apply Selection:

 

點擊 Create Logical Prot會彈出如下窗口,分別輸入相關參數即可:

 

最后點擊 Apply Setting,然后點擊Save按鈕即可激活此配置。

 

完成上述兩個步驟后,即可在程序中調用此代理類。

 

2.4   程序實現調用

2.4.1  代碼實現

關鍵代碼如下:

 1 DATA : lo_proxy TYPE REF TO zxtptco_report_parser,
 2        lo_input TYPE zxtptdxpaccess_service,
 3        lo_output TYPE zxtptdxpaccess_service_respons,
 4        lo_sys_exception TYPE REF TO cx_ai_system_fault.
 5 TRY.
 6 * create an instance of proxy class
 7     CREATE OBJECT lo_proxy
 8       EXPORTING
 9         logical_port_name = 'LP01'.
10 * call the corresponding method
11     CALL METHOD lo_proxy->dxpaccess_service
12       EXPORTING
13         input  = lo_input
14       IMPORTING
15         output = lo_output.
16   CATCH cx_ai_system_fault INTO lo_sys_exception.
17 *    error handling.
18     WRITE : lo_sys_exception->errortext.
19 ENDTRY.

第三章        數據交換格式

3.1   數據交換格式

在ECC系統和數據交換平台(以下簡稱DXP)交換數據時,按DXP平台接口規范要求,采用的是將XML格式的數據封裝到字符串中的形式來實現數據傳輸。外部調用ECC 的WS時返回參數的XML Schema 如下:

 ECC調用外部WS的輸入參數的XML Schema如下:

 具體字段解釋如下:

 


免責聲明!

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



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