xsd:base64Binary in response type cause NPE on deployment
---------------------------------------------------------
Key: XFIRE-919
URL: http://jira.codehaus.org/browse/XFIRE-919
Project: XFire
Issue Type: Bug
Components: JAX-WS, JAXB 2.0
Affects Versions: 1.2.5
Reporter: Chris Moesel
Assigned To: Dan Diephouse
Priority: Critical
Attachments: pizza_service_npe_bug.zip
A WSDL-first service using the JAX-WS profile in XFire 1.2.5 fails if one of
the response types includes an element of type xsd:base64Binary. This bug is
not present in XFire 1.2.4.
The attached project demonstrates the bug. An example stack trace can be found
at the end of this description.
This bug can be demonstrated by running "mvn install" or "mvn test". If you
comment out the "NewMenu" element in the "OrderPizzaResponseType", you'll see
that the test then runs successfully. The test also runs successfully if you
change the dependencies in the POM.xml to use XFire 1.2.4.
Maven test result with stack trace:
-------------------------------------------------------------------------------
Test set: com.mypizzaco.service.PizzaServiceTestCase
-------------------------------------------------------------------------------
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.172 sec <<<
FAILURE!
warning(junit.framework.TestSuite$1) Time elapsed: 0 sec <<< FAILURE!
junit.framework.AssertionFailedError: Exception in constructor:
testPizzaServiceWithClient
(org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'pizzaService' defined in class path resource [spring-config.xml]:
Invocation of init method failed; nested exception is
org.codehaus.xfire.XFireRuntimeException: Couldn't load provider.. Nested
exception is java.lang.NullPointerException: null
Caused by: org.codehaus.xfire.XFireRuntimeException: Couldn't load provider..
Nested exception is java.lang.NullPointerException: null
java.lang.NullPointerException
at
org.codehaus.xfire.jaxb2.JaxbTypeCreator.isJaxbType(JaxbTypeCreator.java:92)
at
org.codehaus.xfire.jaxws.type.JAXWSTypeCreator.createTypeForClass(JAXWSTypeCreator.java:31)
at
org.codehaus.xfire.jaxws.type.JAXWSTypeCreator.createHolderType(JAXWSTypeCreator.java:51)
at
org.codehaus.xfire.aegis.type.AbstractTypeCreator.createTypeForClass(AbstractTypeCreator.java:101)
at
org.codehaus.xfire.jaxws.type.JAXWSTypeCreator.createTypeForClass(JAXWSTypeCreator.java:38)
at
org.codehaus.xfire.aegis.type.AbstractTypeCreator.createType(AbstractTypeCreator.java:356)
at
org.codehaus.xfire.aegis.AegisBindingProvider.getParameterType(AegisBindingProvider.java:283)
at
org.codehaus.xfire.aegis.AegisBindingProvider.initializeMessage(AegisBindingProvider.java:138)
at
org.codehaus.xfire.service.binding.AbstractBindingProvider.initialize(AbstractBindingProvider.java:41)
at
org.codehaus.xfire.aegis.AegisBindingProvider.initialize(AegisBindingProvider.java:126)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:460)
at
org.codehaus.xfire.annotations.AnnotationServiceFactory.create(AnnotationServiceFactory.java:256)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:224)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:184)
at
org.codehaus.xfire.annotations.AnnotationServiceFactory.create(AnnotationServiceFactory.java:410)
at
org.codehaus.xfire.spring.ServiceBean.afterPropertiesSet(ServiceBean.java:172)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1057)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1024)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:140)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:273)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:346)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:92)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:68)
at
com.mypizzaco.service.PizzaServiceTestCase.<init>(PizzaServiceTestCase.java:17)
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:494)
at junit.framework.TestSuite.createTest(TestSuite.java:131)
at junit.framework.TestSuite.addTestMethod(TestSuite.java:114)
at junit.framework.TestSuite.<init>(TestSuite.java:75)
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:494)
at
org.apache.maven.surefire.junit.JUnitTestSet.constructTestObject(JUnitTestSet.java:148)
at
org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:194)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:122)
at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:225)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:747)
)
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.TestSuite$1.runTest(TestSuite.java:263)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:210)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:135)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:122)
at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:225)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:747)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email