<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Scienco.org &#187; CA Identity Manager</title>
	<atom:link href="http://www.scienco.org/tag/ca-identity-manager/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.scienco.org</link>
	<description>Life&#039;s too short to be unenthusiastic</description>
	<lastBuildDate>Thu, 07 Jul 2011 13:47:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<atom:link rel="next" href="http://www.scienco.org/tag/ca-identity-manager/feed/?page=2" />

		<item>
		<title>First impressions on CA Identity Manager r12</title>
		<link>http://www.scienco.org/2008/first-impressions-on-ca-identity-manager-r12/</link>
		<comments>http://www.scienco.org/2008/first-impressions-on-ca-identity-manager-r12/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 21:49:51 +0000</pubDate>
		<dc:creator>Mikkel Meyer Andersen</dc:creator>
				<category><![CDATA[IdM]]></category>
		<category><![CDATA[CA Identity Manager]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[TEWS]]></category>

		<guid isPermaLink="false">http://www.scienco.org/?p=66</guid>
		<description><![CDATA[CA Identity Manager release 12 was released in the middel of July and I've since had the chance to get this new release to know - mainly in comparision with the previous version 8.1. And I must say that I'm impressed! There has been a huge speed-up in the most areas. It seems like all [...]]]></description>
			<content:encoded><![CDATA[<p>CA Identity Manager release 12 was released in the middel of July and I've since had the chance to get this new release to know - mainly in comparision with the previous version 8.1.</p>
<p>And I must say that I'm impressed!<span id="more-66"></span></p>
<p>There has been a huge speed-up in the most areas. It seems like all the different components have been integrated much more efficient. This is also reflected in the installation process: everything is much easier than with r8.1. Thereby not saying that it's easy, just that it's easier <img src='http://www.scienco.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>When that's said there are still some remarks. For instance there's no documentation how to protect the Management Console if Siteminder is not installed, and encountering the fact that Siteminder itself if a quite comprehensive product, that's not satisfactory! They could just as well include a small guide in protecting the JBoss directory/application - it's really just editing four files or so, but for JBoss-infamiliar people it can be quite disincentive.</p>
<p>In order to overcome the slow-down in TEWS, a threaded solution can be made. In r8.1 only 15 threads were stable (in our environment) - or else TEWS would crash. In r12 I've succesfully used as much as 30 without experiencing instability. That's quite impressive!</p>
<p>There are more praise and more criticism to say about the new release 12, but in general I'm happy with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.scienco.org/2008/first-impressions-on-ca-identity-manager-r12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SoapHeaderException: SoapException</title>
		<link>http://www.scienco.org/2007/soapheaderexception-soapexception/</link>
		<comments>http://www.scienco.org/2007/soapheaderexception-soapexception/#comments</comments>
		<pubDate>Thu, 04 Oct 2007 14:32:41 +0000</pubDate>
		<dc:creator>Mikkel Meyer Andersen</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[IdM]]></category>
		<category><![CDATA[CA Identity Manager]]></category>
		<category><![CDATA[TEWS]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://www.scienco.org/2007/programming/csharp/soapheaderexception-soapexception/</guid>
		<description><![CDATA[The other day I had to use a web service from a C# 2.0 application. No problem - the .NET 2.0-frameworks provides tons of functionality. To jump into the exciting issue, I'd generated the proxy classes using WSDL, and started communicating with the WS. When no errors occured everything worked fine, but if something went [...]]]></description>
			<content:encoded><![CDATA[<p>The other day I had to use a web service from a C# 2.0 application. No problem - the .NET 2.0-frameworks provides tons of functionality. To jump into the exciting issue, I'd generated the proxy classes using WSDL, and started communicating with the WS. When no errors occured everything worked fine, but if something went wrong I just got an standard non-informative SoapHeaderException with no details whatsoever. Certainly less useful than a wet newspaper.</p>
<p>The problem was that a SOAP-fault (this name avoids mixing up the concepts of SOAP- and run-time exceptions) occurred, but the actual description of the error in the SOAP-response was not deserialized properly and was therefore not included in the run-time exception. The SOAP-response looks like this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;soapenv:envelope</span></span>
<span style="color: #009900;">	<span style="color: #000066;">xmlns:soapenv</span>=<span style="color: #ff0000;">&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;</span></span>
<span style="color: #009900;">	<span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://tews6/wsdl&quot;</span></span>
<span style="color: #009900;">	<span style="color: #000066;">xmlns:xsd</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2001/XMLSchema&quot;</span></span>
<span style="color: #009900;">	<span style="color: #000066;">xmlns:SOAP-ENC</span>=<span style="color: #ff0000;">&quot;http://schemas.xmlsoap.org/soap/encoding/&quot;</span></span>
<span style="color: #009900;">	<span style="color: #000066;">xmlns:xsi</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span></span>
<span style="color: #009900;">	<span style="color: #000066;">xsi:schemaLocation</span>=<span style="color: #ff0000;">&quot;http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;soapenv:body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;soapenv:fault<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;faultcode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>soapenv:Client<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/faultcode<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;faultstring<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Error performing operation.<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/faultstring<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;detail<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;imsexception</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;6.0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
					<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;exception<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
						<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>CheckForDuplicates<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
						<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;code<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>500<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/code<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
						<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><span style="color: #808080; font-style: italic;">&lt;!--[CDATA[User id johndoe is a duplicate. ProcessStep::BLTHValidate TabName:  ERRORLEVEL::Error]]--&gt;</span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
					<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/exception<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/imsexception<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/detail<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/soapenv:fault<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/soapenv:body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/soapenv:envelope<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>I read about this several places, and all these said that it was just the way .NET worked in that area. Sounds a bit odd, but nevertheless I instead started to figure out how to solve it.</p>
<p>The solution is actually quite simple, but it took some time to figure out how it should be done. It consists of three parts:</p>
<ul>
<li>A custom Exception so that it can be caught separately</li>
<li>A <a href="http://msdn2.microsoft.com/en-us/library/system.web.services.protocols.soapextension.aspx" title="SoapExtension">SoapExtension</a> that handled serialization and deserialization of the SOAP-messages and in that way were possible to <span title="OversÃ¦ttelse">intervene if a SOAP-fault occurred and throw the custom exception instead of a generic SoapException</span>
<ul>
<li><span title="OversÃ¦ttelse">It's worth noticing that I used the <a href="http://msdn2.microsoft.com/en-us/library/system.web.services.protocols.soapextension.processmessage.aspx" title="ProcessMessage">ProcessMessage</a>-method and especially the <a href="http://msdn2.microsoft.com/en-us/library/system.web.services.protocols.soapmessage.aspx" title="SoapMessage">SoapMessage</a> stage BeforeDeserialize</span></li>
</ul>
</li>
<li>A <a href="http://msdn2.microsoft.com/en-us/library/system.web.services.protocols.soapextensionattribute.aspx" title="SoapExtensionAttribute">SoapExtensionAttribute</a> used to mark the web methods should use the SOAP-extension</li>
</ul>
<p>It actually works very well! The only <span title="OversÃ¦ttelse">drawback is that every web method has to be marked with the attribute - but just another opportunity to celebrate sed!</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.scienco.org/2007/soapheaderexception-soapexception/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

