Проблема запроса-ответа потока мулов - PullRequest
0 голосов
/ 07 марта 2012

В этом потоке входящий HTTP настроен с запросом-ответом.Но я все еще не получаю ответ, поскольку он направляется в исходящий файл.Как получить ответ для конечной точки HTTP, а также направить ответ на исходящий файл.

<flow name="helloFlow1" doc:name="helloFlow1">
    <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="9095" doc:name="HTTP"/>
    <custom-transformer class="com.uk.MyTransformer" doc:name="Java"/>
    <component class="com.uk.MyComponent" doc:name="Java"/>
    <echo-component doc:name="Echo"/>
    <file:outbound-endpoint path="C:\" outputPattern="file#[function:datestamp]" doc:name="File"/>

1 Ответ

0 голосов
/ 07 марта 2012

Вы не получите ответ, потому что ничто не создает его: file: outbound-endpoint является односторонним по своей природе и не генерирует событие ответа.

Предполагая, что вы хотите, чтобы то же содержимое, записанное в файл, также было возвращено вызывающей стороне конечной точки HTTP, одна из опций состоит в "отсоединении" записи в файл в параллельном асинхронном потоке, чтобы основной поток возвращал свое текущее значение для звонящего:

<flow name="helloFlow1" doc:name="helloFlow1">
    <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="9095" doc:name="HTTP"/>
    <custom-transformer class="com.uk.MyTransformer" doc:name="Java"/>
    <component class="com.uk.MyComponent" doc:name="Java"/>
    <echo-component doc:name="Echo"/>
    <async>
        <file:outbound-endpoint path="C:\" outputPattern="file#[function:datestamp]" doc:name="File"/>
    </async>
</flow>
...