• 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.

  • 相关阅读:
    Hibernate 中出现 XXXX is not mapped 问题
    记录一下表格用poi的导出word
    [转帖] 悟透JavaScript
    JAVA读取Oracle中的blob图片字段并显示
    vs2010代码段,用得飞起~
    FontFamily获取中文名字
    vs2010快捷键
    WPF Binding基础
    Binding对数据的转换和校验
    WPF个UI元素
  • 原文地址:https://www.cnblogs.com/foam-h/p/5193132.html
Copyright © 2020-2023  润新知