Ich bin ein Neuling in WSO2 ESB und ich habe mit einem Problem im Zusammenhang mit der dynamisch generierten Endpunkt Adresse Uris.WSO2 - Wert dynamisch in den Endpunkt injiziert
ich von den tutorial gefolgt, wie RabbitMQ mit WSO2 zu integrieren und ich erstellt folgendem Endpunkt:
<?xml version="1.0" encoding="UTF-8"?>
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="Test2">
<address trace="disable" uri="rabbitmq:/Test?rabbitmq.server.host.name=localhost&rabbitmq.server.port=5672&rabbitmq.server.user.name=test&rabbitmq.server.password=test&rabbitmq.queue.name=outputQueue_001&rabbitmq.exchange.name=amq.direct&rabbitmq.queue.routing.key=outputQueue_001&rabbitmq.message.content.type=application/json" />
</endpoint>
Ich wollte aber dynamisch Wert von rabbitmq.server.host.name injizieren, so habe ich ein lokale Eintrag, wie unten:
<?xml version="1.0" encoding="UTF-8"?>
<localEntry key="queue.hostname" xmlns="http://ws.apache.org/ns/synapse"><![CDATA[localhost]]></localEntry>
und injizierten diesen Wert an den Endpunkt:
<?xml version="1.0" encoding="UTF-8"?>
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="Test2">
<property expression="get-property('queue.hostname')" name="queue.hostname" scope="default" type="STRING" />
<address trace="disable" uri="rabbitmq:/Test?rabbitmq.server.host.name={queue.hostname}&rabbitmq.server.port=5672&rabbitmq.server.user.name=test&rabbitmq.server.password=test&rabbitmq.queue.name=outputQueue_001&rabbitmq.exchange.name=amq.direct&rabbitmq.queue.routing.key=outputQueue_001&rabbitmq.message.content.type=application/json" />
</endpoint>
Bei Tests entdeckte ich, dass Eigenschaft queue.hostname Wert in nicht korrekt injiziert an den URI und URI ist:
rabbitmq:/Test?rabbitmq.server.host.name={queue.hostname}&rabbitmq.server.port=5672&rabbitmq.server.user.name=test&rabbitmq.server.password=test&rabbitmq.queue.name=outputQueue_001&rabbitmq.exchange.name=amq.direct&rabbitmq.queue.routing.key=outputQueue_001&rabbitmq.message.content.type=application/json
statt:
rabbitmq:/Test?rabbitmq.server.host.name=localhost&rabbitmq.server.port=5672&rabbitmq.server.user.name=test&rabbitmq.server.password=test&rabbitmq.queue.name=outputQueue_001&rabbitmq.exchange.name=amq.direct&rabbitmq.queue.routing.key=outputQueue_001&rabbitmq.message.content.type=application/json
Sie wissen, was ich tue falsch? Ich werde alle Beispielcodes schätzen.
Vielen Dank im Voraus!
Was ist die ESB-Version, die Sie verwenden? –
wso2esb-5.0.0-beta, aber ich kann leicht auf die wso2esb-5.0.0-beta2 wechseln, wenn es benötigt wird – bontade