webService的發布與調用


  • FM創建

首先,執行Tcode:SE37,進入函數創建界面。

在創建函數之前,先創建一個Function Group,或者使用系統中已經創建好的Function Group。自定義函數組方法如下:

 

執行Create Group功能后,彈出如下圖所示對話框:

錄入信息后,點擊保存。然后返回到Function Builder界面,在Function Module文本框錄入FM的名稱:Z_CALCULATE,點擊創建按鈕,如下圖所示:

點擊保存按鈕,進入FM編輯頁面。如下圖所示:

在Attributes面板中,Processing Type選擇Remote-Enabled Module單選按鈕,然后進入Import/Export/Changing/Tables/Exceptions面板,如下圖所示:

錄入參數,並勾選Pass Value復選框,否則將無法成功發布webService。然后進入Source Code進行代碼編輯,如下圖所示:

點擊檢查按鈕,然后保存激活改FM。

  • webService發布

在FM激活之后,在菜單Utilities中選擇More Utilities→Create webService→From the Function Module。如下圖所示:

執行菜單功能按鈕后,將彈出以下對話框:

定義服務,點擊繼續按鈕,如下圖所示:

點擊繼續。

點擊繼續。

勾選Local Object復選框,若不勾選,則必須要在相應文本框錄入當前所要應用的Package名稱,及所創建的Transport Request。然后點擊繼續按鈕。

點擊完成按鈕,此時ZSAP_CALCULATE服務已經創建完成了。

在當前系統訪問事務碼:SOAMANAGER,進入SOA Management界面。如下圖所示:

在Business Administration面板,執行Web Service Administration,如下圖所示:

創建查詢服務,點擊Start按鈕。選中剛創建好的服務,點擊Apply Selection。如下圖所示:

點擊Configurations→Create Service。

在彈出的SOA Management界面,錄入相應信息后,點擊Apply Settings。然后在Overview面板,執行Open WSDL document for selected binding。如下圖所示:

我們所要的URL鏈接地址即為地址欄中顯示的內容。

然后在當前系統中執行Tcode:SICF,進入Maintain Services界面,如下圖所示:

然后在Service Name文本框中錄入服務名稱,點擊執行按鈕。

選中ZSAP_CALCULATE,右鍵執行Test Service功能。測試結果如下圖所示:

地址欄中顯示的內容即為我們要找的EndPoint地址。

  • webService調用配置

webService發布之后,我們就需要到調用該webService的系統進行一些相關配置,實現調用之前的接口函數。

在要調用該webService的SAP系統,執行事務碼SE80。

在相應對象上右鍵選擇Create→Enterprise Service,並執行該菜單功能,進入如下圖所示界面:

選擇Service Consumer,點擊繼續。

選擇URL/HTTP Destination,點擊繼續。

在URL文本框中錄入之前查詢的URL。錄入之后點擊繼續。

填寫Prefix信息,勾選Local Object復選框,將對象保存到本地,否則錄入相應的package和Request/Task,點擊繼續按鈕。

點擊完成按鈕。

錄入webService所在系統的用戶名、密碼,點擊確定按鈕。

點擊激活按鈕。然后執行事務碼LPCONFIG,進入Display/Create Logical Port界面,創建邏輯端口。

點擊創建,進入編輯頁面。

按照上圖進行相關配置。在General Settings面板,打開Call Parameter面板,如下圖所示:

 URL為EndPoint地址,經檢查后激活該邏輯端口。

  • Report開發

*&---------------------------------------------------------------------*
*& Report  ZTEST_SCREEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZTEST_WEBSERVICE.
DATA: CONVERT TYPE REF TO ZCO_ZSAP_CALCULATECO_ZSAP_CALC,
INPUT_PAR TYPE ZCO_ZSAP_CALCULATEZCALCULATE,
OUTPUT_PAT TYPE ZCO_ZSAP_CALCULATEZCALCULATE_R.


CREATE OBJECT CONVERT.

INPUT_PAR-NUMBER1 '1'.
INPUT_PAR-NUMBER2 '3'.
INPUT_PAR-ZOPERATOR '+'.


TRY.
    CALL METHOD CONVERT->ZCALCULATE
      EXPORTING
        INPUT  = INPUT_PAR
      IMPORTING
        OUTPUT = OUTPUT_PAT.

  CATCH CX_AI_SYSTEM_FAULT .
    WRITE 'Error:Communication Error'.
  CATCH CX_AI_APPLICATION_FAULT .
    WRITE 'Error:Application Error'.
ENDTRY.

WRITE: OUTPUT_PAT-RESULT.


免責聲明!

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



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