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.

Reply via email to