Ich versuche eine einfache Anwendung zu erstellen, in der Benutzer einen beliebigen Schlüssel eingeben und das System eine Anfrage senden wird. Ich möchte einige benutzerdefinierte Header zu dieser GET-Anfrage hinzufügen. In Plain Java verwende ich folgenden Code.Spring Integration: Hinzufügen von zusätzlichen Header-Parameter zu HTTP-ausgehende Anfrage.
URL url= new URL(CMRAuth.RESOURCE);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("OData-MaxVersion", "4.0");
connection.setRequestProperty("OData-Version", "4.0");
connection.addRequestProperty("Authorization", "Bearer "+cmrAuth.getAuthenticationResult().getAccessToken());
System.out.println("code:"+connection.getResponseCode());
Und es funktioniert gut. Ich möchte dies mit Spring-Integration Outbound-Gateway tun. So sieht meine XML aus.
<int-stream:stdin-channel-adapter id="consoleIn"
channel="requestChannel">
<int:poller fixed-delay="1000" max-messages-per-poll="1" />
</int-stream:stdin-channel-adapter>
<int:channel id="requestChannel" />
<int:chain input-channel="requestChannel">
<int-http:outbound-gateway
url="https://example.com"
expected-response-type="java.lang.String" http-method="GET"/>
<int:service-activator ref="accountResponseHandler" />
</int:chain>
Ich will alles, diese zusätzlichen Header geben: Akzeptieren, OData-Version, Autorisierung usw. Wie das ist möglich.
Ich deklarierte außerhalb . Deshalb funktionierte es nicht. Vielen Dank –