<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 11/12/16 1:56 AM, Gaurav Kumar
      wrote:<br>
    </div>
    <blockquote
      cite="mid:B25440C9-43FE-4448-B472-372000B6AACD@gmail.com"
      type="cite"><br>
      <div class="">
        <p style="margin: 0px 0px 1em; padding: 0px; border: 0px;
          font-size: 15px; clear: both; color: rgb(36, 39, 41);
          font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
          font-variant-ligatures: normal; orphans: 2; widows: 2;
          background-color: rgb(255, 255, 255);" class="">I'm using
          following code to get SAML assertion-</p>
      </div>
    </blockquote>
    <br>
    <br>
    What you have there isn't wrong, but you probably have more code
    than you need, and it's less efficient than it could be.<br>
    <br>
    I'd recommend the following:<br>
    <br>
    1) use an OpenSAML ParserPool instance rather than constructing and
    using DocumentBuilderFactorys.  It's more efficient.  We also had
    the ParserPool in v2, btw.<br>
    2) we have some helper methods that make the common marshalling and
    unmarshalling cases easier, as well as certain other things.  Check
    out the class org.opensaml.core.xml.util.XMLObjectSupport.<br>
    <br>
    Most of what you have can reduce to 3 lines of code:<br>
    <br>
    <tt>InitializationService.initialize();</tt><tt>  // Just do this
      once in your application's lifecycle<br>
      <br>
    </tt><tt>InputStream is = ...; // get an input stream for the XML to
      be parsed</tt><tt><br>
      <br>
    </tt><tt>XMLObject xmlObject =
      XMLObjectSupport.unmarshallFromInputStream(</tt><tt><br>
    </tt><tt>        XMLObjectProviderRegistrySupport.getParserPool(),
      is);</tt><tt><br>
    </tt><br>
    As a part of the unmarshall call, you can of course cast the
    returned value to Response, etc, if you know that's what it is.<br>
    <br>
    <br>
    <br>
    <blockquote
      cite="mid:B25440C9-43FE-4448-B472-372000B6AACD@gmail.com"
      type="cite">
      <div class="">My POM-
        <pre style="margin-top: 0px; padding: 5px; border: 0px; font-size: 13px; width: auto; max-height: 600px; overflow: auto; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; background-color: rgb(239, 240, 241); color: rgb(57, 51, 24); word-wrap: normal; font-variant-ligatures: normal; orphans: 2; widows: 2;" class="prettyprint prettyprinted lang-java"><code style="margin: 0px; padding: 0px; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; white-space: inherit;" class=""><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">         </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"><</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">dependency</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">
            </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"><</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">groupId</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">org</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">.</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">opensaml</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"></</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">groupId</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">
            </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"><</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">artifactId</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">opensaml</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">-</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">core</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"></</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">artifactId</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">
            </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"><</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">version</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(125, 39, 39);" class="lit">3.2</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">.</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(125, 39, 39);" class="lit">0</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"></</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">version</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">
        </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"></</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">dependency</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">


        </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"><</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">dependency</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">
            </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"><</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">groupId</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">org</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">.</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">opensaml</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"></</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">groupId</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">
            </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"><</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">artifactId</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">opensaml</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">-</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">saml</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">-</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">api</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"></</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">artifactId</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">
            </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"><</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">version</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(125, 39, 39);" class="lit">3.2</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">.</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(125, 39, 39);" class="lit">0</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"></</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">version</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">
        </span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun"></</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pln">dependency</span><span style="margin: 0px; padding: 0px; border: 0px; color: rgb(48, 51, 54);" class="pun">></span></code></pre>
        <p style="margin: 0px 0px 1em; padding: 0px; border: 0px;
          font-size: 15px; clear: both; color: rgb(36, 39, 41);
          font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
          font-variant-ligatures: normal; orphans: 2; widows: 2;
          background-color: rgb(255, 255, 255);" class="">The problem is
          that I am getting <code style="margin: 0px; padding: 1px 5px; border: 0px; font-size: 13px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; background-color: rgb(239, 240, 241); white-space: pre-wrap;" class="">null</code> for <code style="margin: 0px; padding: 1px 5px; border: 0px; font-size: 13px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; background-color: rgb(239, 240, 241); white-space: pre-wrap;" class="">unmarshaller</code> .
          I've verified that the <code style="margin: 0px; padding: 1px 5px; border: 0px; font-size: 13px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; background-color: rgb(239, 240, 241); white-space: pre-wrap;" class="">samlResponse</code> is
          valid<br>
        </p>
      </div>
    </blockquote>
    <br>
    <br>
    <br>
    If that's literally all you have for opensaml-* dependencies in your
    POM, then that's your problem.  You need to add in all the
    appropriate -impl dependencies.  If you just add opensaml-saml-impl,
    Maven should pull most or all of the rest in transitively, depending
    on what you need.  For the full list of deps you can pull in, we
    have some notes and links here:
    <a class="moz-txt-link-freetext" href="http://shibboleth.net/downloads/java-opensaml/latest/">http://shibboleth.net/downloads/java-opensaml/latest/</a><br>
    <br>
    <br>
  </body>
</html>