Missing ConfiguredBeanLocator in bus created by org.apache.cxf.bus.CXFBusFactory
--------------------------------------------------------------------------------

                 Key: CXF-2927
                 URL: https://issues.apache.org/jira/browse/CXF-2927
             Project: CXF
          Issue Type: Bug
          Components: Bus
            Reporter: Alessio Soldano
             Fix For: 2.3


On the current trunk (2.3-SNAPSHOT) a ConfiguredBeanLocator instance is only 
installed when the Spring based Bus factory is used. Unfortunately not all the 
retrieval of that bus extensions are followed by a check for the extension 
being actually available, hence it's possible to get NPE.
I've reproduced this issue when manually enabling WS-Policy engine after 
building the Bus with the CXFBusFactory as well as using the wsdl2java tooling 
(without spring available).
In the latter, for instance, the BindingFactoryManagerImpl throws NPE when 
finding the BindingFactory for a wsdl segement like this:
    <binding name="Hello2Binding" type="tns:Hello2">
   <wsp:Policy>
     <wsam:Addressing wsp:Optional="true">
       <wsp:Policy/>
     </wsam:Addressing>
   </wsp:Policy> 

As a temporary workaround I've succesfully verified adding a dummy locator to 
the bus solves the problem. That would implement ConfiguredBeanLocator 
returning null/empty collections.
However, I'm worndering what we want to do here, we can either go and protect 
every access to this locator or install a default one that does nothing in the 
CXFBusFactory.

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

Reply via email to