<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>