Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2007, 18h26   #1
Invité régulier
 
Inscription : juillet 2007
Messages : 50
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 50
Points : 5
Points : 5
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
ddazou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2007, 12h53   #2
Invité régulier
 
Inscription : juillet 2007
Messages : 50
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 50
Points : 5
Points : 5
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
ddazou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 17h31   #3
Invité régulier
 
Inscription : juillet 2007
Messages : 50
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 50
Points : 5
Points : 5
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.
ddazou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 20h38   #4
Invité régulier
 
Inscription : juillet 2007
Messages : 50
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 50
Points : 5
Points : 5
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 :
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
ddazou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 11h11   #5
Invité régulier
 
Inscription : juillet 2007
Messages : 50
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 50
Points : 5
Points : 5
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.
ddazou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 00h16   #6
Invité de passage
 
Inscription : 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 .
james150585 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h21.


 
 
 
 
Partenaires

Hébergement Web