Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set REQUEST HEADER in spring Integration

We have a asp page which reading some information form request like this:

varLogon = Request.ServerVariables("HTTP_logon")

If we want to post something to the asp page using spring integration, we are unable to pass the HTTP_logon to the page,

This is not working

Any idea, what and how we can set the request header information?

<int:header-enricher input-channel="pdfgenheaderchannel" output-channel="pdfgenchannel">
    <int:header name="HTTP_ordernumber" method="getOrdernumber" ref="reportbean"/>
    <int:header name="reportID" method="getReportID" ref="reportbean"/>
    <int:header name="Content-Type" value="text/html"/>
    <int:header name="logon" value="orderADCB"/>
    <int:header name="HTTP_logon" value="orderADCB"/>
</int:header-enricher>

<int-http:outbound-gateway id="pdfgenerationoutboundgateway"
                           request-channel="pdfgenchannel"
                           url="http://x.xy.xx.y/convertHTMLtoPDF.asp"
                           http-method="POST"
                           expected-response-type="java.lang.String"
                           charset="UTF-8"
                           reply-channel="replyChannel"
                           request-factory="requestFactory" /> 
like image 491
Shahriar Alam Avatar asked Jan 17 '26 10:01

Shahriar Alam


1 Answers

You have to specify a header-mapper for the <int-http:outbound-gateway>. By default it maps only standard HTTP headers:

<beans:bean id="headerMapper" class="org.springframework.integration.http.support.DefaultHttpHeaderMapper"
                factory-method="outboundMapper">
    <beans:property name="outboundHeaderNames" value="*"/>
    <beans:property name="userDefinedHeaderPrefix" value=""/>
</beans:bean>

<int-http:outbound-gateway header-mapper="headerMapper"/> 
like image 189
Artem Bilan Avatar answered Jan 20 '26 19:01

Artem Bilan