If you are using xfire latest snapshots, you have to use servicemix svn
head.
Some changes in xfire make ServiceMix 2.0.2 fail.
Cheers,
Guillaume Nodet
Jeffrey Puro wrote:
I am receiving the following stack trace when trying to deploy
servicemix and xfire as a war in jboss. I have attached the spring
configuration that I’m using in my project. I am also using the xfire
SNAPSHOT release of M6. Any help would be much appreciated:
2005-11-28 10:57:20,456 ERROR
[org.springframework.web.context.ContextLoader] Context initialization
failed
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'echoService' defined in ServletContext
resource [/WEB-INF/appcontext-sm.xml]: Initialization of bean failed;
nested exception is java.lang.ArrayIndexOutOfBoundsException: null
java.lang.ArrayIndexOutOfBoundsException
at
org.codehaus.xfire.aegis.type.java5.Java5TypeCreator.createClassInfo(Java5TypeCreator.java:38)
at
org.codehaus.xfire.aegis.type.AbstractTypeCreator.createType(AbstractTypeCreator.java:285)
at
org.codehaus.xfire.aegis.AegisBindingProvider.getSuggestedName(AegisBindingProvider.java:152)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.getInParameterName(ObjectServiceFactory.java:553)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.addOperation(ObjectServiceFactory.java:420)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.initializeOperations(ObjectServiceFactory.java:368)
at
org.codehaus.xfire.service.binding.ObjectServiceFactory.create(ObjectServiceFactory.java:230)
at
org.codehaus.xfire.spring.ServiceBean.afterPropertiesSet(ServiceBean.java:127)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1058)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)
at
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
at
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:230)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:156)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4104)
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
jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown
Source)
at
java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown
Source)
at
org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
at
org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:150)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
at
org.apache.catalina.core.StandardContext.init(StandardContext.java:5005)
Thanks,
Jeff Puro
------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xbean.org/schemas/spring/1.0"
xmlns:spring="http://xbean.org/schemas/spring/1.0"
xmlns:sm="http://servicemix.org/config/1.0"
xmlns:my="http://servicemix.org/demo/"
xmlns:foo="http://servicemix.org/demo/">
<!-- the JBI container -->
<sm:container spring:id="jbi"
rootDir="../wdir"
useMBeanServer="true"
createMBeanServer="true"
installationDirPath="../install"
deploymentDirPath="../deploy"
monitorInstallationDirectory="true"
dumpStats="true"
statsInterval="10"
transactionManager="#transactionManager">
<sm:activationSpecs>
<sm:activationSpec componentName="httpBinding" service="example:httpBinding"
destinationService="xfire:echoService">
<sm:component><bean class="org.servicemix.components.http.HttpInOutBinding"
/></sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="soapBinding" service="soap:soapBinding" destinationService="xfire:httpBinding">
<sm:component>
<bean class="org.servicemix.components.http.HttpConnector">
<property name="host" value="localhost"/>
<property name="port" value="8081"/>
</bean>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="xfire:httpBinding" service="xfire:httpBinding"
destinationService="xfire:echoService">
<sm:component><bean class="org.servicemix.components.http.HttpInOutBinding"
/></sm:component>
</sm:activationSpec>
<!-- a simple Echo service to test InOut message exchanges using HTTP-->
<sm:activationSpec componentName="echo" service="example:echo" >
<sm:component>
<bean class="com.sterling.servicemix.component.ExampleComponent">
<property name="property"><value>name</value></property>
</bean>
</sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="xfireBinding" service="xfire:echoService">
<sm:component>
<bean
class="com.sterling.servicemix.component.xfire.XFireBinding">
<property name="xfire" ref="xfire"/>
</bean>
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
</sm:container>
<bean id="echo" class="com.sterling.servicemix.component.xfire.EchoImpl" singleton="true"/>
<bean name="echoService" class="org.codehaus.xfire.spring.ServiceBean">
<property name="serviceBean"><value>echo</value></property>
<property name="serviceFactory" ref="xfire.serviceFactory"/>
<property name="xfire" ref="xfire"/>
</bean>
<!-- the JCA container -->
<bean id="jencks" class="org.jencks.JCAContainer" singleton="true">
<!-- lets use the default configuration of work manager and transaction
manager-->
<property name="bootstrapContext">
<bean class="org.jencks.factory.BootstrapContextFactoryBean">
<property name="threadPoolSize" value="25"/>
</bean>
</property>
<!-- the JCA Resource Adapter -->
<property name="resourceAdapter">
<bean id="activeMQResourceAdapter" class="org.activemq.ra.ActiveMQResourceAdapter"
singleton="true">
<property name="serverUrl" value="tcp://localhost:61636"/>
</bean>
</property>
</bean>
<bean id="transactionManager"
class="org.jencks.factory.TransactionManagerFactoryBean"/>
</beans>