<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0in;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";
color:black;}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";}
span.EmailStyle19
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.comment-copy
{mso-style-name:comment-copy;}
span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:windowtext">InitializationService.initialize() is being called in the constructor of my service’s main class; the marshalling code is called from a method in the class. I don’t have any weird or non-standard classloading
anywhere, so I’m pretty sure it is not an order-of-operations thing.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">What I do think it could be is that I’m missing dependencies. In v2, I only needed a single opensaml dependency in my pom file. Is the same true in v3? I had only opensaml-core listed, and have just added
opensaml-xmlsec-api, opensaml-profile-api, opensaml-security-api, opensaml-storage-api, and opensaml-saml-api, but I’m still having the same issue. Did I miss a library? Or am I going up the wrong tree here?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext">Thanx,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><b><span style="color:windowtext">Stephen W. Chappell<o:p></o:p></span></b></p>
</div>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> dev [mailto:dev-bounces@shibboleth.net]
<b>On Behalf Of </b>Brent Putman<br>
<b>Sent:</b> Wednesday, June 17, 2015 1:50 PM<br>
<b>To:</b> dev@shibboleth.net<br>
<b>Subject:</b> Re: NPE while marshalling an object<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 6/17/15 9:55 AM, <a href="mailto:Stephen.CTR.Chappell@faa.gov">
Stephen.CTR.Chappell@faa.gov</a> wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">xmlObjectRegistry.getMarshallerFactory().getMarshaller(assertion).marshall(assertion); // assertion is an org.opensaml.saml.saml1.core.Assertion<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">which yields this:<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">java.lang.NullPointerException<o:p></o:p></p>
<p class="MsoNormal"> at org.opensaml.core.xml.io.AbstractXMLObjectMarshaller.marshall(AbstractXMLObjectMarshaller.java:74)<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">It looks like the OpenSAML parser pool is not initialized properly?
<o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><br>
Yes, based on the line number, that's what the error would seem to indicate.<br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<p class="MsoNormal">I am calling InitializationService.initialize() where I previously calling
<span class="comment-copy">DefaultBootstrap.bootstrap().</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><br>
That should be all that is required. Are you sure you are initializing the library early enough that the init is in effect before the above call is being made? That is the only obvious issue I can think of.<br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<p class="MsoNormal"><span class="comment-copy">Is there some additional configuration or initialization that needs to be done before I can use the marshallers?</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><br>
Nope, that should be all.<br>
<br>
Do you have any sort of weird or complex classloader environment here? That is the only non-obvious issue I can think of, that you have multiple classloaders and things are happening/stored in the wrong places, indexed by wrong Class literals, etc. If this
is a web app, where are you putting all the OpenSAML jars + deps, relative to the application code that's calling it? And where is the call to InitializationService.initialize() happening?<o:p></o:p></span></p>
</div>
</body>
</html>