According to the documentation located at
https://cxf.apache.org/distributed-osgi-reference.html, there are three ways
one can specify org.apache.cxf.rs.provider: as a string, string[], or list.

However, I am seeing different behavior when I use one vs. the other. For
example: I can specify the property like so:

"org.apache.cxf.rs.security.saml.SamlHeaderInHandler,org.codehaus.jackson.jaxrs.JacksonJsonProvider"

and in this case it seems like both providers affect service behavior. I
know this because:
1. The debugger breaks into SamlHeaderInHandler
2. The returned JSON does not include the root object which is different
than the behavior I see if I don't use JacksonJsonProvider (and
coincidentally, the reason I need to use it).

On the other hand if I specify the property as a list:

List providers = new ArrayList();
providers.add("org.apache.cxf.rs.security.saml.SamlHeaderInHandler");
providers.add("org.codehaus.jackson.jaxrs.JacksonJsonProvider");

or

List<String> providers = new ArrayList<String>();
providers.add("org.apache.cxf.rs.security.saml.SamlHeaderInHandler");
providers.add("org.codehaus.jackson.jaxrs.JacksonJsonProvider");

or

providers.toArray(); // From a List<String>

I get an entirely different behavior. In fact, the behavior I see is that
neither providers are applied to the service.

Is this expected behavior? It would seem that either I am doing something
wrong or the documentation is wrong? Or maybe both?

Constructing a comma delimited string would be OK except for the fact that
in some situation we would like to pass an object as a provider. Maybe we're
asking for too much flexibility?

Thanks



--
View this message in context: 
http://cxf.547215.n5.nabble.com/Question-on-org-apache-cxf-rs-provider-tp5725851.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to