<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p><br>
</p>
<br>
<div class="moz-cite-prefix">On 7/22/16 2:03 AM, punit ashra wrote:<br>
</div>
<blockquote
cite="mid:CAGxGTNeVkA9r6k5iVbq_aSQptUstRGoGmUJ3bsqVY1V=XaJw0A@mail.gmail.com"
type="cite">
<div dir="ltr">Hi Dev Team,
<div><br>
</div>
<div>I am having this problem,</div>
<div><br>
</div>
<div>
<div>SEVERE [localhost-startStop-1]
org.apache.catalina.core.StandardContext.filterStart
Exception starting filter Server Configuration Filter</div>
<div> java.util.ServiceConfigurationError:
org.opensaml.core.config.Initializer: Provider
org.opensaml.core.xml.config.XMLObjectProviderInitializer
not a subtype</div>
<br>
</div>
</div>
</blockquote>
<br>
<br>
Since we know for a fact that
org.opensaml.core.xml.config.XMLObjectProviderInitializer *is*
absolutely a subtype of org.opensaml.core.config.Initializer (it's
an impl of that interface)....<br>
<br>
The only way that I know that this could happen is if you have a
very strange classloader environment. This can happen if you have
the jars living in different classloaders in a hierarchical
environment (like a servlet container), and/or duplicate jars in the
different classloaders. The classloader itself is part of the
"identity" of a class. So for example if you have an instance of
Foo from classloader A, and you do an "foo instanceof Foo" where the
class of the latter Foo is loaded from classloader B, it will
evaluate false. And the same is true for other cases of evaluating
an instance's class identity against a class literal, etc. <br>
<br>
To avoid all that, do not spread your jars (in this case OpenSAML)
across multiple classloaders or have duplicate jars in different
classloaders. If this is a web app, put all the OpenSAML jars in
your war, and nowhere else. Specifically, make sure there are no
other copies in the servlet container's other classloaders.<br>
<br>
<br>
</body>
</html>