Do you have xfire-java5.jar in your classpath ? On 12/5/06, Eliot Clingman <[EMAIL PROTECTED]> wrote:
Hi,I have specifically used Java 5 generics so that XFire would automatically bind to typed collections, as has been specificed in the user guide and the mailing list. But I have done that and Xfire is still blowing up (see error stack below). My versions are xfire 1.2.3 and Spring 2.0 This is My service interface: public Collection<Service> findServicesByCriteria(Collection<Criterion> criteria) throws InvalidSearchCriteriaException ; In turn, Service object have properties some of which are typed collections, and similarly with Criterion object. Anyway, Xfire doesn't seem to notice that the collections are strongly typed using java 5 generics. Here is the Criterion definition: import java.util.Arrays; import java.util.Collection; public class Criterion { Collection<String> relations = Arrays.asList(new String[] { "eq", "gt", "ge", "ls", "le" }); String property; String relation; String value; /** * E.g. new Criterion("name","eq","Billy Bob"); * * @param property * @param relation * @param value */ public Criterion(String property, String relation, String value) { super(); if (!relations.contains(relation)) { throw new RuntimeException("Invalid relation"); } this.relation = relation; this.property = property; this.value = value; } public String getProperty() { return property; } public String getRelation() { return relation; } public Collection<String> getRelations() { return relations; } public String getValue() { return value; } } ____ Error stack: This is the exact error message when I try to deploy xfire running in spring: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.handler.SimpleUrlHandlerMapping' defined in ServletContext resource [/WEB-INF/crowd-servlet.xml]: Cannot resolve reference to bean 'serviceManagerSOAP' while setting bean property 'urlMap' with key [/serviceManager]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceManagerSOAP' defined in ServletContext resource [/WEB-INF/crowd-servlet.xml]: Invocation of init method failed; nested exception is org.codehaus.xfire.XFireRuntimeException: Cannot create mapping for java.util.Collection, unspecified component type for parameter 0 of method findServicesByCriteria in interface com.qualcomm.crowd.service.ServiceManager Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceManagerSOAP' defined in ServletContext resource [/WEB-INF/crowd-servlet.xml]: Invocation of init method failed; nested exception is org.codehaus.xfire.XFireRuntimeException: Cannot create mapping for java.util.Collection, unspecified component type for parameter 0 of method findServicesByCriteria in interface com.qualcomm.crowd.service.ServiceManager Caused by: org.codehaus.xfire.XFireRuntimeException: Cannot create mapping for java.util.Collection, unspecified component type for parameter 0 of method findServicesByCriteria in interface com.qualcomm.crowd.service.ServiceManager at org.codehaus.xfire.aegis.type.DefaultTypeCreator.createCollectionType(DefaultTypeCreator.java:43) at org.codehaus.xfire.aegis.type.XMLTypeCreator.createCollectionType(XMLTypeCreator.java:141) at org.codehaus.xfire.aegis.type.AbstractTypeCreator.createTypeForClass (AbstractTypeCreator.java:91) at org.codehaus.xfire.aegis.type.AbstractTypeCreator.createType(AbstractTypeCreator.java:334) at org.codehaus.xfire.aegis.AegisBindingProvider.getSuggestedName(AegisBindingProvider.java :232) at org.codehaus.xfire.service.binding.DefaultServiceConfiguration.getInParameterName(DefaultServiceConfiguration.java:160) at org.codehaus.xfire.service.binding.ObjectServiceFactory.getInParameterName( ObjectServiceFactory.java:1044) at org.codehaus.xfire.service.binding.ObjectServiceFactory.addOperation(ObjectServiceFactory.java:798) at org.codehaus.xfire.service.binding.ObjectServiceFactory.initializeOperations (ObjectServiceFactory.java:742) at org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:426) at org.codehaus.xfire.spring.ServiceBean.afterPropertiesSet(ServiceBean.java:176) at org.codehaus.xfire.spring.remoting.XFireExporter.afterPropertiesSet(XFireExporter.java:30) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java :1062) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:420) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:141) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:156) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:246) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary (BeanDefinitionValueResolver.java:128) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:299) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary (BeanDefinitionValueResolver.java:140) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:729) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject (AbstractBeanFactory.java:245) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:242) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:290) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348) at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh (AbstractRefreshableWebApplicationContext.java:156) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246) at org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:184) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java :3763) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) at org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:739) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608) at org.apache.catalina.startup.HostConfig.deployDescriptors (HostConfig.java:535) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122) at org.apache.catalina.startup.HostConfig.lifecycleEvent (HostConfig.java:310) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021) at org.apache.catalina.core.StandardHost.start (StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) at org.apache.catalina.core.StandardService.start (StandardService.java:450) at org.apache.catalina.core.StandardServer.start(StandardServer.java:709) at org.apache.catalina.startup.Catalina.start(Catalina.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke (Method.java:585) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) -- "To Serve Man: It's a cookbook!" – The Twilight Zone
-- ----- When one of our products stops working, we'll blame another vendor within 24 hours. --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email
