【问题标题】:How to send message hl7 to Mirth HTTP connector using POST如何使用 POST 将消息 hl7 发送到 Mirth HTTP 连接器
【发布时间】:2014-04-21 04:45:01
【问题描述】:

我有一个 mirth 实例(版本 3.0.1)使用 POST 方法发送到 web api restfull 服务。

[POST("MessagesHl7/OML_O21")]   public HttpResponseMessage
 PostOmlo21([FromBody] sting receivedmessage)   {..}

问题是发送到服务的消息 hl7 在出站消息中的第一个字符被剪切。例如,在消息中:

MSH|^~\&|CPSI^1.3.6.1.4.1.27248.1.17^ ISO|CGH|...

在 receivedmessage 变量中,仅接收文本 MSH|^~\。 我该怎么做才能不剪掉消息?

在http通道中,配置为:POST,不是查询参数, 在

标题内容类型application/x-www-form-urlencoded,

Content-Type 值application/xml,

发送的值为=${message.encodedData}

【问题讨论】:

    标签: asp.net-web-api hl7


    【解决方案1】:

    将您的操作方法更改为不使用绑定,只需将请求正文读取为字符串。

    [POST("MessagesHl7/OML_O21")]
    public Task<HttpResponseMessage> PostOmlo21()
    {
        string receivedMessage = await Request.Content.ReadAsStringAsync();
    }
    

    【讨论】:

      【解决方案2】:

      我建议对 HL7 管道消息使用 Base64 编码,因为 消息中有许多可以解释的特殊字符 在解析过程中以错误的方式。尤其是在解析xml的时候。

      当然,您必须在服务器端解码 HL7 消息。 但我认为 Mirth 为您提供了所有功能。

      我不知道在 C#/ASP 中使用哪个类在 Java 中合适的类和框架 编码一个解码 Base64 存在。我相信 C# 和 ASP 也是如此。

      【讨论】:

      • 感谢 Dadri 和 Diversity 的帮助,它对我非常有用。我使用了巴德里的选项。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2015-04-26
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多