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 :

[JONAS][DEBUTANT] Problème entre le wsdl et les .xml


Sujet :

Services Web Java

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [JONAS][DEBUTANT] Problème entre le wsdl et les .xml
    Bonjour,

    Je souhaiterai créer un web service et le déployer sous Jonas.
    A l'aide du tutoriel du site officiel de jonas (tuto) j'ai créé la classe et son interface.
    J'ai généré le fichier WSDL à l'aide de java2WSDL.
    J'ai modifié les fichiers web.xml, webservice.xml et mapping.xml afin de les adapter à mon web service.

    Cependant lorsque je veux deployer le web service sous Jonas (à l'aide de l'interface d'administration) j'obtient le message d'erreur suivant :

    Cannot read the deployment descriptors from '/D:/JOnAS-4.7.7/webapps/3TiersProject.war': org.objectweb.jonas_ws.deployment.api.WSDeploymentDescException: Le port-component 'CountEtoile' utilise un wsdl:port inconnu '{urn:procstock}IProcStock'.


    Voici mes fichiers wsdl et xml:

    CountEtoile.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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="urn:procstock" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="urn:procstock" xmlns:intf="urn:procstock" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 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.4
    Built on Jan 18, 2006 (05:05:47 CET)-->
     
       <wsdl:message name="iCountEtoileResponse">
     
          <wsdl:part name="iCountEtoileReturn" type="xsd:int"/>
     
       </wsdl:message>
     
       <wsdl:message name="iCountEtoileRequest">
     
       </wsdl:message>
     
       <wsdl:portType name="IProcStock">
     
          <wsdl:operation name="iCountEtoile">
     
             <wsdl:input message="impl:iCountEtoileRequest" name="iCountEtoileRequest"/>
     
             <wsdl:output message="impl:iCountEtoileResponse" name="iCountEtoileResponse"/>
     
          </wsdl:operation>
     
       </wsdl:portType>
     
       <wsdl:binding name="dummy-urlSoapBinding" type="impl:IProcStock">
     
          <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
     
          <wsdl:operation name="iCountEtoile">
     
             <wsdlsoap:operation soapAction=""/>
     
             <wsdl:input name="iCountEtoileRequest">
     
                <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:procstock" use="encoded"/>
     
             </wsdl:input>
     
             <wsdl:output name="iCountEtoileResponse">
     
                <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:procstock" use="encoded"/>
     
             </wsdl:output>
     
          </wsdl:operation>
     
       </wsdl:binding>
     
       <wsdl:service name="IProcStockService">
     
          <wsdl:port binding="impl:dummy-urlSoapBinding" name="dummy-url">
     
             <wsdlsoap:address location="http://dummy-url"/>
     
          </wsdl:port>
     
       </wsdl:service>
     
    </wsdl:definitions>

    web.xml:

    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
     
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
             version="2.4">
     
       <display-name>CountEtoile Service</display-name>
     
       <servlet>
         <display-name>CountEtoile Service</display-name>
         <servlet-name>CountEtoileServlet</servlet-name>
         <servlet-class>projet3tiers.ws.procstock.Prockstock</servlet-class>
     
       </servlet>
     
    </web-app>
    webservices.xml:

    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
     <webservices xmlns="http://java.sun.com/xml/ns/j2ee"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                  http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
                  version="1.1">
     
       <display-name>Count Etoile</display-name>
       <webservice-description>
         <webservice-description-name>Count Etoile Webservice</webservice-description-name>
     
         <wsdl-file>WEB-INF/wsdl/CountEtoile.wsdl</wsdl-file>
     
         <jaxrpc-mapping-file>WEB-INF/countetoile-mapping.xml</jaxrpc-mapping-file>
     
         <port-component>
     
    		<port-component-name>CountEtoile</port-component-name>
     
    		<wsdl-port xmlns:ns="urn:procstock">ns:IProcStock</wsdl-port>
     
           <service-endpoint-interface>projet3tiers.ws.procstock.IProcStock</service-endpoint-interface>
     
           <service-impl-bean>
             <servlet-link>CountEtoileServlet</servlet-link>
           </service-impl-bean>
         </port-component>
     
       </webservice-description>
     
     </webservices>

    countetoile-mapping.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <java-wsdl-mapping xmlns="http://java.sun.com/xml/ns/j2ee"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                        http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"
                        version="1.1">
         <package-mapping>
             <package-type>projet3tiers.ws.procstock</package-type>
             <namespaceURI>urn:procstock</namespaceURI>
         </package-mapping>
    </java-wsdl-mapping>

    Quelqu'un pourrait il me dire pourquoi j'ai ce message d'erreur?

    Précison: je débute dans les web service, j'ai peut etre oublié une instruction...

    Merci d'avance



    EDIT

    Voici l'interface de ma classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    package projet3tiers.ws.procstock;
     
    import java.rmi.Remote;
    import java.rmi.RemoteException;
     
    public interface IProcStock extends Remote{
    		public int iCountEtoile() throws RemoteException;
    }

  2. #2
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je viens de trouver mon erreur, j'ai indiqué un mauvais port-name dans le fichier webservices.xml

    Si ca peut aider une autre personne, le nom du port se trouve entre les balises <service><port name> et non pas entre les balises <porttype name>

    Cependant, je n'arrive toujours pas a deployer mon web service, jonas me renvoit cette erreur:

    Error during the deployment of the WebServices of the War file 'file:/D:/JOnAS-4.7.7/webapps/3TiersProject.war': org.objectweb.jonas.ws.WSServiceException : Only 1 Url-Mapping can be specified for servlet
    Quelqu'un à une idée ou une indication à me donner pour resoudre ce problème?

    Merci d'avance.

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai enfin résolus mon problème. Pour cela j'ai généré de nouveau les fichiers xml à l'aide de wscompile au lieu des utilitaires fournis avec Axis...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de tasks: scanne seulement les .xml
    Par Helifyl dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/08/2009, 13h16
  2. Réponses: 2
    Dernier message: 19/03/2008, 11h25
  3. [Debutant] problème avec les vectors
    Par julien.63 dans le forum Langage
    Réponses: 6
    Dernier message: 21/12/2007, 22h53
  4. [DEBUTANT]Problème de relation entre deux tables
    Par Yomane dans le forum Schéma
    Réponses: 2
    Dernier message: 20/10/2006, 01h30

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