1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.platform.camel.ihe.hl7v2.intercept.producer;
17
18 import org.apache.camel.Exchange;
19 import org.apache.camel.Message;
20 import org.openehealth.ipf.platform.camel.core.util.Exchanges;
21 import org.openehealth.ipf.platform.camel.ihe.core.InterceptorSupport;
22 import org.openehealth.ipf.platform.camel.ihe.hl7v2.HL7v2Endpoint;
23
24
25
26
27
28
29 public class ProducerMarshalInterceptor extends InterceptorSupport<HL7v2Endpoint> {
30
31
32
33
34 @Override
35 public void process(Exchange exchange) throws Exception {
36
37 Message message = exchange.getIn();
38 ca.uhn.hl7v2.model.Message request = message.getBody(ca.uhn.hl7v2.model.Message.class);
39 message.setBody(request.toString());
40
41
42 getWrappedProcessor().process(exchange);
43
44
45 message = Exchanges.resultMessage(exchange);
46 String responseString = message.getBody(String.class);
47 message.setBody(getEndpoint().getHl7v2TransactionConfiguration().getParser().parse(responseString));
48 }
49 }