[ https://issues.apache.org/jira/browse/CXF-6299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14360471#comment-14360471 ]
Sergey Beryozkin commented on CXF-6299: --------------------------------------- I know how a custom provider can be created. And I do have a test. Are you saying that if you have a single jaxrs:server then it works and if more than one - then only the first jaxrs:server is injected with bus providers ? > Providers registered in cxf bus are ignored. > -------------------------------------------- > > Key: CXF-6299 > URL: https://issues.apache.org/jira/browse/CXF-6299 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 2.7.8, 2.7.15 > Environment: JDK 1.7.0_55 > Reporter: Daumantas > > Providers list configured following > http://cxf.apache.org/docs/jaxrs-services-configuration.html documentation. > Bus object created with configuration and is being set to ProviderFactory, > but configured providers from bus are never used by ProviderFactory. > To fix problem following example can be used (updated existing initialization > method): > {code:title=AbstractJAXRSFactoryBean|language=java} > ... > private static final Object BUS_PROVIDERS_ALL = > "org.apache.cxf.jaxrs.bus.providers"; > ... > protected ProviderFactory setupFactory(Endpoint ep) { > ProviderFactory factory = ProviderFactory.createInstance(getBus()); > if (entityProviders != null) { > Map<String, Object> busProperties = getBus().getProperties(); > List<?> busProviders = > (List<?>)busProperties.get(BUS_PROVIDERS_ALL); > if (busProviders != null) { > entityProviders.addAll(busProviders); > } > factory.setUserProviders(entityProviders); > } > setDataBindingProvider(factory, ep.getService()); > > factory.setBus(getBus()); > factory.initProviders(serviceFactory.getRealClassResourceInfo()); > if (schemaLocations != null) { > factory.setSchemaLocations(schemaLocations); > } > > setBeanInfo(factory); > > ep.put(ProviderFactory.class.getName(), factory); > getBus().setProperty(ProviderFactory.class.getName(), factory); > return factory; > } > ... > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)