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 :

Erreur connexion WebService Client


Sujet :

Services Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de kimausoleil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2004
    Messages : 126
    Par défaut Erreur connexion WebService Client
    Bonjour !

    Je développe une application devant consommer un WebService en tant que client sur le site https://www.dmmo.travail.gouv.fr/.

    J'ai donc, à partir du fichier WSDL, généré les "artéfacts clients" sous NetBeans 6.9.

    J'essaie de me connecter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            byte[] dmmoXml = prepareXmlSource(referenceDepot);
     
            DmmoWebServices service = new DmmoWebServices();
            DmmoWebServicesPortType port = service.getDmmoWebServicesSOAP11Port0();
            int retour = port.declarerDmmo(referenceDepot, dmmoXml);
    Là j'ai un message d'erreur :

    Cannot find 'https://www.dmmo.travail.gouv.fr/axis2/services/DmmoWebServices?wsdl' wsdl. Place the resource correctly in the classpath.
    Or voici la classe du WebService générée :
    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
     
    @WebServiceClient(name = "DmmoWebServices", targetNamespace = "http://DmmoWebServices.webservice.dmmo.dagemo.com", wsdlLocation = "https://www.dmmo.travail.gouv.fr/axis2/services/DmmoWebServices?wsdl")
    public class DmmoWebServices
        extends Service
    {
     
        private final static URL DMMOWEBSERVICES_WSDL_LOCATION;
        private final static WebServiceException DMMOWEBSERVICES_EXCEPTION;
        private final static QName DMMOWEBSERVICES_QNAME = new QName("http://DmmoWebServices.webservice.dmmo.dagemo.com", "DmmoWebServices");
     
        static {
            DMMOWEBSERVICES_WSDL_LOCATION = com.dagemo.dmmo.webservice.dmmowebservices.DmmoWebServices.class.getResource("https://www.dmmo.travail.gouv.fr/axis2/services/DmmoWebServices?wsdl");
            WebServiceException e = null;
            if (DMMOWEBSERVICES_WSDL_LOCATION == null) {
                e = new WebServiceException("Cannot find 'https://www.dmmo.travail.gouv.fr/axis2/services/DmmoWebServices?wsdl' wsdl. Place the resource correctly in the classpath.");
            }
            DMMOWEBSERVICES_EXCEPTION = e;
        }
     
        public DmmoWebServices() {
            super(__getWsdlLocation(), DMMOWEBSERVICES_QNAME);
        }
     
        public DmmoWebServices(URL wsdlLocation) {
            super(wsdlLocation, DMMOWEBSERVICES_QNAME);
        }
     
        private static URL __getWsdlLocation() {
            if (DMMOWEBSERVICES_EXCEPTION!= null) {
                throw DMMOWEBSERVICES_EXCEPTION;
            }
            return DMMOWEBSERVICES_WSDL_LOCATION;
        }
     
    }
    En fait, il plante sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            DMMOWEBSERVICES_WSDL_LOCATION = com.dagemo.dmmo.webservice.dmmowebservices.DmmoWebServices.class.getResource("https://www.dmmo.travail.gouv.fr/axis2/services/DmmoWebServices?wsdl");
            WebServiceException e = null;
            if (DMMOWEBSERVICES_WSDL_LOCATION == null) {
                e = new WebServiceException("Cannot find 'https://www.dmmo.travail.gouv.fr/axis2/services/DmmoWebServices?wsdl' wsdl. Place the resource correctly in the classpath.");
            }
            DMMOWEBSERVICES_EXCEPTION = e;
    où le getResource sur l'URL renvoie null...


    J'essaie donc d'utiliser avec le 2è contructeur en passant moi même l'URL du fichier WSDL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            byte[] dmmoXml = prepareXmlSource(referenceDepot);
     
            URL wsdlLocation = new URL("https://www.dmmo.travail.gouv.fr/axis2/services/DmmoWebServices?wsdl");
            DmmoWebServices service = new DmmoWebServices(wsdlLocation);
            DmmoWebServicesPortType port = service.getDmmoWebServicesSOAP11Port0();
            int retour = port.declarerDmmo(referenceDepot, dmmoXml);
    Là tout marche jusqu'à la fonction declarerDmmo qui renvoie le message suivant :
    The server sent HTTP status code 302:Found
    Donc l'exception levée vient-elle du serveur de l'administration ou est-ce qu'il faut régler le 1er problème du classpath ?


  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 78
    Par défaut
    Bonjour,

    tout d'abord la classe DmmoWebServices ne me parait pas correct. Le webservice utilise JAX-RPC, il faut donc installer le plugin adéquat à Netbeans afin qu'il puisse générer les classes de manière correcte.

    Vous pourrez trouvez les classes normalement générées à l'adresse :
    http://arnaud-lefebvre.fr/documents/jax-rpc.rar


    De plus le webservice utilise le protocole https. il faut le prendre en compte.
    Voici un exemple d'initialisation du webservice coté client :
    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
     
    java.lang.System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");
     
    //récupération du service et création du stub
                        com.dagemo.dmmo.ws.rpc.DmmoWebServices.DmmoWebServices dmmorpc = new DmmoWebServices_Impl();
                                            com.dagemo.dmmo.ws.rpc.DmmoWebServices.DmmoWebServicesPortType stubrpc = dmmorpc.getDmmoWebServicesSOAP11Port0();
     
    File file = new File(inputFileName);
                        DataHandler dh = new DataHandler(new FileDataSource(file));
                        ByteArrayOutputStream buffOS= new ByteArrayOutputStream();
                        dh.writeTo(buffOS);
                        byte[] buffer = buffOS.toByteArray();
     
                        //Envoie du fichier et récupération synchrone de la réponse.
                        int responserpc = stubrpc.declarerDmmo(numDepot, buffer);

    petite précision, l'algorithme utilisé pour l'encryption du certificat SSH par le Ministère est obsolète et non pris en charge dans les versions les plus récentes des JRE. Il faut utiliser au plus la version 6_16 pour que la connexion puisse être établie.

    En espérant que cela vous aide

    --

    Arnaud Lefebvre - Umanis Tours

  3. #3
    Membre confirmé Avatar de kimausoleil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2004
    Messages : 126
    Par défaut
    Tout d'abord merci pour ta réponse, puisque depuis 2 semaines j'envoie email ou je téléphone au DMMO pour avoir des renseignements mais jamais personne ne me répond...

    Sinon, tu me dis qu'il faut utiliser JAX-RPC au lieu de JAX-WS... ok mais je ne trouve pas le plug-in netbeans pour activer RPC .

    De plus, je suis en version 6_21 donc si c'est 6_16 au max, c'est sûr j'allais galérer...


    Bon je vais essayer d'installer de plus anciennes versions de netbeans et de java pour voir si ça marche !

    Encore merci.

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant MOA
    Inscrit en
    Mars 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant MOA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2007
    Messages : 78
    Par défaut
    Bonjour,

    Excusez moi de déterrez un vieux sujet mais j'essaye à mon tour de consommer le web service pour envoyer une DMMO et en suivant ce post j'arrive à une erreur de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Exception in thread "main" java.rmi.RemoteException: Erreur de transport HTTP : java.net.UnknownHostException: www.dmmo.travail.gouv.fr; nested exception is: 
    	Erreur de transport HTTP : java.net.UnknownHostException: www.dmmo.travail.gouv.fr
    	at dmmo_project_vprod.DmmoWebServicesPortType_Stub.declarerDmmo(DmmoWebServicesPortType_Stub.java:135)
    	at dmmo_project_vprod.DMMO_PROJECT_VPROD.main(DMMO_PROJECT_VPROD.java:38)
    Caused by: Erreur de transport HTTP : java.net.UnknownHostException: www.dmmo.travail.gouv.fr
    	at com.sun.xml.rpc.client.http.HttpClientTransport.invoke(HttpClientTransport.java:140)
    	at com.sun.xml.rpc.client.http.HttpClientTransport.redirectRequest(HttpClientTransport.java:534)
    	at com.sun.xml.rpc.client.http.HttpClientTransport.invoke(HttpClientTransport.java:98)
    	at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:96)
    	at dmmo_project_vprod.DmmoWebServicesPortType_Stub.declarerDmmo(DmmoWebServicesPortType_Stub.java:119)
    Auriez vous une idée de ce qui cause cette erreur?

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2005
    Messages : 78
    Par défaut
    Citation Envoyé par arno15 Voir le message
    petite précision, l'algorithme utilisé pour l'encryption du certificat SSH par le Ministère est obsolète et non pris en charge dans les versions les plus récentes des JRE. Il faut utiliser au plus la version 6_16 pour que la connexion puisse être établie.
    Correction : il faut utiliser la version 5_16 au maximum (et non 6_16)

  6. #6
    Membre confirmé Avatar de kimausoleil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2004
    Messages : 126
    Par défaut
    Citation Envoyé par arno15 Voir le message
    Correction : il faut utiliser la version 5_16 au maximum (et non 6_16)
    Si si... 6_16 c'est OK !

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

Discussions similaires

  1. Webservice Client JAX ws erreur de désérialisation
    Par Maskime dans le forum Services Web
    Réponses: 1
    Dernier message: 20/05/2010, 14h35
  2. Exception dans un webservice -> erreur 404 coté client
    Par boby62423 dans le forum Services Web
    Réponses: 0
    Dernier message: 14/04/2009, 19h16
  3. [infos]connexion applet client+serveur
    Par freums dans le forum Applets
    Réponses: 5
    Dernier message: 25/08/2005, 09h57
  4. [CE10 Pro] Erreur Connexion SQL pour etats publiés
    Par L.nico dans le forum Connectivité
    Réponses: 1
    Dernier message: 09/12/2004, 17h16
  5. Erreur connexion mysql
    Par bodbod dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/07/2004, 09h28

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