hello, 

Following is my work flow 

                         |->smx-bean1 
cxf-bc->smx-eip--|->smx-bean2 
                         |->cxf-bc(provider)

cxf-bc(provider) is asynchronised service call(there is no out param in
service)

when i am executing gives following error , 

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Server</faultcode>
         <faultstring>illegal exchange status: done</faultstring>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

complete error stack as follows 

javax.jbi.messaging.MessagingException: illegal exchange status: done
        at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:626)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:386)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:432)
        at
org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:88)
        at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:254)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:600)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:554)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:510)
        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:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
INFO  - PhaseInterceptorChain          - Interceptor has thrown exception,
unwinding now
org.apache.cxf.interceptor.Fault: illegal exchange status: done
        at
org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:722)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:226)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:295)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:258)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Caused by: javax.jbi.messaging.MessagingException: illegal exchange status:
done
        at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(MessageExchangeImpl.java:626)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:386)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:432)
        at
org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:88)
        at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:254)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:600)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:554)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:510)
        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:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)




cxf-provider xbean config as follows 

<cxfbc:provider wsdl="classpath:EkaPoImportProcess.wsdl"
                     
locationURI="http://oracleebs.ekablr.com:80/orabpel/default/EkaPoImportProcess/1.10";
                      service="imp:EkaPoImportProcess"
                      endpoint="EkaPoImportProcessPort"
                      interfaceName="imp:EkaPoImportProcess"/>

following is wsdl. 

<?xml version="1.0" encoding="UTF-8"?>
<definitions
     name="EkaPoImportProcess"
     targetNamespace="http://xmlns.oracle.com/EkaPoImportProcess";
     xmlns="http://schemas.xmlsoap.org/wsdl/";
     xmlns:tns="http://xmlns.oracle.com/EkaPoImportProcess";
     xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing";
     xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/";
     xmlns:xsd="http://www.w3.org/2001/XMLSchema";
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
     xmlns:client="http://xmlns.oracle.com/EkaPoImportProcess";
    >
    <types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema";>
            <import namespace="http://xmlns.oracle.com/EkaPoImportProcess";
schemaLocation="EkaPoImportProcess.xsd"/>
        </schema>
        <schema xmlns="http://www.w3.org/2001/XMLSchema";>
            <import
namespace="http://schemas.xmlsoap.org/ws/2003/03/addressing";
schemaLocation="http://oracleebs.ekablr.com:80/orabpel/xmllib/ws-addressing.xsd"/>
        </schema>
    </types>
    <message name="EkaPoImportProcessRequestMessage">
        <part name="payload"
element="tns:EkaPoImportProcessProcessRequest"/>
    </message>
    <message name="EkaPoImportProcessResponseMessage">
        <part name="payload"
element="tns:EkaPoImportProcessProcessResponse"/>
    </message>
    <message name="WSARelatesToHeader">
        <part name="RelatesTo" element="wsa:RelatesTo"/>
    </message>
    <message name="WSAReplyToHeader">
        <part name="ReplyTo" element="wsa:ReplyTo"/>
    </message>
    <message name="WSAMessageIDHeader">
        <part name="MessageID" element="wsa:MessageID"/>
    </message>
    <portType name="EkaPoImportProcess">
        <operation name="initiate">
            <input message="tns:EkaPoImportProcessRequestMessage"/>
        </operation>
    </portType>
    <portType name="EkaPoImportProcessCallback">
        <operation name="onResult">
            <input message="tns:EkaPoImportProcessResponseMessage"/>
        </operation>
    </portType>
    <binding name="EkaPoImportProcessCallbackBinding"
type="tns:EkaPoImportProcessCallback">
        <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="onResult">
            <soap:operation style="document" soapAction="onResult"/>
            <input>
                <soap:header message="tns:WSARelatesToHeader"
part="RelatesTo" use="literal" encodingStyle=""/>
                <soap:body use="literal"/>
            </input>
        </operation>
    </binding>
    <binding name="EkaPoImportProcessBinding" type="tns:EkaPoImportProcess">
        <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="initiate">
            <soap:operation style="document" soapAction="initiate"/>
            <input>
                <soap:header message="tns:WSAReplyToHeader" part="ReplyTo"
use="literal" encodingStyle=""/>
                <soap:header message="tns:WSAMessageIDHeader"
part="MessageID" use="literal" encodingStyle=""/>
                <soap:body use="literal"/>
            </input>
        </operation>
    </binding>
    <service name="EkaPoImportProcess">
        <port name="EkaPoImportProcessPort"
binding="tns:EkaPoImportProcessBinding">
            <soap:address
location="http://oracleebs.ekablr.com:80/orabpel/default/EkaPoImportProcess/1.10"/>
        </port>
    </service>
    <service name="EkaPoImportProcessCallbackService">
        <port name="EkaPoImportProcessCallbackPort"
binding="tns:EkaPoImportProcessCallbackBinding">
            <soap:address location="http://set.by.caller"/>
        </port>
    </service>
  <plnk:partnerLinkType name="EkaPoImportProcess">
    <plnk:role name="EkaPoImportProcessRequester">
      <plnk:portType name="tns:EkaPoImportProcessCallback"/>
    </plnk:role>
    <plnk:role name="EkaPoImportProcessProvider">
      <plnk:portType name="tns:EkaPoImportProcess"/>
    </plnk:role>
  </plnk:partnerLinkType>
</definitions>

-- 
View this message in context: 
http://www.nabble.com/illegal-exchange-status%3A-done-tp23290783p23290783.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to