Interception soap header Axis2
Bonjour,
Je travaille sur Axis2.
Afin d'ajouter un header à ma requête j'utilise un handler. je pense que cela fonctionne bien car j'ai rajouté un autre handler pour réaliser un log de mes requêtes envoyées à Axis2 et effectivement, il y a un header d'ajouté.
Toutefois sur le serveur Axis2, comment récupéré cet "header"?. là aussi j'ai rajouté aussi un handler pour intercepter la requête
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public InvocationResponse invoke(MessageContext msgContext) throws AxisFault {
Iterator itHeader = msgContext.getAxisMessage().getSoapHeaders().iterator();
while(itHeader.hasNext()){
System.out.println(itHeader.next().toString());
}
System.out.println("Service Invoked : " + msgContext.getAxisService().getName());
System.out.println("Operation Invoked : " + msgContext.getAxisOperation().getName().getLocalPart());
return InvocationResponse.CONTINUE;
} |
mais ma boucle While ne donne rien.
J'ai donc essayé d'envoyer ma requête directement avec SOAPui, rien non plus! En fait je suis un peu perdu du coté" d'axis2 car je ne vois pas comment faire...
d'ou ma question, est-il nécessaire de modifier le WSDL du webservice Axis2 pour lui permettre de recevoir des headers?
merci bcp de votre aide.
Fabian.
oui au cas où... voici la requêtre que j'envoie avec soapui:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<tn:pass xmlns:tn="http://services.wsaxis.wwwsa.be">header</tn:pass>
</S:Header>
<S:Body>
<hello xmlns="http://services.wsaxis.wwwsa.be">
<name>hola</name>
</hello>
</S:Body>
</S:Envelope> |