camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jackey Ding" <novthirt...@gmail.com>
Subject Can't access endpoint created by camel in embedded servicemix
Date Wed, 19 Nov 2008 09:37:39 GMT
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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message