2008-10-22 8 views

Répondre

0

La façon la plus simple que je peux penser à: créer un point de terminaison 'wrapper' qui implémente MessageEndpoint. Ensuite, vous pouvez extraire vos paramètres de requête et les transmettre à votre point de terminaison réel.

Vous pouvez stocker les variables de demande dans un objet ThreadLocal afin que le point de terminaison d'origine puisse y accéder.

+0

C'est la méthode que nous utilisons avec succès. La méthode EndpointInterceptor ne fonctionne pas actuellement (à partir de Spring-ws 1.5.4) puisque la connexion est quand même accessible - même si l'intercepteur définit une réponse. –

0

Quelqu'un sur le forum de printemps suggested pour utiliser le TransportContext pour accéder aux paramètres de demande HTTP. Cela aide à résoudre notre problème particulier, mais ne répond pas à la question d'origine comment obtenir le MessageContext.

Une autre idée serait d'introduire un EndpointInterceptor et d'utiliser un ThreadLocal. Mais j'espérais qu'il y a un moyen qui ressemble moins à du piratage.

Questions connexes