Schemas passed by ServiceFactoryBean.setSchemaLocation() are not accessible in 
DataBinding model
------------------------------------------------------------------------------------------------

                 Key: CXF-2851
                 URL: https://issues.apache.org/jira/browse/CXF-2851
             Project: CXF
          Issue Type: Bug
          Components: Core
            Reporter: Nilup Bandara


I am working on implementing the JiBX databinding implementation for Apache CXF 
and I've come across the following situation which I think could be a possible 
shortcoming. I've also attached two patches as a solution for that.

I've used the following code to start up a simple service and I've used 
serviceFactoryBean.setSchemaLocations() method to pass a list of schema 
locations. 

LibraryServiceImpl libraryServiceImpl = new LibraryServiceImpl();
ServerFactoryBean svrFactory = new ServerFactoryBean();
ArrayList<String> schemaLocations = new ArrayList<String>();
schemaLocations.add("file:///home/nilupa/Documents/experiment/types.xsd");
svrFactory.setSchemaLocations(schemaLocations);
svrFactory.setServiceClass(LibraryService.class);
svrFactory.setAddress("http://localhost:8080/LibraryService";);
svrFactory.setServiceBean(libraryServiceImpl);
svrFactory.getServiceFactory().setDataBinding(new JiBXDataBinding());
svrFactory.create();

However that information is inaccessible in the service model or in the 
AbstractDataBinding classes. When I looked in more deeply I found that 
AbstarctDataBinding is populated with  schemas that are specified by 
serviceFactoryBean.setSchemaLocations() when no DataBinding is specified and 
when ReflectionServiceFactoryBean.createDefaultDataBinding() is invoked. I 
think AbstarctDataBinding should be populated not only when no databinding is 
specified but also when particular databinding object is provided with schemas 
specified by setSchemaLocations() method. 

-- 
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