Details
Description
If custom transport conduit is resolved via SoapTransportFactory.getConduit(EndpointInfo ei) and transport is not found in ConduitInitiatorManager, following exception is thrown:
java.lang.NullPointerException
at org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactor
y.java:228)[131:org.apache.cxf.bundle:2.4.2]
The reason is following: ConduitInitiatorManager.getConduitInitiatorForUri() doesn't throw BusException in case if transport is not found, therefore line "return conduitInit.getConduit(ei)" throws NPE.
I see two possible solutions:
A) throw BusException in ConduitInitiatorManager.getConduitInitiatorForUri() in the same way as ConduitInitiatorManager.getConduitInitiator()
B) Check for null in SoapTransportFactory
(A) is risky, because it has invluence on all calls of ConduitInitiatorManager.getConduitInitiatorForUri()
Patch for (B) is attached.