<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<br>
<div class="moz-cite-prefix">On 6/18/15 10:28 AM,
<a class="moz-txt-link-abbreviated" href="mailto:Stephen.CTR.Chappell@faa.gov">Stephen.CTR.Chappell@faa.gov</a> wrote:<br>
</div>
<blockquote
cite="mid:2AF57F3BA98ED14499D518E94F44EA5D1D6FDA2B@006FCH1MPN2-023.006f.mgd2.msft.net"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<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;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle22
{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]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="color:windowtext">No, I’m
sorry I wasn’t clear, it is a web service, and there is no
main. I meant that this was the primary implementing class
for my web service; which isn’t really entirely accurate
either, I was working two similar issues at once and cited
the wrong one. Sorry about that.</span></p>
</div>
</blockquote>
<br>
No problem. In that case, all I was really getting at was: if you
are putting different sets of jars and/or duplicate jars into
different classloaders in a hierarchical classloader environment,
you might run into problems. I.e. a servlet container will usually
have several; Tomcat for example as "shared" and "common" ones, in
addition to the one for each webapp. It's even worse in a more
complex app server like JBoss and you're doing full blown EJB stuff
(or so I hear). If you put all your dependencies right in your
webapp's WEB-INF/lib, that should avoid any such problems. <br>
<br>
<br>
<br>
<blockquote
cite="mid:2AF57F3BA98ED14499D518E94F44EA5D1D6FDA2B@006FCH1MPN2-023.006f.mgd2.msft.net"
type="cite">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:windowtext"> But it
looks like I may have solved this issue (and possibly
created others, but that is another story) – my project also
uses CXF and WSS4J, and it looks like the WSS4J
initialization code doesn’t properly initialize everything
in OpenSAML, particularly the parser pools.</span></p>
</div>
</blockquote>
<br>
I was vaguely aware WSS4J was updating to OpenSAML 3.x, but didn't
know they had released yet.<br>
<br>
<br>
<br>
<blockquote
cite="mid:2AF57F3BA98ED14499D518E94F44EA5D1D6FDA2B@006FCH1MPN2-023.006f.mgd2.msft.net"
type="cite">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:windowtext"> They’ve put
a fix in their bootstrapping code, which for the moment I’ve
cribbed and stuck in my own code; that’s gotten me past the
immediate issue.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
</div>
</blockquote>
<br>
<br>
I just took a quick glance at WSS4J 2.1.1, and yeah, in their
OpenSAMLBootstrap and OpenSAMLUtil, they are adlib-ing with their
approach and not really following what we document
(InitializationService). They may have a good reason for that
(although I don't know what that is...), but just be aware that
there's other things besides the ParserPool they also aren't doing.
So depending on what you do with OpenSAML, other things may not work
correctly.<br>
<br>
If you want specifics, InitializationService just runs all the impls
of the interface: org.opensaml.core.config.Initializer. An IDE can
show you all the impls of that interface.<br>
<br>
Frankly, if they really *can't* use our InitializationService for
some reason, what they (or you) should really do is just instantiate
the individual Initializers desired and invoke them manually. That
would I think be preferable to just making something up ad hoc.
That's all the InitializationService actually does. If someone from
WSS4J is on this list and that doesn't make sense, let me know and
I'll explain in detail.<br>
<br>
<br>
<br>
<br>
<blockquote
cite="mid:2AF57F3BA98ED14499D518E94F44EA5D1D6FDA2B@006FCH1MPN2-023.006f.mgd2.msft.net"
type="cite">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:windowtext">I’ll look at
adding the –impl dependencies as well; it wasn’t really
clear how everything was broken up, and what I would really
need to include. I try to run a bit lean if I can; just
sucking in everything seemed a bit excessive.</span><br>
</p>
</div>
</blockquote>
<br>
You don't necessarily need to add *all* the -impls in OpenSAML. But
the rule of thumb would be that if you use anything from a
particular -api, you probably are going to need the corresponing
-impl. Definitely so if what you are using is any -api's XMLObject
interfaces - the impls, builders, marshallers and unmarshallers for
those are going to be in the -impl module.<br>
<br>
<br>
</body>
</html>