Balaji Ravi wrote:

Hi,

I am trying to write a new Binding Factory & getting it registered with the bus. I am using a configuration based approach for this & it looks that it
has been changed over the past week...

I used to have a bus-extensions.xml file which had my binding factory & the namespace that it needed to be registered under but now i see that we have a
cxf directory with a cxf-extension.xml which does the registration of the
binding factory... Was it done on purpose? If so, can someone explain the
reasoning of doing the configuration this way?


Hi Balaji,

This is JIRA CXF-30 - in response to recent discussions on configuration in CXF and the decision to adopt an IOC based approach using Spring (see also http://cwiki.apache.org/confluence/display/CXF/Configuration+Requirements and http://cwiki.apache.org/confluence/display/CXF/Configuration+Design). While retaining other bus implementations (i.e. the CXF bus, which uses the bus-extension.xml file fragments) the Spring based bus is now the default.. You MUST provide a Spring beans cfg file (cxf-extension.xml) - and optionally may also add the bus-extensions.xml. I don't believe however that we can keep the two buses in sync longterm, so don't bother about the latter. In any case, it's not like the CXF bus is completely independent of Spring - it uses Spring only to inject property values into configurable components (but it does not inject dependencies).

For the soap binding, i see
both the xml files present in the resources/META-INF directory...

Also, for creating the service model, i need to register custom extensions
to the jwsdl model. I see that we have an extensions.xml file in the
META-INF folder of http transport which contains the mapping for these
custom extensions for the transports & bindings. Should i also follow a
similar approach? Is there any way i can do this via code? The problem with
doing it in code is that when i get my binding factory instantiated, the
service model has already been built...

To register your extensions up-front, just supply an extensions.xml file in META-INF - similar to the ones in rt-transports-http, rt-bindings-xml etc. The wsdl manager, when it initializes, grabs all extensions.xml properties files and registers the listed extensions. We should probably replace these properties files by Spring bean files (or add appropriate bean definitions to cxf-extension.xml files) so that by default we are only dealing with one file format. Not urgent though.

Andrea.



Thanks

Balaji


Reply via email to