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]