使用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服务入参格式要求。
- 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
- 在左侧导航栏中,选择“集成”。
- 在“连接器 ”中,单击“连接器实例”,进入连接器实例页面。
- 在类型中,选择“HTTP > Soap服务”,进入Soap服务连接器页面。
- 单击,选择“创建”,进入创建Soap服务页面。
- 配置连接器信息,单击“保存”。
图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”的取值保持一致。
操作
单击操作列的或,可复制或删除操作。
- 长度不能超过64个字符,包括前缀命名空间的长度。
- 导入SOAP Package
通过导入WSDL文件,实现系统自动生成SOAP服务。执行导入操作前,请提前获取第三方提供的WSDL文件,并已压缩成zip格式。
- 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
- 在左侧导航栏中,选择“集成”。
- 在“连接器 ”中,单击“连接器实例”,进入连接器实例页面。
- 在类型中,选择“Http > Soap服务”,进入Soap服务连接器页面。
- 单击,选择“导入”,进入导入Soap包页面。
- 设置基本信息,并在“选择文件”中选择已压缩好的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调用第三方接口。
- 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
- 在左侧导航栏中,选择“集成”。
- 在“连接器 ”中,单击“连接器实例”,进入连接器实例页面。
- 在类型中,选择“HTTP > Soap服务”,进入Soap服务连接器页面。
- 在动作页签中,单击“新建”,进入新建SOAP操作页面。
图3 新建SOAP操作配置页面
表3 新建SOAP操作参数说明 区域
参数
说明
基本信息
标签
新建SOAP动作的标签名。
取值范围:1~64个字符。
名称
SOAP动作的名称,名称是动作在系统中的唯一标识,创建后不可修改。命名要求如下:
- 长度不能超过64个字符,包括前缀命名空间的长度。
说明:
名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。
- 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。
SOAP操作
需要调用的SOAP操作。在创建SOAP服务时已配置,必须和获取的WSDL文件中的“operation name”取值保持一致。
SOAP操作接口
SOAP操作的接口名称,请和获取的WSDL文件中的“soapAction”取值保持一致。
描述
根据实际需求,输入动作的描述信息。
输入参数/输出参数
标签
新建参数的标签名。
名称
新建参数的名称,名称是参数在系统中的唯一标识。
数据类型
设置参数的数据类型,直接在下拉框中选择。- 日期:日期类型,精度到天。
- 日期/时间:时间类型,精度到秒。
- 数字
- 字符串
- 布尔值:布尔类型,取值为“true”和“false”。
- 全局结构体
命名空间
“数据类型”设置为“全局结构体”时,需要设置输入参数所属的命名空间。
结构体类型
“数据类型”设置为“全局结构体”时,需要设置结构体的类型,可以使用系统提供的类型也可以自定义类型。
描述
根据实际需求,在输入框中参数的描述信息。
必填
新增参数是否设置为必填参数。
集合
新增参数是否设置为数组类型。
操作
单击或,可复制或删除参数。
- 长度不能超过64个字符,包括前缀命名空间的长度。
- 在动作页签,单击该动作所在行的,启用SOAP动作。
在服务编排中,调用动作
创建一个服务编排,通过在服务编排中调用SOAP服务中添加的动作,将第三方提供的业务功能集成到AstroZero中使用。
- 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
- 在左侧导航栏中,选择“逻辑”。
- 单击编排后,设置服务编排的标签和名称,单击“添加”。
图4 添加一个服务编排
- 在服务编排设计页面左侧,选择“连接器 > Soap服务 > 服务名 ”,拖拽具体的SOAP服务图标至画布中。
图5 拖拽SOAP服务至画布中
- 设置SOAP动作基本信息。
图6 设置基本信息
表4 基本信息参数说明 参数
说明
标签
图元在页面展示的名称。
名称
图元在系统中的唯一标识,创建后不可修改。
取值范围:1~80个字符。
描述
根据实际需求,输入图元的描述信息。
SOAP Service
SOAP服务的名称,选择创建SOAP服务中创建的内容。
- 设置调用SOAP动作参数。
图7 配置SOAP动作
表5 SOAP动作参数说明 参数
说明
动作
选择创建并启用SOAP动作中创建的动作。
输入参数
设置输入参数,单击“新增行”,可进行添加。
在“目标”中,选择5中设置的输入参数,在“源”中设置对应的值。
输出参数
设置输出参数,单击“新增行”,可进行添加。
在“目标”中,选择5中设置的输出参数,在“源”中设置对应的值。
- 单击服务编排设计器页面上方的,保存服务编排。
- 保存成功后,单击,运行服务编排。
- 在输入参数中,输入请求参数,单击“运行”,查看输出结果。