Hi Ron, an thank you for your intervention
I want to communicate directly between the ODE-SE and the CXF-SE. After a
lot of manipulations, i think the communication works for now. But now, i
have a new problem : during the invoke in the BPEL, SMX throw a JMSException
:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
ERROR - JMSFlow - Caught an exception unpacking JMS
Message:
javax.jms.JMSException: Failed to build body from content. Serializable
class not available to broker. Reason: java.lang.ClassNotFoundException:
org.apache.cxf.interceptor.Fault
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
at
org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:179)
at
org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow.onMessage(AbstractJMSFlow.java:502)
at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1088)
at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:127)
at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:197)
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException:
org.apache.cxf.interceptor.Fault
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at
org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
at
org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
at
org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at
org.apache.activemq.util.ClassLoadingAwareObjectInputStream.load(ClassLoadingAwareObjectInputStream.java:63)
at
org.apache.activemq.util.ClassLoadingAwareObjectInputStream.resolveClass(ClassLoadingAwareObjectInputStream.java:37)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
org.apache.servicemix.jbi.messaging.ExchangePacket.readExternal(ExchangePacket.java:428)
at
org.apache.servicemix.jbi.messaging.InOutImpl.readExternal(InOutImpl.java:70)
at
java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:177)
... 9 more
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If anybody has a suggestion, that would be great !! For information, i use
rev 5.2.0 of ActimeMQ
PS : I paste the code here if anybody has the same problem of communication
the xbean.xml of CXF-BC :
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance"
xmlns:corb="http://service.application.corbeilledetache.epng.phloeme.com/"
xsi:schemaLocation="http://servicemix.apache.org/cxfbc/1.0
http://servicemix.apache.org/schema/servicemix-cxfbc-3.2.3.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd" >
<cxfbc:consumer wsdl="classpath:CS_CorbeilleWS.wsdl"
locationURI="http://esb.ixarm.net:7051/CS_CorbeilleWS/"
targetService="corb:CS_Corbeille"
targetEndpoint="CS_Corbeille"
targetInterface="corb:CS_CorbeillePortType" />
</beans>
The end of the CS_CorbeilleWS.wsdl (used in the SE and the BC):
<!-- Service Definition -->
<wsdl:service name="CS_Corbeille">
<wsdl:documentation>
</wsdl:documentation>
<wsdl:port binding="impl:CS_CorbeilleSoapBinding"
name="CS_Corbeille">
<wsdlsoap:address
location="http://esb.ixarm.net:7051/CS_CorbeilleWS/main.wsdl"/>
</wsdl:port>
</wsdl:service>
The xbean.xml of CXF-SE
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
xmlns:corb="http://service.application.corbeilledetache.epng.phloeme.com/">
<cxfse:endpoint service="corb:CS_Corbeille" endpoint="CS_Corbeille"
interfaceName="corb:CS_CorbeillePortType">
<cxfse:pojo>
<bean
class="com.phloeme.epng.corbeilledetache.application.service.CSCorbeilleImpl">
<property name="cs_corbeille" ref="cS_Corbeille" />
</bean>
</cxfse:pojo>
<cxfse:inInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
</cxfse:inInterceptors>
<cxfse:outInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
</cxfse:outInterceptors>
<cxfse:inFaultInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
</cxfse:inFaultInterceptors>
<cxfse:outFaultInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
</cxfse:outFaultInterceptors>
</cxfse:endpoint>
</beans>
And the deploy.xml of ODE-SU module :
<?xml version="1.0" encoding="UTF-8"?>
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
xmlns:gc="http://www.phloeme.com/TaskManagerNotification/"
xmlns:corb="http://service.application.corbeilledetache.epng.phloeme.com/" >
<process name="gc:GestionCommandeProcess">
<active>true</active>
<provide partnerLink="GestionCommandeLocalName">
<service name="gc:GestionCommandeService" port="gestioncommande" />
</provide>
<invoke partnerLink="CorbeilleLocalName">
<service name="corb:CS_Corbeille" port="CS_Corbeille" />
</invoke>
</process>
</deploy>
Thanks in advance !!
minzou
rgavlin wrote:
>
> Greetings,
>
> Are you attempting to communicate directly between the ODE-SE endpoint and
> the CXF-SE endpoint or are you attempting to communicate from ODE-SE ->
> CXF-BC Provider -> CXF-BC Consumer -> CXF-SE? If the latter, it appears
> you are missing the CXF-BC Provider in your flow.
>
> /Ron
>
>
--
View this message in context:
http://old.nabble.com/Communication-problem-between-an-ODE-SU-and-a-CXF-SU-tp27063479p27108273.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.