Mein int-http:outbound-gateway
gibt zurück "204 kein Inhalt". Infolgedessen schlägt meine UI-Schicht fehl, da sie eine Nicht-Null-Nutzlast erwartet. Gibt es einen Weg, um mit dieser Situation in Spring-Integration umzugehen?Handling "204 kein Inhalt" in Spring-Integration
0
A
Antwort
0
Die HttpRequestExecutingMessageHandler
tut dies:
if (this.expectReply) {
...
AbstractIntegrationMessageBuilder<?> replyBuilder = null;
if (httpResponse.hasBody()) {
Object responseBody = httpResponse.getBody();
replyBuilder = (responseBody instanceof Message<?>) ?
this.getMessageBuilderFactory().fromMessage((Message<?>) responseBody) : this.getMessageBuilderFactory().withPayload(responseBody);
}
else {
replyBuilder = this.getMessageBuilderFactory().withPayload(httpResponse);
}
replyBuilder.setHeader(org.springframework.integration.http.HttpHeaders.STATUS_CODE, httpResponse.getStatusCode());
return replyBuilder.copyHeaders(headers).build();
}
return null;
Also, wenn Sie nicht über <int-http:outbound-channel-adapter>
verwenden auf jeden Fall einige Antwort erhalten, und es wird sein, dass HttpHeaders.STATUS_CODE
Header mit dem HttpStatus.NO_CONTENT
als Wert.
Wie Sie die payload
der Nachricht angezeigt wird, hängt von der httpResponse.hasBody()
und ich denke, bei HttpStatus.NO_CONTENT
gibt es wirklich keine body
. Nutzlast ist also ein voller ResponseEntity
.
Jetzt, bitte, teilen Sie mehr Informationen wie funktioniert es für Sie? Wie bekommen Sie eine null
payload
?
Verwandte Themen
- 1. SSLHandshakeException wenn Antwort ist 204 (kein Inhalt)
- 2. UpsertDocumentAsync gibt 204 "kein Inhalt" zurück
- 3. '204 Kein Inhalt' Keine Daten gefunden in influxdb
- 4. Nachrichten in SpringIntegration
- 5. Postbote liefert 204 Kein Fehler Anfrage schreiben
- 6. Outbound-Kanaladapter in SpringIntegration FTP
- 7. Wo verworfene Nachrichten in SpringIntegration gehen?
- 8. Firefox Konsole wirft "kein Element gefunden" auf HTTP-204-Antwort
- 9. Inhalt des Inhalts von handling geändert in wpf mit MVVM
- 10. Datei-Handling-Programm in Java
- 11. Oracle UTL_STMP - kein Inhalt
- 12. Wikipedia-Artikelnamen (kein Inhalt)
- 13. Ajax Redirection Handling
- 14. Wie behandelt man eine 204 Antwort in einer Backbone.js Sammelanfrage
- 15. Offset-Handling in jquery.rss
- 16. handling exception in Tpl
- 17. Exception Handling in Boost.Asio
- 18. Wie richte ich Apache ein, um einen Code 204 zurückzugeben?
- 19. Exception Handling
- 20. Bash Pipe Handling
- 21. Was ist WebKitErrorDomain Fehlercode 204?
- 22. java.lang.reflect.InvocationTargetException bei com.twilio.sdk.AppEngineClientConnection.flush (AppEngineClientConnection.java:204)
- 23. Angular js 204 Antwort in IE10
- 24. Handling DisambiguierungError?
- 25. Geben Sie http 204 "keinen Inhalt" an Client in ASP.NET MVC2 zurück
- 26. handling lite apps
- 27. Einfache Antwort_with in Schienen, die 204 von PUT vermeidet
- 28. Web Scraping - Kein Inhalt angezeigt
- 29. Dailymotion Upload-Fehler "kein Inhalt"
- 30. Google App Engine eine Menge von 204 zeigt, und ich kann kein Protokoll
Danke für die Antwort. Die UI-Schicht sucht nach der "responseXML" (d.h. 'XMLHttpRequest.responseXML'). Da es NULL wird, schlägt die UI-Ebene fehl. Ich habe sogar mit 'XMLHttpRequest.response' verifiziert, aber es ist auch null. BTW, verwende ich IE Browser. Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. –
Nun, Sie müssen mehr Config vom Controller zu diesem Gateway und zurück teilen. Ohne weitere Informationen ist nicht klar, welcher Schritt Ihnen helfen soll. Der Browser spielt hier keine Rolle –
Sorry für die späte Antwort. Der Dienstanbieter hat einen Header Use-200-on-204-response bereitgestellt, mit dem 204 Antworten in 200 konvertiert werden. Es scheint jedoch, dass das Outbound-Gateway den benutzerdefinierten Header nicht akzeptiert. Ich setze den Header mit 'MessageBulider'. Fehle ich etwas in der Konfiguration? –