Bug 806232

Summary: jBPM console can't connect to Guvnor after install jbossws-cxf
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Ryan Zhang <rzhang>
Component: BRM (Guvnor)Assignee: manstis
Status: VERIFIED --- QA Contact: Lukáš Petrovický <lpetrovi>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: BRMS 5.3.0.GACC: bmaxwell, lpetrovi, mproctor
Target Milestone: ER6   
Target Release: BRMS 5.3.0.GA   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
server.log none

Description Ryan Zhang 2012-03-23 09:36:10 UTC
Description of problem:
This issue happened after install jbossws cxf in brms standalone.

I think there is cxf version conflicts between jboss-brms's cxf and the cxf in EAP 5.1.2.

After a few investigation,
a) simply remove the jboss-brms's cxf jars
b) or rebuild jboss-brms with EAP's cxf version

Both approaches would break the functionality of jbpm console connecting to Guvnor .


 
Attached the error stacktrace at the bottom.

Version-Release number of selected component (if applicable):
BRMS 5.3 ER5

How reproducible:


Steps to Reproduce:
1. cd brms-standalone-5.3.0/jboss-as/jbossws-cxf-installer && ant (to install the cxf)
2. install deploy/jboss-brms.war/WEB-INF/classes/jbpm_example_repository.xml and compile the package in jboss brms console
3. click process-overview in jbpm-console
4  the error could be found in server.log
  
Actual results:


Expected results:
The idealest situation is to have the same version of cxf in EAP, ie 2.2.12-patch-02. But if there is not good solution to align the versions, we at least need to have the function correct when EAP cxf is installed .

Additional info:

The error stacktrace is:
2012-03-23 16:56:25,895 INFO  [org.jboss.bpm.console.server.plugin.PluginMgr] (http-127.0.0.1-8080-2) Successfully loaded plugin 'org.jboss.bpm.console.server.plugin.FormDispatcherPlugin': class org.jbpm.integration.console.forms.FormDispatcherComposite
2012-03-23 16:56:31,645 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-bindings-corba.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:31,984 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-bindings-http.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:31,986 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-bindings-object.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:31,989 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-bindings-soap.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:31,991 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-bindings-xml.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:31,998 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-core.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:32,002 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-management.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:32,004 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-transports-http-jetty.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:32,008 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-transports-http.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:32,020 WARNING [org.apache.cxf.bus.extension.ExtensionManagerImpl] (http-127.0.0.1-8080-7) Loading Bus extensions via META-INF/cxf/bus-extensions.xml (found url vfszip:/lab/5.3-er5-dev/brms-standalone-5.3.0/jboss-as/server/default/deployers/jbossws.deployer/cxf-rt-transports-jms.jar/META-INF/cxf/bus-extensions.xml) is deprecated.  Use META-INF/cxf/bus-extensions.txt instead.
2012-03-23 16:56:32,297 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jboss-brms]] (http-127.0.0.1-8080-7) StandardWrapper.Throwable
java.lang.ClassCastException: class org.apache.cxf.transport.jms.ClientBehaviorPolicyType
	at java.lang.Class.asSubclass(Class.java:3018)
	at org.apache.cxf.wsdl.JAXBExtensionHelper.addExtensions(JAXBExtensionHelper.java:91)
	at org.apache.cxf.wsdl11.WSDLManagerImpl.registerInitialXmlExtensions(WSDLManagerImpl.java:269)
	at org.apache.cxf.wsdl11.WSDLManagerImpl.registerInitialExtensions(WSDLManagerImpl.java:249)
	at org.apache.cxf.wsdl11.WSDLManagerImpl.<init>(WSDLManagerImpl.java:116)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at org.apache.cxf.bus.extension.Extension.load(Extension.java:154)
	at org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:181)
	at org.apache.cxf.bus.extension.ExtensionManagerImpl.initialize(ExtensionManagerImpl.java:118)
	at org.apache.cxf.bus.extension.ExtensionManagerBus.initialize(ExtensionManagerBus.java:147)
	at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:43)
	at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:36)
	at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:32)
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.loadBus(CXFNonSpringServlet.java:83)
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:54)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:68)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:777)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
	at java.lang.Thread.run(Thread.java:662)
2012-03-23 16:56:32,298 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jboss-brms].[CXFServlet]] (http-127.0.0.1-8080-7) Allocate exception for servlet CXFServlet
java.lang.ClassCastException: class org.apache.cxf.transport.jms.ClientBehaviorPolicyType
	at java.lang.Class.asSubclass(Class.java:3018)
	at org.apache.cxf.wsdl.JAXBExtensionHelper.addExtensions(JAXBExtensionHelper.java:91)
	at org.apache.cxf.wsdl11.WSDLManagerImpl.registerInitialXmlExtensions(WSDLManagerImpl.java:269)
	at org.apache.cxf.wsdl11.WSDLManagerImpl.registerInitialExtensions(WSDLManagerImpl.java:249)
	at org.apache.cxf.wsdl11.WSDLManagerImpl.<init>(WSDLManagerImpl.java:116)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at org.apache.cxf.bus.extension.Extension.load(Extension.java:154)
	at org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:181)
	at org.apache.cxf.bus.extension.ExtensionManagerImpl.initialize(ExtensionManagerImpl.java:118)
	at org.apache.cxf.bus.extension.ExtensionManagerBus.initialize(ExtensionManagerBus.java:147)
	at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:43)
	at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:36)
	at org.apache.cxf.bus.CXFBusFactory.createBus(CXFBusFactory.java:32)
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.loadBus(CXFNonSpringServlet.java:83)
	at org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:54)
	at org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:68)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1048)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:777)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)
	at java.lang.Thread.run(Thread.java:662)
2012-03-23 16:56:32,315 WARN  [org.jbpm.integration.console.StatefulKnowledgeSessionUtil] (http-127.0.0.1-8080-2) Could not connect to Guvnor.

Comment 1 Ryan Zhang 2012-03-23 09:41:32 UTC
Created attachment 572209 [details]
server.log

Comment 2 Lukáš Petrovický 2012-03-23 09:48:29 UTC
Please make sure that the console works with both CXF and Native - we need to support both.

Comment 3 Geoffrey De Smet 2012-04-16 13:56:34 UTC
Hi Ryan,

Can you help me reproduce this issue locally?
Which product builds should I download? Full URL's please.

Comment 4 Geoffrey De Smet 2012-04-16 15:20:08 UTC
Looks like the build isn't available anywhere, but dpalmer just started a build job and I should be able to download it here soon:
  https://brewweb.devel.redhat.com/taskinfo?taskID=4299895

Comment 5 Geoffrey De Smet 2012-04-17 09:04:31 UTC
That build failed, they fixed it now, here's the new build:
  https://brewweb.devel.redhat.com//buildinfo?buildID=209496

Comment 6 Geoffrey De Smet 2012-04-17 12:02:05 UTC
That new build (which takes a few hours to download) is borked.
I am getting a new build now:
  http://jawa05.englab.brq.redhat.com/miscellaneous/brms-5.3-ER6/brms-p-5.3.0.BRMS-ER6-standalone.zip

Comment 7 Geoffrey De Smet 2012-04-17 12:56:26 UTC
Solution proposal 1:
ClientBehaviorPolicyType (the casted class) comes from cxf-rt-transports-jms
http://search.maven.org/#search|ga|1|fc%3A%22org.apache.cxf.transport.jms.ClientBehaviorPolicyType%22

But the jboss-brms.war/WEB-INF/lib/ folder only contains
cxf-rt-transports-common 2.4.1
cxf-rt-transports-http 2.4.1
but not cxf-rt-transports-jms 2.4.1

So let's add cxf-rt-transports-jms 2.4.1 in there.

Comment 8 Geoffrey De Smet 2012-04-17 14:17:49 UTC
That creates a new CCE further down the line:
...
Caused by: java.lang.ClassCastException
        at java.lang.Class.cast(Class.java:2990)
        at org.apache.cxf.bus.CXFBusImpl.getExtension(CXFBusImpl.java:109)
...

Comment 9 Ryan Zhang 2012-04-17 16:15:48 UTC
With Geoffrey's help, I think adding the following cxf jars would finally fix this issue:
cxf-rt-bindings-corba-2.4.1.jar
cxf-rt-management-2.4.1.jar
cxf-rt-transports-jms-2.4.1.jar

Geoffrey, could we add these three cxf jars dependency in upstream code or it would be better to scope them into soa profile?

Comment 10 Geoffrey De Smet 2012-04-18 10:05:18 UTC
I've added those 3 jars (and nothing more) only for the EAP 5.1 profile (as they shouldn't be in the tomcat and AS 7 profiles):
  https://github.com/droolsjbpm/guvnor/commit/12c922a0c750f1d81c78b5969e3ad9821f705477
Forward ported to 5.4 and master too.

Verified that the guvnor war REST still works on a normal EAP 5.1 (without cxf extension) by opening this url in the browser:
  http://localhost:8080/guvnor-5.3.2-SNAPSHOT-jboss-as-5.1/rest/packages

Comment 11 Ryan Zhang 2012-04-23 07:38:08 UTC
Update status to ON_QA. Please verify them against ER6.

Comment 12 Zuzana Krejčová 2012-05-14 08:12:38 UTC
ER6 standalone has cxf already installed and there's no problem with connecting tu Guvnor.
The "bus-extensions.xml is deprecated" warning is still there and has been reported as a separate issue. I got no ClassCastException.