IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

[Axis] Headers HTTP


Sujet :

Services Web Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 376
    Points : 402
    Points
    402
    Par défaut [Axis] Headers HTTP
    Bonjour,

    J'ai un programme qui interroge un webservice avec Axis. Seulement les specs viennent d'évoluer et je dois ajouter des headers http personnalisés dans ma requete. Comme c'est Axis qui se charge du transport et donc de la connexion http, je n'arrive pas à faire ce que je veut.

    Je continue de chercher, mais si quelqu'un a la solution, je suis plus que prenneur.

    En vous remerciant

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 376
    Points : 402
    Points
    402
    Par défaut
    Bon,

    Apres moulte recherche, il faut apparement créer une HashMap avec les headers et les values associées, et utiliser la fonction _setPropertie du Stub pour les ajouter entant que REQUEST_TRANSPORT_PROPERTIES.
    Si il y a une autre solution, ca m'interresse toujours !

    ++

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut
    Bonsoir,

    Une reponse a t elle ete trouve a ce pb ?
    J'ai la meme problèmatique ?

    Merci d'avance
    Philippe

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 28
    Points : 26
    Points
    26
    Par défaut
    Bonjour,
    Je travaille sur Axis2. Je pense que j'ai trouvé la 1/2 solution.

    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 {
            System.out.println("MessageFound: "+msgContext.getAxisMessage().toString());
            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>

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut
    Bonjour

    J'ai trouve ma solution, et cela fonctionne
    Philippe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
     
    		String rt[]=getOrgCnHeader(new String[]{"entete1","entete2"});
    je recupere le contenu des deux entetes http 
     
     
     
    private String[]getOrgCnHeader(String param[])
    	{
    		String rt[]=new String[param.length];
    		rt[0]=new String("");
    		rt[1]=new String("");
    		 try{
    			 javax.servlet.http.HttpServletRequest req = (javax.servlet.http.HttpServletRequest) MessageContext.getCurrentContext().getProperty(org.apache.axis.transport.http.HTTPConstants.MC_HTTP_SERVLETREQUEST);
    			 for(int i=0;i<param.length;i++)
    	     		rt[i]=req.getHeader(param[i]);
     
    			 }catch(Exception e1){}	
     
     
    	catch(Exception e1){}
     
    			return rt;
     
    	}

Discussions similaires

  1. [AXIS] Modifier header HTTP / Utilisation du MessageContext
    Par kaizokou dans le forum Services Web
    Réponses: 4
    Dernier message: 23/02/2011, 06h03
  2. Collecttion nommée pour headers HTTP
    Par smartdev dans le forum C++
    Réponses: 1
    Dernier message: 25/09/2007, 19h11
  3. Header Http ob_start()
    Par Heaven dans le forum Langage
    Réponses: 1
    Dernier message: 19/06/2007, 18h33
  4. Comment passer des headers http ?
    Par Loko dans le forum Oracle
    Réponses: 5
    Dernier message: 15/11/2006, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo