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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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>