09月08, 2021

HIS端调用第三方HTTP服务配置

  1. 配置服务的地址、参数等
  2. 提供调用方法,简化代码,开发只需要获取所需数据
  3. 测试接口

配置

QQ截图20210226095639.png

配置项 说明
代码 唯一值,调用时使用,建议【产品组_模块_功能】格式
名称 服务中文名称
服务IP/域名 如127.0.0.1,www.baidu.com
端口 如80,443,8080
服务url 如 /a/b/c
固定参数 部分需要写死的参数
是否HTTPS 是否是HTTPS
HTTPS配置名 需要去Cache数据库SMP 系统 > 安全管理 > SSL/TLS 配置 > 编辑 SSL/TLS 配置
验证服务器身份 是否校验服务器与服务器证书是否匹配
HTTP方法 POST/GET
数据类型 form-urlencoded/json
备注 备注说明
启用
超时(秒)
测试参数 用于生成测试界面

固定参数、测试参数配置

QQ截图20210226095707.png

测试界面

点击列表上的测试按钮,根据测试参数生成测试界面 QQ截图20210226095724.png

SSL/TLS 配置

Cache数据库SMP 系统 > 安全管理 > SSL/TLS 配置 > 编辑 SSL/TLS 配置 QQ截图20210226092413.png

代码调用

接口

##class(CF.BSP.SYS.SRV.Request).Send(ReqCode, ByRef Params, Output ErrMsg)
参数 说明
ReqCode 配置代码
Params 服务所需参数,如果接口数据类型是form-urlencoded或者是简单的json(一层),此参数可以多维数组;接口内部给组装,如果接口类型是复杂的json,此参数可以是自己处理好的标准JSON字符串
ErrMsg 错误信息
返回值 http服务响应内容

小示例

/// d ##class(BSP.TEST.Request).Test()
ClassMethod Test()
{
    s p("province")="山东省"
    s p("desc")="济"
    s ErrMsg=""
    s ret=##class(CF.BSP.SYS.SRV.Request).Send("BSP_DATA_City",.p,.ErrMsg)
    if ErrMsg="" {
        w "调用成功,响应内容:",!
        w ret,!    
    }else{
        w "调用失败,错误信息:",!
        w ret,!    
    }
}

QQ截图20210226100038.png

Todo

  1. 日志?
  2. 响应内容做了一点简单的编码分析,但是可能还不完善
  3. 参数支持太简单?或者它的定位就应该是简单的http服务配置,不需要复杂化?

本文链接:http://blog.ttykx.com/post/http-service-config-in-his.html

-- EOF --

Comments

请在后台配置评论类型和相关的值。