You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2010/06/16 17:25:51 UTC

[jira] Created: (SMXCOMP-760) New HTTP endpoints ignore defaultMep attribute

New HTTP endpoints ignore defaultMep attribute
----------------------------------------------

                 Key: SMXCOMP-760
                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-760
             Project: ServiceMix Components
          Issue Type: Bug
          Components: servicemix-http
    Affects Versions: servicemix-http-2010.01, servicemix-http-2009.02, servicemix-http-2009.01, servicemix-http-2008.01
            Reporter: Jean-Baptiste Onofré
            Assignee: Jean-Baptiste Onofré
             Fix For: servicemix-http-2010.02


Even if I define a xbean.xml like this:

    <http:soap-consumer service="test:service" endpoint="http"
        targetService="test:service"
        targetEndpoint="bean"
        locationURI="http://0.0.0.0:9091/smx/test-service/"
        wsdl="classpath:test.wsdl"
        defaultMep="http://www.w3.org/2004/08/wsdl/in-only"
        validateWsdl="no"/>

the HTTP endpoint send a InOut MessageExcchange and not an InOnly:

Received exchange: InOut[
  id: ID:127.0.0.1-12941561c5d-29:0
  status: Active
  role: provider
...
]

which cause problem if the target endpoint set the ExchangeStatus to DONE:

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:395)
        at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:441)
        at org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:89)
        at org.apache.servicemix.bean.BeanEndpoint$PojoChannel.send(BeanEndpoint.java:631)
        at com.fimasys.fsb.tests.ListenerBean.onMessageExchange(ListenerBean.java:19)
        at org.apache.servicemix.bean.BeanEndpoint.onProviderExchange(BeanEndpoint.java:230)
        at org.apache.servicemix.bean.BeanEndpoint.process(BeanEndpoint.java:217)
        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:632)
        at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:185)
        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)

The new HTTP endpoint should take care of the defaultMep attribute and react as expected (returning a empty SOAP message and returning just HTTP 200).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.