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

PL/SQL Oracle Discussion :

Récupérer des données d’un web service en pl/sql [Fait]


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 50
    Points : 21
    Points
    21
    Par défaut [RESOLU]Récupérer des données d’un web service en pl/sql
    Bonjour,
    J’ai vu http://www.developpez.net/forums/sho...d.php?t=104727 mais les liens n’existent plus. J’ai trouvé http://www.oracle-base.com/articles/...Services9i.php.
    De cet exemple, j’ai écrit une fonction afin de récupérer des données. J’ai quelques erreurs que je tente de résoudre. Cependant je me pose quelques questions :
    A priori qu’est ce qui permettra de dire que c’est un problème côté client, serveur ou tout simplement que le web service (tomcat, j2ee) n’est pas opérationnel?
    De l’exemple, quand j’invoque un web service, je passe 3 paramètres à la fonction qui sont : requête SOAP, URL et ACTION. A quoi correspond exactement le 3è ?
    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 50
    Points : 21
    Points
    21
    Par défaut
    Bonjour,
    Je cherche un exemple de fichier xml/wsdl avec une fonction pl/sql qui récupère une donnée du web service.
    J'ai trouvé quelques exemples mais sans le fichier.
    Merci

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 50
    Points : 21
    Points
    21
    Par défaut
    Bonjour,
    Je suis vraiment novice dans le domaine des web services. Je dois récupérer des informations à travers une fonction pl/sql. Mais le web service que j’attaque n’est pas opérationnel pour l’instant. Histoire de me familiariser au nouvel environnement et voir comment récupérer les infos, j’ai vu ce package soap_api.sql (http://www.oracle-base.com/articles/...Services9i.php), très intéressant et même ce lien http://arkzoyd.free.fr/oraws/oraws-03.html qui permet de créer/déployer un web service avec Jdeveloper. Je découvre aussi Oracle Jdeveloper 10.
    J’ai suivi le tuto mais je me retrouve avec cette erreur à la fin :

    [SOAPException: faultCode=SOAP-ENV:IOException; msg=Connection timed out: connect; targetException=java.net.ConnectException: Connection timed out: connect]
    at org.apache.soap.SOAPException.<init>(SOAPException.java:78)
    at oracle.soap.transport.http.OracleSOAPHTTPConnection.send (OracleSOAPHTTPConnection.java:774)
    at org.apache.soap.rpc.Call.invoke(Call.java:261)
    at com.arkzoyd.demo.webservice.ScottEmployeeStub.getbyename (ScottEmployeeStub.java:95)
    at com.arkzoyd.demo.webservice.ScottEmployeeStub.main(ScottEmployeeStub.java:45)
    Process exited with exit code 0.

    Convaincu d’un problème de paramétrage, l’instance OC4J de forms 10 démarrée, j’ai testé différents user/password (windows, base de données, …) dans « Connections-Application Server (JDeveloper)», port oc4j=23910(affiché si shutdown oc4j),8080,8888, ..., mais toujours les mêmes erreurs, connexion refusée, …. Idem quand j’ai testé avec OracleAS 10g et avec
    Ouverture de la connexion à Oc4jDcmServlet
    Paramétrage du nom utilisateur sur ias_admin
    Envoi de la commande au servlet DCM
    #### Impossible d'établir la connexion avec le servlet. Numéro de port inconnu ou processus d'écoute HTTP manquant
    Fermeture de la connexion à Oc4jDcmServlet
    #### DCM command did not complete successfully (-4)
    #### HTTP connection failure: unknown port number or missing HTTP listener
    Vraiment planté...

    Pour les exemples de fichiers xml/wsdl et web service il y a http://www.webservicex.net/WCF/Servi...ls.aspx?SID=51
    ça marche bien, reste à trouver une solution en pl/sql pour récupérer quelque chose.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 50
    Points : 21
    Points
    21
    Par défaut
    Bonsoir,
    Partant de http://www.oracle-base.com/articles/...Services9i.php, j'ai proposé une fonction qui exploite ce web service : http://www.webservicex.net/WCF/Servi...ls.aspx?SID=51
    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
     
    CREATE OR REPLACE FUNCTION f_data (pc IN  VARCHAR2) RETURN VARCHAR2 AS
      v_request   soap_api.t_request;
      v_response  soap_api.t_response;
      v_result       VARCHAR2(32256);
    BEGIN  
      v_request := soap_api.new_request(p_method    => 'whoisSoap',								p_namespace => 'http://www.webservicex.net'
                );
      soap_api.add_parameter(p_request => v_request,
            p_name    => 'HostName',
            p_type    => 'xsd:string',
            p_value   => pc
           );
      v_response := soap_api.invoke(p_request => v_request,
             p_url     => 'http://www.webservicex.net/WCF/default.aspx',
             p_action  => 'GetWhoIS'
               );
      v_result := soap_api.get_return_value(v_response,
                                             p_name      => 'GetWhoISResponse',
                                             p_namespace => 'http://www.webservicex.net'
               );
      if v_result is null then
         return 'null';
      else
      RETURN v_result;
      end if;
    /*EXCEPTION
      WHEN OTHERS THEN
        ;*/
    END;
    /
    select f_data('yahoo.fr') from dual;
    =>The following error has occurred:
    ORA-03113: fin de fichier sur canal de communication(réseau, adressage, ...?)
    ou ORA-03114 pas connecté à Oracle
    Plantage total, il faut rélancer toad.
    Je ne passe pas les bons paramètres certainement et j'essaie surtout de comprendre le principe.
    Merci de m'orienter

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 50
    Points : 21
    Points
    21
    Par défaut [RESOLU]
    Bonjour,
    Grâce à SOAPUI 1.7.6, je me suis rendu compte que l'enveloppe que je génère n'était pas correcte. Finalement, j'y suis arrivé à récupérer les données après quelques modifications de la procédure generate_envelope, des fonctions get_return_value et invoke. J'ai éffectué mes tests sur les web service de ce site : http://www.webservicex.net. ça marche.
    SOAPUI pour des tests en quelque secondes.
    Merci.

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut AIDER MOI
    mon problem c'est que je cherche comment je peut recuperer un service web d'un site afin de le reutilise .

Discussions similaires

  1. Récupérer des donnés provenant d'une page web
    Par Vroom06 dans le forum Langage
    Réponses: 21
    Dernier message: 14/02/2011, 19h40
  2. automate pour récupérer des données sur un site web
    Par castor75 dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2008, 19h59
  3. Récupérer des données d'une page web
    Par danyII dans le forum Langage
    Réponses: 2
    Dernier message: 19/03/2008, 11h31
  4. [RegEx] Récupérer des données dans une page Web
    Par Pragmateek dans le forum Langage
    Réponses: 8
    Dernier message: 24/05/2006, 19h44

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