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

Reply via email to