2015-04-02 9 views
6

Ho provato a distribuire il file war in Wildfly 8.2. La mia applicazione utilizza org.apache.cxf per il servizio web. Ma Wildfly (Jboss) viene fornito per impostazione predefinita con i propri jar cxf che possono fornire un supporto Java EE completo. Potrei eliminare CXF JBoss e utilizzare i miei vasi CXF per i servizi web daCome accedere ai jar CXF da Wildfly (Jboss) per gli endpoint ws

jboss-distribuzione-structure.xml

<jboss-deployment-structure> 
    <deployment> 
     <exclude-subsystems> 
      <subsystem name="webservices" /> 
     </exclude-subsystems> 
    </deployment> 
</jboss-deployment-structure> 

ma sarà disabilitare ws supporto da JBoss, che significa che non riesco nemmeno a trovare endpoint ws nella console di amministrazione di Jboss. Ma il mio cliente deve utilizzare la build di jboss nelle funzionalità di ws in modo che possa disabilitare o abilitare qualsiasi chiamata ws in qualsiasi momento. Qualcuno sa su come configurare la mia applicazione per utilizzare i jar cxf di jboss in modo che io possa ottimizzare le mie ws nella console di amministrazione di Jboss in qualsiasi momento. Il seguente link spiega esattamente lo stesso che ho menzionato finora. Ho successo con la prima opzione, ma ho bisogno che funzioni con la seconda opzione.

http://cxf.apache.org/docs/application-server-specific-configuration-guide.html

Nota: vedere il primo argomento (JBoss Application Server)

io non riesco a capire come posso configurare la mia domanda di utilizzare vasi CXF di JBoss ..!

Se rimuovo tutte le dipendenze org.apache.cxf dal mio file build.gradle, restituisce l'errore ClassNotFoundException che, in effetti, mi dice che può trovare il jar di trasporto cxf.

Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet 

Se includo DIPENDENZE org.apache.cxf nel file build.gradle, si dimostra che è in conflitto con il vaso CXF che è presente in Jboss anche. L'intero problema è che ho bisogno di utilizzare il cxf che è presente in jboss per il supporto Java EE completo eliminando i jar cxf definiti dall'utente.

+2

dai uno sguardo https://docs.jboss.org/author/display/WFLY8/JBoss+Modules+and+WS+applications#JBossModulesandWSapplications-Settingmoduledependencies –

+0

Grazie Federico .. questa è la soluzione esatta che ho visto cercando.. –

risposta

0

Questo è probabilmente sovrapposizione con qualche altra dipendenza che implica una versione diversa.

ho avuto la stessa situazione e ha dovuto provare e rimuovere tutti quelli non-nesesery da org.apache.cxf, specialmente quelli deprecati come:

  • CXF-RT-rs-Extension-fornitori,
  • cxf-distribution-manifest,
  • cxf-bundle-jaxrs e
  • cxf-rt-frontend-jaxrs.

E 'importante per mantenere la compatibilità di utilizzare ${cxf.version} per tutti org.apache.cxf, especialy per le versioni successive e verificare la gerarchia delle dipendenze, se altre dipendenze stanno portando nelle biblioteche CXF più anziani.

Problemi correlati