[ 
https://issues.apache.org/jira/browse/CXF-5166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13727925#comment-13727925
 ] 

Daniel Kulp commented on CXF-5166:
----------------------------------


Just a note for my reference: technically, CXF has never worked with or 
supported the JAXB implementation build into WebSphere.  When the context was 
created, if it was NOT a com.sun.xml.bind version, it would force a recreation 
with the com.sun.xml.internal.bind (JAXB version in the JDK).   The commit was 
to NOT do that to start allowing support for additional JAXB implementation to 
work.   Thus, we COULD now check if its not a com.sun or org.eclipse version 
and defer back to the old "internal" methods or we COULD add additional code to 
support the IBM JAXB impl.   Without access to the IBM JAXB impl, the 2nd 
option would be hard.  Alternatively, if not Sun/Eclipse we could TRY 
processing some of the annotations ourselves to see if we can generate the 
BeanInfo objects that way.  May not be 100% matching the impl, but we could 
probably hit a very large %.

Anyway, just thoughts for right now.




                
> Regression: Incompatibility with WAS JAXB 2.2
> ---------------------------------------------
>
>                 Key: CXF-5166
>                 URL: https://issues.apache.org/jira/browse/CXF-5166
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.7.6
>            Reporter: David J. M. Karlsen
>              Labels: JAXB, WebSphere
>
> After upgrading to latest 2.7.6 I get:
> {noformat}
> Caused by: org.springframework.beans.factory.BeanCreationException: Error 
> creating bean with name 'authorizationClient': FactoryBean threw exception on 
> object creation; nested exception is java.lang.reflect.Undecl
> aredThrowableException
>         at 
> org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:149)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         at 
> org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1454)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:249)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:910)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:853)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:768)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         at 
> org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:795)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         at 
> org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:723)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         ... 127 common frames omitted
> Caused by: java.lang.reflect.UndeclaredThrowableException: null
>         at $Proxy65.getBeanInfo(Unknown Source) ~[na:na]
>         at 
> org.apache.cxf.common.jaxb.JAXBUtils.getBeanInfo(JAXBUtils.java:1155) 
> ~[cxf-api-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.jaxb.JAXBSchemaInitializer.getBeanInfo(JAXBSchemaInitializer.java:140)
>  ~[cxf-rt-databinding-jaxb-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.jaxb.JAXBDataBinding.checkForJAXBAnnotations(JAXBDataBinding.java:439)
>  ~[cxf-rt-databinding-jaxb-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.jaxb.JAXBDataBinding.justCheckForJAXBAnnotations(JAXBDataBinding.java:427)
>  ~[cxf-rt-databinding-jaxb-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:352) 
> ~[cxf-rt-databinding-jaxb-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)
>  ~[cxf-rt-core-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:446)
>  ~[cxf-rt-core-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:548)
>  ~[cxf-rt-core-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:265)
>  ~[cxf-rt-core-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:205)
>  ~[cxf-rt-frontend-jaxws-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:102)
>  ~[cxf-rt-frontend-simple-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:90) 
> ~[cxf-rt-frontend-simple-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:156)
>  ~[cxf-rt-frontend-simple-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:156)
>  ~[cxf-rt-frontend-jaxws-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.jaxws.spring.JaxWsProxyFactoryBeanDefinitionParser$JAXWSSpringClientProxyFactoryBean.create(JaxWsProxyFactoryBeanDefinitionParser.java:79)
>  ~[cxf-rt-frontend-jaxws-2.7.6.jar:2.7.6]
>         at 
> org.apache.cxf.jaxws.spring.JaxWsProxyFactoryBeanDefinitionParser$JAXWSSpringClientProxyFactoryBean.getObject(JaxWsProxyFactoryBeanDefinitionParser.java:83)
>  ~[cxf-rt-frontend-jaxws-2.7.6.jar:2.7.6]
>         at 
> org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
>  ~[spring-beans-3.2.3.RELEASE.jar:3.2.3.RELEASE]
>         ... 136 common frames omitted
> Caused by: java.lang.NoSuchMethodException: 
> com.ibm.xml.xlxp2.jaxb.JAXBContextImpl.getBeanInfo(java.lang.Class)
>         at java.lang.Class.throwNoSuchMethodException(Class.java:282) 
> ~[na:1.6.0]
>         at java.lang.Class.getMethod(Class.java:853) ~[na:1.6.0]
>         at 
> org.apache.cxf.common.util.ReflectionInvokationHandler.invoke(ReflectionInvokationHandler.java:52)
>  ~[cxf-api-2.7.6.jar:2.7.6]
>         ... 154 common frames omitted
> [29.07.13 15:44:28:187 CEST] 0000000a FfdcProvider  W 
> com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident 
> emitted on 
> /usr/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/cpl_dev_SPAN_b968414
> _13.07.29_15.44.27.8555959407531874289149.txt 
> com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated 1341
> {noformat}
> If I downgrade to 2.7.5 it's OK again.
> I think this happened in this commit:
> commit ace8a305f45c6e830ec2e83fc2d3c8e3cd163257
> Author: Daniel Kulp <[email protected]>
> Date:   Sat Jul 13 21:30:02 2013 +0000
>     Initial support for using eclipselink Moxy instead of the JAXB ri.  Many 
> tests will still fail with it, but most of the simpler things are now working.
>     
> WAS version:
> bash-3.2$ /usr/IBM/WebSphere/AppServer/bin/versionInfo.sh 
> WVER0010I: Copyright (c) IBM Corporation 2002, 2005, 2008; All rights 
> reserved.
> WVER0012I: VersionInfo reporter version 1.15.1.47, dated 10/18/11
> --------------------------------------------------------------------------------
> IBM WebSphere Product Installation Status Report
> --------------------------------------------------------------------------------
> Report at date and time 29. juli 2013 16:35:47 CEST
> Installation
> --------------------------------------------------------------------------------
> Product Directory        /usr/IBM/WebSphere/AppServer
> Version Directory        /usr/IBM/WebSphere/AppServer/properties/version
> DTD Directory            /usr/IBM/WebSphere/AppServer/properties/version/dtd
> Log Directory            /var/ibm/InstallationManager/logs
> Product List
> --------------------------------------------------------------------------------
> ND                       installed
> Installed Product
> --------------------------------------------------------------------------------
> Name                  IBM WebSphere Application Server Network Deployment
> Version               8.0.0.3
> ID                    ND
> Build Level           cf031212.03
> Build Date            3/20/12
> Package               com.ibm.websphere.ND.v80_8.0.3.20120320_0536
> Architecture          PPC64
> Installed Features    IBM 64-bit SDK for Java, Version 6
>                       EJBDeploy tool for pre-EJB 3.0 modules
>                       Embeddable EJB container
>                       Stand-alone thin clients and resource adapters
> --------------------------------------------------------------------------------
> End Installation Status Report
> --------------------------------------------------------------------------------
> bash-3.2$ 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to