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

Wildfly/JBoss Java Discussion :

WildFly 8 et CXF


Sujet :

Wildfly/JBoss Java

  1. #1
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut WildFly 8 et CXF
    Bonjour,

    j'ai un ancien application (jboss 5) qui a difficilement fait le bon vers jboss 6 et que j'essaie de maintenant amener vers wildfly 8. Problème, cette application utilise du CXF. Quand j'inclue les librairies, jboss rale en me disant qu'elles n'ont rien à faire là (saleté) et que en gros je devrais retirer toutes mes dépendances à cxf. Soit, je le fais et là, c'est la cata:

    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
    16:00:36,258 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.undertow.deployment.default-server.default-host./rh.UndertowDeploymentInfoService: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./rh.UndertowDeploymentInfoService: java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet from [Module "deployment.rh-web.war:main" from Service Module Loader]
    	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.createServletConfig(UndertowDeploymentInfoService.java:884)
    	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.start(UndertowDeploymentInfoService.java:245)
    	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
    	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0]
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0]
    	at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0]
    Caused by: java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet from [Module "deployment.rh-web.war:main" from Service Module Loader]
    	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.3.Final]
    	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.3.Final]
    	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.3.Final]
    	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.3.Final]
    	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.3.Final]
    	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.createServletConfig(UndertowDeploymentInfoService.java:616)
    	... 6 more
    et quand le met le CXFServlet dans mon application:
    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
    15:59:18,416 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of "rh-web.war" (runtime-name: "rh-web.war")
    15:59:20,779 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015960: Class Path entry toolbox.jar in /d:/applications/wildfly-8.1.0.Final/standalone/deployments/rh-web.war/WEB-INF/lib/itext-2.0.7.jar  does not point to a valid jar for a Class-Path reference.
    15:59:20,779 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015960: Class Path entry bcmail-jdk14-138.jar in /d:/applications/wildfly-8.1.0.Final/standalone/deployments/rh-web.war/WEB-INF/lib/itext-2.0.7.jar  does not point to a valid jar for a Class-Path reference.
    15:59:20,779 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015960: Class Path entry bcprov-jdk14-138.jar in /d:/applications/wildfly-8.1.0.Final/standalone/deployments/rh-web.war/WEB-INF/lib/itext-2.0.7.jar  does not point to a valid jar for a Class-Path reference.
    15:59:20,779 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015960: Class Path entry commons-logging-1.1.jar in /d:/applications/wildfly-8.1.0.Final/standalone/deployments/rh-web.war/WEB-INF/lib/jodreports-2.2.1.jar  does not point to a valid jar for a Class-Path reference.
    15:59:20,779 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015960: Class Path entry commons-io-1.4.jar in /d:/applications/wildfly-8.1.0.Final/standalone/deployments/rh-web.war/WEB-INF/lib/jodreports-2.2.1.jar  does not point to a valid jar for a Class-Path reference.
    15:59:20,779 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015960: Class Path entry xom-1.2.4.jar in /d:/applications/wildfly-8.1.0.Final/standalone/deployments/rh-web.war/WEB-INF/lib/jodreports-2.2.1.jar  does not point to a valid jar for a Class-Path reference.
    15:59:20,858 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/struts-bean.tld
    15:59:20,858 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/struts-html.tld
    15:59:20,858 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/slide-struts.tld
    15:59:20,858 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/struts-logic.tld
    15:59:20,858 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/struts-nested.tld
    15:59:20,858 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/struts-tiles.tld
    15:59:20,858 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/slide-struts.tld
    15:59:20,858 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/struts-bean.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/struts-html.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/struts-logic.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/c.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/fmt.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/sql.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/x.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/fn.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/taglibs-xtags.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/taglibs-string.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/ProcessXML.tld
    15:59:20,874 ERROR [org.wildfly.extension.undertow] (MSC service thread 1-2) Could not find tld /WEB-INF/conf/OutputXML.tld
    15:59:20,983 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."rh-web.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."rh-web.war".PARSE: JBAS018733: Failed to process phase PARSE of deployment "rh-web.war"
    	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
    	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
    	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0]
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0]
    	at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0]
    Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS015599: Apache CXF library (cxf-rt-transports-http-2.3.1.jar) detected in ws endpoint deployment; either provide a proper deployment replacing embedded libraries with container module dependencies or disable the webservices subsystem for the current deployment adding a proper jboss-deployment-structure.xml descriptor to it. The former approach is recommended, as the latter approach causes most of the webservices Java EE and any JBossWS specific functionality to be disabled.
    	at org.jboss.as.webservices.deployers.WSLibraryFilterProcessor.deploy(WSLibraryFilterProcessor.java:71)
    	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
    	... 5 more
     
    15:59:20,983 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "rh-web.war")]) - failure description: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"rh-web.war\".PARSE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"rh-web.war\".PARSE: JBAS018733: Failed to process phase PARSE of deployment \"rh-web.war\"
        Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS015599: Apache CXF library (cxf-rt-transports-http-2.3.1.jar) detected in ws endpoint deployment; either provide a proper deployment replacing embedded libraries with container module dependencies or disable the webservices subsystem for the current deployment adding a proper jboss-deployment-structure.xml descriptor to it. The former approach is recommended, as the latter approach causes most of the webservices Java EE and any JBossWS specific functionality to be disabled."}}
    15:59:21,092 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "rh-web.war" (runtime-name : "rh-web.war")
    15:59:21,092 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
    JBAS014777:   Services which failed to start:      service jboss.deployment.unit."rh-web.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."rh-web.war".PARSE: JBAS018733: Failed to process phase PARSE of deployment "rh-web.war"
    Bref je peux pas le mettre, mais en même temps je peux pas ne pas le mettre.... Comment on sort de cette boucle?

  2. #2
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Salut tchize_,

    Le message d'erreur est un peu plus nuancé. Il te dit de ne pas embarquer CXF ou de désactiver le subsystem webservice dans un fichier jboss-deployment-structure.xml. As-tu essayé cette dernière solution ? Elle est expliquée dans la doc CXF : http://cxf.apache.org/docs/applicati...ion-guide.html, paragraphe "?Boss Application Server".

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    la doc de jboss avait l'air de dire que ce n'était pas une bonne solution. En l'occurence je préfèrerais garder le système webservice de jboss en place et comprendre ce que je dois modifier dans mon application pour qu'elle l'utilise

    De plus vu que mon appli utilise jsf 1.2 et que jsf 1.2 n'est pas compatible avec le CDI présent dans jboss, vu que j'utilise spring io et que J2EE6 embarque CDI, que j'utilise hibernate 3 et qu'on a du JPA standardisé à disposition, je préfère migrer proprement l'application vers du standard. Cette application évolue joyeusement depuis un tomcat 5.5, autant profiter du J2EE plutot que d'essayer de tout embarquer.

    J'ai simplement retiré la servlet CXF pour le moment, je vais regarder plus en détail comment je dois réaliser toute cette migration et je reviens dans quelques semaines sur le sujet je crois

  4. #4
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Dans ce cas, tu as fait ton choix. C'est sûr que chez WildFly, ils vont te pousser à aller vers du vrai Java EE (on ne dit plus J2EE) et qu'ils déconseillent de désactiver leurs services. C'est tout à fait cohérent. Mais pour une migration, on a le droit d'être pragmatique : faire fonctionner d'abord, puis améliorer ensuite.

    Si tu veux aller vers du tout standard, il faut que tu enlèves tout ce qui n'est pas pur JAX-WS. Si tu dois conserver des spécificités CXF, je crois qu'il y a des solutions intermédiaires. Pour la doc de WF, je suppose que tu as déjà lu cette page : https://docs.jboss.org/author/displa...XF+integration.

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    oui, en retard sur la techno, je n'ai pas tout saisi pour le moment, mais je peux me permettre de casser l'appli une semaine ou deux le temps tout remettre en ordre. Ca me permettra au passage de me débarasser de quelques vieilles api myfaces patchées maison

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Je n'ai pas encore utilisé la version 8 mais je suppose que dans le principe des dépendances, elle est proche de la 7.
    Comme le dit le message, soit tu ignores pour ce projet la configuration embarquée pour cette application (un des lien d'hasalex), soit tu définis un module et tu le lies à ton application via /META-INF/MANIFEST.MF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Manifest-Version: 1.0
    Dependencies: jaas.authentification, recherche    <-- ce sont les noms des modules
    ...
    Au début, le système de dépendances paraît un peu compliqué, mais à l'usage, ça permet plein de choses
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Merci, j'ignorais qu'on pouvais mettre ça dans le META-INF. Mais de toutes façons, je vais essayer de rester standard au maximum

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Bon, je relance, parce que je me sens un peu perdu dans la doc

    La migration progresse mais là je coince sur l'injection des clients webservice.

    Avant, c'était fais avec spring + CXF de la manière suivante:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     <beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:jaxws="http://cxf.apache.org/jaxws"
     xsi:schemaLocation="
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
     http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
    <!-- Import Apache CXF Bean Definition -->
    	 <import resource="classpath:META-INF/cxf/cxf.xml" />
    	 <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
    	 <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
     
    	 <jaxws:client id="projectService" serviceClass="be.rmi.intranet.webservice.ProjectService"
    	  address="${webservice.project.url}" username="${webservice.project.username}" password="${webservice.project.password}">
    	 </jaxws:client>
    </beans>

    ProjectService étant un interface annotée @WebService et avec des @WebParam sur les paramètres. Je n'avais plus ensuite qu'à l'injecter dans mes bean jsf.

    Je n'arrive pas à comprendre comment, en pur javaEE7, je peux récupérer cette implémentation que spring + cxf me générait.

    Pour faire simple, j'ai un bean jsf avec dedans:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private ProjectService projectService
    et la question est quelles annotations je rajoute là pour qu'il m'injecte une implémentation dynamique de projectService mappant l'url en question.

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ok, bon je suis repartis de ce point de départ :/


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JBAS015599: Apache CXF library (cxf-rt-bindings-soap-3.0.1.jar) detected in ws endpoint deployment; either provide a proper deployment replacing embedded libraries with container module dependencies or disable the webservices subsystem for the current deployment adding a proper jboss-deployment-structure.xml descriptor to it. The former approach is recommended, as the latter approach causes most of the webservices Java EE and any JBossWS specific functionality to be disabled.
    Et j'essaie donc d'appliquer la première solution: "provide a proper deployment replacing embedded libraries with container module dependencies"

    J'ai mis le jboss-deployment-structure.xml que voici dans mon web.xml:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?xml version="1.0" encoding="UTF-8"?>
    <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
      <deployment>
        <dependencies>
     	  <module name="org.jboss.ws.cxf.jbossws-cxf-client" services="import" />
     	  <module name="org.apache.cxf" services="import" />
        </dependencies>
      </deployment>
    </jboss-deployment-structure>

    et exclu CXF de WEB-INF/lib

    Maintenant, quand je lance mon client webservice, basé sur CXF, j'obtiens le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Caused by: java.lang.ClassNotFoundException: org.apache.cxf.frontend.ClientProxyFactoryBean from [Module "deployment.xxx.rh.rh-web.war:main" from Service Module Loader]
    	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.3.Final]
    	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.3.Final]
    	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.3.Final]
    	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.3.Final]
    	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.3.Final]
    donc manufestement, ca ne marche pas.

    Je sais que ce fichier est pris en compte car si j'ajoute tartempion dans le xml, il se plaint que tartempion:main n'existe pas

    je voudrais franchement éviter de tomber dans le cas numéro deux, a savoir désactiver les webservices.

  10. #10
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    bon, en fouillant un peu, j'ai mis ça comme dépendance:


    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
     	  <module name="org.apache.cxf.impl" services="import" />

    et ça marche mieux

    Si quelqu'un a une solution pour faire facilement un client WS à partir de juste l'interface, l'adresse du WSDL et les login/pass pour l'authentification basique, je suis preneur, en attendant mon code ressemble à ça:


    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
    import org.apache.cxf.frontend.ClientProxyFactoryBean;
    //
     
    @Stateless
    public class ProjectServiceAccess {
    //...
     
    	public ProjectService getService() {
    		if (projectService == null) {
    			ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
    			factory.setServiceClass(ProjectService.class);
    			factory.setAddress(url);
    			factory.setUsername(username);
    			factory.setPassword(password);
    			projectService = (ProjectService) factory.create();
    		}
    		return projectService;
            }

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    bonjour,

    Je pense que tu devrais oublier CXF et faire du JAX-WS (JEE6-7) pour la partie client (@WebService) et client (@WebServiceClient)

    https://docs.jboss.org/author/displa...-WS+User+Guide
    https://docs.jboss.org/author/displa...8/JAX-WS+Tools

  12. #12
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Meci pour les liens, je les ai déjà lu en long et en large, mais ils ne répondent pas à la question de base
    Si quelqu'un a une solution pour faire facilement un client WS à partir de juste l'interface, l'adresse du WSDL et les login/pass pour l'authentification basique, je suis preneur
    Toutes les descriptions que je trouve à partir de jaxws partent sur deux a priori que n'a pas CXF:

    le WSDL est local => je veux pouvoir démarrer les service avec juste l'url du WSDL, pour pas devoir mettre à jour à chaque fois le client
    le on génèr des stubs locaux à la compilation => je ne veux pas avoir affaire à ce genre de pratique.

    Donc voilà, j'ai l'interface, annotée avec les tags WS, et je voudrais un truc qui, à partir de l'interface et de l'url (dans une fichier de config), m'injecte une instance générée automatiquement qui représente le contact avec le service.

    CXF le permet, jax-ws si il le permet, il le cache bien

Discussions similaires

  1. [CXF] Utilisation d'un Client Dynamique
    Par Pi2 dans le forum Services Web
    Réponses: 3
    Dernier message: 27/12/2010, 10h39
  2. Petit exemple web service avec CXF
    Par lucy in the sky dans le forum Services Web
    Réponses: 28
    Dernier message: 28/05/2008, 11h52
  3. [Apache CXF] Pb pour tester les exemples
    Par FlorentBVN dans le forum Services Web
    Réponses: 1
    Dernier message: 26/03/2008, 16h54
  4. Réponses: 2
    Dernier message: 11/02/2008, 18h29
  5. [utilisation de CXF] Ou existe-t-il un bon tutoriel ?
    Par caballero dans le forum Services Web
    Réponses: 2
    Dernier message: 06/02/2008, 14h52

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