声明:转至Rhapsody集成引擎之RDK篇(三)
Rhapsody集成引擎之RDK篇(三)
上篇介绍了Rhapsody集成引擎之RDK自定义Filter(过滤器)的创建与部署,本篇我们将会着重介绍RDK代码相关的内容,主要是如何在代码中自定义过滤器、通信点的配置项。
一、配置项
1、格式
我们建议在继承了AbstractFilter的类中使用静态字符串来自定义过滤器、通信点的配置项,格式如下:
private static String PASSWORD = "Name|Type|DefaultValue|Display Name|Dependency|Description";
字段 | 描述 |
Name | 配置项名称 |
Type | 配置项类型 |
Default Value | 配置项默认值,非必填 |
Display Name | 配置项显示说明 |
Dependency | 配置项所依赖的其他项,该项必须先被设置,才能激活当前配置项,比如下面代码,ALIAS配置项的前置条件是MODE配置项的值等于“sign” private static final String MODE = "MODE|*e{sign;verify}|0|mode||mode"; private static final String ALIAS = "ALIAS|*s||private key alias|MODE=sign|private key alias"; 我们可以使用 AND 、OR和 <>来组合依赖项的条件 |
Description | A description of the property. |
里面通过“|”将每个字段隔开,字段含义如下表所述:
2、使用方法
步骤一:在AbstractFilter子类中定义配置项静态字符串
private static String MODE = "MODE|$e{Encode;Decode}|0|Mode||choose this from list";
private static String KEY = "KEY|*s||Key||Set this to a key";
步骤二:声明配置项/属性集合
private static final String[] props = { MODE, KEY };
步骤三:实现getPropertyList()方法
public String[] getPropertyList() {returnprops;}
3、Type类型
配置项格式中的Type类型如下表所述:
数据 类型 | 描述 |
| String字符串,示例如下:
|
| Boolean布尔值. |
| 32位整数型. |
| 32位整数型,用于显示端口号,一般用在IP地址或REST API的配置中 |
| 下拉列表项,示例如下:
|
| 密码项,在Rhapsody IDE中会被****** 显示替代示例如下: private static final String PASSWD = "PASSWD|*w||keystore password||keystore password"; |
| 文件. |
| 文件夹. |
| Symphonia 类消息格式定义文件,比如mapper、s3d或xsd文件 |
| 消息属性名,示例如下: private static final String RESULT = "RESULT|*p|p_SigningValidateResult|name of property to populate result SUCCESS or FAILED||name of property to populate result"; |
| 正则表达式 |
| Symphonia 类mapper定义文件. |
| EDI 消息字段名,一般用于HL7 v2消息字段的解析 |
| 外联Rhapsody引擎名称. |
| 观察列表,可以在管理控制台的“Notifications”中查看. |
| JavaScript代码. |
| 公钥/私钥. |
| 对称密钥 |
| 加密证书 |
| EDI 消息类型,比如HL7 v2的MSH消息段 |
| 响应EDI类消息列表 |
其中常用的格式不多,大家可以自行在编码中尝试,此外需要注意的是类型前缀。
类型前缀
前缀 | 描述 |
| 必填项,除非有默认值,否则该项必填. |
| 该项是否可以从Rhapsody IDE 下拉列表中选择消息属性,必须确保代码中的 |
| 该前缀已经在“使用方法”中阐述了,不再赘述 |