You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Benson Margulies (JIRA)" <ji...@apache.org> on 2008/09/14 02:46:48 UTC

[jira] Resolved: (CXF-1788) Problem with Calendar

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

Benson Margulies resolved CXF-1788.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.2

I've committed a repair.

Here's what you hit.

CXF already provides mappings for both Calendar and GregorianCalendar. When you replaced the mapping for GregorianCalendar, you hit a bug: a BeanType mapping of a class that inherits from a non-BeanType class ran into trouble.

Similiar pickles would result from mapping a class that inherited from, say, Integer.

See rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/custom/CustomMappingTest.java for the code that I set up to test this in a CXF context.

I continue to suspect that you'd be happiest just using the default mapping instead of forcing CXF to treat Calendar as a bean.


> Problem with Calendar
> ---------------------
>
>                 Key: CXF-1788
>                 URL: https://issues.apache.org/jira/browse/CXF-1788
>             Project: CXF
>          Issue Type: Bug
>          Components: Aegis Databinding
>    Affects Versions: 2.1.2
>         Environment: JDK 5, JDK 6, WIndows Vista.
>            Reporter: Alejandro 
>             Fix For: 2.2
>
>         Attachments: XFireCustomMapping.java
>
>
> Hi, I'm migrating a XFIRE ws application to CXF. Because I need to
> keep alive the compatibility with XFIRE I use Aegis as DataBinding.
> I've solve a problems but now I cna't solve the problem with the
> Calendar datatype, some of my classes uses java.util.Date or
> java.util.Calendar. When the binding tried to make the bindings I've
> get this error:
> javax.xml.ws.WebServiceException: java.lang.ClassCastException:
> org.apache.cxf.aegis.type.basic.CalendarType cannot be cast to
> org.apache.cxf.aegis.type.basic.BeanType
>        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:267)
> .......
> Caused by: java.lang.ClassCastException:
> org.apache.cxf.aegis.type.basic.CalendarType cannot be cast to
> org.apache.cxf.aegis.type.basic.BeanType
>        at org.apache.cxf.aegis.type.basic.BeanType.getSuperType(BeanType.java:670)
>        at org.apache.cxf.aegis.type.basic.BeanType.writeSchema(BeanType.java:417)
>        at org.apache.cxf.aegis.databinding.AegisDatabinding.createSchemas(AegisDatabinding.java:478)
>        at org.apache.cxf.aegis.databinding.AegisDatabinding.initialize(AegisDatabinding.java:323)
> In XFire I've create a CustomMapping to solve this problem, but in CXF
> I don't find any example about that.

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