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.