2009-09-29 9 views
15

J'essaie d'ajouter des en-têtes de réponse à certains de mes appels de service Web. J'ai écrit mon webservice en utilisant CXF 2.1.2 et JAX-RS. Je dois retourner un objet et je veux aussi ajouter quelques en-têtes à la réponse. Sans retourner un objet javax.ws.rs.core.Response, comment ajouter un en-tête à la réponse et renvoyer mon javabean?Ajouter un en-tête de réponse au service Web JAX-RS

Répondre

12

Vous pouvez injecter une référence à la HttpServletResponse réelle via l'annotation @Context dans votre service Web et utiliser addHeader() etc. pour ajouter votre en-tête.

+0

@Heri - J'ai essayé, HttpServletResponse revient à zéro. Pour certains background j'utilise Spring pour ma configuration. J'ai également essayé d'utiliser @Resource pour la réponse en vain. L'injection de HttpServletRequest dans le contexte fonctionne bien ... – jconlin

+0

Cela ressemble à un problème CXF, car c'est une fonctionnalité spécifique de JAX-RS et je l'ai essayé avec succès dans Jersey. Il devrait être fixé dans CXF il y a longtemps: https://issues.apache.org/jira/browse/CXF-1498 – Heri

+0

@Heri - Malheureusement, je n'ai pas pu mettre à jour la version de CXF dans cet environnement particulier, mais mon problème est apparu être lié à cela. De toute façon vous avez raison. – jconlin