Support for XMLSchemaChoice --------------------------- Key: CXF-1892 URL: https://issues.apache.org/jira/browse/CXF-1892 Project: CXF Issue Type: Improvement Components: JAXB Databinding Affects Versions: 2.1.3 Reporter: Eoin Lane
Get CXF to support org.apache.ws.commons.schema.XmlSchemaChoice I have generated java code using JAXB for a XML Schema that has choices in it e.g. <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/NewXMLSchema" xmlns:tns="http://www.example.org/NewXMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <!-- topic ..................................................... --> <xs:element name="item"> <xs:complexType> <xs:sequence> <xs:element name="instanceOf" type="xs:anyURI" minOccurs="0" maxOccurs="1" /> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="name" type="xs:anyURI"/> <xs:element name="occurrence" type="xs:anyURI"/> </xs:choice> </xs:sequence> <xs:attribute name="id" type="xs:ID" use="required" /> </xs:complexType> </xs:element> </schema> However when I POST in an valid XML message the IriDecoderHelper class barks the below exception: Need to code in support for XmlSchemaChoice in IriDecoderHelper.interopolateParams(...) method? (BTW the offending line is here: for (int i = 0; i < seq.getItems().getCount(); i++) { XmlSchemaElement elChild = (XmlSchemaElement)seq.getItems().getItem(i); Param param = null; ) Oct 28, 2008 3:28:24 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept INFO: Interceptor has thrown exception, unwinding now java.lang.ClassCastException: org.apache.ws.commons.schema.XmlSchemaChoice incompatible with org.apache.ws.commons.schema.XmlSchemaElement at org.apache.cxf.binding.http.IriDecoderHelper.interopolateParams(IriDecoderHelper.java:307) at org.apache.cxf.binding.http.interceptor.URIParameterInInterceptor.mergeParams(URIParameterInInterceptor.java:122) at org.apache.cxf.binding.http.interceptor.URIParameterInInterceptor.handleMessage(URIParameterInInterceptor.java:103) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78) at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:214) at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:113) at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:170) at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:148) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:803) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.