Charu Khurana
Charu Khurana

Reputation: 4551

What's the difference between these 2 Mule flows

<flow name="webserviceFlow1">
    <http:inbound-endpoint exchange-pattern="request-response" address="http://localhost:7079/service">
    <cxf:jaxws-service doc:name="SOAP" enableMuleSoapHeaders="false" serviceClass="MyService"/>
    </http:inbound-endpoint>
    <component class="MyServiceImpl" />        
</flow>

And

<flow name="webserviceFlow1">
    <http:inbound-endpoint exchange-pattern="request-response" address="http://localhost:7079/service"/>
    <cxf:jaxws-service doc:name="SOAP" enableMuleSoapHeaders="false" serviceClass="MyService"/>
    <component class="MyServiceImpl" />        
</flow>

Upvotes: 0

Views: 329

Answers (1)

David Dossot
David Dossot

Reputation: 33413

If the flow stays as it is in your question, they're functionally equivalent.

If you would want to make this flow also accessible for direct requests, say over the VM transport, by using a <composite-source>, then you'll want to circumscribe the cxf:jaxws-service to the http:inbound-endpoint so the CXF logic doesn't kick in, as shown here:

<flow name="webserviceFlow1">
    <composite-source>
        <vm:inbound-endpoint path="directAccess" />
        <http:inbound-endpoint exchange-pattern="request-response" address="http://localhost:7079/service">
            <cxf:jaxws-service doc:name="SOAP" enableMuleSoapHeaders="false" serviceClass="MyService"/>
        </http:inbound-endpoint>
    </composite-source>
    <component class="MyServiceImpl" />        
</flow>

Upvotes: 3

Related Questions