Rechercher : dans
Par :

Requete soap à partir d'un WSDL

Dernière réponse le 12 sep 2008 à 00:15:26 TheUltimateCaveMan, le 6 aoû 2008 à 16:27:58 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un web service qui doit me renvoyer l'état d'une demande à partir de son numero (exemple: id:44 donne etat:running)
Ce wsdl est fait, mais je n'arrive pas à faire la requete (soap?) qui prend l'id et dont la réponse du serveur (axis) serait l'état de la demande.
J'ai "googlelisé" mais les différentes syntaxe que j'ai trouvé ne marche pas (ne sont pas appropriées à mon wsdl ?).

voici mon wsdl :


<?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions targetNamespace="urn:webservices.contactrh.ft.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="urn:webservices.contactrh.ft.com" xmlns:intf="urn:webservices.contactrh.ft.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!-- 
WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)

  --> 
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="urn:webservices.contactrh.ft.com" xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="getRequestState">
- <complexType>
- <sequence>
  <element name="in0" type="xsd:string" /> 
  </sequence>
  </complexType>
  </element>
- <element name="getRequestStateResponse">
- <complexType>
- <sequence>
  <element name="getRequestStateReturn" type="xsd:string" /> 
  </sequence>
  </complexType>
  </element>
  </schema>
  </wsdl:types>
- <wsdl:message name="getRequestStateResponse">
  <wsdl:part element="impl:getRequestStateResponse" name="parameters" /> 
  </wsdl:message>
- <wsdl:message name="getRequestStateRequest">
  <wsdl:part element="impl:getRequestState" name="parameters" /> 
  </wsdl:message>
- <wsdl:portType name="ContactRHAccess">
- <wsdl:operation name="getRequestState">
  <wsdl:input message="impl:getRequestStateRequest" name="getRequestStateRequest" /> 
  <wsdl:output message="impl:getRequestStateResponse" name="getRequestStateResponse" /> 
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="ContactRHAccessSoapBinding" type="impl:ContactRHAccess">
  <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> 
- <wsdl:operation name="getRequestState">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="getRequestStateRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="getRequestStateResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="ContactRHAccessService">
- <wsdl:port binding="impl:ContactRHAccessSoapBinding" name="ContactRHAccess">
  <wsdlsoap:address location="http://localhost:8080/contactRH/services/ContactRHAccess" /> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>




Si quelqu'un pouvait m'aider à faire ma requete ??

Merci
Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Requete soap à partir d'un WSDL » dans :
[MSN] Utiliser MSN sans l'installer - à partir d'un site VoirIl est possible d'utiliser un client MSN pour discuter avec ses amis sans avoir à l'installer. Il existe quelques clients conçus pour être utilisés à partir d'un navigateur sous forme de pages Internet. Évidemment, leurs fonctionnalités sont...
Partitionner un disque dur Voir1 - Intérêt et avertissement 1.1 - Intérêt 1.2 - Avertissements préalables 2 - Partitions et systèmes de fichiers 2.1 - Partitions 2.2 - Systèmes de fichiers 3 - Quels logiciels ? 3.1 - Solutions gratuites 3.1.1 - FDISK de Windows 3.1.2...
Equivalent de Partition Magic (gratuit) VoirIl existe aujourd'hui plusieurs logiciels gratuits/libres pour partitionner qui équivalent le logiciel payant Partition Magic et constituent une excellente alternative. Voici une sélection des meilleurs logiciels de partitionnement gratuits ou...
Télécharger EASEUS Partition Master VoirEaseUs Partition Manager Free, est le logiciel par excellence à avoir sur son système. EaseUs Partition Manager partitionne facilement et sans erreur vos disques durs à la taille que vous avez choisie. Principales caractéristiques de EASEUS...
Télécharger Partition resizer VoirPour éviter de tout formater à chaque fois sur votre disque dur, il est préférable de partitionner. Partition Resizer est non seulement un programme de partitionnement mais en plus vous pouvez l'utiliser à tout moment. Cette action ne provoque aucune...
Télécharger Parted Magic LiveCD VoirParted Magic LiveCD est un programme de partition de disque dur, de CD ou de clé USB. Mais en aucun cas, ce n'est pas un moyen de sauvegarde de CD. Le programme permet d'optimiser approximativement 45 Mo, il utilise le processeur de Gparted et Parted...
WSDL VoirWSDL Le standard WSDL (Web Service Description Language) est un langage reposant sur la notation XML permettant de décrire les services web. WSDL permet ainsi de décrire l'emplacement du service web ainsi que les opérations (méthodes, paramètres et...
Exécution de requêtes avec JDBC VoirExécution d'une requête SQL Pour exécuter une requête SQL, il s'agit dans un premier temps de créer un objet Statement, pouvant être obtenu à partir de l'objet Connection. Un objet ResultSet permettra de récupérer les données en provenance de...
Partage de fichiers sous Windows XP VoirIntérêt Le partage de fichiers consiste à rendre disponible à travers le réseau le contenu d'un ou plusieurs répertoires. Tous les systèmes Windows possèdent en standard des mécanismes permettant de mettre facilement en partage le...

1

woula, le 6 aoû 2008 à 16:33:34

Tu developpes en quoi?
Coté client t'as juste à appelé la fonction implémenté sur le serveur.
Tu peux détailler un peu?

Répondre à woula

2

TheUltimateCaveMan, le 6 aoû 2008 à 16:41:53

Pour le moment j'assaie avec un pluging d'eclipse ( http://wscep.sourceforge.net/index.html ), je lui donne l'url, il charge le wsdl. Ensuite il y a un autre champ ou je met ma requete, je valide et j'ai une reponse.
Je sais pas trop mais sur les exemple que j'ai vu (tuto de ce pluging) cela ressemble à :


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:n="x">
  <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <n:IntToRoman>
      <Int xsi:type="soapenc:long">1992</Int>
    </n:IntToRoman>
  </soap:Body>
</soap:Envelope>



A terme c'est pour mettre dans une activité de Adobe LiveCycle et la requete doit être comme cela, "écrite à la main".

Merci de m'avoir répondu.

Répondre à TheUltimateCaveMan

3

woula, le 6 aoû 2008 à 17:02:19

J'ai eu l'occasion d'utiliser soap avec du php sur un serveur axis justement et avec un webservice dev en java (de toute facon quelque soit la technologie peut importe en quoi est développé le serveur).
Alors n'y connaissant rien en java je pense pas pouvoirr t'aider, dsl.

Répondre à woula

4

Galfus, le 6 aoû 2008 à 17:16:25
  • +1

Je ne suis pas sûr de bien comprendre ta question. Si tu veux créer un programme client du web service il suffit de générer le squelette via le plugin eclipse puis d'appeler les méthodes.

Par contre pourquoi vouloir créer une requête à la main ? L'intérêt de SOAP est justement de ne pas avoir à écrire les requêtes à d'abstraire les messages SOAP. Sinon autant développer une servlet qui échange du XML.

Du coup si tu pouvais préciser ce que tu veux faire, je pourrais peut-être t'aider.


<------Galfus------>
In penguin we trust

Répondre à Galfus

5

Galfus, le 6 aoû 2008 à 17:17:06

Au fait que fait ce post dans le forum réseau ?

<------Galfus------>
In penguin we trust

Répondre à Galfus

6

TheUltimateCaveMan, le 6 aoû 2008 à 17:27:26

Je ne savais pas si je devais le mettre dans programmation ou réseaux. Comme c'est du webservice j'ai pensé réseaux.
Je pensais au réseaux en général (serveurs,clients...) pas au hardware.
Désolé.
Je suis obligé de taper une réquete <soap:Envelope ... pour adobe LiveCycle.
Alors je ne sais pas si écrire une requete comme cela c'est du "à la main" ou pas, quoi qu'il en soit je n'utilise pas du java pour faire cela.
De plus la génération de squelette à partir du plugin eclipse ne marche pas (meme avec l'exemple du tuto).

Répondre à TheUltimateCaveMan

7

Galfus, le 6 aoû 2008 à 17:59:10

Là il me semble que c'est quand même plus un pb de programmation. Mais bon c pas grave un modo nous remettra ça en place.
Pour ton wsdl, je viens de faire le test dans eclipse et le squelette se génère bien.

Bon si j'ai bien compris tu veux simplement envoyer une requête SOAP vers un adobe livecycle. Donc si c'est pas pour développer une application cliente (à priori le web service est fait pour ça) il suffit d'utiliser une appli client comme SOAPUI :

http://sourceforge.net/projects/soapui

Dans SOAPUI tu rentres le wsdl puis tu renseignes les paramètres en entrée du web service. SOAP UI te génère la requête et tu obtiens la réponse.

<------Galfus------>
In penguin we trust

Répondre à Galfus

8

TheUltimateCaveMan, le 6 aoû 2008 à 18:13:18

Merci d'avoir prit le temps pour regarder cela !!!!
Sur mon eclipse cela ne se génére pas, j'ai essayé sur les versions 3.1, 3.3 et 3.4.
Je teste le lien que tu m'a donné.
Ok, je vois qu'il me génére les requetes.
MERCI, c'est tout à fait ce qu'il me fallait, au moins je suis sur que ma synthaxe est bonne.

Répondre à TheUltimateCaveMan

9

Galfus, le 6 aoû 2008 à 19:40:21

En fait pour que ça se génère sur eclipse il faut que tu retire les tirets (-) présents un peu partout et là ça marche. mais bon pour utiliser le wsdl avec eclipse il faut coder en java.

A+

<------Galfus------>

Répondre à Galfus

10

 TheUltimateCaveMan, le 12 sep 2008 à 00:15:26
  • +1

Je poste un peu tard désolé.
En fait j'ai finalement trouvé, mon problème ne venait pas de la requête mais du fait que l'application n'avait pas le droit d'utiliser ce webservice, j'ai donc rajouté l'IP de la machine au .properties.
Merci d'avoir pris le temps.

Répondre à TheUltimateCaveMan