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 :

création de web services sous eclipse problème "binding"


Sujet :

Services Web Java

  1. #1
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut création de web services sous eclipse problème "binding"
    bonjour,

    voici mon problème :
    j'essaie de créer un service web dans eclipse (3.2.2) :

    1- je crée d'abord un projet (Dynamic Web Project)
    2- j'ajoute à ce projet un fichier wsdl monWSDL, et ensuite je crée plusieurs opérations dans ce wsdl (operation0, operation1,operation2).
    3- quand j'essaie d'ajouter mon web service, eclipse me renvoie toujours l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    IWAB0399E Error in generating Java from WSDL:  java.io.IOException: Emitter failure. The operation (NewOperation1) from portType (monWSDL) in the WSDL document has no corresponding binding operation.
    Hint: make sure that the binding has the same number of operations as its portType.
     
        java.io.IOException: Emitter failure. The operation (NewOperation1) from portType (monWSDL) in the WSDL document has no corresponding binding operation.
        Hint: make sure that the binding has the same number of operations as its portType.
        at org.apache.axis.wsdl.symbolTable.SymbolTable.populateParameters(SymbolTable.java:1673)
        at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:546)
        at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:518)
        at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495)
        at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
        at java.lang.Thread.run(Unknown Source)
    donc le nombre de "binding" doit être égal au nombre d'opérations.

    comment et ou peut-on modifier ces pinding ? quelqu'un à une idée

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

    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    salut,

    je ne suis pas un as des web service mais apparemment il faut creuser dans le fichier server.xml.

  3. #3
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Dans ta wsdl, tu dois mettre un binding pour chaque opération.

    Si je fais un parralèle avec JAVA, L'operation peut être vue comme une interface, et le binding, comme une implémentation de l'interface.

    Montre moi ta WSDL et je t'explique mieux tout cela...
    A+

  4. #4
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut
    salut,
    tu as raison oca, j'ai regardé dans wsdl et c'est vrai il y a un seul binding. Mais je ne comprend pas pourquoi ? moi je crée mon wsdl graphiquement sous eclipse wtp où je mis dedan deux opérations (Fonction1 et Fonction2), mais quand je regarde la source du wsdl je ne trouve qu'une seule opération Fonction 1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <wsdl:binding name="tes4SOAP" type="tns:tes4">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="Fonction1">
          <soap:operation soapAction="http://www.example.org/tes4/Fonction1"/>
          <wsdl:input>
            <soap:body use="literal"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
    oca si tu as un exemple de fichier wsdl n'hésitez pas à m'aider, c'est juste pour commencer.

  5. #5
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Points : 215
    Points
    215
    Par défaut
    Citation Envoyé par hammag Voir le message
    salut,
    tu as raison oca, j'ai regardé dans wsdl et c'est vrai il y a un seul binding. Mais je ne comprend pas pourquoi ? moi je crée mon wsdl graphiquement sous eclipse wtp où je mis dedan deux opérations (Fonction1 et Fonction2), mais quand je regarde la source du wsdl je ne trouve qu'une seule opération Fonction 1.
    Salut,

    Une fois que tu as défini tes opérations sous Eclipse, as-tu bien regénéré tes bindings avec "Generate Binding Content..." en spécifiant que tu voulais écraser les informations existantes ("Overwrite existing binding information) ?

    Sinon, voici un exemple de contrat WSDL pour un service HelloService comportant deux opération : String sayHello(String name) et String sayHelloWorld() :

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://localhost:8080/HelloService/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="HelloService" targetNamespace="http://localhost:8080/HelloService/">
    	<wsdl:types>
    		<xsd:schema	targetNamespace="http://localhost:8080/HelloService/">
    			<xsd:element name="sayHello">
    				<xsd:complexType>
    					<xsd:sequence>
    						<xsd:element name="name" type="xsd:string" />
    					</xsd:sequence>
    				</xsd:complexType>
    			</xsd:element>
    			<xsd:element name="sayHelloResponse">
    				<xsd:complexType>
    					<xsd:sequence>
    						<xsd:element name="message" type="xsd:string" />
    					</xsd:sequence>
    				</xsd:complexType>
    			</xsd:element>
    			<xsd:element name="sayHelloWorld">
    				<xsd:complexType>
    					<xsd:sequence>
    						<xsd:element name="in" type="xsd:string"></xsd:element>
    					</xsd:sequence>
    				</xsd:complexType>
    			</xsd:element>
    			<xsd:element name="sayHelloWorldResponse">
    				<xsd:complexType>
    					<xsd:sequence>
    						<xsd:element name="message" type="xsd:string"></xsd:element>
    					</xsd:sequence>
    				</xsd:complexType>
    			</xsd:element>
    		</xsd:schema>
    	</wsdl:types>
     
    	<wsdl:message name="sayHelloRequest">
    		<wsdl:part element="tns:sayHello" name="parameters" />
    	</wsdl:message>
     
    	<wsdl:message name="sayHelloResponse">
    		<wsdl:part element="tns:sayHelloResponse" name="parameters" />
    	</wsdl:message>
     
    	<wsdl:message name="sayHelloWorldResponse">
    		<wsdl:part name="parameters" element="tns:sayHelloWorldResponse">
    		</wsdl:part>
    	</wsdl:message>
     
    	<wsdl:portType name="HelloService">
    		<wsdl:operation name="sayHello">
    			<wsdl:input message="tns:sayHelloRequest" />
     
    			<wsdl:output message="tns:sayHelloResponse" />
    		</wsdl:operation>
     
    		<wsdl:operation name="sayHelloWorld">
    			<wsdl:output message="tns:sayHelloWorldResponse"></wsdl:output>
    		</wsdl:operation>
    	</wsdl:portType>
     
    	<wsdl:binding name="HelloServiceSOAP" type="tns:HelloService">
    		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
     
    		<wsdl:operation name="sayHello">
    			<soap:operation	soapAction="http://localhost:8080/HelloService/sayHello" />
     
    			<wsdl:input>
    				<soap:body use="literal" />
    			</wsdl:input>
     
    			<wsdl:output>
    				<soap:body use="literal" />
    			</wsdl:output>
    		</wsdl:operation>
     
    		<wsdl:operation name="sayHelloWorld">
    			<soap:operation	soapAction="http://localhost:8080/HelloService/sayHelloWorld" />
     
    			<wsdl:output>
    				<soap:body use="literal" />
    			</wsdl:output>
    		</wsdl:operation>
    	</wsdl:binding>
     
    	<wsdl:service name="HelloService">
    		<wsdl:port binding="tns:HelloServiceSOAP" name="HelloServiceSOAP">
    			<soap:address location="http://localhost:8080/" />
    		</wsdl:port>
    	</wsdl:service>
    </wsdl:definitions>

Discussions similaires

  1. Création d'un web service sous eclipse (débutante)
    Par ebenmous dans le forum Services Web
    Réponses: 5
    Dernier message: 07/05/2011, 20h32
  2. problem de création d'un web service sous Eclipse
    Par hadi200 dans le forum Services Web
    Réponses: 2
    Dernier message: 31/03/2009, 21h44
  3. ejb3 et web services sous eclipse
    Par amonray dans le forum Services Web
    Réponses: 1
    Dernier message: 07/01/2009, 20h30
  4. Créer un client Web Service sous Eclipse et Windows
    Par Lebas dans le forum Services Web
    Réponses: 2
    Dernier message: 28/08/2006, 10h53

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