Удаление заголовков из request-config вместо потока в MULE 4 - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь найти решение для удаления заголовков запроса в MULE 4 более эффективным способом, чем фактический. В конфигурации запроса возможно иметь <http:default-headers />, но я не могу найти способ удалить заголовки отсюда. Поэтому я удаляю заголовки в потоке -> как это:

    <http:headers>#[attributes.headers -- ["host", "http.headers"]]</http:headers>

Полная версия потока здесь:

<flow name="WS_name">
<http:listener path="someway/*" config-ref="External_Listener" doc:name="HTTP">
    <http:response statusCode="#[vars.httpStatus default 200]">
        <http:headers>#[vars.outboundHeaders default {}]</http:headers>
    </http:response>
    <http:error-response statusCode="#[vars.httpStatus default 500]">
        <http:body>#[payload]</http:body>
        <http:headers>#[vars.outboundHeaders default {}]</http:headers>
    </http:error-response>
</http:listener>
<http:request method="#[attributes.method]" sendBodyMode="AUTO" config-ref="HTTPS_Request_configuration_proxy" url="#['https://${endpoint.WS_name.host}:${endpoint.WS_name.port}' ++ '${endpoint.WS_name.path}/']">
    <http:headers>#[attributes.headers -- ["host", "http.headers"]]</http:headers>
</http:request>

Если у кого-нибудь есть лучшее решение, поделитесь им.

1 Ответ

0 голосов
/ 14 июня 2019

То, что вы делаете, прекрасно. Если вы хотите сделать это в потоке за пределами http: запроса, то можете. Все заголовки http: ожидают, это карта. Итак, вот пример использования var:

<set-variable variableName="myAttributes" value="#[attributes.headers -- ['host', 'http.headers']]" />

<http:request method="#[attributes.method]" sendBodyMode="AUTO" config-ref="HTTPS_Request_configuration_proxy"
            url="#['https://${endpoint.WS_name.host}:${endpoint.WS_name.port}' +++ '${endpoint.WS_name.path}/']">
            <http:headers>#[vars.myAttributes]</http:headers>
</http:request>
...