Hi all,
I trying to write a point-to-point channel with camel between
servicemix-cxfbc and servicemix-cxfse compoment(cxfbc->camel->cxfse), and
got the error as below. It seems like the endpoint declared in camel context
can't be found in jbi container.
2008-11-19 17:10:23 org.apache.cxf.interceptor.LoggingInInterceptor logging
info:Inbound Message
----------------------------
Encoding: UTF-8
Headers: {Content-Length=[383], Host=[localhost:9090],
User-Agent=[Java/1.5.0_15], connection=[keep-alive], SOAPAction=[""],
Pragma=[no-cache], content-type=[text/xml; charset=UTF-8],
Cache-Control=[no-cache], Accept=[*]}
Messages:
Message:
Payload: <soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:getBillingCount
xmlns:ns1="http://mm.service.integration.symphony/
"><arg0><beginRowIndex>0</beginRowIndex><entityPage><beginRowIndex>0</beginRowIndex><rowSize>10</rowSize></entityPage><rowSize>10</rowSize><billingNo>KP0000000005</billingNo></arg0></ns1:getBillingCount></soap:Body></soap:Envelope>
--------------------------------------
2008-11-19 17:10:23 org.apache.servicemix.common.endpoints.ConsumerEndpoint
configureExchangeTarget
warn: Target service ({
http://mm.service.integration.symphony/}BillingServiceCamelRouter) and
endpoint (BillingServicePort) specified, but no matching endpoint found.
Only the service will be used for routing.
2008-11-19 17:10:23 org.apache.servicemix.jbi.nmr.DefaultBroker
resolveAddress
warn: ServiceName ({
http://mm.service.integration.symphony/}BillingServiceCamelRouter) specified
for routing, but can't find it registered
2008-11-19 17:10:23 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
info: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not find route for exchange: InOut[
id: ID:10.20.90.4-11db4038b42-11:0
status: Active
role: provider
service: {
http://mm.service.integration.symphony/}BillingServiceCamelRouter
operation: {http://mm.service.integration.symphony/}getBillingCount
in: <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:getBillingCount
xmlns:ns1="http://mm.service.integration.symphony/"><arg0
xmlns=""><beginRowIndex xmlns="">0</beginRowIndex><entityPage
xmlns=""><beginRowIndex xmlns="">0</beginRowIndex><rowSize
xmlns="">10</rowSize></entityPage><rowSize xmlns="">10</rowSize><billingNo
xmlns="">KP0000000005</billingNo></arg0></ns1:getBillingCount></soap:Body></soap:Envelope>
] for service: {
http://mm.service.integration.symphony/}BillingServiceCamelRouter and
interface: null
at
org.apache.servicemix.cxfbc.CxfBcConsumer$JbiInvokerInterceptor.handleMessage(CxfBcConsumer.java:629)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:278)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:252)
at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Caused by: javax.jbi.messaging.MessagingException: Could not find route for
exchange: InOut[
id: ID:10.20.90.4-11db4038b42-11:0
status: Active
role: provider
service: {
http://mm.service.integration.symphony/}BillingServiceCamelRouter
operation: {http://mm.service.integration.symphony/}getBillingCount
in: <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:getBillingCount
xmlns:ns1="http://mm.service.integration.symphony/"><arg0
xmlns=""><beginRowIndex xmlns="">0</beginRowIndex><entityPage
xmlns=""><beginRowIndex xmlns="">0</beginRowIndex><rowSize
xmlns="">10</rowSize></entityPage><rowSize xmlns="">10</rowSize><billingNo
xmlns="">KP0000000005</billingNo></arg0></ns1:getBillingCount></soap:Body></soap:Envelope>
] for service: {
http://mm.service.integration.symphony/}BillingServiceCamelRouter and
interface: null
at
org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:297)
at
org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:894)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:395)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:470)
at
org.apache.servicemix.common.EndpointDeliveryChannel.sendSync(EndpointDeliveryChannel.java:96)
at
org.apache.servicemix.cxfbc.CxfBcConsumer$JbiInvokerInterceptor.handleMessage(CxfBcConsumer.java:618)
... 17 more
2008-11-19 17:10:23
org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
and here is the configuration
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:sm="http://servicemix.apache.org/config/1.0"
xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
xmlns:bean="http://servicemix.apache.org/bean/1.0"
xmlns:camel="http://activemq.apache.org/camel/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bill="http://mm.service.integration.symphony/"
xsi:schemaLocation="http://www.springframework.org/schema/beansclasspath:xmlschema/spring-beans-2.5.xsd
http://servicemix.apache.org/config/1.0classpath:xmlschema/servicemix.xsd
http://servicemix.apache.org/cxfse/1.0classpath:xmlschema/servicemix-cxf-se.xsd
http://servicemix.apache.org/cxfbc/1.0classpath:xmlschema/servicemix-cxf-bc.xsd
http://servicemix.apache.org/bean/1.0classpath:xmlschema/servicemix-bean.xsd
http://activemq.apache.org/camel/schema/springclasspath:xmlschema/camel-spring.xsd">
<sm:container id="jbiContainer" embedded="true">
<sm:activationSpecs>
<sm:activationSpec service="camel:camel"
endpoint="camelEndpoint">
<sm:component>
<ref bean="jbi" />
</sm:component>
</sm:activationSpec>
</sm:activationSpecs>
<sm:endpoints>
<cxfse:endpoint useJBIWrapper="false">
<cxfse:inFaultInterceptors>
<bean
class="org.apache.cxf.interceptor.LoggingInInterceptor" />
</cxfse:inFaultInterceptors>
<cxfse:inInterceptors>
<bean
class="org.apache.cxf.interceptor.LoggingInInterceptor" />
</cxfse:inInterceptors>
<cxfse:outFaultInterceptors>
<bean
class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
</cxfse:outFaultInterceptors>
<cxfse:outInterceptors>
<bean
class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
</cxfse:outInterceptors>
<cxfse:pojo>
<bean
class="symphony.integration.service.mm.LppBillingServiceImpl" />
</cxfse:pojo>
</cxfse:endpoint>
<cxfbc:consumer
wsdl="classpath:symphony/integration/service/mm/BillingService.wsdl"
interfaceName="symphony.integration.service.mm.BillingService"
targetEndpoint="BillingServicePort"
targetService="bill:BillingServiceCamelRouter"
useJBIWrapper="false">
<cxfbc:inFaultInterceptors>
<bean
class="org.apache.cxf.interceptor.LoggingInInterceptor" />
</cxfbc:inFaultInterceptors>
<cxfbc:inInterceptors>
<bean
class="org.apache.cxf.interceptor.LoggingInInterceptor" />
</cxfbc:inInterceptors>
<cxfbc:outFaultInterceptors>
<bean
class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
</cxfbc:outFaultInterceptors>
<cxfbc:outInterceptors>
<bean
class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
</cxfbc:outInterceptors>
</cxfbc:consumer>
</sm:endpoints>
</sm:container>
<bean id="jbi"
class="org.apache.servicemix.camel.CamelJbiComponent" />
<camelContext id="camelContext" useJmx="true"
xmlns="http://activemq.apache.org/camel/schema/spring">
<route>
<from
uri="jbi:endpoint:
http://mm.service.integration.symphony/BillingServiceCamelRouter/BillingServicePort"
/>
<to
uri="jbi:endpoint:
http://mm.service.integration.symphony/BillingService/BillingServicePort" />
<!--
<recipientList>
<xpath>$foo</xpath>
</recipientList>
-->
</route>
</camelContext>
</beans>
any thoughts?
Jackey
Thanks & best regards