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 :

[Axis2] Erreur d'invocation d'un WebService


Sujet :

Services Web Java

  1. #1
    Membre habitué Avatar de Oui-Oui MB
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2005
    Messages : 111
    Points : 127
    Points
    127
    Par défaut [Axis2] Erreur d'invocation d'un WebService
    Bonjour,

    j'ai crée un petit WebService POJO dont voici le code :

    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
    package com.test.ws;
     
    public class WSTest
    {
        public final static String VERSION = "WebService Test - version 0.1"; 
     
        public String getUserID(String login)
        {
            return "ID for user " + login + " : not implemented";
        }
     
     
        public String getVersion()
        {
            return VERSION;
        }
    }

    Je l'ai correctement déployé dans Axis2 et je sais executer mes 2 méthodes avec :
    http://localhost/axis2/services/WSTest/getVersion
    http://localhost/axis2/services/WSTe...D?login=michel

    qui me renvoient bien les réponses voulues (en SOAP bien sur).


    J'ai ensuite crée un client de test :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    package com.test.ws;
     
    import org.apache.axiom.om.OMAbstractFactory;
    import org.apache.axiom.om.OMElement;
    import org.apache.axiom.om.OMFactory;
    import org.apache.axiom.om.OMNamespace;
    import org.apache.axis2.AxisFault;
    import org.apache.axis2.Constants;
    import org.apache.axis2.addressing.EndpointReference;
    import org.apache.axis2.client.Options;
    import org.apache.axis2.client.ServiceClient;
    import org.apache.axis2.context.MessageContext;
    import org.apache.axis2.description.AxisMessage;
     
    public class TestVersion
    {
        private static EndpointReference targetEPR = 
            new EndpointReference("http://localhost/axis2/services/WSTest");
     
     
        public static void main(String[] args)
        {
            try
            {
                Options options = new Options();
                options.setTo(targetEPR);
                options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
                options.setAction("urn:getUserID");
     
                ServiceClient sender = new ServiceClient();
                sender.setOptions(options);
     
                OMElement getUserID = getUserID("michel");
                OMElement result = sender.sendReceive(getUserID);
     
                String response = result.getFirstElement().getText();
                System.out.println("getUserID : " + response);
            }
            catch (AxisFault exc)
            {
                exc.printStackTrace(System.err);
            }
        }
     
     
        public static OMElement getVersion()
        {
            OMFactory fac = OMAbstractFactory.getOMFactory();
            OMNamespace omNs = fac.createOMNamespace("http://axiom.service.quickstart.samples/xsd", "tns");
            OMElement method = fac.createOMElement("getVersion", omNs);
     
            return method;
        }
     
     
        public static OMElement getUserID(String login)
        {
            OMFactory fac = OMAbstractFactory.getOMFactory();
            OMNamespace omNs = fac.createOMNamespace("http://axiom.service.quickstart.samples/xsd", "tns");
     
            OMElement method = fac.createOMElement("getUserID", omNs);
            OMElement value = fac.createOMElement("login", omNs);
            value.addChild(fac.createOMText(value, login));
            method.addChild(value);
     
            return method;
        }
    }

    Quand j'appelle la méthode getVersion, tout va bien, je recois bien en retour "WebService Test - version 0.1".

    Par contre, quand je veux appeller getUserID via la méthode sender.sendReceive, je reçois une exception dont le message est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method getUserID
    	at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:434)
    	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:373)
    	at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:294)
    	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:520)
    	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:500)
    	at com.test.ws.TestVersion.main(TestVersion.java:34)
    Et le getDetail sur l'exception (qui est du type AxisFault) me renvoie null donc je n'en sais pas plus que ça !

    Quelqu'un a déjà eu le même problème ou alors voit ce que ça peut bien être, car de mon côté je suis bien bloqué... Et il va de soi que j'ai fait moultes recherche avant de poster ici !

  2. #2
    Membre habitué Avatar de Oui-Oui MB
    Homme Profil pro
    Architecte technique
    Inscrit en
    Avril 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Avril 2005
    Messages : 111
    Points : 127
    Points
    127
    Par défaut
    C'est bon, j'ai trouvé et je le dit pour ceux qui aurait le même problème.

    J'utilisais un mauvais namespace. Il faut que j'utilise

    http://ws.test.com/xsd


    Parfois suis pas super réveillé j'ai l'impression...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Invocation d'un webservice
    Par thaundeadboss dans le forum Langage
    Réponses: 10
    Dernier message: 15/01/2010, 18h32
  2. Réponses: 1
    Dernier message: 22/09/2009, 18h08
  3. Réponses: 1
    Dernier message: 17/06/2009, 12h56
  4. [UBUNTU8.10][JDK1.6.0_10][TOMCAT6][AXIS2] erreur 500
    Par L.Ours.POlaiR dans le forum Services Web
    Réponses: 1
    Dernier message: 06/02/2009, 11h43
  5. [Axis2] Erreur avec un tableau de tableaux
    Par jmnicolas dans le forum Autres
    Réponses: 0
    Dernier message: 18/07/2008, 10h59

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