0

我正在尝试在 Mule 的 HTTP 端点中添加一个自定义标头:

<flow name="flow">
    <poll frequency="60000">
        <http:outbound-endpoint
            address="http://user:pass@example.com"
            followRedirects="true" method="GET" exchange-pattern="request-response">
            <properties>
                <spring:entry key="CUSTOM-HEADER-NAME" value="custom-header-value" />
            </properties>
        </http:outbound-endpoint>
    </poll>
    <echo-component />
</flow>

但是这种使用<spring:entry>元素添加自定义标题的方式似乎不起作用。

我尝试更换

<properties>
    <spring:entry key="CUSTOM-HEADER-NAME" value="custom-header-value" />
</properties>

<property key="CUSTOM-HEADER-NAME" value="custom-header-value"/>

但这也不起作用。我没有看到任何错误,但是我得到的响应是没有自定义标头的响应。

我是否遵循正确的方法来添加自定义标题?我正在使用骡子 3.2.0。

4

2 回答 2

1

让它工作使用<message-properties-transformer>

<http:outbound-endpoint
    address="http://user:pass@example.com"
    followRedirects="true" method="GET" exchange-pattern="request-response">
    <message-properties-transformer
        scope="outbound">
        <add-message-property key="CUSTOM-HEADER-NAME"
            value="custom-header-value" />
        </message-properties-transformer>
</http:outbound-endpoint>
于 2014-04-10T11:02:20.723 回答
1

如果您想从 Mule 添加自定义标题名称 .. 有两种方法:-

1)在您的流程中使用 Set 属性,例如:-

< set-property propertyName="Custom Header"  doc:name="Set Custom Header" value="Here Set your Message"/ >

2)使用SOAP拦截器,您必须创建一个java类 HttpHeaderInterceptor.java,然后使用Spring bean在拦截器中引用。请参考:- http://java.dzone.com/articles/adding-http-headers-肥皂

无论哪种方式,您都可以遵循...简单的方法是在 mule 流中使用 set Property 就在 CXF SOAP 组件之前...。您可以在响应的标题部分的SOAP UI中看到结果...希望这有帮助

于 2014-03-24T07:42:43.820 回答