Bug 806866

Summary: The SOAPMessageFactory1_1Impl class not found in spring-ws based web servie of sportsclub example
Product: [Retired] JBoss Enterprise WFK Platform 2 Reporter: Tomas Repel <trepel>
Component: Spring, ExamplesAssignee: Marius Bogoevici <mariusb>
Status: CLOSED NEXTRELEASE QA Contact: Tomas Repel <trepel>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.0.0.ER3CC: kpiwko, mnovotny, rruss
Target Milestone: ---   
Target Release: 2.0.0.ER4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: sportsclub
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-22 11:11:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Tomas Repel 2012-03-26 11:38:39 UTC
Description of problem:

The SOAPMessageFactory1_1Impl class can't be found, when accesing URL: http://localhost:8080/sportsclub/invoicing/spring-ws/payment.

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

WFK2 Beta1, sportsclub example, spring-3.0 variant (likely other variants are affected too)

How reproducible:

Always.

Steps to Reproduce:
1. build and deploy sportsclub example (spring-3.0 variant)
2. go to 'http://localhost:8080/sportsclub/invoicing/spring-ws/payment'
3. see the error
  
Actual results:

java.lang.ClassNotFoundException: com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl from [Module "deployment.sportsclub-ear.ear.sportsclub-invoicing-webmvc.war:main" from Service Module Loader]
	org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
	org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
	org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
	org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
	org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
	org.springframework.util.ClassUtils.forName(ClassUtils.java:257)
	org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)
	org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1282)
	org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1253)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:432)
	org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270)
	org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
	org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
	org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
	org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
	org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:467)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:483)
	org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:358)
	org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:325)
	org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127)
	javax.servlet.GenericServlet.init(GenericServlet.java:242)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489)
	org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
	java.lang.Thread.run(Thread.java:679)


Expected results:

No error occurs.

Additional info: This error disappears if you remove '.internal' substring from package name of 'messageFactory' bean in spring-ws-config.xml and add the '<module name="com.sun.xml.messaging.saaj" />' to the sportsclub-invoicing-webmvc.war sub-deployment's dependencies in sportsclub-ear/src/main/META-INF/jboss-deployment-structure.xml file.

Comment 1 Marius Bogoevici 2012-04-13 03:53:12 UTC
Fixed by removing the explicit MessageFactory configuration (not required on AS7)

Comment 2 Tomas Repel 2012-04-20 11:15:10 UTC
Verified in WFK2 ER4

Comment 3 Karel Piwko 2012-06-22 11:11:02 UTC
These example related issues are fixed in WFK 2.0.0. Documenting them as fixed issues is not required.