2015-04-02 7 views
6

Ich habe versucht, meine War-Datei in Wildfly 8.2 zu implementieren. Meine Anwendung verwendet org.apache.cxf für den Web-Service. Aber Wildfly (Jboss) kommt standardmäßig mit eigenen cxf jars, die volle Java EE Unterstützung bieten können. Ich kann Jboss cxf beseitigen und meine eigenen cxf Gläser für vonZugriff auf CXF-Jars von Wildfly (Jboss) für WS-Endpunkte

jboss-Deployment-structure.xml

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

Web-Service nutzen, aber es wird ws Unterstützung von Jboss zu deaktivieren, was bedeutet, kann ich nicht einmal finden ws Endpunkte in Jboss Admin-Konsole. Aber mein Kunde muss die eingebauten Funktionen von jboss verwenden, damit er alle ws-Anrufe jederzeit deaktivieren oder aktivieren kann. Weiß jemand, wie ich meine Anwendung so konfigurieren kann, dass sie jboss cxf jars verwendet, damit ich meine ws jederzeit in der Jboss Admin-Konsole einstellen kann? Der folgende Link erklärt genau das, was ich bisher erwähnt habe. Ich bin erfolgreich mit der ersten Option, aber ich brauche es mit der zweiten Option zu arbeiten.

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

Hinweis: Das erste Thema (JBoss Application Server)

Ich kann nicht scheinen, um herauszufinden, wie ich meine Anwendung so konfigurieren, dass Jboss die cxf Gläser zu verwenden ..!

Wenn ich alle Abhängigkeiten von org.apache.cxf aus meiner Datei build.gradle entferne, gibt es einen ClassNotFoundException-Fehler, der infact sagt, dass er das cxf-transport jar finden kann.

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

Wenn ich org.apache.cxf dependenices in build.gradle Datei enthalten, zeigt es, dass es mit dem cxf Glas ist in Konflikt, die in Jboss auch vorhanden ist. Das ganze Problem ist, dass ich das cxf verwenden muss, das in jboss für volle Java EE Unterstützung vorhanden ist, indem ich die benutzerdefinierten cxf jars beseitige.

+2

Werfen Sie einen Blick auf https://docs.jboss.org/author/display/WFLY8/JBoss+Module+und+WS+applications#JBossModulesundWSApplications-Settingmoduledependencies –

+0

Vielen Dank Federico .. das ist die genaue Lösung whick ich gewesen bin Auf der Suche nach.. –

Antwort

0

Dies ist wahrscheinlich Überschneidungen mit anderen Abhängigkeiten, die unterschiedliche Versionen implizieren.

Ich hatte die gleiche Situation und hatte alle un-nesesery diejenigen von org.apache.cxf zu testen und zu entfernen, insbesondere veraltet diejenigen wie:

  • cxf-rt-rs-Dehn-Anbieter,
  • cxf-distribution-manifest,
  • cxf-bundle-jaxrs und
  • cxf-rt-frontend-jaxrs.

Es ist wichtig, für die Kompatibilität zu halten ${cxf.version} für all org.apache.cxf zu verwenden, especialy für spätere Versionen und überprüfen Sie die Abhängigkeitshierarchie, wenn andere Abhängigkeiten in älteren cxf Bibliotheken bringen.

Verwandte Themen