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