3

プロキシを使用してメッセージをHL7TCP/ IPポートに送信し、outSequenceで応答を取得しています。しかし、私の問題は、inSequenceで設定されたすべてのプロパティが使用できなくなったことです。それらはすべてnullです。さまざまなスコープ(transport、axis2、axis2-client)をすべて使用してテストしましたが、いずれも機能しませんでした。

私はこの投稿でそれが可能であるべきだと見ました。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

プロパティスコープを「default/synapse」として試してください

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 に答える