更新时间:2024-10-21 GMT+08:00
分享

使用SOAP服务调用SOAP协议接口

当系统需要调用第三方提供的SOAP协议接口时,可以通过配置SOAP服务来实现,SOAP服务是第三方系统提供的,是一组模块化的SOAP接口,通过配置第三方提供的SOAP服务的URL进行调用。对接SOAP服务后,可以为服务添加动作,动作用于将第三方接口转换成AstroZero可识别的,方便方便AstroZero调用第三方接口。一个SOAP服务中可以包含一个或多个动作。例如,一个订单服务,可能包括创建订单、查询订单、修改订单和删除订单四个动作。在AstroZero中,通过依次创建SOAP服务和SOAP动作,使得系统可以调用第三方提供的SOAP协议的接口,实现第三方提供的业务功能。

创建SOAP服务

用户可以通过手工创建SOAP服务,也可以直接导入第三方提供的WSDL文件创建SOAP服务。

  • 方式一:手工创建SOAP服务

    创建手工创建SOAP服务前,请提前获取第三方提供的WSDL文件和SOAP版本号、SOAP服务的URL地址、SOAP服务入参格式要求。

    1. 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
    2. 在左侧导航栏中,选择“集成”
    3. 在“连接器 ”中,单击“连接器实例”,进入连接器实例页面。
    4. 在类型中,选择“HTTP > Soap服务”,进入Soap服务连接器页面。
    5. 单击,选择“创建”,进入创建Soap服务页面。
    6. 配置连接器信息,单击“保存”。
      图1 配置页面
      表1 基本信息参数说明

      区域

      参数

      参数说明

      基本信息

      标签

      新建SOAP Service的标签名。

      取值范围:1~64个字符。

      名称

      新建SOAP Service服务的名称,名称是SOAP Service服务在系统中的唯一标识。命名要求如下:

      • 长度不能超过64个字符,包括前缀命名空间的长度。
        说明:

        名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

      • 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

      服务地址

      第三方提供SOAP服务的URL地址,请从第三方获取。

      SOAP版本

      SOAP版本号,请从第三方获取。

      日期格式

      若该SOAP服务的输入参数,包括Date类型且有固定的要求格式,则必须进行配置。

      请确保AstroZero提供的输入参数,符合第三方要求。例如,该SOAP服务存在Date类型输入参数,且要求格式为“YYYY-MM-DD”,此处必须配置为“YYYY-MM-DD”。

      日期/时间格式

      若该SOAP服务输入参数,包括DateTime类型且有固定的要求格式,则必须进行配置。

      请确保AstroZero提供的输入参数符合第三方要求。例如,该SOAP服务存在DateTime类型输入参数,且要求格式为“YYYY-MM-DD hh:mm:ss”,此处必须配置为“YYYY-MM-DD hh:mm:ss”。

      描述信息

      请根据实际需求,在输入框中输入服务的描述信息。

      命名空间

      名称

      SOAP Service中存在的命名空间名称,可自行定义。

      命名空间

      配置为获取的WSDL文件中“targetNamespace”的取值。

      描述

      请根据实际需求,输入命名空间的描述信息。

      操作

      单击操作列的,可复制或删除命名空间。

      配置操作

      名称

      配置操作信息,操作是指第三方提供的调用操作。此处配置的名称,必须和获取的WSDL文件中“operation name”的取值保持一致。

      操作

      单击操作列的,可复制或删除操作。

  • 导入SOAP Package

    通过导入WSDL文件,实现系统自动生成SOAP服务。执行导入操作前,请提前获取第三方提供的WSDL文件,并已压缩成zip格式。

    1. 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
    2. 在左侧导航栏中,选择“集成”
    3. 在“连接器 ”中,单击“连接器实例”,进入连接器实例页面。
    4. 在类型中,选择“Http > Soap服务”,进入Soap服务连接器页面。
    5. 单击,选择“导入”,进入导入Soap包页面。
    6. 设置基本信息,并在“选择文件”中选择已压缩好的zip文件,单击“导入”。
      图2 导入SOAP包配置页面
      表2 导入Soap包参数说明

      参数

      说明

      文件名

      需要导入的WSDL文件名称,请和获取的第三方提供的WSDL文件名保持一致。

      目录

      保存SOAP服务导入后,生成的结构体所属的分类。可直接在下拉选择已有的分类,也可以手动输入新的分类名称,创建新分类。

      日期格式

      若该SOAP服务输入参数,包括Date类型且有固定的要求格式,则必须进行配置。

      请确保AstroZero提供的输入参数,符合第三方要求。例如,该SOAP服务存在Date类型输入参数,且要求格式为“YYYY-MM-DD”,此处必须配置为“YYYY-MM-DD”。

      日期/时间格式

      若该SOAP服务输入参数,包括DateTime类型且有固定的要求格式,则必须进行配置。

      请确保AstroZero提供的输入参数,符合第三方要求。例如,该SOAP服务存在DateTime类型输入参数,且要求格式为“YYYY-MM-DD hh:mm:ss”,此处必须配置为“YYYY-MM-DD hh:mm:ss”。

      选择文件

      单击,将第三方提供的WSDL文件添加到此处。

创建并启用SOAP动作

通过为SOAP服务添加动作,将第三方接口转换成AstroZero可识别的内容,方便AstroZero调用第三方接口。

  1. 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
  2. 在左侧导航栏中,选择“集成”
  3. 在“连接器 ”中,单击“连接器实例”,进入连接器实例页面。
  4. 在类型中,选择“HTTP > Soap服务”,进入Soap服务连接器页面。
  5. 在动作页签中,单击“新建”,进入新建SOAP操作页面。

    图3 新建SOAP操作配置页面
    表3 新建SOAP操作参数说明

    区域

    参数

    说明

    基本信息

    标签

    新建SOAP动作的标签名。

    取值范围:1~64个字符。

    名称

    SOAP动作的名称,名称是动作在系统中的唯一标识,创建后不可修改。命名要求如下:

    • 长度不能超过64个字符,包括前缀命名空间的长度。
      说明:

      名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

    • 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

    SOAP操作

    需要调用的SOAP操作。在创建SOAP服务时已配置,必须和获取的WSDL文件中的“operation name”取值保持一致。

    SOAP操作接口

    SOAP操作的接口名称,请和获取的WSDL文件中的“soapAction”取值保持一致。

    描述

    根据实际需求,输入动作的描述信息。

    输入参数/输出参数

    标签

    新建参数的标签名。

    名称

    新建参数的名称,名称是参数在系统中的唯一标识。

    数据类型

    设置参数的数据类型,直接在下拉框中选择。
    • 日期:日期类型,精度到天。
    • 日期/时间:时间类型,精度到秒。
    • 数字
    • 字符串
    • 布尔值:布尔类型,取值为“true”和“false”。
    • 全局结构体

    命名空间

    “数据类型”设置为“全局结构体”时,需要设置输入参数所属的命名空间。

    结构体类型

    “数据类型”设置为“全局结构体”时,需要设置结构体的类型,可以使用系统提供的类型也可以自定义类型。

    描述

    根据实际需求,在输入框中参数的描述信息。

    必填

    新增参数是否设置为必填参数。

    集合

    新增参数是否设置为数组类型。

    操作

    单击,可复制或删除参数。

  6. 在动作页签,单击该动作所在行的,启用SOAP动作。

在服务编排中,调用动作

创建一个服务编排,通过在服务编排中调用SOAP服务中添加的动作,将第三方提供的业务功能集成到AstroZero中使用。

  1. 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
  2. 在左侧导航栏中,选择“逻辑”
  3. 单击编排后,设置服务编排的标签和名称,单击“添加”

    图4 添加一个服务编排

  4. 在服务编排设计页面左侧,选择“连接器 > Soap服务 > 服务名 ”,拖拽具体的SOAP服务图标至画布中。

    图5 拖拽SOAP服务至画布中

  5. 设置SOAP动作基本信息。

    图6 设置基本信息
    表4 基本信息参数说明

    参数

    说明

    标签

    图元在页面展示的名称。

    名称

    图元在系统中的唯一标识,创建后不可修改。

    取值范围:1~80个字符。

    描述

    根据实际需求,输入图元的描述信息。

    SOAP Service

    SOAP服务的名称,选择创建SOAP服务中创建的内容。

  6. 设置调用SOAP动作参数。

    图7 配置SOAP动作
    表5 SOAP动作参数说明

    参数

    说明

    动作

    选择创建并启用SOAP动作中创建的动作。

    输入参数

    设置输入参数,单击“新增行”,可进行添加。

    “目标”中,选择5中设置的输入参数,在“源”中设置对应的值。

    输出参数

    设置输出参数,单击“新增行”,可进行添加。

    “目标”中,选择5中设置的输出参数,在“源”中设置对应的值。

  7. 单击服务编排设计器页面上方的,保存服务编排。
  8. 保存成功后,单击,运行服务编排。
  9. 在输入参数中,输入请求参数,单击“运行”,查看输出结果。

相关文档