Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apache CXF conduit matching strategy

Tags:

spring

cxf

Maybe anyone knows how does Apache CXF match HTTP conduits, configured in Spring? I mean, here is the conduit definition:

<http-conf:conduit name="{http://abc.com/wsdl}MyPortHttp.http-conduit">
    <http-conf:client Connection="Keep-Alive" MaxRetransmits="1" ReceiveTimeout="180000" />
</http-conf:conduit>

What happens if I omit .http-conduit part? Where is the code of actual matching? My quick search has no effect.

like image 474
madhead - StandWithUkraine Avatar asked Jan 16 '13 14:01

madhead - StandWithUkraine


1 Answers

It is done mostly in org.apache.cxf.transport.http.HTTPTransportFactory#configure(Object, String, String). Then it dispatches to org.apache.cxf.configuration.spring.ConfigurerImpl.configureBean(String, Object, boolean). If you omit .http-conduit part, configuration will not be visible for CXF, as it has very simple matching behavior: by wildcard, or by conduit name (org.apache.cxf.transport.http.HTTPConduit.getBeanName() contains hardcoded .http-conduit suffix).

Also, I've faced a strange behavior when wildcard conduit overrides port-specific one. Check this issue.

like image 124
madhead - StandWithUkraine Avatar answered Oct 21 '22 19:10

madhead - StandWithUkraine