Here is a simple HelloWorld example, that I'm not sure how to configure to
take in a List as a parameter...
IHelloWorldService.java
-----------------------------------------------------
package com.myeclipse.wsexample;
import java.util.List;
public interface IHelloWorldService {
public String example(String message);
public String exampleList(List messages);
}
HelloWorldServiceImpl.java
-----------------------------------------------------
package com.myeclipse.wsexample;
import java.util.List;
public class HelloWorldServiceImpl implements IHelloWorldService {
public String example(String message) {
return message;
}
public String exampleList(List messages){
return "" + messages.size();
}
}
HelloWorldServiceImpl.aegis.xml
-----------------------------------------------------
<mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xfire.codehaus.org/schemas/1.0/mapping.xsd">
<mapping>
<method name="exampleList">
<parameter index="0" componentType="java.lang.String"/>
</method>
</mapping>
</mappings>
services.xml
-----------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloWorldService</name>
<serviceClass>
com.myeclipse.wsexample.IHelloWorldService
</serviceClass>
<implementationClass>
com.myeclipse.wsexample.HelloWorldServiceImpl
</implementationClass>
<style>rpc</style>
<use>literal</use>
<scope>application</scope>
<properties>
<property key="writeXsiType">true</property>
<property key="overrideTypesList">
<list>
<value>java.lang.String</value>
</list>
</property>
</properties>
</service>
</beans>
Startup Error
-----------------------------------------------------
pr 2, 2007 3:38:08 PM org.codehaus.xfire.transport.http.XFireServlet init
SEVERE: Error initializing XFireServlet.
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'org.codehaus.xfire.spring.ServiceBean' defined in class
path resource [META-INF/xfire/services.xml]: Initialization of bean
failed; nested exception is org.codehaus.xfire.XFireRuntimeException:
Cannot create mapping for java.util.List, unspecified component type for
parameter 0 of method exampleList in interface
com.myeclipse.wsexample.IHelloWorldService
org.codehaus.xfire.XFireRuntimeException: Cannot create mapping for
java.util.List, unspecified component type for parameter 0 of method
exampleList in interface com.myeclipse.wsexample.IHelloWorldService
at
org.codehaus.xfire.aegis.type.DefaultTypeCreator.createCollectionType(
DefaultTypeCreator.java:43)
at
org.codehaus.xfire.aegis.type.XMLTypeCreator.createCollectionType(
XMLTypeCreator.java:137)
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:226)
at
org.codehaus.xfire.service.binding.DefaultServiceConfiguration.getInParameterName(
DefaultServiceConfiguration.java:160)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.getInParameterName(
ObjectServiceFactory.java:1018)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.addOperation(
ObjectServiceFactory.java:776)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.initializeOperations(
ObjectServiceFactory.java:720)