Jean-Baptiste Onofré wrote:
Hi all,
I have setup an SU like this (in the xbean.xml) :
<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
xmlns:fsb="http://www.fimasys.com/fsb">
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>classpath:/automatic-validation-service-config.properties</value>
</property>
</bean>
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">
${bos.jndiContextFactory}
</prop>
<prop key="java.naming.provider.url">
${bos.jndiUrlProvider}
</prop>
</props>
</property>
</bean>
<cxfse:endpoint service="automatic-validation-service-proxy">
<cxfse:pojo>
<bean
class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean">
<property name="jndiName"
value="ejb/profinance/back-office/AutomaticSimulationSession"/>
<property name="businessInterface"
value="com.fimasys.finance.profinance.components.simulation.common.ejb.AutomaticSimulationSession"/>
<property name="homeInterface"
value="com.fimasys.finance.profinance.components.simulation.common.ejb.AutomaticSimulationSessionHome"/>
<property name="refreshHomeOnConnectFailure" value="true"/>
<property name="cacheHome" value="true"/>
<property name="lookupHomeOnStartup" value="true"/>
<property name="resourceRef" value="false"/>
<property name="jndiTemplate" ref="jndiTemplate"/>
</bean>
</cxfse:pojo>
</cxfse:endpoint>
</beans>
In the SU POM dependencies, I have added all required jar (the jbossall-client
providing the JNDI context, the Spring context to have the
SimpleRemoteStatelessSessionProxyFactoryBean and my application client to have
the stub, home and remote interface).
When I deploy the SA which embed this SU, I have this stack trace :
<stack-trace><![CDATA[java.lang.NullPointerException
at
org.apache.cxf.jaxws.support.JaxWsImplementorInfo.getWSInterfaceName(JaxWsImplementorInfo.java:235)
at
org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(JaxWsImplementorInfo.java:274)
at
org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(JaxWsImplementorInfo.java:57)
at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:269)
at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:261)
at
org.apache.servicemix.cxfse.CxfSeEndpoint.start(CxfSeEndpoint.java:243)
at
org.apache.servicemix.common.endpoints.SimpleEndpoint.activate(SimpleEndpoint.java:55)
at org.apache.servicemix.common.ServiceUnit.start(ServiceUnit.java:53)
at
org.apache.servicemix.common.BaseServiceUnitManager.start(BaseServiceUnitManager.java:151)
at
org.apache.servicemix.jbi.framework.ServiceUnitLifeCycle.start(ServiceUnitLifeCycle.java:103)
at
org.apache.servicemix.jbi.framework.ServiceAssemblyLifeCycle.start(ServiceAssemblyLifeCycle.java:132)
at
org.apache.servicemix.jbi.framework.DeploymentService.start(DeploymentService.java:378)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:355)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:256)
at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateExternalArchive(AutoDeploymentService.java:204)
at
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:476)
at
org.apache.servicemix.jbi.container.JBIContainer.updateExternalArchive(JBIContainer.java:486)
at
org.apache.servicemix.jbi.framework.AdminCommandsService.deployServiceAssembly(AdminCommandsService.java:209)
[...]
Asking on the IRC, the WSDL descriptor is not required.
Should I provide a kind of ServiceImpl defining @WebService annotation ?
Yes, you need define @WebService annotation for your Impl class
Thanks
Regards