You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by splatch <l....@pocztowy.pl> on 2008/06/26 09:58:13 UTC

CXF, EIP, Validation

Hello,
I created custom validation component (OASIS catalog + Spring Resource
Abstraction). Now I would like validate every query to my CXF based service
(standalone component works fine) but I don't know how to configure EIP
routes.

EIP - xbean.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:eip="http://servicemix.apache.org/eip/1.0"
    xmlns:defbank="http://smx3.bpsa.pl/services/defbank"
    xmlns:transform="http://smx3.bpsa.pl/services/system/transform"
    xmlns:validate="http://smx3.bpsa.pl/services/system/validate"
    xsi:schemaLocation="(...)">

    <eip:static-routing-slip service="defbank:DefbankRoutingSlip"
        endpoint="defbank-routing">
        <eip:targets>
            <!-- unnecessary - useJbiWrapper=false
            <eip:exchange-target service="transform:JbiToSoap" />
            -->
            <eip:exchange-target service="validate:SchemaValidate" />
            <eip:exchange-target service="defbank:DefbankService"
                interface="defbank:DefbankService" />
        </eip:targets>
    </eip:static-routing-slip>

</beans>

CXFSE - xbean.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
    xmlns:defbank="http://smx3.bpsa.pl/services/defbank"
    xsi:schemaLocation="(...)">

    <import resource="classpath:/services.xml" />

    <cxfse:endpoint service="defbank:DefbankService"
        interfaceName="pl.bpsa.smx3.services.defbank.DefbankServiceType"
        pojo="#defbankServiceType" useJBIWrapper="false">
    </cxfse:endpoint>

</beans>

CXFBC - xbean.xml:
<?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:defbank="http://smx3.bpsa.pl/services/defbank"
    xsi:schemaLocation="(...)">

    <cxfbc:consumer wsdl="classpath:defbank.wsdl" useJBIWrapper="false"
        targetService="defbank:DefbankRoutingSlip"
        targetInterface="defbank:DefbankServiceType">
    </cxfbc:consumer>

</beans>

Validator Component - servicemix.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:sm="http://servicemix.apache.org/config/1.0"
    xmlns:validate="http://smx3.bpsa.pl/services/system/validate"
    xsi:schemaLocation="(...)">

    <import resource="classpath:context.xml" />

    <sm:serviceunit id="jbi">
        <sm:activationSpecs>
            <sm:activationSpec id="SchemaValidate"
endpoint="schema-validate"
                componentName="CommonSchemaValidator"
service="validate:SchemaValidate">
                <sm:component>
                    <ref bean="validator" />
                </sm:component>
            </sm:activationSpec>
        </sm:activationSpecs>
    </sm:serviceunit>
</beans>

CxfSeEndpoint:
        jbiDestination.setDeliveryChannel(dc); // Line 230
        if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
            jbiDestination.getJBIDispatcherUtil().dispatch(exchange);
        }

Result when validator was called and next steep is CXFSE execution:
2008-06-26 09:53:13 org.apache.cxf.transport.jbi.JBITransportFactory
setDeliveryChannel
INFO: configuring DeliveryChannel:     
org.apache.servicemix.common.EndpointDeliveryChannel@1a1b175
ERROR - CxfSeComponent                 - Error processing exchange InOut[
  id: ID:10.40.3.63-11ac3db1095-7:1
  status: Active
  role: provider
  interface: {http://smx3.bpsa.pl/services/defbank}DefbankService
  service: {http://smx3.bpsa.pl/services/defbank}DefbankService
  endpoint: DefbankServiceTypeImplPort
  operation: {http://smx3.bpsa.pl/services/defbank}GetPersonByNumber
  in: <?xml version="1.0" encoding="UTF-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:
Body><io:GetPersonByNumberRequest
xmlns:io="http://smx3.bpsa.pl/services/defbank/io">
         <io:number
xmlns:io="http://smx3.bpsa.pl/services/defbank/io">somevalue</io:number>
      </io:GetPersonByNumberRequest></soap:Body></soap:Envelope>
]
java.lang.NullPointerException
        at
org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:230)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
2008-06-26 09:53:13 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault
        at
org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:488)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at
org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:198)
        at
org.apache.servicemix.cxfbc.CxfBcConsumer.process(CxfBcConsumer.java:190)
        at
org.apache.servicemix.cxfbc.CxfBcConsumer$JbiInvokerInterceptor.handleMessage(CxfBcConsumer.java:464)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:280)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:254)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        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:842)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
        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.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Caused by: java.lang.NullPointerException
        at
org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:230)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)

-- 
View this message in context: http://www.nabble.com/CXF%2C-EIP%2C-Validation-tp18128453p18128453.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF, EIP, Validation

Posted by splatch <l....@pocztowy.pl>.
Hello,
I use version 3.3. The #defbankServiceType bean is defined in included file.


Freeman Fang wrote:
> 
> Hi,
> Which servicemix version are you using?
> 
> You cxf se endpoint configuration is incorrect
> 
>      <cxfse:endpoint service="defbank:DefbankService"
>         interfaceName="pl.bpsa.smx3.services.defbank.DefbankServiceType"
>         pojo="#defbankServiceType" useJBIWrapper="false">
> 
>     </cxfse:endpoint>
> 
> the interfaceName here should be a QName
> And I didn't see your definition for the bean defbankServiceType which 
> you set for the pojo.
> 
> Freeman
> 
> splatch wrote:
>> Hello,
>> I created custom validation component (OASIS catalog + Spring Resource
>> Abstraction). Now I would like validate every query to my CXF based
>> service
>> (standalone component works fine) but I don't know how to configure EIP
>> routes.
>>
>> EIP - xbean.xml:
>> <?xml version="1.0" encoding="UTF-8"?>
>> <beans xmlns="http://www.springframework.org/schema/beans"
>>     xmlns:eip="http://servicemix.apache.org/eip/1.0"
>>     xmlns:defbank="http://smx3.bpsa.pl/services/defbank"
>>     xmlns:transform="http://smx3.bpsa.pl/services/system/transform"
>>     xmlns:validate="http://smx3.bpsa.pl/services/system/validate"
>>     xsi:schemaLocation="(...)">
>>
>>     <eip:static-routing-slip service="defbank:DefbankRoutingSlip"
>>         endpoint="defbank-routing">
>>         <eip:targets>
>>             <!-- unnecessary - useJbiWrapper=false
>>             <eip:exchange-target service="transform:JbiToSoap" />
>>             -->
>>             <eip:exchange-target service="validate:SchemaValidate" />
>>             <eip:exchange-target service="defbank:DefbankService"
>>                 interface="defbank:DefbankService" />
>>         </eip:targets>
>>     </eip:static-routing-slip>
>>
>> </beans>
>>
>> CXFSE - xbean.xml:
>> <?xml version="1.0" encoding="UTF-8" ?>
>> <beans xmlns="http://www.springframework.org/schema/beans"
>>     xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
>>     xmlns:defbank="http://smx3.bpsa.pl/services/defbank"
>>     xsi:schemaLocation="(...)">
>>
>>     <import resource="classpath:/services.xml" />
>>
>>     <cxfse:endpoint service="defbank:DefbankService"
>>         interfaceName="pl.bpsa.smx3.services.defbank.DefbankServiceType"
>>         pojo="#defbankServiceType" useJBIWrapper="false">
>>     </cxfse:endpoint>
>>
>> </beans>
>>
>> CXFBC - xbean.xml:
>> <?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:defbank="http://smx3.bpsa.pl/services/defbank"
>>     xsi:schemaLocation="(...)">
>>
>>     <cxfbc:consumer wsdl="classpath:defbank.wsdl" useJBIWrapper="false"
>>         targetService="defbank:DefbankRoutingSlip"
>>         targetInterface="defbank:DefbankServiceType">
>>     </cxfbc:consumer>
>>
>> </beans>
>>
>> Validator Component - servicemix.xml:
>> <?xml version="1.0" encoding="UTF-8" ?>
>> <beans xmlns="http://www.springframework.org/schema/beans"
>>     xmlns:sm="http://servicemix.apache.org/config/1.0"
>>     xmlns:validate="http://smx3.bpsa.pl/services/system/validate"
>>     xsi:schemaLocation="(...)">
>>
>>     <import resource="classpath:context.xml" />
>>
>>     <sm:serviceunit id="jbi">
>>         <sm:activationSpecs>
>>             <sm:activationSpec id="SchemaValidate"
>> endpoint="schema-validate"
>>                 componentName="CommonSchemaValidator"
>> service="validate:SchemaValidate">
>>                 <sm:component>
>>                     <ref bean="validator" />
>>                 </sm:component>
>>             </sm:activationSpec>
>>         </sm:activationSpecs>
>>     </sm:serviceunit>
>> </beans>
>>
>> CxfSeEndpoint:
>>         jbiDestination.setDeliveryChannel(dc); // Line 230
>>         if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
>>             jbiDestination.getJBIDispatcherUtil().dispatch(exchange);
>>         }
>>
>> Result when validator was called and next steep is CXFSE execution:
>> 2008-06-26 09:53:13 org.apache.cxf.transport.jbi.JBITransportFactory
>> setDeliveryChannel
>> INFO: configuring DeliveryChannel:     
>> org.apache.servicemix.common.EndpointDeliveryChannel@1a1b175
>> ERROR - CxfSeComponent                 - Error processing exchange InOut[
>>   id: ID:10.40.3.63-11ac3db1095-7:1
>>   status: Active
>>   role: provider
>>   interface: {http://smx3.bpsa.pl/services/defbank}DefbankService
>>   service: {http://smx3.bpsa.pl/services/defbank}DefbankService
>>   endpoint: DefbankServiceTypeImplPort
>>   operation: {http://smx3.bpsa.pl/services/defbank}GetPersonByNumber
>>   in: <?xml version="1.0" encoding="UTF-8"?><soap:Envelope
>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:
>> Body><io:GetPersonByNumberRequest
>> xmlns:io="http://smx3.bpsa.pl/services/defbank/io">
>>          <io:number
>> xmlns:io="http://smx3.bpsa.pl/services/defbank/io">somevalue</io:number>
>>       </io:GetPersonByNumberRequest></soap:Body></soap:Envelope>
>> ]
>> java.lang.NullPointerException
>>         at
>> org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:230)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>         at
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>         at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>         at java.lang.Thread.run(Thread.java:595)
>> 2008-06-26 09:53:13 org.apache.cxf.phase.PhaseInterceptorChain
>> doIntercept
>> INFO: Interceptor has thrown exception, unwinding now
>> org.apache.cxf.interceptor.Fault
>>         at
>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:488)
>>         at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>>         at
>> org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:198)
>>         at
>> org.apache.servicemix.cxfbc.CxfBcConsumer.process(CxfBcConsumer.java:190)
>>         at
>> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiInvokerInterceptor.handleMessage(CxfBcConsumer.java:464)
>>         at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>>         at
>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
>>         at
>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:280)
>>         at
>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:254)
>>         at
>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>>         at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
>>         at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>>         at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>>         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:842)
>>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
>>         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.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>> Caused by: java.lang.NullPointerException
>>         at
>> org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:230)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>>         at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>>         at
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>         at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>>         at
>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>         at java.lang.Thread.run(Thread.java:595)
>>
>>   
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/CXF%2C-EIP%2C-Validation-tp18128453p18132478.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF, EIP, Validation

Posted by Freeman Fang <fr...@gmail.com>.
Hi,
Which servicemix version are you using?

You cxf se endpoint configuration is incorrect

     <cxfse:endpoint service="defbank:DefbankService"
        interfaceName="pl.bpsa.smx3.services.defbank.DefbankServiceType"
        pojo="#defbankServiceType" useJBIWrapper="false">

    </cxfse:endpoint>

the interfaceName here should be a QName
And I didn't see your definition for the bean defbankServiceType which 
you set for the pojo.

Freeman

splatch wrote:
> Hello,
> I created custom validation component (OASIS catalog + Spring Resource
> Abstraction). Now I would like validate every query to my CXF based service
> (standalone component works fine) but I don't know how to configure EIP
> routes.
>
> EIP - xbean.xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
>     xmlns:eip="http://servicemix.apache.org/eip/1.0"
>     xmlns:defbank="http://smx3.bpsa.pl/services/defbank"
>     xmlns:transform="http://smx3.bpsa.pl/services/system/transform"
>     xmlns:validate="http://smx3.bpsa.pl/services/system/validate"
>     xsi:schemaLocation="(...)">
>
>     <eip:static-routing-slip service="defbank:DefbankRoutingSlip"
>         endpoint="defbank-routing">
>         <eip:targets>
>             <!-- unnecessary - useJbiWrapper=false
>             <eip:exchange-target service="transform:JbiToSoap" />
>             -->
>             <eip:exchange-target service="validate:SchemaValidate" />
>             <eip:exchange-target service="defbank:DefbankService"
>                 interface="defbank:DefbankService" />
>         </eip:targets>
>     </eip:static-routing-slip>
>
> </beans>
>
> CXFSE - xbean.xml:
> <?xml version="1.0" encoding="UTF-8" ?>
> <beans xmlns="http://www.springframework.org/schema/beans"
>     xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
>     xmlns:defbank="http://smx3.bpsa.pl/services/defbank"
>     xsi:schemaLocation="(...)">
>
>     <import resource="classpath:/services.xml" />
>
>     <cxfse:endpoint service="defbank:DefbankService"
>         interfaceName="pl.bpsa.smx3.services.defbank.DefbankServiceType"
>         pojo="#defbankServiceType" useJBIWrapper="false">
>     </cxfse:endpoint>
>
> </beans>
>
> CXFBC - xbean.xml:
> <?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:defbank="http://smx3.bpsa.pl/services/defbank"
>     xsi:schemaLocation="(...)">
>
>     <cxfbc:consumer wsdl="classpath:defbank.wsdl" useJBIWrapper="false"
>         targetService="defbank:DefbankRoutingSlip"
>         targetInterface="defbank:DefbankServiceType">
>     </cxfbc:consumer>
>
> </beans>
>
> Validator Component - servicemix.xml:
> <?xml version="1.0" encoding="UTF-8" ?>
> <beans xmlns="http://www.springframework.org/schema/beans"
>     xmlns:sm="http://servicemix.apache.org/config/1.0"
>     xmlns:validate="http://smx3.bpsa.pl/services/system/validate"
>     xsi:schemaLocation="(...)">
>
>     <import resource="classpath:context.xml" />
>
>     <sm:serviceunit id="jbi">
>         <sm:activationSpecs>
>             <sm:activationSpec id="SchemaValidate"
> endpoint="schema-validate"
>                 componentName="CommonSchemaValidator"
> service="validate:SchemaValidate">
>                 <sm:component>
>                     <ref bean="validator" />
>                 </sm:component>
>             </sm:activationSpec>
>         </sm:activationSpecs>
>     </sm:serviceunit>
> </beans>
>
> CxfSeEndpoint:
>         jbiDestination.setDeliveryChannel(dc); // Line 230
>         if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
>             jbiDestination.getJBIDispatcherUtil().dispatch(exchange);
>         }
>
> Result when validator was called and next steep is CXFSE execution:
> 2008-06-26 09:53:13 org.apache.cxf.transport.jbi.JBITransportFactory
> setDeliveryChannel
> INFO: configuring DeliveryChannel:     
> org.apache.servicemix.common.EndpointDeliveryChannel@1a1b175
> ERROR - CxfSeComponent                 - Error processing exchange InOut[
>   id: ID:10.40.3.63-11ac3db1095-7:1
>   status: Active
>   role: provider
>   interface: {http://smx3.bpsa.pl/services/defbank}DefbankService
>   service: {http://smx3.bpsa.pl/services/defbank}DefbankService
>   endpoint: DefbankServiceTypeImplPort
>   operation: {http://smx3.bpsa.pl/services/defbank}GetPersonByNumber
>   in: <?xml version="1.0" encoding="UTF-8"?><soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:
> Body><io:GetPersonByNumberRequest
> xmlns:io="http://smx3.bpsa.pl/services/defbank/io">
>          <io:number
> xmlns:io="http://smx3.bpsa.pl/services/defbank/io">somevalue</io:number>
>       </io:GetPersonByNumberRequest></soap:Body></soap:Envelope>
> ]
> java.lang.NullPointerException
>         at
> org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:230)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> 2008-06-26 09:53:13 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault
>         at
> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:488)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:198)
>         at
> org.apache.servicemix.cxfbc.CxfBcConsumer.process(CxfBcConsumer.java:190)
>         at
> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiInvokerInterceptor.handleMessage(CxfBcConsumer.java:464)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
>         at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:280)
>         at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:254)
>         at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
>         at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>         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:842)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
>         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.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
> Caused by: java.lang.NullPointerException
>         at
> org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:230)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>         at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
>         at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>         at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
>         at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>         at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
>
>