Hi,
On 05/04/13 00:29, geecxf wrote:
Thank for pointing out that class. That was very helpful in debugging.
Unfortunately, the behavior is still the same only more baffling than
before!

Here's what I'm doing:

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

And the result is still the same. Neither is applied. However, if I step
through the code ClassUtil code the return value of loadProviderClasses()
seems the same as when I use a comma delimited string. I can't see any
difference. In each case a List of objects with an instance of
SamlHeaderInHandler and JacksonJsonProvider are created. However, only when
I use the comma delimited string do I get the correct behavior.

What could possibly be going on to explain this behavior?
Are you sure the property is not being used in some other bit of code?

Ok, I think I see where the problem is, the last branch within the "if (serviceProviders != null)" assumes that it is just an Object (I recall there was a request to support just that, a reference to a provider bean loaded in a Spring context), so I guess doing Arrays.asList on the actual List instance is what confuses the handler. So the immediate workaround (referring to your original example where List<String> was used) is to use String[]. Support for List<Object> and indeed for List<String> would have to go 1.4.1 (and I guess alongside with other fixes from Amichai Rothman), I'll open a JIRA to get this issue tracked

Thanks, Sergey





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


Reply via email to