Solved!

Has been my fault,
the error was generated cause the wiretap was invoked also by another eip
havin a robost-in-only mep, before the static routing slip invocation.

Sorry for my mistake and thanks again for your help


dellekappa wrote:
> 
> 
> bvkeirsb wrote:
>> 
>> The EIP wiretap doesn't support InOut, only InOnly/RobustInOnly I
>> believe (going from memory here). You won't be able to use the wiretap
>> as an InOut.
>> 
> 
> Thanks for answer.
> I guess it should support the in-out mep, as I can read in documentation:
> 
> A WireTap component can be used to forward a copy of the input message to
> a listener in a proxy fashion.
> This component implements the WireTap pattern.
> It can handle all four standard MEPs, but will only send an In-Only MEP to
> the listener.
> The originating service must be configured to send messages to the WireTap
> directly.
> In the case of an In-Out MEP, this means that the WireTap needs to be
> configured to send the exchange along to the destination service.
> 
> Yes, your workaround is valid, but anyway I would know if this could be an
> issue, for future implementations.
> 
> Thanks
>  
> 
> bvkeirsb wrote:
>> 
>> Maybe you'd want to wrap your echo endpoint into a pipeline?
>> 
>> Wiretap (inonly) --> pipeline (inonly --> inout - this would be your
>> echo, or potentially a static routing slip or so --> inonly) --> final
>> endpoint (inonly)
>> 
>> Bart Vankeirsbilck
>> -----Original Message-----
>> From: dellekappa [mailto:[EMAIL PROTECTED] 
>> Sent: Monday, November 19, 2007 10:57 AM
>> To: [email protected]
>> Subject: using wiretap inside static routing slip flow
>> 
>> 
>> Hi,
>> I'm trying to configure an eip wiretap inside a static routing slip
>> flow.
>> The wiretap is not the last endpoint of static routing slip flow, so I
>> build
>> an "echo" endpoint (servicemix-bean), has its target-exchange, that
>> simply
>> sends back the message received, in order to let the wiretap using an
>> in-out
>> mep.
>> My configuration is as follow:
>> 
>> <eip:static-routing-slip service="tns:Service" endpoint="flow-routing">
>>      <eip:targets>
>>          <eip:exchange-target service="tns:Service"
>> endpoint="first_endpoint" />
>>          <eip:exchange-target service="tns:Service"
>> endpoint="trace_endpoint" />
>>          <eip:exchange-target service="tns:Anagrafica"
>> endpoint="last_endpoint" />
>>      </eip:targets>
>> </eip:static-routing-slip>
>> 
>> <eip:wire-tap service="tns:Service" endpoint="trace-endpoint">
>>    <eip:target>
>>       <eip:exchange-target service="tns:Service"
>> endpoint="echo-endpoint"/>
>>    </eip:target>
>>    <eip:inListener>
>>       <eip:exchange-target service="tns:Service" endpoint="trace-queue"
>> />
>>     </eip:inListener>
>> </eip:wire-tap>
>> 
>> and this is the code inside the echo component:
>> 
>> public class MessageEchoBean implements MessageExchangeListener {
>> 
>>     @Resource
>>     private DeliveryChannel channel;
>> 
>>     public void onMessageExchange(MessageExchange exchange) throws
>> MessagingException {
>>         if (exchange.getStatus() == ExchangeStatus.ACTIVE) {
>>             MessageUtil.transferInToOut(exchange, exchange);
>>             channel.send(exchange);
>>         }
>>     }
>> 
>> but I get thi error at runtime:
>> 
>> ERROR - BeanComponent                  - Error processing exchange
>> RobustInOnly[
>>   id: ID:10.2.132.34-1165892ac50-8:2
>>   status: Active
>>   role: provider
>>   service: {http://myorganization.namespace}Service
>>   endpoint: echo-endpoint
>>   in: mymessagexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> ]
>> javax.jbi.messaging.MessagingException: Out not supported
>>      at
>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(Messa
>> geExchangeImpl.java:357)
>>      at
>> org.apache.servicemix.jbi.util.MessageUtil.transferTo(MessageUtil.java:1
>> 21)
>>      at
>> org.apache.servicemix.jbi.util.MessageUtil.transferToOut(MessageUtil.jav
>> a:107)
>>      at
>> org.apache.servicemix.jbi.util.MessageUtil.transferInToOut(MessageUtil.j
>> ava:103)
>>      at
>> codin.sismed.coop.util.MessageEchoBean.onMessageExchange(MessageEchoBean
>> .java:21)
>>      at
>> org.apache.servicemix.bean.BeanEndpoint.onProviderExchange(BeanEndpoint.
>> java:224)
>>      at
>> org.apache.servicemix.bean.BeanEndpoint.process(BeanEndpoint.java:200)
>>      at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeC
>> ycle.java:538)
>>      at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBas
>> eLifeCycle.java:490)
>>      at
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCyc
>> le.java:46)
>>      at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(D
>> eliveryChannelImpl.java:610)
>>      at
>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.j
>> ava:170)
>>      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:1
>> 34)
>>      at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
>> r.java:650)
>>      at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
>> va:675)
>>      at java.lang.Thread.run(Thread.java:595)
>> 
>> It seems that the wiretap sends a Robust-In-Only exchange to the
>> BeanComponent.
>> As I understand, all the components inside a static rouintg slip should
>> use
>> an in-out mep, and
>> looking at the documentation the wiretap should support the in-out mep,
>> but
>> I cannot find a way make it work. Am I missing something?
>> 
>> Any suggestion would be appreciated
>> 
>> Thanks
>> 
>> Giulio
>> -- 
>> View this message in context:
>> http://www.nabble.com/using-wiretap-inside-static-routing-slip-flow-tf48
>> 37197s12049.html#a13838679
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/using-wiretap-inside-static-routing-slip-flow-tf4837197s12049.html#a13855546
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to