Hello, dev!

 

I'm trying to use jst181 annotations in my project (xfire 1.2.1 and jdk
1.5). I've started xfire and trying to register service with following code:

 

        _serviceFactory = new
AnnotationServiceFactory(_xfire.getTransportManager());

        Service service = _serviceFactory.create(resource.getServiceClazz(),
resource.getName(), resource.getNamespace(), resource.getProperties());

        _ serviceRegistry = _xfire.getServiceRegistry(); 

        _serviceRegistry.register(service);

 

But I'm getting ClassCastException in ther first line of this code. An
exception is following:

 

Caused by: java.lang.ClassCastException:
org.codehaus.xfire.aegis.type.java5.DurationType

      at
org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry.registerIfAvailable
(DefaultTypeMappingRegistry.java:425)

      at
org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry.createDefaultMappin
gs(DefaultTypeMappingRegistry.java:405)

      at
org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry.createDefaultMappin
gs(DefaultTypeMappingRegistry.java:302)

      at
org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry.<init>(DefaultTypeM
appingRegistry.java:128)

      at
org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry.<init>(DefaultTypeM
appingRegistry.java:116)

      at
org.codehaus.xfire.aegis.AegisBindingProvider.<init>(AegisBindingProvider.ja
va:63)

      at
org.codehaus.xfire.annotations.AnnotationServiceFactory.<init>(AnnotationSer
viceFactory.java:63)

 

I've debug this and founded out that Exception appear in
DefaultTypeMappingRegistry.class in the line 425. Here this line:

 

                Type type = (Type) typeCls.newInstance();

 

Where 

 

"typeCls" is "org.codehaus.xfire.aegis.type.java5.DurationType"

but the class "Type" is "not org.codehaus.xfire.aegis.type.Type"

 

I think, it would be fine to add explicit import of this class. So, what can
I do in this situation?

 

Sincerely yours, Vadim Gindin

[EMAIL PROTECTED]

 

Reply via email to