geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jarek Gawor (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (GERONIMO-3793) "Not Known To This Context" JAXBException when attempting to return complex data type from a @WebMethod
Date Tue, 05 Aug 2008 04:50:44 GMT

     [ https://issues.apache.org/jira/browse/GERONIMO-3793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jarek Gawor resolved GERONIMO-3793.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.2
                   2.1.3

Committed similar patch with additional tests to trunk (revision 682575) and branches/2.1
(revision 682576).

Added a *org.apache.geronimo.jaxws.wsgen.addToClassPath* system property to control whether
the wsgen generated classes should be added to the module classpath. By default, the generated
classes will be added to the module classpath. To prevent the generated classes from being
added to the module classpath pass *-Dorg.apache.geronimo.jaxws.wsgen.addToClassPath=false*
system property.


> "Not Known To This Context" JAXBException when attempting to return complex data type
from a @WebMethod
> -------------------------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-3793
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-3793
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: webservices
>    Affects Versions: 2.0.x, 2.1
>         Environment: Windows XP x86-32, IBM J9 1.5.0 SR5, Geronimo w/ Tomcat+OpenEJB+Axis2
>            Reporter: Cedric Hurst
>            Assignee: Jarek Gawor
>            Priority: Critical
>             Fix For: 2.1.3, 2.2
>
>         Attachments: ComplexDataTypeWSExampleEAR.ear, G3793 -r680814.patch, geronimo.log
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> I'm attempting to return a @XmlRootElement annotated object called "Customer" from a
@WebMethod.  When calling the service, I get the following error in the server log:
> javax.xml.bind.JAXBException: [Lcom.gmail.at.cedrichurst.complexDataTypeWSExampleEJB.domain.Customer;
is not known to this context
> 	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:223)
> 	at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:238)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:85)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:127)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:244)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:251)
> 	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:33)
> 	at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:461)
> 	at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:292)
> 	... 48 more
> From what I understand, the return type should be added to the JaxB context automatically.
> Just to make sure I wasn't doing something wrong in my Customer class, I added another
method to my bean that returned a java.util.List of Strings.  When calling this method, I
also got the same sort of error:
> [javax.xml.bind.JAXBException: java.util.List is not known to this context]
> javax.xml.ws.WebServiceException: javax.xml.bind.MarshalException
>  - with linked exception:
> [javax.xml.bind.JAXBException: java.util.List is not known to this context]
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:174)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:69)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:127)
> 	at org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl$2.run(JAXBBlockImpl.java:405)
> 	at org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:76)
> 	at org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl.marshalByType(JAXBBlockImpl.java:321)
> 	at org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl._outputFromBO(JAXBBlockImpl.java:209)
> 	at org.apache.axis2.jaxws.message.impl.BlockImpl.outputTo(BlockImpl.java:327)
> 	at org.apache.axis2.jaxws.message.impl.BlockImpl.serialize(BlockImpl.java:252)
> 	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerializeAndConsume(OMSourcedElementImpl.java:599)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:785)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> 	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(SOAPEnvelopeImpl.java:237)
> 	at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:225)
> 	at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:814)
> 	at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:421)
> 	at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:68)
> 	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:294)
> 	at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:211)
> 	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
> 	at org.apache.geronimo.axis2.ejb.EJBInterceptor.intercept(EJBInterceptor.java:94)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:615)
> 	at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
> 	at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
> 	at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:73)
> 	at org.apache.openejb.core.stateless.StatelessContainer.invokeWebService(StatelessContainer.java:263)
> 	at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:199)
> 	at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
> 	at org.apache.geronimo.axis2.ejb.EJBMessageReceiver.receive(EJBMessageReceiver.java:88)
> 	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
> 	at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
> 	at org.apache.geronimo.axis2.Axis2WebServiceContainer.processPOSTRequest(Axis2WebServiceContainer.java:395)
> 	at org.apache.geronimo.axis2.Axis2WebServiceContainer.doService2(Axis2WebServiceContainer.java:265)
> 	at org.apache.geronimo.axis2.Axis2WebServiceContainer.doService(Axis2WebServiceContainer.java:204)
> 	at org.apache.geronimo.axis2.Axis2WebServiceContainer.invoke(Axis2WebServiceContainer.java:167)
> 	at org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:180)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Thread.java:801)
> According to a thread in the OpenEJB mailing list:
> http://www.nabble.com/Returning-complex-data-types-in-%40WebResult-tc15114306.html
> ...it doesn't seem that these errors should be happening.
> I attempted to test this under CXF, but ran into another issue which is outlined in another
JIRA.
> EAR file and geronimo.log attached.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message