The HL7 message may contains some characters that causes the logger to
not log the message. (eg the pipes and other control chars it may
contain).

I can see the same on adding some logging to the camel-hl7 unit tests.

So that may be why your "log ${body}" do not print anything.

On Sun, Jan 24, 2016 at 11:13 AM, Walzer, Thomas
<[email protected]> wrote:
> I am using Camel 2.15.2 & blueprint.
> When using to uri=„log:…“ (Log component) it shows the body-type as 
> unpooledunsafedirectbytebuf. This statement works ok. And yes, it should 
> contain the ack response.
> When using <log message=„*** ${body} ***“/> (or anything else that needs a 
> string, like convertbodytostring, etc) I get exceptions.
> Even when the first statement after netty4 is to-file it does not work. So 
> there should be no one consuming it before.
> The codecs are default.
>
>
> <bean id="hl7nettydecoder" 
> class="org.apache.camel.component.hl7.HL7MLLPNettyDecoderFactory">
> </bean>
> <bean id="hl7nettyencoder" 
> class="org.apache.camel.component.hl7.HL7MLLPNettyEncoderFactory">
> </bean>
>
> I will continue to strip my complex project down.
>
> Cheers, Thomas.
>
> Am 22.01.2016 um 16:04 schrieb Claus Ibsen 
> <[email protected]<mailto:[email protected]>>:
>
> On Fri, Jan 22, 2016 at 3:58 PM, Walzer, Thomas
> <[email protected]<mailto:[email protected]>> wrote:
> Problem is: I have a simple example that works fine. My more elaborate 
> version breaks. But basically it is:
> queue->transacted->convertbodytostring->setSomeHeaders->log->netty4->log
>
> The netty4 listening to my message gets the message and returns an ack. When 
> I try to get it as a string—>it breaks.
> I do have a DefaultErrorhandler configured. But it should not kick in if 
> everything works ok.
>
>
> Just to be clear. Its that last part
>
>    netty4->log
>
> Where you attempt to log the netty4 response (eg the ack response) ?
>
> Do you use any special codec or encoders with netty4 or something?
> And what version of Camel do you use?
>
> When I change the netty4 endpoint to mina2 -> it works. So I assume the 
> problem lies with the netty4 component. Maybe the codecs? Why do I not use 
> mina2? Because ultimately I want TLS which is broken with mina2 in my version 
> of Camel.
>
> It seems like some problem with redelivery as Claus suggested, however I am 
> still puzzled…
>
> Cheers, Thomas.
>
> Am 22.01.2016 um 08:20 schrieb Claus Ibsen 
> <[email protected]<mailto:[email protected]>>:
>
> On Tue, Jan 19, 2016 at 4:54 PM, Walzer, Thomas
> <[email protected]<mailto:[email protected]>> wrote:
> Hi,
>
> camel-2.15.2
>
> I can successfully send to a HL7-Server, however I have troubles accessing 
> the resulting ACK.
> Unfortunately it is of type UnpooledUnsafeDirectByteBuf and type conversion 
> to string fails:
>
> ....On delivery attempt: 2 caught: org.apache.camel.TypeConversionException: 
> Error during type conversion from type: java.lang.String to the required 
> type: java.lang.String with value UnpooledUnsafeDirectByteBuf(freed) due 
> io.netty.util.IllegalReferenceCountException: refCnt: 0
>
>
> Sounds like you are doing redelivery and the byte buf is not reset on
> redelivery or something so the data stream becomes empty and not
> convertable to a string type. A bit like when you are not using stream
> caching
> http://camel.apache.org/why-is-my-message-body-empty.html
>
>
>
> Any ideas how to work with the ACK (besides logging which works)?
>
> Cheers, Thomas.
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com<http://davsclaus.com/> @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to