Hi Colin,
The normal flow with an InOnly exchange would be the JMS consumer reading the message from the queue and sending the ACTIVE exchange to the cxf bc provider. The cxf bc provider will then invoke the external service and if that succeeds, return a DONE exchange to the jms consumer. It's only at that point that the JMS consumer should acknowledge the JMS message or commit the transaction to remove the message from the queue. If the cxf bc provider can not access the remote service (e.g. because the server is down), I would guess the cxf bc provider would return an ERROR exchange to the JMS consumer. That should be the trigger to rollback the transaction or avoid acknowledging the JMS message. Are you saying that you see these DONE exchanges going back when the external server is down? There's a third scenario, which is the one Freeman mentioned, where the external service is up and running but returns a fault message (e.g. a remote exception or a business exception of some kind). Your current InOnly MEP is not capable of conveying these faults back to the JMS consumer. The best option would be to use a RobustInOnly MEP, which basically behaves like the InOnly MEP but add the possibility of conveying fault messages. You can configure another mep by adding a marshaler bean to the xbean.xml, roughly like this (haven't tested it, but it should get you close enough): - first, add the marshaler bean and set the mep uri <bean id="Marshaler" class="org.apache.servicemix.jms.endpoints.DefaultConsumerMarshaler"> <property name="mep">http://www.w3.org/2004/08/wsdl/robust-in-only</property> </bean> -secondly, configure the marshaler on your existing consumer endpoint definition: <jms:consumer .... marshaler="#Marshaler"/> Regards, Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ 2009/11/11 colin.chi <[email protected]>: > > Hi Gert, > > Thanks for you reply. > > And I see some logs as following: > > 2009-11-09 11:19:28,171 DEBUG - SedaQueue - > org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@89e163 dequeu > ed exchange: InOnly[ > id: ID:10.80.12.85-124d6ebc094-2:10 > status: Done > role: consumer > service: {http://www.hcsys.com/novaesb/}jms > endpoint: provider > operation: {http://www.hcsys.com/novaesb/}createCustomer > in: <?xml version="1.0" encoding="UTF-8"?><jbi:message > xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="htt > p://www.hcsys.com/novaesb/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" nam > e="createCustomer" type="msg:createCustomer" > version="1.0"><jbi:part><pns:createCustomer > xmlns:pns="http://geneva.nova.com/custome > r"> > <pns:value>aaaa</pns:value> > </pns:createCustomer></jbi:part></jbi:message> > ] > > This means the message is received and processed(send to cxf-provider > endpoint) successfully by jms consumer endpoint. > > so when cxf-provider endpoint catch an exception or an error, the message > can't be rollbacked to jms queue where jms consumer endpoint listen. > > I think this case can not be achieved in ServiceMix. > > If I am wrong, can you tell me how can I finish this case? > > thanks and regards. > > > Gert Vanthienen wrote: >> >> L.S., >> >> One option would be to enable transactions on the jms consumer >> endpoint (transacted="jms"). Another option would be to get the JMS >> client to acknowledge the message, like this: >> >> <jms:consumer .... >> sessionAcknowledgeMode="#AcknowledgeMode"/> >> >> <util:constant id="AcknowledgeMode" >> static-field="javax.jms.Session.CLIENT_ACKNOWLEDGE"/> >> >> Regards, >> >> Gert Vanthienen >> ------------------------ >> Open Source SOA: http://fusesource.com >> Blog: http://gertvanthienen.blogspot.com/ >> >> >> >> 2009/11/9 colin.chi <[email protected]>: >>> >>> work flow as follow: >>> >>> [external client]--->cxf-bc-consumer--->jms-provider--->jms queue >>> >>> jms queue--->jms-consumer--->cxf-bc-provider--->[external service] >>> >>> when external service is shut down, message don't rollback to jms queue >>> and >>> throw exception. >>> >>> how to config jms consumer and cxf bc provider to do this case? >>> >>> =======================log begin========================== >>> >>> 2009-11-09 11:19:28,046 DEBUG - JettyHTTPDestination - Service >>> http request on thread: thread[22434...@qtp0-0,5,RMI Runt >>> ime] >>> 2009-11-09 11:19:28,046 DEBUG - AbstractHTTPDestination - Request >>> Headers: {connection=[Keep-Alive], Host=[localhost:8080], >>> Content-Length=[364], User-Agent=[Mozilla/4.0 (compatible; MSIE 7.0; >>> Windows NT 5.1; Trident/4.0; GOSURF)], accept-encoding=[gzip >>> , deflate], Accept=[*/*], Cache-Control=[no-cache]} >>> 2009-11-09 11:19:28,046 DEBUG - PhaseInterceptorChain - Chain >>> org.apache.cxf.phase.phaseinterceptorch...@735ad7 was creat >>> ed. Current flow: >>> receive [AttachmentInInterceptor] >>> post-stream [StaxInInterceptor] >>> read [ReadHeadersInterceptor] >>> pre-protocol [, MustUnderstandInterceptor, JbiJAASInterceptor] >>> unmarshal [JbiOperationInterceptor] >>> pre-invoke [JbiInWsdl1Interceptor, JbiInInterceptor] >>> invoke [JbiInvokerInterceptor] >>> post-invoke [JbiPostInvokerInterceptor, OutgoingChainInterceptor] >>> >>> 2009-11-09 11:19:28,125 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.interceptor. >>> attachmentinintercep...@14d8c8 >>> 2009-11-09 11:19:28,125 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.interceptor. >>> staxinintercep...@a4480d >>> 2009-11-09 11:19:28,125 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.binding.soap >>> .interceptor.readheadersintercep...@1766d9c >>> 2009-11-09 11:19:28,125 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.servicemix.cxfbc >>> .cxfbcconsume...@1b7715d >>> 2009-11-09 11:19:28,125 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.binding.soap >>> .interceptor.mustunderstandintercep...@73a403 >>> 2009-11-09 11:19:28,125 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.servicemix.cxfbc >>> .interceptors.jbijaasintercep...@ca7c93 >>> 2009-11-09 11:19:28,140 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.servicemix.cxfbc >>> .interceptors.jbioperationintercep...@1626bf >>> 2009-11-09 11:19:28,140 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.servicemix.cxfbc >>> .interceptors.jbiinwsdl1intercep...@49e885 >>> 2009-11-09 11:19:28,140 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.servicemix.cxfbc >>> .interceptors.jbiinintercep...@407909 >>> 2009-11-09 11:19:28,140 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.servicemix.cxfbc >>> .cxfbcconsumer$jbiinvokerintercep...@1b8a6af >>> 2009-11-09 11:19:28,140 DEBUG - CxfBcComponent - Created >>> correlation id: ID:10.80.12.85-124d6ebc094-2:10 >>> 2009-11-09 11:19:28,140 DEBUG - DeliveryChannelImpl - Send >>> ID:10.80.12.85-124d6ebc094-2:10 in DeliveryChannel{servicemi >>> x-cxf-bc} >>> 2009-11-09 11:19:28,140 DEBUG - SecuredBroker - send >>> exchange with secure broker >>> 2009-11-09 11:19:28,140 DEBUG - SecuredBroker - service >>> name :{http://www.hcsys.com/novaesb/}jms >>> 2009-11-09 11:19:28,140 DEBUG - SecuredBroker - >>> operation >>> name :{http://www.hcsys.com/novaesb/}createCustomer >>> 2009-11-09 11:19:28,140 DEBUG - SedaFlow - Called >>> Flow >>> send >>> 2009-11-09 11:19:28,140 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.servicemix.cxfbc >>> .cxfbcconsumer$jbipostinvokerintercep...@1c76cab >>> 2009-11-09 11:19:28,140 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.interceptor. >>> outgoingchainintercep...@1af691b >>> 2009-11-09 11:19:28,156 DEBUG - JettyHTTPDestination - Finished >>> servicing http request on thread: thread[22434...@qtp0-0 >>> ,5,RMI Runtime] >>> 2009-11-09 11:19:28,156 DEBUG - SedaQueue - >>> org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@45ac89 dequeu >>> ed exchange: InOnly[ >>> id: ID:10.80.12.85-124d6ebc094-2:10 >>> status: Active >>> role: provider >>> service: {http://www.hcsys.com/novaesb/}jms >>> endpoint: provider >>> operation: {http://www.hcsys.com/novaesb/}createCustomer >>> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >>> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="htt >>> p://www.hcsys.com/novaesb/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" nam >>> e="createCustomer" type="msg:createCustomer" >>> version="1.0"><jbi:part><pns:createCustomer >>> xmlns:pns="http://geneva.nova.com/custome >>> r"> >>> <pns:value>aaaa</pns:value> >>> </pns:createCustomer></jbi:part></jbi:message> >>> ] >>> 2009-11-09 11:19:28,156 DEBUG - JmsComponent - Received >>> exchange: status: Active, role: provider >>> 2009-11-09 11:19:28,156 DEBUG - JmsComponent - >>> Retrieved >>> correlation id: ID:10.80.12.85-124d6ebc094-2:10 >>> 2009-11-09 11:19:28,156 DEBUG - DeliveryChannelImpl - Send >>> ID:10.80.12.85-124d6ebc094-2:10 in DeliveryChannel{servicemi >>> x-jms} >>> 2009-11-09 11:19:28,156 DEBUG - SecuredBroker - send >>> exchange with secure broker >>> 2009-11-09 11:19:28,156 DEBUG - SedaFlow - Called >>> Flow >>> send >>> 2009-11-09 11:19:28,156 DEBUG - MultiplexingConsumerProcessor - Received >>> jms message ActiveMQTextMessage {commandId = 17, respons >>> eRequired = true, messageId = >>> ID:8014ac188efd43a-4422-1257736227984-2:10:1:1:11, originalDestination = >>> null, originalTransactionId >>> = null, producerId = ID:8014ac188efd43a-4422-1257736227984-2:10:1:1, >>> destination = queue://queue/A, transactionId = null, expirat >>> ion = 0, timestamp = 1257736768156, arrival = 0, brokerInTime = >>> 1257736768156, brokerOutTime = 1257736768156, correlationId = null >>> , replyTo = null, persistent = true, type = null, priority = 4, groupID = >>> null, groupSequence = 0, targetConsumerId = null, compre >>> ssed = false, userID = null, content = null, marshalledProperties = >>> org.apache.activemq.util.byteseque...@1713c03, dataStructure = >>> null, redeliveryCounter = 0, size = 0, properties = >>> {MimeContentType=text/xml;charset=UTF-8, >>> SoapAction=/{http://www.hcsys.com/no >>> vaesb/}createCustomer, >>> SOAPJMS_soapAction=/{http://www.hcsys.com/novaesb/}createCustomer}, >>> readOnlyProperties = true, readOnlyBody >>> = true, droppable = false, text = <?xml version='1.0' >>> encoding='UTF-8'?><jbi:me...jbi:message>} >>> 2009-11-09 11:19:28,171 DEBUG - MultiplexingConsumerProcessor - Handling >>> jms message ActiveMQTextMessage {commandId = 17, respons >>> eRequired = true, messageId = >>> ID:8014ac188efd43a-4422-1257736227984-2:10:1:1:11, originalDestination = >>> null, originalTransactionId >>> = null, producerId = ID:8014ac188efd43a-4422-1257736227984-2:10:1:1, >>> destination = queue://queue/A, transactionId = null, expirat >>> ion = 0, timestamp = 1257736768156, arrival = 0, brokerInTime = >>> 1257736768156, brokerOutTime = 1257736768156, correlationId = null >>> , replyTo = null, persistent = true, type = null, priority = 4, groupID = >>> null, groupSequence = 0, targetConsumerId = null, compre >>> ssed = false, userID = null, content = null, marshalledProperties = >>> org.apache.activemq.util.byteseque...@1713c03, dataStructure = >>> null, redeliveryCounter = 0, size = 0, properties = >>> {MimeContentType=text/xml;charset=UTF-8, >>> SoapAction=/{http://www.hcsys.com/no >>> vaesb/}createCustomer, >>> SOAPJMS_soapAction=/{http://www.hcsys.com/novaesb/}createCustomer}, >>> readOnlyProperties = true, readOnlyBody >>> = true, droppable = false, text = <?xml version='1.0' >>> encoding='UTF-8'?><jbi:me...jbi:message>} >>> 2009-11-09 11:19:28,171 DEBUG - SedaQueue - >>> org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@89e163 dequeu >>> ed exchange: InOnly[ >>> id: ID:10.80.12.85-124d6ebc094-2:10 >>> status: Done >>> role: consumer >>> service: {http://www.hcsys.com/novaesb/}jms >>> endpoint: provider >>> operation: {http://www.hcsys.com/novaesb/}createCustomer >>> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >>> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="htt >>> p://www.hcsys.com/novaesb/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" nam >>> e="createCustomer" type="msg:createCustomer" >>> version="1.0"><jbi:part><pns:createCustomer >>> xmlns:pns="http://geneva.nova.com/custome >>> r"> >>> <pns:value>aaaa</pns:value> >>> </pns:createCustomer></jbi:part></jbi:message> >>> ] >>> 2009-11-09 11:19:28,171 DEBUG - JmsComponent - Created >>> correlation id: ID:10.80.12.85-124d6ebc094-4:10 >>> 2009-11-09 11:19:28,171 DEBUG - CxfBcComponent - Received >>> exchange: status: Done, role: consumer >>> 2009-11-09 11:19:28,171 DEBUG - DeliveryChannelImpl - Send >>> ID:10.80.12.85-124d6ebc094-4:10 in DeliveryChannel{servicemi >>> x-jms} >>> 2009-11-09 11:19:28,171 DEBUG - CxfBcComponent - >>> Retrieved >>> correlation id: ID:10.80.12.85-124d6ebc094-2:10 >>> 2009-11-09 11:19:28,171 DEBUG - SecuredBroker - send >>> exchange with secure broker >>> 2009-11-09 11:19:28,171 DEBUG - SecuredBroker - service >>> name :{http://geneva.nova.com/customer}CustomerInImplServ >>> ice >>> 2009-11-09 11:19:28,171 DEBUG - SecuredBroker - >>> operation >>> name :{http://geneva.nova.com/customer}createCustomer >>> 2009-11-09 11:19:28,171 DEBUG - SedaFlow - Called >>> Flow >>> send >>> 2009-11-09 11:19:28,187 DEBUG - SedaQueue - >>> org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@4437d3 dequeu >>> ed exchange: InOnly[ >>> id: ID:10.80.12.85-124d6ebc094-4:10 >>> status: Active >>> role: provider >>> service: {http://geneva.nova.com/customer}CustomerInImplService >>> endpoint: CustomerInGenevaPortTypePort >>> operation: {http://geneva.nova.com/customer}createCustomer >>> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >>> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="htt >>> p://www.hcsys.com/novaesb/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" nam >>> e="createCustomer" type="msg:createCustomer" >>> version="1.0"><jbi:part><pns:createCustomer >>> xmlns:pns="http://geneva.nova.com/custome >>> r"> >>> <pns:value>aaaa</pns:value> >>> </pns:createCustomer></jbi:part></jbi:message> >>> ] >>> 2009-11-09 11:19:28,187 DEBUG - CxfBcComponent - Received >>> exchange: status: Active, role: provider >>> 2009-11-09 11:19:28,187 DEBUG - CxfBcComponent - >>> Retrieved >>> correlation id: ID:10.80.12.85-124d6ebc094-4:10 >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Adding >>> interceptor org.apache.servicemix.cxfbc.interceptors.JbiOu >>> tintercep...@dd6a50 to phase pre-stream >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Adding >>> interceptor org.apache.servicemix.cxfbc.interceptors.JbiOu >>> twsdl1intercep...@6ed9d1 to phase marshal >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Adding >>> interceptor org.apache.cxf.binding.soap.interceptor.SoapPr >>> eprotocoloutintercep...@19e4f8b to phase post-logical >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Adding >>> interceptor org.apache.cxf.binding.soap.interceptor.SoapOu >>> tintercep...@782f81 to phase write >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Adding >>> interceptor org.apache.cxf.binding.soap.interceptor.SoapAc >>> tionoutintercep...@76df38 to phase post-logical >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Adding >>> interceptor org.apache.cxf.interceptor.StaxOutInterceptor@ >>> 38df00 to phase pre-stream >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Chain >>> org.apache.cxf.phase.phaseinterceptorch...@1b896dc was crea >>> ted. Current flow: >>> post-logical [SoapPreProtocolOutInterceptor, SoapActionOutInterceptor] >>> pre-stream [JbiOutInterceptor, StaxOutInterceptor] >>> write [SoapOutInterceptor] >>> marshal [JbiOutWsdl1Interceptor] >>> >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.binding.soap >>> .interceptor.soappreprotocoloutintercep...@19e4f8b >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.binding.soap >>> .interceptor.soapactionoutintercep...@76df38 >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.servicemix.cxfbc >>> .interceptors.jbioutintercep...@dd6a50 >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.interceptor. >>> staxoutintercep...@38df00 >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Adding >>> interceptor org.apache.cxf.interceptor.StaxOutInterceptor$ >>> staxoutendingintercep...@1073a2e to phase pre-stream-ending >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Chain >>> org.apache.cxf.phase.phaseinterceptorch...@1b896dc was modi >>> fied. Current flow: >>> post-logical [SoapPreProtocolOutInterceptor, SoapActionOutInterceptor] >>> pre-stream [JbiOutInterceptor, StaxOutInterceptor] >>> write [SoapOutInterceptor] >>> marshal [JbiOutWsdl1Interceptor] >>> pre-stream-ending [StaxOutEndingInterceptor] >>> >>> 2009-11-09 11:19:28,187 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.binding.soap >>> .interceptor.soapoutintercep...@782f81 >>> 2009-11-09 11:19:28,203 DEBUG - PhaseInterceptorChain - Adding >>> interceptor org.apache.cxf.binding.soap.interceptor.SoapOu >>> tinterceptor$soapoutendingintercep...@17cb4ff to phase write-ending >>> 2009-11-09 11:19:28,203 DEBUG - PhaseInterceptorChain - Chain >>> org.apache.cxf.phase.phaseinterceptorch...@1b896dc was modi >>> fied. Current flow: >>> post-logical [SoapPreProtocolOutInterceptor, SoapActionOutInterceptor] >>> pre-stream [JbiOutInterceptor, StaxOutInterceptor] >>> write [SoapOutInterceptor] >>> marshal [JbiOutWsdl1Interceptor] >>> write-ending [SoapOutEndingInterceptor] >>> pre-stream-ending [StaxOutEndingInterceptor] >>> >>> 2009-11-09 11:19:28,203 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.servicemix.cxfbc >>> .interceptors.jbioutwsdl1intercep...@6ed9d1 >>> 2009-11-09 11:19:28,203 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.binding.soap >>> .interceptor.soapoutinterceptor$soapoutendingintercep...@17cb4ff >>> 2009-11-09 11:19:28,203 DEBUG - PhaseInterceptorChain - Invoking >>> handleMessage on interceptor org.apache.cxf.interceptor. >>> staxoutinterceptor$staxoutendingintercep...@1073a2e >>> 2009-11-09 11:19:28,203 DEBUG - HTTPConduit - Sending >>> POST Message with Headers to http://10.80.12.100:8080/Gen >>> evaESB/services/CustomerAccount Conduit >>> :{http://geneva.nova.com/customer}CustomerInGenevaPortTypePort.http-conduit >>> Content-Type: text/xml; charset=UTF-8 >>> >>> 2009-11-09 11:19:28,203 DEBUG - HTTPConduit - >>> SOAPAction: >>> "" >>> 2009-11-09 11:19:28,203 DEBUG - HTTPConduit - Accept: >>> * >>> 2009-11-09 11:19:28,203 DEBUG - HTTPConduit - No Trust >>> Decider for Conduit '{http://geneva.nova.com/customer}Cu >>> stomerInGenevaPortTypePort.http-conduit'. An afirmative Trust Decision is >>> assumed. >>> 2009-11-09 11:19:28,234 DEBUG - HTTPConduit - Response >>> Code: 404 Conduit: {http://geneva.nova.com/customer}Cust >>> omerInGenevaPortTypePort.http-conduit >>> 2009-11-09 11:19:28,234 DEBUG - HTTPConduit - Content >>> length: 952 >>> 2009-11-09 11:19:28,234 DEBUG - HTTPConduit - Header >>> fields: >>> null: [HTTP/1.1 404 Not Found] >>> Date: [Mon, 09 Nov 2009 03:19:04 GMT] >>> Content-Length: [952] >>> Content-Type: [text/html;charset=utf-8] >>> Server: [Apache-Coyote/1.1] >>> >>> 2009-11-09 11:19:28,265 ERROR - CxfBcComponent - Error >>> processing exchange InOnly[ >>> id: ID:10.80.12.85-124d6ebc094-4:10 >>> status: Active >>> role: provider >>> service: {http://geneva.nova.com/customer}CustomerInImplService >>> endpoint: CustomerInGenevaPortTypePort >>> operation: {http://geneva.nova.com/customer}createCustomer >>> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >>> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="htt >>> p://www.hcsys.com/novaesb/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" nam >>> e="createCustomer" type="msg:createCustomer" >>> version="1.0"><jbi:part><pns:createCustomer >>> xmlns:pns="http://geneva.nova.com/custome >>> r"> >>> <pns:value>aaaa</pns:value> >>> </pns:createCustomer></jbi:part></jbi:message> >>> ] >>> javax.jbi.messaging.MessagingException: Fault not supported >>> at >>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:366) >>> at >>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setFault(MessageExchangeImpl.java:290) >>> at >>> org.apache.servicemix.cxfbc.CxfBcProvider.faultProcess(CxfBcProvider.java:277) >>> at >>> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:261) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535) >>> at >>> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60) >>> at >>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623) >>> at >>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) >>> at >>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168) >>> at >>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>> at java.lang.Thread.run(Thread.java:619) >>> 2009-11-09 11:19:28,296 DEBUG - DeliveryChannelImpl - Send >>> ID:10.80.12.85-124d6ebc094-4:10 in DeliveryChannel{servicemi >>> x-cxf-bc} >>> 2009-11-09 11:19:28,296 DEBUG - SecuredBroker - send >>> exchange with secure broker >>> 2009-11-09 11:19:28,296 DEBUG - SedaFlow - Called >>> Flow >>> send >>> 2009-11-09 11:19:28,296 DEBUG - SedaQueue - >>> org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@247262 dequeu >>> ed exchange: InOnly[ >>> id: ID:10.80.12.85-124d6ebc094-4:10 >>> status: Error >>> role: consumer >>> service: {http://geneva.nova.com/customer}CustomerInImplService >>> endpoint: CustomerInGenevaPortTypePort >>> operation: {http://geneva.nova.com/customer}createCustomer >>> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >>> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="htt >>> p://www.hcsys.com/novaesb/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" nam >>> e="createCustomer" type="msg:createCustomer" >>> version="1.0"><jbi:part><pns:createCustomer >>> xmlns:pns="http://geneva.nova.com/custome >>> r"> >>> <pns:value>aaaa</pns:value> >>> </pns:createCustomer></jbi:part></jbi:message> >>> error: javax.jbi.messaging.MessagingException: Fault not supported >>> ] >>> 2009-11-09 11:19:28,296 DEBUG - JmsComponent - Received >>> exchange: status: Error, role: consumer >>> 2009-11-09 11:19:28,296 DEBUG - JmsComponent - >>> Retrieved >>> correlation id: ID:10.80.12.85-124d6ebc094-4:10 >>> 2009-11-09 11:19:28,328 ERROR - JmsComponent - Error >>> processing exchange InOnly[ >>> id: ID:10.80.12.85-124d6ebc094-4:10 >>> status: Error >>> role: consumer >>> service: {http://geneva.nova.com/customer}CustomerInImplService >>> endpoint: CustomerInGenevaPortTypePort >>> operation: {http://geneva.nova.com/customer}createCustomer >>> in: <?xml version="1.0" encoding="UTF-8"?><jbi:message >>> xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="htt >>> p://www.hcsys.com/novaesb/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" nam >>> e="createCustomer" type="msg:createCustomer" >>> version="1.0"><jbi:part><pns:createCustomer >>> xmlns:pns="http://geneva.nova.com/custome >>> r"> >>> <pns:value>aaaa</pns:value> >>> </pns:createCustomer></jbi:part></jbi:message> >>> error: javax.jbi.messaging.MessagingException: Fault not supported >>> ] >>> java.lang.UnsupportedOperationException: A destination must be specified. >>> at >>> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:195) >>> at >>> org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:74) >>> at >>> org.apache.activemq.pool.PooledProducer.send(PooledProducer.java:59) >>> at >>> org.apache.servicemix.jms.multiplexing.MultiplexingConsumerProcessor.process(MultiplexingConsumerProcessor.java:126) >>> at >>> org.apache.servicemix.soap.SoapEndpoint.process(SoapEndpoint.java:368) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:598) >>> at >>> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535) >>> at >>> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60) >>> at >>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623) >>> at >>> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) >>> at >>> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168) >>> at >>> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>> at >>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>> at java.lang.Thread.run(Thread.java:619) >>> >>> >>> =======================log end========================== >>> -- >>> View this message in context: >>> http://old.nabble.com/When-external-service-is-shut-down%2C-message-don%27t-rollback-to-jms-queue.-tp26260776p26260776.html >>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>> >>> >> >> >> ----- >> --- >> Gert Vanthienen >> http://gertvanthienen.blogspot.com >> > > -- > View this message in context: > http://old.nabble.com/When-external-service-is-shut-down%2C-message-don%27t-rollback-to-jms-queue.-tp26260776p26297802.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > >
