cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Freeman Fang (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (CXF-680) rest binding should support class without XmlRootElement
Date Fri, 25 May 2007 09:46:16 GMT

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

Freeman Fang resolved CXF-680.
------------------------------

    Resolution: Fixed

> rest binding should support class without XmlRootElement
> --------------------------------------------------------
>
>                 Key: CXF-680
>                 URL: https://issues.apache.org/jira/browse/CXF-680
>             Project: CXF
>          Issue Type: Improvement
>            Reporter: Freeman Fang
>         Assigned To: Freeman Fang
>
> currently, we need provide class XmlRootElement annotation for rest binding, otherwise
we will get exception like
> INFO: Interceptor has thrown exception, unwinding now
> java.lang.ClassCastException: org.apache.ws.commons.schema.XmlSchemaComplexType
> 	at org.apache.cxf.binding.http.interceptor.URIParameterInInterceptor.mergeParams(URIParameterInInterceptor.java:129)
> 	at org.apache.cxf.binding.http.interceptor.URIParameterInInterceptor.handleMessage(URIParameterInInterceptor.java:105)
> 	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:147)
> 	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:63)
> 	at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:220)
> 	at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:180)
> 	at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:690)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:285)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
> 	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
> The reason is without @XmlRootElement, schema generated from the java class is XmlSchemaComplexType,
but currently what we expect is XmlSchemaElement
> we can see 
> oc = IriDecoderHelper.buildDocument((XmlSchemaElement)part.getXmlSchema(),
>                                                  schemas,
>                                                  params);
> cause this exception, part.getXmlSchema() return XmlSchemaComplexType if without @XmlRootElement
> more details are in the mail 
> Hiya
> I got the following exception when querying the following URL of a modified
> version of the restful_http_binding sample.
> <ns1:XMLFault>
>    <ns1:faultstring>
> java.lang.ClassCastException :
> org.apache.ws.commons.schema.XmlSchemaComplexType
> </ns1:faultstring>
> </ns1:XMLFault>
> The only change I made between this faulty version and a working one is
> about the GetBook class that was rewriten and compiled in Groovy.  The
> schema generated in now
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <xs:schema elementFormDefault="qualified" version=" 1.0" targetNamespace="
> http://book.acme.com" xmlns:xs=" http://www.w3.org/2001/XMLSchema">
>  <xs:complexType name="getBook">
>    <xs:sequence>
>      <xs:element name="id" type="xs:long"/>
>    </xs:sequence>
>  </xs:complexType>
> </xs:schema>
> instead of
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="
> http://book.acme.com" xmlns:tns="http://book.acme.com"
> xmlns:xs="http://www.w3.org/2001/XMLSchema
> ">
>  <xs:element name="GetBook" type="tns:getBook"/>
>  <xs:complexType name="getBook">
>    <xs:sequence>
>      <xs:element name="id" type="xs:long"/>
>    </xs:sequence>
>  </xs:complexType>
> </xs:schema>
> would these changes lead to that error ? My feeling is *no* since I did the
> same change for other classes and this did not cause the same exception.
> Thoughts ?
> Cheers
> Guillaume 

-- 
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