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 :

résultat d'un web service


Sujet :

Services Web Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Points : 26
    Points
    26
    Par défaut résultat d'un web service
    Bonsoir,

    lors de la connexion à un Web Service qui fournit le temps aux USA, j'obtiens avec ce 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
     
    try { // Call Web Service Operation
       net.webservicex.WeatherForecast service = new net.webservicex.WeatherForecast();
       net.webservicex.WeatherForecastSoap port = service.getWeatherForecastSoap();
       	 // TODO initialize WS operation arguments here
    	java.lang.String placeName = "Los Angeles";
       // TODO process result here
       net.webservicex.WeatherForecasts result = port.getWeatherByPlaceName(placeName);
       System.out.println("Result = "+result);
     
    }
     
    catch (Exception ex) {
       // TODO handle custom exceptions here
    }
    ce résultat:

    net.webservicex.ArrayOfWeatherData@d0af9b

    et je ne sais pas ce que c'est. J'ai essayé de parcourir le résultat avec DOM en suivant des tutoriels du net sans aucun résultat. Peut-être que je m'y prends mal. Est-ce que ce que j'obtiens est l'objet encapsulé? Si oui, pouvez-vous me donner une piste pour accéder aux infos qu'il contient?
    Merci d'avance.

  2. #2
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Ton résultat est le résultat de la méthode toString() sur un objet ne la redéfinissant pas.
    Ce que je trouve étrange c'est qu'un objet "net.webservicex.WeatherForecasts" donne dans la log un "net.webservicex.ArrayOfWeatherData".

    Ensuite, pourquoi utiliser DOM sur un objet ? C'est une API de parsing XML, mais si l'appel de ton WS te donne un objet, tu n'as plus à t'occuper de la problématique XML.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par djsnipe Voir le message
    Ensuite, pourquoi utiliser DOM sur un objet ? C'est une API de parsing XML, mais si l'appel de ton WS te donne un objet, tu n'as plus à t'occuper de la problématique XML.
    Bonjour djsnipe, et merci pour ta réponse.
    Je dois préciser que je n'ai jamais fait de récupération des données à partir d'un Web Site et je découvre.
    Donc, je pourrais récupérer les données de l'objet à l'aide des méthodes figurant dans la source et plus besoin de parser le résultat?
    Par contre, je me suis connecté également à un Web Service proposant, entre autres, les titres de tous les livres de la Bible, et avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    try { // Call Web Service Operation
       net.webservicex.BibleWebservice service = new net.webservicex.BibleWebservice();
       net.webservicex.BibleWebserviceSoap port = service.getBibleWebserviceSoap();
          // TODO process result here
       java.lang.String result = port.getBookTitles();
       System.out.println("Result = "+result);
    } catch (Exception ex) {
       // TODO handle custom exceptions here
    }
    voici ce que j'obtiens:

    <Table>
    <Book>65</Book>
    <BookTitle>Jude</BookTitle>
    </Table>
    <Table>
    <Book>66</Book>
    <BookTitle>Revelation</BookTitle>
    </Table>
    </NewDataSet>

    (je ne mets pas les 64 autres livres)
    Et ça, c'est bien du XML. Et sur ce web Service il faudrait parser?
    Merci

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    J'ai trouvé ce qui me pose problème (également).
    Avec ce 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
    18
     
    try { // Call Web Service Operation
       com.cdyne.ws.weatherws.Weather service = new com.cdyne.ws.weatherws.Weather();
       com.cdyne.ws.weatherws.WeatherSoap port = service.getWeatherSoap();
       	 // TODO initialize WS operation arguments here
    	java.lang.String zip = "90012";
       // TODO process result here
       com.cdyne.ws.weatherws.ForecastReturn result = port.getCityForecastByZIP(zip);
       System.out.println("Result = "+result);
     
       System.out.println(result.getForecastResult());
       System.out.println(result.getResponseText());
       System.out.println(result.getState());
       System.out.println(result.getWeatherStationCity());
       System.out.println(result.isSuccess());
    } catch (Exception ex) {
       // TODO handle custom exceptions here
    }
    j'obtiens ceci:

    Result = com.cdyne.ws.weatherws.ForecastReturn@a613f8
    com.cdyne.ws.weatherws.ArrayOfForecast@16921fd
    City Found
    CA
    Pasadena
    true
    BUILD SUCCESSFUL (total time: 11 seconds)


    à chaque fois que j'obtines un Arrayquelquechose, je ne sais pas comment y accéder (si jamais c'est possible)
    A quoi correspond cet Array?
    Voici le code de la source en ce qui concerne les méthodes manipulant un Array:
    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
     
    /**
         * Gets the value of the forecastResult property.
         * 
         * @return
         *     possible object is
         *     {@link ArrayOfForecast }
         *     
         */
        public ArrayOfForecast getForecastResult() {
            return forecastResult;
        }
     
        /**
         * Sets the value of the forecastResult property.
         * 
         * @param value
         *     allowed object is
         *     {@link ArrayOfForecast }
         *     
         */
        public void setForecastResult(ArrayOfForecast value) {
            this.forecastResult = value;
    Pourriez-vous m'expliquer?
    Merci d'avance

  5. #5
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Dans ton premier exemple, la valeur de retour est une simple String, ce sont peut être les couches basses d'invocation du WS qui te remontent directement un XML sous forme de chaîne. Mais la plupart du temps, des objets Java peuvent être générés qui correspondent aux objets manipulés par le WS. Les paramètres d'appels ou les valeurs de retour seront ces objets plus les types primitifs simples comme des String éventuellement.

    Ton objet ArrayOfForecast est un objet Java standard, il doit bien contenir des méthodes que tu peux exploiter pour traiter le résultat.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2008
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Merci djsnipe pour ces éclaircissements.

Discussions similaires

  1. problème de résultat d'un web service
    Par aymen8219 dans le forum Services Web
    Réponses: 11
    Dernier message: 18/12/2012, 09h08
  2. Résultat de mon web service dans une JSP
    Par lolilola dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/06/2010, 22h53
  3. web service qui renvoie plusieurs résultats
    Par hammag dans le forum Services Web
    Réponses: 4
    Dernier message: 15/05/2009, 09h45
  4. Document XML comme résultat d'un web service
    Par nassim12 dans le forum Services Web
    Réponses: 2
    Dernier message: 10/12/2008, 09h07
  5. Réponses: 2
    Dernier message: 26/09/2006, 08h56

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