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 d'appel au Web Service


Sujet :

Services Web Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Erreur d'appel au Web Service
    Bonjour,

    je viens de recevoir un nouveau fichier WSDL, je viens de générer un nouveau JAR pour le coté Client (l'ancien marchait bien) et là j'ai l'erreur suivante :

    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
    Error occured in ===> Terminaux.webservice_call
    AxisFault
     faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
     faultSubcode:
     faultString: java.lang.reflect.InvocationTargetException
     faultActor:
     faultNode:
     faultDetail:
            {http://xml.apache.org/axis/}stackTrace:java.lang.reflect.InvocationTargetException
            at org.apache.axis.encoding.ser.BeanDeserializer.onStartElement(BeanDeserializer.java:475)
            at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:393)
            at org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:154)
            at org.apache.axis.encoding.DeserializerImpl.onStartElement(DeserializerImpl.java:449)
            at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:393)
            at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
            at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
            at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
            at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
            at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
            at org.apache.axis.client.Call.invoke(Call.java:2467)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at org.tempuri.StarterWebServiceSoapStub.getCatalogueTerminaux(Unknown Source)
            at catalogueTerminaux.Terminaux.webservice_call(Unknown Source)
            at com.lhs.ccb.nonkernel.rapidactivation.moreinfo.controller.MoreInfoPageController.getTerminalList(Unknown Source)
            at com.lhs.ccb.nonkernel.rapidactivation.moreinfo.controller.MoreInfoPageController.initializeTerminalList(Unknown Source)
            at com.lhs.ccb.nonkernel.rapidactivation.moreinfo.controller.MoreInfoPageController.preparePage(Unknown Source)
            at com.lhs.ccb.cfw.wcs.solutionunit.AbstractSolutionUnitController.handleRequest(Unknown Source)
            at com.lhs.ccb.cfw.wcs.solutionunit.SolutionUnitServlet.handleWorkflowRequest(Unknown Source)
            at com.lhs.ccb.cfw.wcs.solutionunit.SolutionUnitServlet.doGet(Unknown Source)
            at com.lhs.ccb.cfw.wcs.solutionunit.SolutionUnitServlet.doPost(Unknown Source)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
            at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
            at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
            at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
            at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
            at java.lang.Thread.run(Thread.java:579)
     
            {http://xml.apache.org/axis/}hostname:FRPARESTARTIT
     
    java.lang.reflect.InvocationTargetException
            at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
            at org.apache.axis.client.Call.invoke(Call.java:2470)
            at org.apache.axis.client.Call.invoke(Call.java:2366)
            at org.apache.axis.client.Call.invoke(Call.java:1812)
            at org.tempuri.StarterWebServiceSoapStub.getCatalogueTerminaux(Unknown Source)
            at catalogueTerminaux.Terminaux.webservice_call(Unknown Source)
            at com.lhs.ccb.nonkernel.rapidactivation.moreinfo.controller.MoreInfoPageController.getTerminalList(Unknown Source)
            at com.lhs.ccb.nonkernel.rapidactivation.moreinfo.controller.MoreInfoPageController.initializeTerminalList(Unknown Source)
            at com.lhs.ccb.nonkernel.rapidactivation.moreinfo.controller.MoreInfoPageController.preparePage(Unknown Source)
            at com.lhs.ccb.cfw.wcs.solutionunit.AbstractSolutionUnitController.handleRequest(Unknown Source)
            at com.lhs.ccb.cfw.wcs.solutionunit.SolutionUnitServlet.handleWorkflowRequest(Unknown Source)
    J'ai vu dans des forums que ça peut être liée à la façon avec laquelle le JAR est généré à partir du WSDL ? une idée ?

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Plus de détails
    Plus précisément,
    j'ai comme Cause de l'exception et message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Error occured in ===> Terminaux.webservice_call LocalizedMessage ==>; nested exception is:
            java.net.ConnectException: Connection refused (errno:239)  Cause ==>java.net.ConnectException: Connection refused (errno:239)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Cause de l'exception
    Non la cause c'est toujours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Binding is ::: org.tempuri.StarterWebServiceSoapStub@102ae84
    Error occured in ===> Terminaux.webservice_call LocalizedMessage ==>; nested exception is:
            java.lang.reflect.InvocationTargetException  Cause ==>java.lang.reflect.InvocationTargetException
    AxisFault

  4. #4
    Membre averti Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Points : 346
    Points
    346
    Par défaut
    t'as pas de certif qui traine et qui devrait être mis à jour ?

    Je te dis ça pour
    Connection refused

  5. #5
    Membre averti Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Points : 346
    Points
    346
    Par défaut
    J'ai trouvé ça en plus

    Normally "java.lang.reflect.InvocationTargetException" occurs when java compiler finds 2 different classes with same name in 2 different packages. when u r importing both classes at a time and when you r trying to create object of that class it throws "java.lang.reflect.InvocationTargetException" exception .
    One solution may be that your class is not serializable and you are trying to send your data over the server. So just try to add this line after your class name:
    Class xyz implements serializable
    {...
    }

    Si t'as pas compris :
    En gros il dit que, ou bien t'a deux classes qui ont le même nom ou bien t'a des classes non sérialisée.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut je vais essayer ça
    OK je vais voir ça, donc c'est pas une histoire de mauvaise façon de générer les classes JAVA avec le WSDL sur eclipse (selon certains forums...).

    Merci j'essaie et je te tiens au courant

  7. #7
    Membre averti Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Points : 346
    Points
    346
    Par défaut
    J'ai pas dit ça.
    Sans avoir le code sous les yeux, je peux pas te dire précisément d'où ça viens.
    Je me base sur tes erreurs.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Piste et Question
    J'ai une piste et une question,
    Mes anciennes classes générées et qui étaient OK, ont été générée avec axis 1.3,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /**
     * CObject.java
     *
     * This file was auto-generated from WSDL
     * by the Apache Axis 1.3 Oct 05, 2005 (05:23:37 EDT) WSDL2Java emitter.
     */
    mes nouvelles classes et que j'ai générée avec Eclipse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /**
     * CObject.java
     *
     * This file was auto-generated from WSDL
     * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
     */
    La question est comment est ce que je peux demander à Eclipse ou le forcer à utiliser une version donnée ? ça dépend t il de la version de Java...?

  9. #9
    Membre averti Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Points : 346
    Points
    346
    Par défaut
    Salut
    As-tu résolu ton problème ?

    Si tu n'arrives pas à générer tes classes dans eclipse tu peux essayer de télécharger AXIS 1.3 et de les générer en ligne de commande.
    C'est un peu moins simple, mais c'est la même chose.

    Peut-être une autre piste pour toi :
    En J2SDK 1.4 (java 1.4) les clés de certif sont sur 1024 Bits.
    Dans les versions supp de java ils passent à 4096(je crois).
    Vérifie les tailles de clés de tes certif par rapport à tes versions java.
    C'est très vicieux comme erreur.


    C'est idem pour tes classes générées. Si t'es en 1.4 ton client ne peut pas récupérer de ENUM par exemple.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Problème non résolu
    Mon problème n'est tjrs pas résolu, mais je dois verifier Axis ou juste la version java ?
    par contre dans mon projet Eclipse je suis en 1.5 c peut etre du à ça ?
    je dois tout forcer JRE et compiler à 1.4 peut être ?
    Merci
    Images attachées Images attachées  

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Avec java 1.4 et axis 1.4
    Bon avant mon Eclipse etait avec Java 1.5 et axis 1.4, je viens de switcher en java 1.4 en terme de JRE et de compiler mais ça résout pas le problème.

    la question est comment forcer Eclipse à utiliser une version d'axis donnée ??
    j'espère que c'est ça la dernière explication à mon exception

    Merci

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut pas de pistes ?
    vous n'auriez pas de pistes
    je suis bloquée sur ce point depuis 6 jours.

    wait & see
    Merci

  13. #13
    Membre averti Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Points : 346
    Points
    346
    Par défaut
    Je pense que la seul façon de t'en sortir est de télécharger le bon JDK, et le bon axis et de tout faire en ligne de commande.

    Je ne sais pas si tu peux forcer les choses sous eclipse à moins de bien connaitre les plugins et de les modifier à la mano, s'ils ne sont pas protégés.

  14. #14
    Membre averti Avatar de rockley
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 404
    Points : 346
    Points
    346
    Par défaut
    Tu le fait en ligne de commande via l'invite de commande de windows.

    Tu vas au chapitre WSDL2Java: Building stubs, skeletons, and data types from WSDL
    http://axis.apache.org/axis/java/use...ngWSDLFromJava

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Résolu mais pas convaincu :)
    En fait après une simple comparaison des classes générées à partir de l'ancien et du nouveau WSDL, il s'est avéré que yavait tout une partie de metadata qui existe pas dans les nouvelles classes :

    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
    91
    92
    93
        // Type metadata
        private static org.apache.axis.description.TypeDesc typeDesc =
            new org.apache.axis.description.TypeDesc(CArticle.class, true);
     
        static {
            typeDesc.setXmlType(new javax.xml.namespace.QName("http://tempuri.org/", "CArticle"));
            org.apache.axis.description.AttributeDesc attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("idArticle");
            attrField.setXmlName(new javax.xml.namespace.QName("", "IdArticle"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"));
            typeDesc.addFieldDesc(attrField);
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("genCod");
            attrField.setXmlName(new javax.xml.namespace.QName("", "GenCod"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
            typeDesc.addFieldDesc(attrField);
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("libFabriquant");
            attrField.setXmlName(new javax.xml.namespace.QName("", "LibFabriquant"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
            typeDesc.addFieldDesc(attrField);
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("libArticle");
            attrField.setXmlName(new javax.xml.namespace.QName("", "LibArticle"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
            typeDesc.addFieldDesc(attrField);
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("libArticleCourt");
            attrField.setXmlName(new javax.xml.namespace.QName("", "LibArticleCourt"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
            typeDesc.addFieldDesc(attrField);
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("prixTTC");
            attrField.setXmlName(new javax.xml.namespace.QName("", "PrixTTC"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "float"));
            typeDesc.addFieldDesc(attrField);
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("prixHT");
            attrField.setXmlName(new javax.xml.namespace.QName("", "PrixHT"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "float"));
            typeDesc.addFieldDesc(attrField);
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("TVA");
            attrField.setXmlName(new javax.xml.namespace.QName("", "TVA"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "float"));
            typeDesc.addFieldDesc(attrField);
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("ecoParticpation");
            attrField.setXmlName(new javax.xml.namespace.QName("", "EcoParticpation"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "float"));
            typeDesc.addFieldDesc(attrField);
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("stock");
            attrField.setXmlName(new javax.xml.namespace.QName("", "Stock"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
            typeDesc.addFieldDesc(attrField);        
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("typeArticle");
            attrField.setXmlName(new javax.xml.namespace.QName("", "TypeArticle"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "long"));
    		typeDesc.addFieldDesc(attrField);
        }
     
        /**
         * Return type metadata object
         */
        public static org.apache.axis.description.TypeDesc getTypeDesc() {
            return typeDesc;
        }
     
        /**
         * Get Custom Serializer
         */
        public static org.apache.axis.encoding.Serializer getSerializer(
               java.lang.String mechType, 
               java.lang.Class _javaType,  
               javax.xml.namespace.QName _xmlType) {
            return 
              new  org.apache.axis.encoding.ser.BeanSerializer(
                _javaType, _xmlType, typeDesc);
        }
     
        /**
         * Get Custom Deserializer
         */
        public static org.apache.axis.encoding.Deserializer getDeserializer(
               java.lang.String mechType, 
               java.lang.Class _javaType,  
               javax.xml.namespace.QName _xmlType) {
            return 
              new  org.apache.axis.encoding.ser.BeanDeserializer(
                _javaType, _xmlType, typeDesc);
        }
    et el fait d'ajouter ça résout le problème mais je me demande si c'est pas une histoire des options de génération avec eclipse ?
    et du coup faut que j'ajoute aussi les nouvelles propriétés à la main dans cette partie...

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut récupération des nouvelles propriétés KO
    mais quand j'essaie de récupérer les nouvelles propriétés c KO :

    et du coup comme j'ai ajouté la partie de serialisation à la main,
    j'ai ajouté le bout de code pour récupérer les nouvelles propriétés comme suivant : et ça renvoie la meme exception..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    attrField = new org.apache.axis.description.AttributeDesc();
    		attrField.setFieldName("optionBlackBerry");
    		attrField.setXmlName(new javax.xml.namespace.QName("", "OptionBlackBerry"));
    		attrField.setXmlType(new javax.xml.namespace.QName("http://tempuri.org/", "Disponibilite"));
    		typeDesc.addFieldDesc(attrField);
     
    		attrField = new org.apache.axis.description.AttributeDesc();
    		attrField.setFieldName("SNCodesOptionBlackBerry");
    		attrField.setXmlName(new javax.xml.namespace.QName("", "SNCodesOptionBlackBerry"));
    		attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "list"));
    		typeDesc.addFieldDesc(attrField);

    Merci

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Points : 85
    Points
    85
    Par défaut Test avec le vrai Serveru du WS
    Bonjour,

    en testant avec le vrai Serveur, les valeurs de retour sont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
    <GetCatalogueTerminauxResponse xmlns="http://tempuri.org/"><GetCatalogueTerminauxResult>
    <CArticle IdArticle="100007368" GenCod="6950735550179" LibFabriquant="ALCATEL" LibArticle="Alcatel OT355 carbon" LibArticleCourt="ALC OT355" PrixTTC="39" PrixHT="32.61" TVA="6.39" EcoParticpation="0.01" Stock="L" TypeArticle="1" OptionBlackBerry="Non"><SNCodesOptionBlackBerry/></CArticle><CArticle IdArticle="100007409" GenCod="6950735581944" LibFabriquant="ALCATEL" LibArticle="Alcatel OT585" LibArticleCourt="ALC OT585" PrixTTC="59" PrixHT="49.33" TVA="9.67" EcoParticpation="0.01" Stock="L" TypeArticle="1" OptionBlackBerry="Non"><SNCodesOptionBlackBerry/></CArticle><CArticle IdArticle="100007481" GenCod="802975650965" LibFabriquant="RIM" LibArticle="Blackberry Curve 9360" LibArticleCourt="BBERRY 9360" PrixTTC="269" PrixHT="224.92" TVA="44.08" EcoParticpation="0.01" Stock="L" TypeArticle="1" OptionBlackBerry="PeutEtre">
    <SNCodesOptionBlackBerry><long>941</long></SNCodesOptionBlackBerry>
    </CArticle>
    </GetCatalogueTerminauxResponse></soap:Body>
    </soap:Envelope>
    et dans mes logs j'ai l'exception :
    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
    2012-03-20 14:30:55 DEBUG [HTTPSender] Exit:  HTTPDispatchHandler::invoke
    2012-03-20 14:30:55 DEBUG [HTTPSender] Exit:  HTTPDispatchHandler::invoke
    2012-03-20 14:30:55 ERROR [Call] Exception:
    org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
    	at org.apache.axis.encoding.ser.SimpleListDeserializer.onStartChild(SimpleListDeserializer.java:112)
    	at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
    	at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
    	at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
    	at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
    	at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
    	at org.apache.axis.client.Call.invoke(Call.java:2467)
    	at org.apache.axis.client.Call.invoke(Call.java:2366)
    	at org.apache.axis.client.Call.invoke(Call.java:1812)
    	at org.tempuri.StarterWebServiceSoapStub.getCatalogueTerminaux(Unknown Source)
    	at catalogueTerminaux.Terminaux.webservice_call(Unknown Source)
    	at com.lhs.ccb.nonkernel.rapidactivation.moreinfo.controller.MoreInfoPageController.getTerminalList(Unknown Source)
    	at com.lhs.ccb.nonkernel.rapidactivation.moreinfo.controller.MoreInfoPageController.initializeTerminalList(Unknown Source)
    	at com.lhs.ccb.nonkernel.rapidactivation.moreinfo.controller.MoreInfoPageController.preparePage(Unknown Source)
    	at com.lhs.ccb.cfw.wcs.solutionunit.AbstractSolutionUnitController.handleRequest(Unknown Source)
    	at com.lhs.ccb.cfw.wcs.solutionunit.SolutionUnitServlet.handleWorkflowRequest(Unknown Source)
    	at com.lhs.ccb.cfw.wcs.solutionunit.SolutionUnitServlet.doGet(Unknown Source)
    	at com.lhs.ccb.cfw.wcs.solutionunit.SolutionUnitServlet.doPost(Unknown Source)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
    	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
    	at java.lang.Thread.run(Thread.java:534)
    Car avec mon client WS utilisé, j'ai fait mes Tests Unitaires avec un Bouchon qui renoyait plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <CArticle IdArticle="100007481" GenCod="802975650965" LibFabriquant="RIM" LibArticle="Blackberry Curve 9360" LibArticleCourt="BBERRY 9360" PrixTTC="269" PrixHT="224.92" TVA="44.08" EcoParticpation="0.01" Stock="L" TypeArticle="1" OptionBlackBerry="PeutEtre" SNCodesOptionBlackBerry ="941 950" >
    </CArticle>
    cad l'élément SNCodesOptionBlackBerry n'était pas une sous balise.

    je veux corriger mes classes du Client WS à la main en regardant la partie de sérailisation mais je vois pas comment faire :
    dans la classe StarterWebServiceSoapStub j'ai :
    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
    ((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2");
                java.lang.Class cls;
                javax.xml.namespace.QName qName;
                javax.xml.namespace.QName qName2;
                java.lang.Class beansf = org.apache.axis.encoding.ser.BeanSerializerFactory.class;
                java.lang.Class beandf = org.apache.axis.encoding.ser.BeanDeserializerFactory.class;
                java.lang.Class enumsf = org.apache.axis.encoding.ser.EnumSerializerFactory.class;
                java.lang.Class enumdf = org.apache.axis.encoding.ser.EnumDeserializerFactory.class;
                java.lang.Class arraysf = org.apache.axis.encoding.ser.ArraySerializerFactory.class;
                java.lang.Class arraydf = org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;
                java.lang.Class simplesf = org.apache.axis.encoding.ser.SimpleSerializerFactory.class;
                java.lang.Class simpledf = org.apache.axis.encoding.ser.SimpleDeserializerFactory.class;
                java.lang.Class simplelistsf = org.apache.axis.encoding.ser.SimpleListSerializerFactory.class;
                java.lang.Class simplelistdf = org.apache.axis.encoding.ser.SimpleListDeserializerFactory.class;
                qName = new javax.xml.namespace.QName("http://tempuri.org/", ">CArticle>SNCodesOptionBlackBerry");
                cachedSerQNames.add(qName);
                cls = long[].class;
                cachedSerClasses.add(cls);
                cachedSerFactories.add(simplelistsf);
                cachedDeserFactories.add(simplelistdf);
    et dans la classe CArticle j'ai :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    		attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("optionBlackBerry");
            attrField.setXmlName(new javax.xml.namespace.QName("", "OptionBlackBerry"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://tempuri.org/", "Disponibilite"));
            typeDesc.addFieldDesc(attrField);
     
            attrField = new org.apache.axis.description.AttributeDesc();
            attrField.setFieldName("SNCodesOptionBlackBerry");
            attrField.setXmlName(new javax.xml.namespace.QName("", "SNCodesOptionBlackBerry"));
            attrField.setXmlType(new javax.xml.namespace.QName("http://tempuri.org/", ">CArticle>SNCodesOptionBlackBerry"));
            typeDesc.addFieldDesc(attrField);
    Je vois pas comment rectifier le code de serialisation ??

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

Discussions similaires

  1. [Débutant] Erreur sérialisation appel de web service
    Par baya22 dans le forum C#
    Réponses: 6
    Dernier message: 26/11/2012, 18h09
  2. Appeler un web service avec pl/sql
    Par squalito dans le forum PL/SQL
    Réponses: 5
    Dernier message: 17/09/2012, 15h21
  3. Erreur d'appel à un Web Service avec une authentification HTTP basic
    Par Lordsephiroth dans le forum Services Web
    Réponses: 3
    Dernier message: 28/09/2011, 16h53
  4. [wss3] Erreur 401 lors de l'appel du web service en c#
    Par nosdo dans le forum Développement Sharepoint
    Réponses: 10
    Dernier message: 06/07/2010, 15h09
  5. [Débutant] Appeler un Web Service
    Par slyer dans le forum Services Web
    Réponses: 2
    Dernier message: 17/02/2006, 18h15

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