[
https://issues.apache.org/jira/browse/TUSCANY-1939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simon Nash resolved TUSCANY-1939.
---------------------------------
Resolution: Fixed
Fixed under r608213.
> Can't pass business exceptions across Web services when using Sun JDK
> ---------------------------------------------------------------------
>
> Key: TUSCANY-1939
> URL: https://issues.apache.org/jira/browse/TUSCANY-1939
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA Data Binding Runtime
> Affects Versions: Java-SCA-1.1
> Environment: Sun JDK, Windows XP
> Reporter: Simon Nash
> Assignee: Simon Nash
> Priority: Blocker
> Fix For: Java-SCA-1.1
>
>
> The changes in commit r601501 prevent business exceptions from being passed
> over Web services when using the Sun JDK. This is because Tuscany's POJO
> serialization to XML now uses JAXB, and JAXB cannot handle Java exception
> objects. This problem causes the exceptions-simple-ws itest to fail with the
> following exception:
> -------------------------------------------------------
> T E S T S
> -------------------------------------------------------
> Running com.example.ExampleTestCase
> 17-Dec-2007 21:40:27 org.apache.catalina.core.StandardEngine start
> INFO: Starting Servlet Engine: Apache Tomcat/6.0.10
> 17-Dec-2007 21:40:27 org.apache.catalina.startup.ContextConfig
> defaultWebConfig
> INFO: No default web.xml
> 17-Dec-2007 21:40:27 org.apache.catalina.startup.DigesterFactory register
> WARNING: Could not get url for /javax/servlet/jsp/resources/jsp_2_0.xsd
> 17-Dec-2007 21:40:27 org.apache.catalina.startup.DigesterFactory register
> WARNING: Could not get url for
> /javax/servlet/jsp/resources/web-jsptaglibrary_1_
> 1.dtd
> 17-Dec-2007 21:40:27 org.apache.catalina.startup.DigesterFactory register
> WARNING: Could not get url for
> /javax/servlet/jsp/resources/web-jsptaglibrary_1_
> 2.dtd
> 17-Dec-2007 21:40:27 org.apache.catalina.startup.DigesterFactory register
> WARNING: Could not get url for
> /javax/servlet/jsp/resources/web-jsptaglibrary_2_
> 0.xsd
> 17-Dec-2007 21:40:27 org.apache.catalina.startup.DigesterFactory register
> WARNING: Could not get url for
> /javax/servlet/resources/j2ee_web_services_1_1.xs
> d
> 17-Dec-2007 21:40:27 org.apache.coyote.http11.Http11Protocol init
> INFO: Initializing Coyote HTTP/1.1 on http-8085
> 17-Dec-2007 21:40:27 org.apache.coyote.http11.Http11Protocol start
> INFO: Starting Coyote HTTP/1.1 on http-8085
> 17-Dec-2007 21:40:27 org.apache.tuscany.sca.http.tomcat.TomcatServer
> addServletM
> apping
> INFO: Added Servlet mapping: http://EUREKA:8085/axis2/services/ExampleService
> 17-Dec-2007 21:40:28
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSy
> ncMessageReceiver invokeBusinessLogic
> SEVERE: org.apache.tuscany.sca.databinding.TransformationException:
> com.sun.xml.
> bind.v2.runtime.IllegalAnnotationsException: 1 counts of
> IllegalAnnotationExcept
> ions
> java.lang.StackTraceElement does not have a no-arg default constructor.
> this problem is related to the following location:
> at java.lang.StackTraceElement
> at public java.lang.StackTraceElement[]
> java.lang.Throwable.getS
> tackTrace()
> at java.lang.Throwable
> at java.lang.Exception
> at com.example.BusinessException
> org.osoa.sca.ServiceRuntimeException:
> org.apache.tuscany.sca.databinding.Transfo
> rmationException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1
> cou
> nts of IllegalAnnotationExceptions
> java.lang.StackTraceElement does not have a no-arg default constructor.
> this problem is related to the following location:
> at java.lang.StackTraceElement
> at public java.lang.StackTraceElement[]
> java.lang.Throwable.getS
> tackTrace()
> at java.lang.Throwable
> at java.lang.Exception
> at com.example.BusinessException
> at
> org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(Runt
> imeWireInvoker.java:127)
> at
> org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(Runt
> imeWireInvoker.java:89)
> at
> org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(Runt
> imeWireInvoker.java:83)
> at
> org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWi
> reImpl.java:127)
> at
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider.invokeTa
> rget(Axis2ServiceProvider.java:572)
> at
> org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSyncMessageR
> eceiver.invokeBusinessLogic(Axis2ServiceInOutSyncMessageReceiver.java:59)
> at
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBus
> inessLogic(AbstractInOutSyncMessageReceiver.java:42)
> at
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMe
> ssageReceiver.java:96)
> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
> at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostReq
> uest(HTTPTransportUtils.java:275)
> at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:1
> 20)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:290)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:206)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:228)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:175)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:128)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:104)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:216)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :844)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
> ss(Http11Protocol.java:634)
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoin
> t.java:352)
> at org.apache.tuscany.sca.core.work.Jsr237Work.run(Jsr237Work.java:61)
> at
> org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork
> .run(ThreadPoolWorkManager.java:205)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> utor.java:650)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> .java:675)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.tuscany.sca.databinding.TransformationException:
> com.sun.x
> ml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of
> IllegalAnnotationExc
> eptions
> java.lang.StackTraceElement does not have a no-arg default constructor.
> this problem is related to the following location:
> at java.lang.StackTraceElement
> at public java.lang.StackTraceElement[]
> java.lang.Throwable.getS
> tackTrace()
> at java.lang.Throwable
> at java.lang.Exception
> at com.example.BusinessException
> at
> org.apache.tuscany.sca.databinding.jaxb.JAXB2Node.transform(JAXB2Node
> .java:49)
> at
> org.apache.tuscany.sca.databinding.jaxb.JAXB2Node.transform(JAXB2Node
> .java:33)
> at
> org.apache.tuscany.sca.databinding.DefaultTransformerExtensionPoint$L
> azyPullTransformer.transform(DefaultTransformerExtensionPoint.java:199)
> at
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(Mediator
> Impl.java:73)
> at
> org.apache.tuscany.sca.core.databinding.transformers.Exception2Except
> ionTransformer.transform(Exception2ExceptionTransformer.java:98)
> at
> org.apache.tuscany.sca.core.databinding.transformers.Exception2Except
> ionTransformer.transform(Exception2ExceptionTransformer.java:35)
> at
> org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(Mediator
> Impl.java:73)
> at
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterc
> eptor.transformException(DataTransformationInterceptor.java:250)
> at
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterc
> eptor.invoke(DataTransformationInterceptor.java:148)
> at
> org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(Runt
> imeWireInvoker.java:118)
> ... 28 more
> Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts
> of
> IllegalAnnotationExceptions
> java.lang.StackTraceElement does not have a no-arg default constructor.
> this problem is related to the following location:
> at java.lang.StackTraceElement
> at public java.lang.StackTraceElement[]
> java.lang.Throwable.getS
> tackTrace()
> at java.lang.Throwable
> at java.lang.Exception
> at com.example.BusinessException
> at
> com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check
> (IllegalAnnotationsException.java:102)
> at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContex
> tImpl.java:438)
> at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.ja
> va:286)
> at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:
> 139)
> at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:
> 117)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211)
> at javax.xml.bind.ContextFinder.find(ContextFinder.java:372)
> at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
> at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
> at
> org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.createJAXBC
> ontext(JAXBContextHelper.java:59)
> at
> org.apache.tuscany.sca.databinding.jaxb.JAXB2Node.transform(JAXB2Node
> .java:40)
> ... 37 more
> 17-Dec-2007 21:40:28 org.apache.catalina.core.StandardWrapper unload
> INFO: Waiting for 1 instance(s) to be deallocated
> 17-Dec-2007 21:40:28 org.apache.coyote.http11.Http11Protocol destroy
> INFO: Stopping Coyote HTTP/1.1 on http-8085
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.757 sec <<<
> FA
> ILURE!
> test(com.example.ExampleTestCase) Time elapsed: 4.716 sec <<< ERROR!
> java.lang.reflect.UndeclaredThrowableException
> at $Proxy8.hello(Unknown Source)
> at com.example.ExampleClientImpl.runTest(ExampleClientImpl.java:38)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementat
> ionInvoker.invoke(JavaImplementationInvoker.java:105)
> at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD
> KInvocationHandler.java:249)
> at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD
> KInvocationHandler.java:146)
> at $Proxy7.runTest(Unknown Source)
> at com.example.ExampleTestCase.test(ExampleTestCase.java:42)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:232)
> at junit.framework.TestSuite.run(TestSuite.java:227)
> at
> org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.
> java:35)
> at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.
> java:62)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTes
> tSet(AbstractDirectoryTestSuite.java:138)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(Ab
> stractDirectoryTestSuite.java:125)
> at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(Su
> refireBooter.java:308)
> at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.j
> ava:879)
> Caused by: org.apache.tuscany.sca.interfacedef.util.FaultException:
> org.apache.t
> uscany.sca.databinding.TransformationException:
> com.sun.xml.bind.v2.runtime.Ille
> galAnnotationsException: 1 counts of IllegalAnnotationExceptions
> java.lang.StackTraceElement does not have a no-arg default constructor.
> this problem is related to the following location:
> at java.lang.StackTraceElement
> at public java.lang.StackTraceElement[]
> java.lang.Throwable.getS
> tackTrace()
> at java.lang.Throwable
> at java.lang.Exception
> at com.example.BusinessException
> at
> org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(Ax
> is2BindingInvoker.java:79)
> at
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterc
> eptor.invoke(DataTransformationInterceptor.java:74)
> at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD
> KInvocationHandler.java:249)
> at
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD
> KInvocationHandler.java:146)
> ... 34 more
> Results :
> Tests in error:
> test(com.example.ExampleTestCase)
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]