I tried not to "posticipate" the "out" sending. I get this error: OUT NOT
SUPPORTED! How is it possible? validate is a standard SE, created via maven
artifacts... it do support InOut!
Thanks to anyone can help me, Giuseppe
19:48:21,000 | Error processing exchange InOut[
id: ID:giuseppe-laptop-2661-1184262456218-4:0
status: Done
role: provider
service: {http://giuseppe.org}validate
endpoint: endpoint
operation: censimento
in: <?xml version="1.0" encoding="UTF-8"?><censimento
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types"><azienda><A1
NDG="000463134" codice-SIA="71934" codice-capogruppo=""
codice-portafogliazione="" codice-sportello-censimento="08000"
codice-sportello-competenza="1800" codice-utente-telematico="0000000329"
numero-progressivo="1" ragione-sociale="GIUSEPPE VITALONE"
tipo-operazione="I" tipo-record="A1"/><A2 cap="40131" indirizzo="VIA SAFFI,
NR. 15" localita="BOLOGNA" nazione="" numero-progressivo="1" provincia="BO"
tipo-record="A2"/><A3 email="" numero-fax="" numero-progressivo="1"
numero-telefono="" tipo-record="A3"/><A4 classe-utente="00006"
codice-fiscale="00227010139" coplist="000472308" esente-IVA=""
numero-progressivo="1" partita-IVA="00000000000" riferimento=""
tipo-record="A4"/><postazioni><postazione><P1
associazione-automatica-conti="A" codice-contratto="0001574747"
codice-lingua="0000" codice-postazione="0000085664"
cognome-supervisore="MERLO" data-disattivazione="31/12/99" monobanca="false"
nome-supervisore="MARIO" numero-progressivo="1" progressivo-postazione="1"
stato="A" tipo-azienda="H" tipo-firma="D" tipo-operazione="I"
tipo-prodotto="0" tipo-record="P1" tipo-servizio="A"/><P2 branch-code="COX"
codice-fiscale="MRLMRA41E09C933C" numero-progressivo="1"
progressivo-postazione="1" sender="BNLIITRRXCOX"
tipo-record="P2"/><conti><CC codice-IBAN="IT10S0100510900000000001517"
codice-sportello-interno="0...
out: <?xml version="1.0" encoding="UTF-8"?><status>accepted!</status>
]
javax.jbi.messaging.MessagingException: Out not supported
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:317)
at cedac.validate.MyEndpoint.process(MyEndpoint.java:171)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
19:48:21,000 | Error setting exchange status to ERROR
javax.jbi.messaging.MessagingException: illegal call to send / sendSync
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:571)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:370)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:417)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:58)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Gert Vanthienen wrote:
>
> Guiseppe,
>
> If you use an HTTP endpoint to send the message to your Validate
> endpoint (which is able to receive and send InOut), there is nothing
> else you need to do. If your validate sets the 'out' NormalizedMessage
> it receives from the routing-slip as the 'out' NormalizedMessage to the
> exchange it received in the first place, everything should work fine and
> your HTTP client should get the response.
>
> Gert
>
> beppe82 wrote:
>> I use InOnly between FTP and TOXML, InOut among the others...
>> StaticRoutingSlip accepts just InOut exchanges, and after the last
>> component
>> in the routing table has elaborated the message, an "out" message should
>> be
>> sent to VALIDATE, correct?
>> VALIDATE could receive messages also from an http component (soap
>> endpoint),
>> not only from TOXML: in the case the message was received from
>> http-component, I would like to send the out message to it... is it
>> clear?
>> Thank you for your help, Giuseppe
>>
>>
>> Gert Vanthienen wrote:
>>
>>> Guiseppe,
>>>
>>> I'm kind of confused by the "...be sent back to the Web Service...".
>>> The message exchange seems to originate from an FTP poller, if you
>>> schema at the top of your message is correct. This would explain why
>>> you get the exception below, because the FTP poller sends InOnly message
>>> exchanges. You cannot add an 'out' NormalizedMessage to an InOnly
>>> MessageExchange.
>>>
>>> If the first component was e.g. an HTTP Provider endpoint and every
>>> other component in the process is working with InOut MessageExchanges,
>>> things would work out fine, I suppose.
>>>
>>> Gert
>>>
>>> Beppe wrote
>>>
>>>> Hi, I have the following scenario:
>>>>
>>>> ftp-poller --> to-xml-se --> validate-se --> static-routing-slip
>>>>
>>>> validate-se can be used by a Web Service too.
>>>>
>>>> Static routing slip is configured to forward each message it receives
>>>> to
>>>> sp1, sp2, sp3, ..., sp7.
>>>> In theory, when sp7 fills and sends the out message, it should be sent
>>>> to
>>>> validate-se, correct?
>>>> Now, I would like this message (the out message that arrives to
>>>> validate-se)
>>>> be sent back to the Web Service.
>>>> First, how can I know the "sender" service which sent the IN message to
>>>> validate-se (to-xml-se or WS)?
>>>> Second, for now I remembered the exchange with the WS by setting a
>>>> local
>>>> variable in validate-se.MyEndpoint (for now I distinguish between
>>>> to-xml-se
>>>> and WS looking at the mep used :( ); when validate-se receives the OUT
>>>> message by sp7, it does the following:
>>>>
>>>> this.wsExchange.setMessage(exchange.getMessage("out"), "out");
>>>> channel.send(this.wsExchange);
>>>>
>>>> This method works, in the sense that the WS receives the response
>>>> message,
>>>> but validate-se raise the following exception:
>>>>
>>>> 15:19:27,484 | Error processing exchange InOut[
>>>> id: ID:giuseppe-laptop-4111-1184246290890-14:77
>>>> status: Active
>>>> role: consumer
>>>> service: {http://giuseppe.org}routingSlip
>>>> endpoint: endpoint
>>>> in: <?xml version="1.0" encoding="UTF-8"?>
>>>> out: <?xml version="1.0"
>>>> encoding="UTF-8"?><status>completed!</status>
>>>> ]
>>>> javax.jbi.messaging.MessagingException: Out not supported
>>>> at
>>>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:317)
>>>> at cedac.validate.MyEndpoint.process(MyEndpoint.java:211)
>>>> at
>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
>>>> at
>>>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:463)
>>>> at
>>>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>>>> at
>>>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
>>>> at
>>>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
>>>> at
>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
>>>> at
>>>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>>>> at
>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
>>>> at
>>>> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
>>>> at java.lang.Thread.run(Thread.java:595)
>>>>
>>>> I know this post is a bit confused, but I hope you can help me!
>>>> Thanks, Giuseppe
>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/forwarding-out-messages-tf4068171s12049.html#a11565339
Sent from the ServiceMix - User mailing list archive at Nabble.com.