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

Web & réseau Delphi Discussion :

[D7] mauvaise communication avec un ws ou mauvaise importation du WSDL


Sujet :

Web & réseau Delphi

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 190
    Par défaut [D7] mauvaise communication avec un ws ou mauvaise importation du WSDL
    Bonjour.

    J'ai développé un petit webservice en java en local, lequel fonctionne correctement. Il prend en entrée deux chaines de caractères et retourne en sortie leur concaténation plus un petit préfixe ajouté en dur par le serveur. Je l'ai testé par d'autres moyens que Delphi et il fonctionne. Exemple : J'envoie "bonjour " et "bill" et je reçois "Traitement serveur : Bonjour bill".

    J'ai ensuite crée une nouvelle application en delphi et utilisé l'importateur WSDL pour me connecter au webservice. J'ai laissé coché l'option "Uwind des paramètres litéraux" sans savoir à quoi ça correspond. Je le précise car j'en ai beaucoup entendu parler dans mes recherches avant de poster ici.

    A l'execution tout semble fonctionner sauf que le serveur ne reçoit pas mes paramètres. Par exemple, J'envoie "bonjour " et "bill" et je reçois "Traitement serveur : nullnull".

    Je ne comprends vraiment pas où est le problème. Voici mon WSDL.

    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
    <?xml version='1.0' encoding='UTF-8'?><!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.1-hudson-28-. --><!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.1-hudson-28-. -->
    <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.test.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.test.org/" name="LeWebServiceService">
    	<types>
    		<xs:schema xmlns:tns="http://ws.test.org/" version="1.0" targetNamespace="http://ws.test.org/">
    		<!--
    		<xsd:import namespace="http://ws.test.org/" schemaLocation="http://localhost:8080/TestWeb/LeWebServiceService?xsd=1" />
    		-->
    			<xs:element name="concat" type="tns:concat"/>
    			<xs:element name="concatResponse" type="tns:concatResponse"/>
    			<xs:complexType name="concat">
    				<xs:sequence>
    					<xs:element name="p1" type="xs:string" minOccurs="0"/>
    					<xs:element name="p2" type="xs:string" minOccurs="0"/>
    				</xs:sequence>
    			</xs:complexType>
    			<xs:complexType name="concatResponse">
    				<xs:sequence>
    					<xs:element name="return" type="xs:string" minOccurs="0"/>
    				</xs:sequence>
    			</xs:complexType>
    		</xs:schema>
    	</types>
    	<message name="concat">
    		<part name="parameters" element="tns:concat" />
    	</message>
    	<message name="concatResponse">
    		<part name="parameters" element="tns:concatResponse" />
    	</message>
    	<portType name="LeWebService">
    		<operation name="concat">
    			<input wsam:Action="http://ws.test.org/LeWebService/concatRequest" message="tns:concat" />
    			<output wsam:Action="http://ws.test.org/LeWebService/concatResponse" message="tns:concatResponse" />
    		</operation>
    	</portType>
    	<binding name="LeWebServicePortBinding" type="tns:LeWebService">
    		<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    		<operation name="concat">
    			<soap:operation soapAction=""/>
    			<input>
    				<soap:body use="literal"/>
    			</input>
    			<output>
    				<soap:body use="literal"/>
    			</output>
    		</operation>
    	</binding>
    	<service name="LeWebServiceService">
    		<port name="LeWebServicePort" binding="tns:LeWebServicePortBinding">
    			<soap:address location="http://localhost:8080/TestWeb/LeWebServiceService" />
    		</port>
    	</service>
    </definitions>
    Quelqu'un a-t-il déjà rencontré ce problème et pourrai m'aider ?
    Merci.

    Jean-Baptiste.

  2. #2
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    Bonjour,

    galérant moi-même en ce moment avec les webservices, j'ai découvert des outils bien interessant : SoapUI, ou encore SOAPSonar. Ils permettent de voir ce qu'on envoi au serveur, la réponse de celui_ci , les headers, enfin toute la mécanique. Donc tu invoque ton webservice avec l'outil, tu récupère l'enveloppe soap générée et envoyée au serveur.
    Côté Delphi, dans l'event OnBeforeExecute du HTTPrio, tu récupère la valeur du SOAPRequest qui contient la requette envoyée par Delphi au serveur et comme ça tu peux voir par différence ce qui ne va pas et ensuite bien galérer à jouer avec l'outil de génération du WSDL pour rectifier le tir Très puissant cet outil, mais mal documenté.

    @++
    Dany

Discussions similaires

  1. mauvaise coloration avec gedit
    Par melreg dans le forum Fortran
    Réponses: 4
    Dernier message: 03/12/2009, 11h54
  2. Mauvaise performance avec Linq to sql
    Par Wasrack dans le forum Linq
    Réponses: 2
    Dernier message: 30/09/2009, 08h45
  3. Mauvaises dimensions avec getimagesize
    Par JeffPalmier dans le forum Langage
    Réponses: 1
    Dernier message: 04/09/2009, 15h31
  4. [JPA-TOPLINK] Mauvaise synchro avec la bdd
    Par mickael.guilbert dans le forum Glassfish et Payara
    Réponses: 0
    Dernier message: 30/07/2009, 11h55
  5. Mauvaise qualité avec wglUseFontOutlines
    Par render-nick dans le forum OpenGL
    Réponses: 0
    Dernier message: 31/07/2007, 21h51

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