opcenter cio消息对接不同的自定义API接口

首先需要说明CIO的触发实在opcenter配置的,跟service直接挂钩,如下图CIOOutboundMsgDef的定义,直接选择对应的service

 

 

 

配置好信息以后消息需要发送到API接口,但是系统是已经写死了,如下图

 

 

 

为了实现消息发送到不同API的功能,需要添加一些modeling设置和更改原来的CLF指向不同配置的API地址。

在CIOOutboundDefinition添加ciosettings字段

 

 

 

 

 

 

更改changes

 

 

 

然后修改VP界面,添加ciosetting的控件

 

 

 

在CIOMessagesToSend添加Url字段用来保存每条消息发送到的地址

 

 

 

这样完成了基础数据的配置了,接下来更改events来完成分发到不同API的功能

更改CIO_CreateMessagesToSend,添加function用来保存url

 

 

 

更改发送逻辑,如果URL不是NULL则发送到指定的地址

 

 

 更改CIOSettingsChanges,让系统能够保存多个CIOSettings

 

 

 

 

 

 更改完成后,进行update,打开CIO定义界面

 

 

基础数据和opcenter的修改到这里已经完成,接下来要进行自定以API端口的功能

创建一个webapi项目

 

 

 

 

 

 

 创建成功项目后,添加控制器MessagesController,方法post ,方法的参数如下图

 

 

 这里只在控制台打印信息

 

 

 返回的消息opcenter只接受xml格式,所以要在startup添加配置

 

 

 Opcenter接收的xml格式也是固定的所以定义了一个实体类作为返回值,id和contents是opcenter固定接收的字段

 

 

 发送端和接收端已经全部完毕,现在来进行测试。

先定义两个CIOSettings,一个发送到5000端口

 

 

 另一个到5001端口

 

 

 添加CIOOutboundMsgDef配置

 

 

 

 

 控制台打开两个服务端

dotnet CIO.Server.dll --urls=http://*:5000

dotnet CIO.Server.dll --urls=http://*:5001
然后修改employee的数据,保存,这个时候就看到两个服务端各自收到对应的消息了

 

posted @ 2021-07-10 00:00  悳鎭  阅读(432)  评论(0编辑  收藏  举报