3

我正在向 HL7 TCP/IP 端口发送带有代理的消息,并在 outSequence 中获得响应。但我的问题是 inSequence 中设置的所有属性都不再可用。它们都是空的。我测试了所有不同的范围(传输、轴 2、轴 2 客户端),但它们都不起作用。

我在这篇文章中看到它应该是可能的。HL7 发件人是否破坏了属性? 如何在 outSequence 中使用我的 inSequence 属性?

我的代理示例(从 ActiveMQ JMS 获取消息并发送到 HL7 端口 4000):

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse" xmlns:hl7="http://wso2.org/hl7"  xmlns:urn="urn:hl7-org:v2xml" name="demo_toHL7" transports="jms" startOnLoad="true" trace="disable">
    <parameter name="transport.jms.Destination">demo_qFilter</parameter>
    <parameter name="transport.jms.ConnectionFactory">queueBlocking</parameter>
    <parameter name="transport.jms.DestinationType">queue</parameter>
    <parameter name="transport.jms.ContentType">
        <rules>
            <jmsProperty>contentType</jmsProperty>
            <default>application/edi-hl7</default>
        </rules>
    </parameter>
    <target faultSequence="rollbackSequence">
        <inSequence>
            <log level="full"/>
            <property name="ClientApiNonBlocking" scope="axis2" action="remove"/>
            <property name="testProperty" value="blabla" scope="transport"/>
            <property name="messageType" value="application/edi-hl7" scope="axis2"/>
            <property name="ContentType" value="application/edi-hl7" scope="axis2"/>            
            <send>
                <endpoint>
                    <address uri="hl7://localhost:4000"/>
                </endpoint>
            </send>
        </inSequence>
        <outSequence>
            <log level="custom">
                <property name="PROPERTY" expression="get-property('transport','testProperty')"/>
            </log>
        </outSequence>
    </target>
</proxy>

我正在使用 WSO2 ESB 4.0.3 并安装了 HL7 功能。作为接收者,我使用 7edit 应用程序。

4

1 回答 1

4

尝试将属性范围设置为“默认/突触”

FiveO 编辑评论:

尝试将属性范围设置为“默认”:

将传输属性从 inSequence 发送到 outSequence(代表默认范围):

<inSequence>
   ...
   <property name="myPropertyInTransport" value="myValue" scope="transport"/>
   <property name="myPropertyInDefault" expression="get-property('transport','myPropertyInTransport')" scope="default"/>
   ...
</inSequence>
<outSequence>
   ...
   <property name="myPropertyInTransport" expression="get-property('default', 'myPropertyInDefault')" scope="transport"/>
   <!-- Now myProperty is also available in the outSequence -->
   ...
</outSequence>
于 2012-11-14T11:42:54.567 回答