在HL7的情况下,如何在WSO2调解中获得原始文本主体



我在WSO2EI中实现了一个简单的API服务。输入端点被配置为接受"application/edi-hl7",本质上是为了读取hl7消息。我对消息执行某些转换,然后需要使用JSON进行响应。因此,作为响应JSON有效载荷的一部分,我还希望将原始HL7消息作为请求有效载荷发送,并且也以原始形状发送(不是XML/JON-格式(。假设我的输入是

MSH|^~\&ULTRA_V3.1|LAV|门户网站|门户网站|201810030949||ORU^R01|279857418|P|2.3.1||||AL|AL|AUPID ||3914950|21710425491^^^AUSHIC^MC~111111^^^^UR~5548391^^^^ ULTRAREL||KAY^BRUCE^^^|19630604|M|||11 NJUONA AVE^^BAIURE BAY^WSN^2000||||^0243333323|||| |||217104254 91PV1||O|CSLI^KINUYMBER||||214082JL^KOPRA^MARUTI^^KAYBB^DRORC|RE||18-15768981-000-0||ROBR|1||18-15768981-000-0|000^PENDING^ULTRA^LAVLEI||20180914|201810030805||CSKI||||201810030949||214082JL^KOPRA ^MARUTI^KAYBB^DR||TFT-^GLU-0^CRP-0^RDA-^MBA-0^LIP-0^FBE-0||683131368452|LAV^false|2018100309 49||LAB|||^^^20180914|

样本输出为

{"message": "MSH|^~&|.....", "Otherkeys": "someVal"}

作为message的一部分,我希望原始消息保持原样,而不是SOAP主体。附言:我需要删除每行末尾可用的nr。主要问题是如何在中介流中获得原始形状的原始消息。

下面是一个示例API。希望有帮助。结果截图只需在序列中的适当位置放置payloadFactory中介即可。

<api xmlns="http://ws.apache.org/ns/synapse" name="Test" context="/Test">
<resource methods="POST" uri-template="/testHL">
<inSequence>
<log level="full"/>
<payloadFactory media-type="json">
<format>{"message": "$1", "Otherkeys": "someVal"}</format>
<args>
<arg evaluator="xml" expression="$body/*[1]"/>
</args>
</payloadFactory>
<respond/>
</inSequence>
</resource>
</api>

最新更新