Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes
Révision précédente
Prochaine révision
|
Révision précédente
|
enseignement:tp:sw:handlers:2013 [2013/10/09 06:37] ecoquery [Débit du compte client] |
enseignement:tp:sw:handlers:2013 [2013/10/17 11:07] (Version actuelle) ecoquery |
</code> | </code> |
| |
Créer un fichier ''src/main/resources/tiw5/metier/services/soap/handler-chains.xml'' contenant: | Créer un fichier ''src/main/resources/sw/wine/services/handler-chains.xml'' contenant: |
<code xml handler-chains.xml> | <code xml handler-chains.xml> |
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> |
<handler> | <handler> |
<handler-name>sw.wine.services.handlers.SimpleLogHandler</handler-name> | <handler-name>sw.wine.services.handlers.SimpleLogHandler</handler-name> |
<handler-class>sw.wine.metier.services.handlers.SimpleLogHandler</handler-class> | <handler-class>sw.wine.services.handlers.SimpleLogHandler</handler-class> |
</handler> | </handler> |
<!-- handler> | <!-- handler> |
La méthode ''getMessageContext()'' permet alors de récupérer le contexte du message et les propriétés qui ont été ajoutées par les handlers. | La méthode ''getMessageContext()'' permet alors de récupérer le contexte du message et les propriétés qui ont été ajoutées par les handlers. |
Modifier le code métier du service pour, en plus, débiter le compte du client. | Modifier le code métier du service pour, en plus, débiter le compte du client. |
<note important>Seules les propriétés dont le scope est MessageContext.Scope.APPLICATION peuvent être accédées dans le bean qui code le service. Il faut donc penser à changer le scope de la propriété ''client'' dans le handler d'authentification via <code java>ctx.setScope("client", Scope.APPLICATION);</code></note> | <note tip>Seules les propriétés dont le scope est MessageContext.Scope.APPLICATION peuvent être accédées dans le bean qui code le service. Il faut donc penser à changer le scope de la propriété ''client'' dans le handler d'authentification via <code java>ctx.setScope("client", Scope.APPLICATION);</code></note> |