<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-24433590</id><updated>2012-01-09T14:11:27.457-07:00</updated><category term='Webgate Authorization Header'/><category term='OAM Service Account Permissions OID'/><category term='IDXML'/><category term='WebGate Install'/><category term='GDN'/><category term='Change Attribute'/><category term='PeopleTools 8.51 SSO OAM 11g header variable integration'/><category term='name resolution'/><category term='WebPass'/><category term='Authentication Scheme'/><category term='OAM 11g'/><category term='OAM Search Results'/><category term='Bug'/><category term='OAM installation errors'/><category term='migration'/><category term='Workflow'/><category term='obuseraccountcontrol'/><category term='Credential Mapping Error'/><category term='Stitcher'/><category term='IIS'/><category term='OAS'/><category term='IDXML Delete'/><category term='Global Database Name'/><category term='OAM DB auditing'/><category term='Webgate Basic Authentication'/><category term='ppp'/><category term='Mapper'/><category term='OID'/><category term='jCardPanel tab panel user manager'/><category term='Upgrade'/><category term='managedlib'/><category term='OAM IDXML AJAX JQuery'/><category term='Index'/><category term='Simple Mode'/><category term='Reactivate'/><category term='OAM'/><category term='Shadow Join'/><category term='Reindex'/><category term='Deactivate'/><category term='Root CA'/><category term='AAC'/><category term='Integrated Windows Authentication'/><category term='&quot;COREid Migration Service&quot;'/><category term='transfilter.dll'/><category term='SelfSSL for IIS'/><category term='Oblix schema'/><category term='OVD'/><category term='OAM setup &quot;browser based setup&quot;'/><title type='text'>Oracle Access Manager (OAM) Nitty-Gritty</title><subtitle type='html'>Nuggets of technical knowledge gleaned from many professional services miles with Oracle Access Manager (COREid) Identity and Access</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sandeep Chaturvedi</name><uri>http://www.blogger.com/profile/00241682677465483722</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>72</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-24433590.post-4883709284498904079</id><published>2011-08-15T11:31:00.007-06:00</published><updated>2012-01-06T09:29:05.687-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PeopleTools 8.51 SSO OAM 11g header variable integration'/><title type='text'>PeopleTools 8.51 SSO using Oracle Access Manager 11g (11.1.1.3)</title><content type='html'>For many years, OAM has provided a well documented SSO solution for PeopleSoft using typical header variable integration. However, PeopleBooks for PeopleTools 8.51 has become so, shall we say, refined, it's now harder to acheive success with such time-tested &lt;a href="http://download.oracle.com/docs/cd/E18083_01/pt851pbr0/eng/psbooks/tsec/htm/tsec10.htm#g607654ffc718d57e_ef90c_1211696f0b0__787e"&gt;integration steps&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My hard-fought, but successful integration attempt rested on 3 key things:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Turning on Allow Public Access in the PeopleSoft PIA Web Profile - still required.&lt;br /&gt;&lt;br /&gt;I realize this was done in previous Tools versions, but I don't find it as clearly documented by Oracle for Tools 8.51. The Web Profile screen shot is gone and they no longer refer to the checkbox "Allow Public Access"; they simply say you have to set up the "public access user ID". So you have to make a small inference as to what to configure.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Using "cmd=start", and not cmd=login. E.G. &lt;a href="http://myhost:8080/psp/mypsoftdb/?cmd=start"&gt;&lt;span style="font-size:85%;"&gt;http://myhost:8080/psp/mypsoftdb/?cmd=&lt;/span&gt;&lt;span style="font-size:100%;"&gt;start&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;cmd=login just gave me the PeoplSoft login page after authenticating through OAM, rather than the user's home page in PeopleSoft. Again, this was documented more clearly in the past, but not for the latest Tools versions. An experienced colleague, as well as an OAM 10g/PeopleTools 8.50 example from Metalink, pointed me to using cmd=start.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Lowercasing header variable names when using Signon PeopleCode to retrieve them from the session. E.G. &lt;span style="font-family:courier new;font-size:85%;"&gt;&amp;amp;userID = %Request.GetHeader("ps_sso_uid&lt;/span&gt;");&lt;br /&gt;&lt;br /&gt;This was the most important nuance. Although PeopleSoft conveniently provides Signon PeopleCode for this integration out-of-the-box, it does not hint that the header variable name containing the OPRID might need to be lowercased.&lt;br /&gt;&lt;br /&gt;The header var "PS_SSO_UID" is delivered in Signon PeopleCode, as the variable that PeopleSoft expects OAM to provide. I could dump the headers from the request object to prove that Signon PeopleCode could indeed see that header variable, but somehow it still could not read the value it contained. A colleague mentioned that another one of our customers integrated a home-grown app with OAM and had the same problem...until they tried lowercasing the header! Replacing "PS_SSO_UID" with "ps_sso_uid" did the trick. OAM 11g-PeopleTools 8.51 SSO --- done! &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;My Environment:&lt;br /&gt;- Apache 2.2 on Solaris, as reverse proxy for a PeopleTools 8.51 PIA instance&lt;br /&gt;- Webgate 10.1.4.3 for Apache&lt;br /&gt;- OAM 11.1.1.3&lt;br /&gt;&lt;br /&gt;It could be that you don't need to lowercase your PS_SSO_UID header var name in your environment. Or maybe this will change in future patches of OAM 11g. But, if you figure you did everything else correctly, then give this a try! I hope it helps.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Update 06-Jan-2012:  &lt;/p&gt;&lt;p&gt;I have been asked if any official PS-OAM integration docs or white-papers exist. Sorry, I have not found any silver bullet document yet. What I use is a combination of the following docs:&lt;/p&gt;&lt;p&gt;- &lt;a href="http://download.oracle.com/docs/cd/E18083_01/pt851pbr0/eng/psbooks/tsec/htm/tsec10.htm#g607654ffc718d57e_ef90c_1211696f0b0__787e"&gt;PeopleTools 8.51 Security Admin&lt;/a&gt;&lt;/p&gt;&lt;p&gt;- &lt;a href="http://docs.oracle.com/cd/E21764_01/doc.1111/e15478/app_domn.htm#BABBAEHB"&gt;Oracle Access Manager 11g Policy Management&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-4883709284498904079?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/4883709284498904079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=4883709284498904079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4883709284498904079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4883709284498904079'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2011/08/peopletools-851-sso-using-oracle-access.html' title='PeopleTools 8.51 SSO using Oracle Access Manager 11g (11.1.1.3)'/><author><name>Anthony</name><uri>http://www.blogger.com/profile/05388945619851245264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-8312523450932641036</id><published>2011-07-29T14:57:00.003-06:00</published><updated>2011-07-29T15:41:55.784-06:00</updated><title type='text'>Unable to open wallet error while bringing up OVD11g</title><content type='html'>OVD 11g installed on Windows 2008 workstation fails to start with the error below in diagnostic log&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Error:&lt;/div&gt;&lt;div&gt;PKI-02002: Unable to open the wallet. Check password&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Reason:&lt;/div&gt;&lt;div&gt;There is a variable-id called "TEMP" in opmn.xml that holds the location  where a couple .tmp files are created when OVD wallet file cwallet.sso is accessed.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Our opmn.xml has the following value for TEMP : &lt;/div&gt;&lt;div&gt;C:\Users\ADMINI~1\AppData\Local\Temp\1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Somehow the directory "1" was missing on our server.  Since there was no directory to create the files, OVD refused to start.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Solution:&lt;/div&gt;&lt;div&gt;Creating an empty folder called 1 and attempting to start OVD created the required .tmp files and folders needed to store the wallet information&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-8312523450932641036?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/8312523450932641036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=8312523450932641036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8312523450932641036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8312523450932641036'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2011/07/unable-to-open-wallet-error-while.html' title='Unable to open wallet error while bringing up OVD11g'/><author><name>Hyma</name><uri>http://www.blogger.com/profile/06697011483306961557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-5726022486388294920</id><published>2011-05-27T15:30:00.007-06:00</published><updated>2011-05-27T16:14:35.309-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='obuseraccountcontrol'/><category scheme='http://www.blogger.com/atom/ns#' term='OAM 11g'/><category scheme='http://www.blogger.com/atom/ns#' term='Oblix schema'/><title type='text'>Good ol'  Oblix schema alive and well in OAM11g</title><content type='html'>While preparing to install OAM 11g, some of us were curious whether all the "ob..." attributes would remain intact or if they would be renamed with, for instance, an "orcl..." prefix. It struck one of my colleagues that the "ob" attributes would survive, if only to facilitate a workable upgrade path or to ease product development.&lt;br /&gt;&lt;br /&gt;Whatever the case, it turns out that the attributes we've all known since the days of NetPoint and COREid have endured and can be found in OAM 11g after all.&lt;br /&gt;&lt;br /&gt;During the LDAP pre-configuration step - one of the many, many steps required to get OAM installed  - an &lt;code&gt;&lt;span style="font-size:130%;"&gt;LDAPConfigPreSetup.sh&lt;/span&gt; &lt;/code&gt;script is run, which performs the following:&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:customdocumentproperties&gt;   &lt;o:html dt="boolean"&gt;1&lt;/o:HTML&gt;   &lt;o:documentencoding dt="string"&gt;utf-8&lt;/o:DocumentEncoding&gt;  &lt;/o:CustomDocumentProperties&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-CA&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:donotoptimizeforbrowser/&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Hyperlink"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="FollowedHyperlink"&gt;   &lt;w:lsdexception locked="false" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="HTML Top of Form"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="HTML Bottom of Form"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman","serif";  mso-ansi-language:EN-US;  mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-mso-fareast-language:EN-CA;mso-no-proof:yesfont-family:Symbol;" &gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-fareast-language:EN-CA;mso-no-proof:yes"&gt;Creates the Roles and Reservation User containers in OID, if they do not already exist.&lt;/span&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-mso-fareast-language:EN-CA;mso-no-proof:yesfont-family:Symbol;" &gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;Loads Identity product specific schema into the Directory&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;The LDIFs used to load the schema into OID contain all the old Oblix attribute names, and in my environment they are found in &lt;span style="font-family:courier new;"&gt;&lt;mw_home&gt;&lt;mw_home&gt;[MW_HOME]/Oracle_IDM&lt;span&gt;[&lt;/span&gt;&lt;span style="font-style: italic; font-family:times new roman;" &gt;x&lt;/span&gt;]/oam/server/oim-intg/schema&lt;/mw_home&gt;&lt;/mw_home&gt;&lt;/span&gt;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;OID_oblix_pwd_schema_add.ldif&lt;/li&gt;&lt;li&gt;OID_oim_pwd_schema_add.ldif&lt;/li&gt;&lt;li&gt;OID_oblix_schema_add.ldif&lt;/li&gt;&lt;li&gt;OID_oblix_schema_index_add.ldif&lt;/li&gt;&lt;/ul&gt;This is great, because it should mean that we can count on using familiar attributes like obuseraccountcontrol and obusersessiontimeout.&lt;br /&gt;&lt;br /&gt;Some things just don't change...at least not for another 6 months or so...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-5726022486388294920?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/5726022486388294920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=5726022486388294920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5726022486388294920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5726022486388294920'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2011/05/good-ol-oblix-schema-alive-and-well-in.html' title='Good ol&apos;  Oblix schema alive and well in OAM11g'/><author><name>Anthony</name><uri>http://www.blogger.com/profile/05388945619851245264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-4905781844530703890</id><published>2011-05-20T09:26:00.002-06:00</published><updated>2011-05-20T09:50:39.056-06:00</updated><title type='text'>EM Console 11g shows OID is down</title><content type='html'>The Enterprise Manager Fusion Middleware Control 11g shows OID is down even though opmnctl shows OID is up.    &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; The EM console also displays the following error while trying to access the OID instance under Farm_IDMDomain -&amp;gt; Identity and Access -&amp;gt; oid1 or while trying to create a wallet for SSL&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Error:&lt;/div&gt;&lt;div&gt;&lt;i&gt;Information    Configuration settings are unavailable because  /Farm_IDMDomain/OID_Inst/oid1 is down.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There could be 2 reasons for this.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Reason1:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;The WebLogic user password  used by EM Console to monitor OID is not correct.&lt;br /&gt;&lt;div&gt;&lt;i&gt;Solution:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Go to the &lt;i&gt;Farm &lt;/i&gt;drop down menu on the top of EM Console -&amp;gt; Agent Monitored Targets  -&amp;gt; Configure .  Verify if the &lt;i&gt;Weblogic Monitoring User Name&lt;/i&gt; is correct and Change the &lt;i&gt;WebLogic Monitoring Password&lt;/i&gt; to the correct password. Click Ok.&lt;/li&gt;&lt;li&gt;Check the OID status now.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;i&gt;Reason2:&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;The IP address/hostname given in the &lt;i&gt;Middleware Administration Server Service URL&lt;/i&gt; is wrong.&lt;/div&gt;&lt;div&gt;The following is an example of the &lt;i&gt;Middleware Administration Server Service URL&lt;/i&gt;&lt;/div&gt;&lt;div&gt;  &lt;i&gt;service:jmx:t3://your_ip_address:7002/jndi/weblogic.management.mbeanservers.domainruntime&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Solution:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Go to the &lt;i&gt;Farm &lt;/i&gt;drop down menu on the top of EM Console -&amp;gt; Agent Monitored Targets  -&amp;gt; Configure .&lt;/li&gt;&lt;li&gt;Try using hostname instead of IP address.  Click OK and verify the status of OID from EM console.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-4905781844530703890?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/4905781844530703890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=4905781844530703890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4905781844530703890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4905781844530703890'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2011/05/em-console-11g-shows-oid-is-down.html' title='EM Console 11g shows OID is down'/><author><name>Hyma</name><uri>http://www.blogger.com/profile/06697011483306961557</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-9030410335578324642</id><published>2010-12-21T15:37:00.004-07:00</published><updated>2010-12-21T17:36:47.873-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bug'/><category scheme='http://www.blogger.com/atom/ns#' term='OAM'/><category scheme='http://www.blogger.com/atom/ns#' term='Upgrade'/><title type='text'>Resources Missing After Upgrade</title><content type='html'>It is unlikely that many will have this problem, but if you do this could save some time and headache troubleshooting...&lt;br /&gt;&lt;br /&gt;When you upgrade from 7.x to 10.1.4.0.1 the resources on policy domains and policies go missing.  It appears that the only known fix for this is to manually recreate this data using the UI after the upgrade.&lt;br /&gt;&lt;br /&gt;The other approach would be to proactively take them out of the directory server before you do the upgrade and then simply add them back afterward.&lt;br /&gt;&lt;br /&gt;The resources themselves are still there after the upgrade.  All that is really missing is the pointer from the resource action object to the resource.&lt;br /&gt;&lt;br /&gt;These can be found by performing an ldapsearch with the following criteria:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;font-family:courier new;" &gt;search base: obapp=PSC,OU=oblix root,DC=&lt;/span&gt;&lt;company&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;font-family:courier new;" &gt;,DC=com&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;font-family:courier new;" &gt;filter: (&amp;amp;(objectClass=oblixWRSCAction)(obResourceID=*))&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;font-family:courier new;" &gt;attributes: obResourceID&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will return all of the objects that have this value set.&lt;br /&gt;&lt;br /&gt;After the upgrade run the same search and compare the results.  Those values should be missing.  If so, prepare an LDIF file to update the entries.&lt;br /&gt;&lt;br /&gt;An LDIF entry to fix the missing obResourceID could take this form...&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;font-family:courier new;" &gt;dn: obname=&lt;/span&gt;&lt;value style="color: rgb(51, 102, 255); font-weight: bold; font-family: courier new;"&gt;&lt;value&gt;,obname=&lt;/value&gt;&lt;/value&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;font-family:courier new;" &gt;&lt;value&gt;&lt;/value&gt;&lt;/span&gt;&lt;company style="color: rgb(51, 102, 255); font-weight: bold; font-family: courier new;"&gt;&lt;value&gt;&lt;value&gt;,obapp=PSC,OU=oblix,DC=&lt;/value&gt;&lt;/value&gt;&lt;/company&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;font-family:courier new;" &gt;&lt;value&gt;&lt;/value&gt;&lt;/span&gt;&lt;company style="color: rgb(51, 102, 255); font-weight: bold; font-family: courier new;"&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;,DC=&lt;value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/company&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;font-family:courier new;" &gt;&lt;value&gt;&lt;/value&gt;&lt;/span&gt;&lt;br /&gt;&lt;company style="color: rgb(51, 102, 255); font-weight: bold; font-family: courier new;"&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;changetype: modify&lt;br /&gt;replace: obResourceID&lt;br /&gt;obResourceID: &lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/company&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;font-family:courier new;" &gt;&lt;value&gt;&lt;/value&gt;&lt;/span&gt;&lt;br /&gt;&lt;company&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;&lt;br /&gt;replace the &lt;value&gt; &lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/company&gt;&lt;span style="font-weight: bold;"&gt;&lt;value&gt;&lt;/value&gt;&lt;/span&gt; &lt;company&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;&lt;value&gt;tags with the appropriate value for your environment based on the LDIF you extracted.&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/value&gt;&lt;/company&gt;&lt;/company&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-9030410335578324642?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/9030410335578324642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=9030410335578324642' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/9030410335578324642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/9030410335578324642'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2010/12/resources-missing-after-upgrade.html' title='Resources Missing After Upgrade'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-8839689840316403021</id><published>2010-11-25T15:51:00.003-07:00</published><updated>2010-11-25T15:55:02.754-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Root CA'/><category scheme='http://www.blogger.com/atom/ns#' term='OAM'/><category scheme='http://www.blogger.com/atom/ns#' term='Simple Mode'/><title type='text'>Simple Mode Root CA Strikes Again</title><content type='html'>We discussed the expiration of this cert already in this &lt;a href="http://coreidng.blogspot.com/2010/04/will-your-oam-installation-fail-in-july_28.html"&gt;post&lt;/a&gt;.  I never thought i would see this problem again.  Ahhh, was i wrong.  When upgrading from COREid 7 to OAM 10, the 10.1.4.0.1 upgrade drops the old (now expired) root CA over the updated ones.&lt;br /&gt;&lt;br /&gt;If you keep the faith and keep going the 10.1.4.3 patch set replaces it with the new one that is good until 2024.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-8839689840316403021?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/8839689840316403021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=8839689840316403021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8839689840316403021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8839689840316403021'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2010/11/simple-mode-root-ca-strikes-again.html' title='Simple Mode Root CA Strikes Again'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-6751955586718281839</id><published>2010-11-11T09:38:00.004-07:00</published><updated>2010-11-11T14:41:14.818-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebPass'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='transfilter.dll'/><title type='text'>transfilter.dll disappears and won't load</title><content type='html'>I just had the most frustrating experience.  I am in the midst of upgrading OAM 7.x to 10.1.4.3.  I had all the components upgraded to 10.1.4.0.1 so I got backups taken.  Afterwards one of the webpass instances did not work.  Upon further inspection transfilter.dll was actually removed form the file system.  Strange, but no problem, i grabbed a copy from another 10.1.4.0.1 webpass.  &lt;br /&gt;&lt;br /&gt;The transfilter.dll still didn't get loaded by IIS and it still did not work.  I ended up trying numerour different things.  I added and re-added transfilter.dll to the Default Web Site multiple times.  I uninstalled 10.1.4.0.1 and re-upgrade; still go the same behaviour.  I uninstalled webpass alltogether (purged registry, etc) and installed 10.1.4.0.1 instead of upgrading an old one; still got the same behaviour.&lt;br /&gt;&lt;br /&gt;I had given up home when i decided to try adding transfilter.dll at "Web Sites" instead of "Default Web Site".  Low and behold it took and loaded.  Then I tried moving it back to "Default Web Site" and it worked there too.  I was back!  Frustrated, but back. &lt;br /&gt;&lt;br /&gt;I have no idea what caused transfilter.dll to disappear in the first place.  I have no idea why it would not load in IIS after it was replaced.  I have no idea why moving it in IIS fixed the problem.  I am thankful though and if this strange occurence ever recurs I will have a strategy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-6751955586718281839?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/6751955586718281839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=6751955586718281839' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6751955586718281839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6751955586718281839'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2010/11/transfilterdll-disappears-and-wont-load.html' title='transfilter.dll disappears and won&apos;t load'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-7418356341352227764</id><published>2010-09-20T14:33:00.002-06:00</published><updated>2010-09-20T15:10:06.029-06:00</updated><title type='text'>SAML Back Inside?</title><content type='html'>What's old is new again.  Remember SAML Service in CoreID 5x?  Sounds like OIF will be merged back into OAM in a future release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-7418356341352227764?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/7418356341352227764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=7418356341352227764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/7418356341352227764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/7418356341352227764'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2010/09/saml-back-inside.html' title='SAML Back Inside?'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-7302814814900759959</id><published>2010-09-20T14:29:00.002-06:00</published><updated>2010-09-20T14:32:05.293-06:00</updated><title type='text'>OAM 11g R1</title><content type='html'>AuthN and AuthZ responses support much more options for returning user data.  It appears that the need to create plugins to return more  complex data has been eliminated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-7302814814900759959?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/7302814814900759959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=7302814814900759959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/7302814814900759959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/7302814814900759959'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2010/09/oam-11g-r1.html' title='OAM 11g R1'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-101761931181331800</id><published>2010-04-28T16:23:00.003-06:00</published><updated>2010-04-28T16:33:46.899-06:00</updated><title type='text'>Will your OAM installation fail in July 2010?</title><content type='html'>&lt;div&gt;Is your OAM installation setup in simple mode? Then chances are your installation is going to break on July 25, 2010. You may have heard a faint ticking every time you got near one of your OAM machines, but never had a chance to figure out where this impending failure was going to come from. As you know,&lt;del&gt;according to Mayan Calendar, in 2012&lt;/del&gt; in simple mode OAM generates certificates for you using the simpleCA root CA (tools\openssl\simpleCA). This root certificate is also used to complete the chain of trust when establishing SSL connections.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;               But did you know that root CA certificates expire? The OAM certificate expires Jul 25 18:03:57 2010 GMT after which your OAM components will no longer be able to communicate with each other&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;b&gt;How do I fix this?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luckily the fix is extremely easy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you have an account for support.oracle.com, log in and search for ID 811105.1, which will instruct you to download a new cacert.pem and place it in all your simpleCA folders. Don't forget to include any AccessSDK installations, and make sure the new cacert.pem has the correct permissions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you don't have an account with support.oracle.com, then &lt;a href="http://download.oracle.com/docs/cd/E15217_01/doc.1014/e12496/oamrn.htm#CHDBEDBE" style="color: rgb(85, 26, 139); "&gt;the release notes&lt;/a&gt; (bug 8556756) for OAM have instructions for extending the life of the Simple mode certificate. Once extended you can copy the new cacert.pem everywhere that it's needed and restart all components.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;How do I know if I am affected?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can browse to tools\openssl and use the openssl command to check the expiration date of the certificate.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;openssl.exe x509 -in simpleCA\cacert.pem -noout -enddate&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;notAfter=Jul 25 18:03:57 2010 GMT&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;b&gt;Oracle says the expiration date is July 5th, 2010 in their release notes. What is the real date?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Yes it does say that and we're not sure why. Feel free to update your cacert.pem prior to July 5th - no need to wait until the last minute.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;What errors might I see if I did nothing?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WebGate protected pages will say they can't contact the access server.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You may see webgate errors like&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;2010/07/26@18:03:00.718000    3728      3240      CONN_MGMT    ERROR  0x00001C08               \Oblix\coreid\palantir\aaa_client\src\watcher_thread.cpp:84        "NAP initialization failed"              &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;2010/07/26@18:03:00.718000    3728      3256      CONFIG INFO      0x0000182C               \Oblix\coreid\palantir\access_api\src\obconfig.cpp:865               "ObAccessException_ENGINE_DOWN"    raw_code^301&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;or if your certificate permissions are wrong&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;2010/07/26@18:04:59.796000    3712      300        ACCESS_SDK       FATAL    0x0000181C               \Oblix\coreid\palantir\access_api\src\obconfig.cpp:422               "ObAccessException_NOT_INITIALIZED"  raw_code^204  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;2010/07/26@18:04:59.796000    3712      300        ACCESS_GATE    FATAL    0x00001520               \Oblix\coreid\palantir\webgate2\src\iisentry_web_gate.cpp:183  "Exception thrown during WebGate initialization"   Error^Oracle AccessGate API is not initialized.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-101761931181331800?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/101761931181331800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=101761931181331800' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/101761931181331800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/101761931181331800'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2010/04/will-your-oam-installation-fail-in-july_28.html' title='Will your OAM installation fail in July 2010?'/><author><name>Patrick</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-4490318867885991818</id><published>2010-01-04T15:39:00.002-07:00</published><updated>2010-01-04T15:42:59.722-07:00</updated><title type='text'>UTF-8 and Oracle Access Manager</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; "&gt;OAM supports UTF-8 in incoming data, and can generate HTML pages encoded with UTF-8, but what about internally? Is UTF-8 data available in plugins? In HTTP header variables? We tested 10.1.4.3 on Windows and were surprised that our UTF-8 data was being interpretted incorrectly in our managed plugins (though exec ppp plugins worked as expected).&lt;br /&gt;&lt;br /&gt;The character Û ( U with a circumflex) has a code point value of 219 (all numbers are decimal). In UTF-8 this is encoded as the bytes 195 &amp;amp; 155. However, when this text reaches our plugin it appears as Ã› (A with tilde &amp;amp; single right-pointing angle quotation mark). In .NET Strings are in unicode, so we know something is happening with the identity server to re-interpret the bytes 195 &amp;amp; 155 as some other encoding and then to provide us that String as unicode. That encoding turns out to be Windows-1252 -  the default code page on our Windows system. 195 is Ã, while 155 is ›. Luckily there is a simple workaround – we get the Windows-1252 byte value of the string and then interpet those bytes at UTF-8.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:'courier new', monospace;"&gt;Encoding encoding_1252 = Encoding.GetEncoding("Windows-&lt;wbr&gt;1252");&lt;br /&gt;string utf8String = Encoding.UTF8.GetString(&lt;wbr&gt;encoding_1252.GetBytes(&lt;wbr&gt;windows1252String))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Using Reflector I can see a few calls to &lt;span style="font-family:'courier new', monospace;"&gt;StringToHGlobalAnsi &lt;/span&gt;in the managed library, and I would guess a similar call like &lt;span style="font-family:'courier new', monospace;"&gt;PtrToStringAnsi &lt;/span&gt;is used for converting between unmanaged and managed memory, and this may be a cause of the issue.&lt;br /&gt;&lt;br /&gt;This issue also exists in the Access Server. If you want to send a UTF-8 attribute value in a header, OAM is smart enough to base 64 encode it (according to RFC 2047 ). So our value should be encoded useing this format "&lt;span style="font-family:'courier new', monospace;"&gt;=?UTF-8?B?" base64-encoded-text "?=&lt;/span&gt;". Unfortunately, the text to be encoded is incorrect – the access server is B64 encoding the Windows-1252 interpretation of the UTF-8 bytes. You'll need to B64 decode the header text and then use the re-encoding code shown earlier to get the real value.&lt;br /&gt;&lt;br /&gt;One thing to note is that if your default code page is something other then Windows-1252, you'll proably have to interpret the string using that code page.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-4490318867885991818?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/4490318867885991818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=4490318867885991818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4490318867885991818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4490318867885991818'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2010/01/utf-8-and-oracle-access-manager.html' title='UTF-8 and Oracle Access Manager'/><author><name>Patrick</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-961309282871305551</id><published>2009-12-02T20:44:00.005-07:00</published><updated>2009-12-02T21:06:05.639-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAM Service Account Permissions OID'/><title type='text'>Setting Permissions for your Oracle Access Manager Bind Account in OID</title><content type='html'>The bind account that OAM uses to connect to OID directory services needs to have full rights over the portion of the DIT that you intend to manage with OAM.&lt;br /&gt;&lt;br /&gt;It is considered a best practice to avoid using the root user (cn=orcladmin) who has rights over the whole context and the rest of the server. It's also a good practice to avoid the use of cn=orcladmin,cn=users,dc=company,dc=com to preserve it for general context administration.&lt;br /&gt;&lt;br /&gt;An efficient way of making sure your new OAM service account has the right stuff is to set the user up with the same group memberships as the context administrator account (that's the cn=orcladmin,cn=users,... guy).&lt;br /&gt;&lt;br /&gt;ldapsearch -h hostname -p 389 -D cn=orcladmin -w [password] -x -b "cn=groups,cn=OracleContext,dc=company,dc=com" "(uniquemember=cn=orcladmin,cn=users,dc=company,dc=com)" uniquemember&lt;br /&gt;&lt;br /&gt;# OracleContextAdmins, Groups, OracleContext, company.com&lt;br /&gt;dn: cn=OracleContextAdmins,cn=Groups,cn=OracleContext,dc=company,dc=com&lt;br /&gt;uniquemember: cn=orcladmin&lt;br /&gt;uniquemember: cn=oraclecontextadmins,cn=groups,cn=oraclecontext&lt;br /&gt;uniquemember: cn=orcladmin,cn=users,dc=company,dc=com&lt;br /&gt;uniquemember: cn=ovd.service,ou=service,dc=company,dc=com&lt;br /&gt;uniquemember: cn=oam.service,ou=service,dc=company,dc=com&lt;br /&gt;&lt;br /&gt;# OracleUserSecurityAdmins, Groups, OracleContext, company.com&lt;br /&gt;dn: cn=OracleUserSecurityAdmins,cn=Groups,cn=OracleContext,dc=company,dc=com&lt;br /&gt;uniquemember: cn=orcladmin&lt;br /&gt;uniquemember: cn=oracleusersecurityadmins,cn=groups,cn=oraclecontext&lt;br /&gt;uniquemember: cn=orcladmin,cn=users,dc=company,dc=com&lt;br /&gt;uniquemember: cn=ovd.service,ou=service,dc=company,dc=com&lt;br /&gt;uniquemember: cn=oam.service,ou=service,dc=company,dc=com&lt;br /&gt;&lt;br /&gt;# iASAdmins, Groups, OracleContext, company.com&lt;br /&gt;dn: cn=iASAdmins, cn=Groups,cn=OracleContext,dc=company,dc=com&lt;br /&gt;uniquemember: cn=orcladmin&lt;br /&gt;uniquemember: cn=ias &amp;amp; user mgmt application admins,cn=groups,cn=oraclecontext,dc=company,dc=com&lt;br /&gt;uniquemember: cn=iasadmins,cn=groups,cn=oraclecontext&lt;br /&gt;uniquemember: cn=orcladmin,cn=users,dc=company,dc=com&lt;br /&gt;uniquemember: cn=ovd.service,ou=service,dc=company,dc=com&lt;br /&gt;uniquemember: cn=oam.service,ou=service,dc=company,dc=com&lt;br /&gt;... etc.&lt;br /&gt;&lt;br /&gt;which gives you a good starting point for a file of modifications to add your new account into the right groups to achieve general context admin rights without having to fuss with ACLs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# OracleContextAdmins, Groups, OracleContext, company.com&lt;br /&gt;dn: cn=OracleContextAdmins,cn=Groups,cn=OracleContext,dc=company,dc=com&lt;br /&gt;changetype: modify&lt;br /&gt;add: uniquemember&lt;br /&gt;uniquemember: cn=ovd.service,ou=service,dc=company,dc=com&lt;br /&gt;uniquemember: cn=oam.service,ou=service,dc=company,dc=com&lt;br /&gt;-&lt;br /&gt;&lt;br /&gt;# OracleUserSecurityAdmins, Groups, OracleContext, company.com&lt;br /&gt;dn: cn=OracleUserSecurityAdmins,cn=Groups,cn=OracleContext,dc=company,dc=com&lt;br /&gt;changetype: modify&lt;br /&gt;add: uniquemember&lt;br /&gt;uniquemember: cn=ovd.service,ou=service,dc=company,dc=com&lt;br /&gt;uniquemember: cn=oam.service,ou=service,dc=company,dc=com&lt;br /&gt;-&lt;br /&gt;&lt;br /&gt;# iASAdmins, Groups, OracleContext, company.com&lt;br /&gt;dn: cn=iASAdmins, cn=Groups,cn=OracleContext,dc=company,dc=com&lt;br /&gt;changetype: modify&lt;br /&gt;add: uniquemember&lt;br /&gt;uniquemember: cn=ovd.service,ou=service,dc=company,dc=com&lt;br /&gt;uniquemember: cn=oam.service,ou=service,dc=company,dc=com&lt;br /&gt;-&lt;br /&gt;&lt;br /&gt;You get the idea... (there are more than are listed in this post)&lt;br /&gt;&lt;br /&gt;I'm sure there are other ways. This has worked well for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-961309282871305551?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/961309282871305551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=961309282871305551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/961309282871305551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/961309282871305551'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2009/12/setting-permissions-for-your-oracle.html' title='Setting Permissions for your Oracle Access Manager Bind Account in OID'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-8218007336304786673</id><published>2009-10-12T14:41:00.002-06:00</published><updated>2009-10-13T10:24:11.795-06:00</updated><title type='text'>OAM and OSSO Integrated in 11g</title><content type='html'>OAM and OSSO have been integrated in 11g R2 and the integrated product is backwards compatible to both old OAM and OSSO enabled products.  Oracle is delivering on a promise to converge applications for the better.  This will enable the reduction of authentication complexity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-8218007336304786673?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/8218007336304786673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=8218007336304786673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8218007336304786673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8218007336304786673'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2009/10/oam-osso-integrated-in-11g.html' title='OAM and OSSO Integrated in 11g'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-6532987114230506902</id><published>2009-09-10T07:45:00.003-06:00</published><updated>2009-09-10T08:37:45.527-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAM setup &quot;browser based setup&quot;'/><title type='text'>Forcing OAM Browser Based Setup</title><content type='html'>One of the key tasks during development and deployment of OAM is running the product browser-based-setup process. It is this process that results in the initial 'oblix branch' being written to the directory service. So, when a customer wants to start again, the question is, "How do I make that setup process happen again?"&lt;br /&gt;&lt;br /&gt;There are two browser-based-setup processes:&lt;br /&gt;&lt;br /&gt;1) Identity System&lt;br /&gt;This is the process that writes the initial o=oblix branch. To force this process again, locate the file [identity server install]/identity/oblix/config/setup.xml and locate the line indicating the current step - it should have a value of 'done'. Edit this value to 'incomplete' and save the file. Restart the webserver and identity server and navigate in a browser to /identity/oblix and request the Identity System Console. The Setup screen should appear.&lt;br /&gt;&lt;br /&gt;Note that you can run this setup process with or without major underlying directory changes. Also note that (depending on what you are changing) you may also need to reconfigure individual software components using each one's command line configuration program (found in some form at .../oblix/tools/[setup|configure]).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) Policy Manager (Access System)&lt;br /&gt;The setup process for the Access System results in the writing of the obapp=PSC branch of the directory. To force this process find the file [policy manager install]/access/oblix/config/setup.xml and rename the file to something else. Then restart the webserver and navigate a browser to the /access/oblix. Request the Access System Console and you should see the setup button.&lt;br /&gt;&lt;br /&gt;As on the identity side, depending on what you are doing, you may need to reconfigure the software components installed using their command line setup utilities.&lt;br /&gt;&lt;br /&gt;That should be enough information to get you going in the right direction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-6532987114230506902?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/6532987114230506902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=6532987114230506902' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6532987114230506902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6532987114230506902'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2009/09/forcing-oam-browser-based-setup.html' title='Forcing OAM Browser Based Setup'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-5858344792377710541</id><published>2009-08-05T19:28:00.002-06:00</published><updated>2009-08-05T19:31:03.242-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Shadow Join'/><category scheme='http://www.blogger.com/atom/ns#' term='OVD'/><title type='text'>VDE Shadow Object LDIF</title><content type='html'>If you are using the OVD Shadow Joiner feature then you will need to add the vdeShadowObject object class to the directory hosting the shadow objects.  Here is a little LDIF file for just such a need...&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;# Description: contains vdeshadowobject vdeprimaryref for use with shadow joiners&lt;br /&gt;#&lt;br /&gt;dn: cn=subschemasubentry&lt;br /&gt;changetype: modify&lt;br /&gt;add: attributetypes&lt;br /&gt;attributetypes: ( 1.3.6.1.4.1.17119.1.0.1 NAME 'vdeprimaryref' DESC 'This attribute contains an MD5 hash of a primary adapter' EQUALITY 'caseIgnoreMatch' SYNTAX '1.3.6.1.4.1.1466.115.121.1.15'  X-ORIGIN 'user defined' )&lt;br /&gt;-&lt;br /&gt;&lt;br /&gt;dn: cn=catalogs&lt;br /&gt;changetype: modify&lt;br /&gt;add: orclindexedattribute&lt;br /&gt;orclindexedattribute: vdeprimaryref&lt;br /&gt;-&lt;br /&gt;&lt;br /&gt;# ObjectClass Definitions&lt;br /&gt;dn: cn=subschemasubentry&lt;br /&gt;changetype: modify&lt;br /&gt;add: objectclasses&lt;br /&gt;objectclasses: ( 1.3.6.1.4.1.17119.1.1.1 NAME 'vdeShadowObject' DESC 'This object is used by VDE Shadow Joiner to store a shadow object to a primary entry in another directory. This objectclass normally used in conjunction with the extensibleObject object class to hold local attributes. vdeprimaryref is a hash of a DN that points to a primary object in an alternate adapter.' SUP top AUXILIARY MUST ( vdeprimaryref ) MAY ( description ) )&lt;br /&gt;-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-5858344792377710541?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/5858344792377710541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=5858344792377710541' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5858344792377710541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5858344792377710541'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2009/08/vde-shadow-object-ldif.html' title='VDE Shadow Object LDIF'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-6237290185089523620</id><published>2009-07-08T18:42:00.003-06:00</published><updated>2009-07-08T18:53:08.712-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='name resolution'/><category scheme='http://www.blogger.com/atom/ns#' term='OID'/><category scheme='http://www.blogger.com/atom/ns#' term='OAS'/><title type='text'>OAS 10.1.4 Installation Hangs</title><content type='html'>I was installing OAS 10.1.4.0.1 today as I needed to use OID for an OAM deployment.  I had a brand new linux vm, all of the pre-installation check list items (kernel tuning et al) were complete and all that was left was to install the software.  So, I ran the installer.  It ran very, very slowly but still ran.  It eventually just hung when it got down to actually copying files.  There was no failure message in the log file, it just seemed to be paused.  The installer appeared to still be running but nothing was happening.  Being the glutton for punishment I am, I deleted everything and re-ran the installer and was met with the same result (big surprise).&lt;br /&gt;&lt;br /&gt;I scoured metalink, but to no avail so I started poking around though and found a completely obscure line in the /etc/hosts file.  The DNS server had the IP address of the new vm right, but the /etc/hosts file contained an Internet addressable IP for the new vm (weird).  Anyway, removing that line and trying again corrected the problem.   I probably should have checked that first; next time I will.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-6237290185089523620?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/6237290185089523620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=6237290185089523620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6237290185089523620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6237290185089523620'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2009/07/oas-1014-installation-hangs.html' title='OAS 10.1.4 Installation Hangs'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-1946050671330481780</id><published>2009-07-03T09:52:00.003-06:00</published><updated>2009-07-03T10:03:34.629-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='migration'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;COREid Migration Service&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Stitcher'/><category scheme='http://www.blogger.com/atom/ns#' term='OAM'/><title type='text'>Introducing Stitcher - OAM Configuration Migration Solution</title><content type='html'>Many of our readers are aware that we have had the "COREid Migration Service" available for public use for the past three years. This service has been a resounding success with several high profile North American OAM customers relying on it to maintain consistency across their environments. The expression, "If it ain't broke, don't fix it." best describes our attitude towards the initial release.&lt;br /&gt;&lt;br /&gt;But the time was right for a platform upgrade, some rebranding, and some minor issue fixes.&lt;br /&gt;&lt;br /&gt;Stitcher lives at the same address as the original service. If it sounds like something you've been missing, &lt;a href="https://extranet.nulli.com/migration/"&gt;check it out&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-1946050671330481780?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/1946050671330481780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=1946050671330481780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/1946050671330481780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/1946050671330481780'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2009/07/introducing-stitcher-oam-configuration.html' title='Introducing Stitcher - OAM Configuration Migration Solution'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-5513109609845446309</id><published>2009-06-12T10:16:00.001-06:00</published><updated>2009-06-12T10:17:52.420-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Credential Mapping Error'/><category scheme='http://www.blogger.com/atom/ns#' term='Authentication Scheme'/><category scheme='http://www.blogger.com/atom/ns#' term='Integrated Windows Authentication'/><title type='text'>Credential Mapping Error</title><content type='html'>&lt;span style="font-family: arial;"&gt;Setting up IWA is a fairly straight forward task. All you need are an OAM environment, an IIS server with WebGate installed and special IWA Authentication Scheme. The IWA specific authentication scheme requires a credential mapping plugin to map the REMOTE_USER HTTP header variable set by IIS to a user attribute in the OAM user directory. WebGate even takes care of parsing the domain name from REMOTE_USER for you, what could be easier?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;So assuming you followed all of hte instructions and everything is set up perfectly, or at least you think it is, what do you do if you still have a problem. Specifically, what could be wrong if are getting a credential mapping error in the web browser and the access server oblog.log file.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;I recently encountered just such a problem. I used the search base and filter from the credential mapping plugin and conducted my own search against the directory as the OAM service account and it worked perfectly. This was so puzzling. I looked for trailing spaces in the credential mapping plugin because I know that can occur with resource patterns and ldap urls in other parts of Policy Manager. I finally compared a working credential mapping plugin to the IWA one. The different was in the quotation marks. The IWA credential mapping had been copied and pasted from the Metalink article discussing how to set up IWA in OAM. They were obviously from the wrong character set. Replacing the quotation marks solved the problem.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-5513109609845446309?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/5513109609845446309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=5513109609845446309' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5513109609845446309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5513109609845446309'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2009/06/credential-mapping-error.html' title='Credential Mapping Error'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-6785278005665815704</id><published>2009-02-11T14:26:00.008-07:00</published><updated>2009-02-11T14:59:20.299-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jCardPanel tab panel user manager'/><title type='text'>Panels in User Manager's Employees tab</title><content type='html'>The "Employees" tab of user manager can have multiple panels in it:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The defaultPanel&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The Header Panel&lt;/li&gt;&lt;li&gt;The Search Results panel&lt;/li&gt;&lt;li&gt;Any other user defined panels&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The header panel, the defaultPanel and any user defined panels appear under "&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;obpanelid=Employees, obapp=userservcenter, o=Oblix,&amp;lt;Config Base&amp;gt;&lt;/span&gt;" in the LDAP as "&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;obpanelid=&amp;lt;some timestamp as ID&amp;gt;&lt;/span&gt;".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The header panel has its obpaneltype value as "&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;headerPanel&lt;/span&gt;".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The value of "&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;defaultPanel&lt;/span&gt;" for obpaneltype is for the default user profile panel. The user can change its name from "&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;defaultPanel&lt;/span&gt;" to any other value, but the obpaneltype remains "&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;defaultPanel&lt;/span&gt;".&lt;/div&gt;&lt;div&gt;Ever wondered what the third panel type, &lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;obpaneltype&lt;/span&gt; of &lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;jCardPanel&lt;/span&gt;? Its the panel for the search results!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just because it does not show up as a "panel" on Identity System console can sometimes create confusion. For example when once because of some buggy horizontal migration, we eneded up with two objects with &lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;obpaneltype=jCardPanel&lt;/span&gt; and any change we attepted on the user manager tab profile, resulted in the error "&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;This panel is already configured&lt;/span&gt;". From the Identity System console we could not see any duplicate panel information, it was only when we looked closely in LDAP, we saw two objects with &lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;obpaneltype=jCardPanel&lt;/span&gt;. Once we deleted the un-needed object and restarted ois server, things started working.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-6785278005665815704?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/6785278005665815704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=6785278005665815704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6785278005665815704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6785278005665815704'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2009/02/panels-in-user-managers-employees-tab.html' title='Panels in User Manager&apos;s Employees tab'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/07314684448560584057</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-662355204485585414</id><published>2008-11-19T16:38:00.003-07:00</published><updated>2008-11-19T16:56:05.823-07:00</updated><title type='text'>OAM Identity Server Deletes User When RDN Modified (on OID)</title><content type='html'>This is known problem but i had trouble finding the solution so here it is re-posted from the &lt;a href="http://www.nkmk.ru/portals/abd/im104/B28196_01/relnotes.1014/b32098/oam.htm#CACBCAJH"&gt;OAS release notes for HP-UX&lt;/a&gt;... the resolution worked perfectly BTW.&lt;br /&gt;&lt;p&gt;This problem occurs when you use Oracle Internet Directory as the back-end repository.  To fix this problem:&lt;/p&gt; &lt;ol start="1" type="1"&gt;&lt;li&gt; &lt;p&gt;Edit the file &lt;code&gt;ldapreferentialintegrityparams.xml&lt;/code&gt; in the following directory:&lt;/p&gt; &lt;pre space="preserve" class="oac_no_warn"&gt;&lt;span class="codeinlineitalic"&gt;Identity_Server_installation_directory&lt;/span&gt;\identity\oblix\data\common&lt;/pre&gt;&lt;/li&gt;&lt;li&gt; &lt;p&gt;Change the value of the parameter &lt;code&gt;referential_integrity_using&lt;/code&gt; from &lt;code style="font-weight: bold;"&gt;oblix&lt;/code&gt; to &lt;code style="font-weight: bold;"&gt;ds&lt;/code&gt;, as follows:&lt;/p&gt; &lt;namevalpair paramname="referential_integrity_using" value="ds"&gt;&lt;/namevalpair&gt;&lt;/li&gt;&lt;li&gt; &lt;p&gt;Save the file.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;Restart the Identity Server for the changes to take effect.&lt;/p&gt; &lt;p&gt;You should be able to modify the RDN attribute value without any problem.&lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt;If you have multiple instances of the Identity Server installed, make this change to every instance of the Identity Server.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-662355204485585414?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/662355204485585414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=662355204485585414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/662355204485585414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/662355204485585414'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/11/oam-identity-server-deletes-user-when.html' title='OAM Identity Server Deletes User When RDN Modified (on OID)'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-6373420069006573921</id><published>2008-08-20T17:43:00.003-06:00</published><updated>2008-08-20T17:53:49.038-06:00</updated><title type='text'>SDK-Access Server Time Difference Reminder</title><content type='html'>When using a older Access Server SDK (7.0.4) with a newer Access Server (10.1.4) running in backward compatibility mode recently, the Access Server SDK always returned cookies that were logged out.  The reason turned out to be because the time was never set on the machine the SDK was installed on.&lt;br /&gt;&lt;br /&gt;However, the Access Server SDK installed correctly when it was installed.  In previous incarnations the Access Server SDK would have never been able to be configured properly if a significant time difference existed.&lt;br /&gt;&lt;br /&gt;This definitely falls squarely in the realm of user error, as the documentation clearly stipulates that when cert or simple mode are used the times have to be synchronized between client and server.  In previous releases though you would never have been able to complete the SDK configuration.  I can only imagine this has something to do with "backward compatibility" mode.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-6373420069006573921?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/6373420069006573921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=6373420069006573921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6373420069006573921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6373420069006573921'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/08/sdk-access-server-time-difference.html' title='SDK-Access Server Time Difference Reminder'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-4802592510991849607</id><published>2008-08-19T21:12:00.003-06:00</published><updated>2008-08-19T21:26:21.249-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AAC'/><category scheme='http://www.blogger.com/atom/ns#' term='Workflow'/><category scheme='http://www.blogger.com/atom/ns#' term='IDXML'/><category scheme='http://www.blogger.com/atom/ns#' term='Change Attribute'/><title type='text'>IdXml Change Attribute WF Does Not Run</title><content type='html'>You create a change attribute workflow.  Call it as a portal insert and it works.  By work i mean updates the user's entry in the underlying directory when you change the value and click the save button in the OAM UI.&lt;br /&gt;&lt;br /&gt;Having demonstrated successful configuration, your real objective is to invoke this through IdXml.  So you create the IdXml and test it out.  It seems to work, however, the attribute in the underlying directory is not changed.&lt;br /&gt;&lt;br /&gt;It turns out if you cannot read the attribute you cannot request it to be changed via IdXml.  However, it works if you request the change attribute using a portal insert instead.   Sure enough if you test it with a canIRequestUserAttrModification request it will return Denied if you do not have read access.&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;This is an odd problem.  And I am not going to dump any more time into it.  But if you change the attribute so that the participant has read access on the attribute everything works as expected.&lt;br /&gt;&lt;br /&gt;My specific situation involved a change attribute workflow where the participant was self.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-4802592510991849607?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/4802592510991849607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=4802592510991849607' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4802592510991849607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4802592510991849607'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/08/idxml-change-attribute-wf-does-not-run.html' title='IdXml Change Attribute WF Does Not Run'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-4534267398881956264</id><published>2008-08-07T10:43:00.003-06:00</published><updated>2008-08-07T11:06:26.501-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Deactivate'/><category scheme='http://www.blogger.com/atom/ns#' term='Reactivate'/><category scheme='http://www.blogger.com/atom/ns#' term='OAM'/><title type='text'>Reactivate OAM User</title><content type='html'>In order to be able to search for deactivated users, the logged in user need to be a participant in a reactivate user workflow definition.&lt;br /&gt;&lt;br /&gt;If the user is not a participant in a reactivate user workflow then the following message will be received when the "Deactivated User Identity" button is clicked:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;You do not have sufficient access rights.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-4534267398881956264?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/4534267398881956264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=4534267398881956264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4534267398881956264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4534267398881956264'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/08/reactivate-oam-user.html' title='Reactivate OAM User'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-4322718023748448291</id><published>2008-08-06T22:14:00.004-06:00</published><updated>2008-08-07T15:38:16.091-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reindex'/><category scheme='http://www.blogger.com/atom/ns#' term='OID'/><category scheme='http://www.blogger.com/atom/ns#' term='Index'/><title type='text'>OID Indexes</title><content type='html'>Here are a few simple notes for handling OID indexes.  If you want to search on an attribute in OAM where the data is stored in OID it must be indexed.  Sometimes you might want to remove and then possible re-add an index.  Index adding and removal can be handles with LDIF, however, if you need to recreate an index on existing data then you need to use a command line tool called catalog.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Index an attribute&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;dn: cn=catalogs&lt;br /&gt;changetype: modify&lt;br /&gt;add: orclindexedattribute&lt;br /&gt;orclindexedattribute: &lt;span style="font-style: italic;"&gt;attributename&lt;/span&gt;&lt;br /&gt;-&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Remove an index&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;dn: cn=catalogs&lt;br /&gt;changetype: modify&lt;br /&gt;delete: orclindexedattribute&lt;br /&gt;orclindexedattribute: &lt;span style="font-style: italic;"&gt;attributename&lt;/span&gt;&lt;br /&gt;-&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Re-index an attribute&lt;/span&gt;&lt;br /&gt;that was previously removed.  If you remove an index form an attribute and the data remains and you need to re-index the data in place then you need to use the catalog command line tool.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ORACLE_HOME/ldap/bin/catalog connect=oiddev add=&amp;amp;quotTRUE" attribute="&lt;span style="font-style: italic;"&gt;attributename&lt;/span&gt;"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Unwilling to perform&lt;/span&gt;&lt;br /&gt;If after the attribute has been re-indexed the directory server will still not allow it to be searched and returns an unwilling to perform error, try restarting the OID gateway.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ORACLE_HOME/opmn/bin/opmnctl restartproc ias-component=OID&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight: bold;"&gt;Current Indexed Attirbutes&lt;br /&gt;&lt;/span&gt;Use ldapsearch to get the current indexed attributes&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;ldapsearch -h localhost -p 389 -x -s base -b "cn=catalogs"  "objectclass=*"&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-4322718023748448291?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/4322718023748448291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=4322718023748448291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4322718023748448291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4322718023748448291'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/08/oid-indexes.html' title='OID Indexes'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-8412837822124264136</id><published>2008-07-26T11:54:00.004-06:00</published><updated>2008-07-29T12:01:31.310-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDXML Delete'/><title type='text'>Deleting a User with IDXML</title><content type='html'>Certain actions (such as creating or removing an LDAP entry) are only available via OAM's 'workflow' engine. A freshly installed OAM system has no workflows configured, thus, no immediate mechanism to affect such actions.&lt;br /&gt;&lt;br /&gt;To the newly initiated, discovering the create workflow mechanisms are relatively straightforward. But the delete, however, tends to throw people for a loop at first.&lt;br /&gt;&lt;br /&gt;The trick is to create a 'Deactivate User Workflow'. Exactly what this workflow does is up the user building the workflow. You'll find, following the definition of the initial step, three similar action choices:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;deactivate&lt;/li&gt;&lt;li&gt;disable&lt;/li&gt;&lt;li&gt;delete&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;If your goal is truly to whack the account, choose delete. Otherwise, a choice of disable will set the user account ObUserAccountControl flag to DEACTIVATED (with no human interaction required). By default, the Identity System ignores DEACTIVATED accounts in the user searchbase. The deactivate action accomplishes the same thing but it requires a human participant to actually push the button to confirm the action.&lt;br /&gt;&lt;br /&gt;Lastly, if you want to access this 'Delete User Workflow' from IDXML you just need to keep in mind that&lt;span style="font-style: italic;"&gt; it is a workflow you are calling&lt;/span&gt;. Pay close attention to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;function="workflowDeactivateUserSave"&lt;/li&gt;&lt;li&gt;and the fact that you do provide the workflow DN in the call&lt;/li&gt;&lt;/ul&gt;Here is a complete request for calling a Deactivate User Workflow:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas-xmlsoap.org/soap/envelope/" xmlns:oblix="http://www.oblix.com"&amp;gt;&lt;br /&gt;&amp;lt;SOAP-ENV:Body&amp;gt;&lt;br /&gt;&amp;lt;oblix:authentication type="basic"&amp;gt;&lt;br /&gt;&amp;lt;oblix:login&amp;gt;admin&amp;lt;/oblix:login&amp;gt;&lt;br /&gt;&amp;lt;oblix:password&amp;gt;test1234&amp;lt;/oblix:password&amp;gt;&lt;br /&gt;&amp;lt;/oblix:authentication&amp;gt;&lt;br /&gt;&amp;lt;oblix:request application="userservcenter" function="workflowDeactivateUserSave" version="NPWSDL1.0"&amp;gt;&lt;br /&gt;&amp;lt;oblix:params&amp;gt;&lt;br /&gt;&amp;lt;oblix:ObWorkflowName&amp;gt;obworkflowid=c60491a5ca0a45668fff08da2f1072d2,obcontainerId=workflowDefinitions,OU=Oblix,OU=apps,DC=company,DC=com&amp;lt;/oblix:ObWorkflowName&amp;gt;&lt;br /&gt;&amp;lt;oblix:uid&amp;gt;UID=372af3c1-0c7e-428d-a80a-fae632211489,OU=people,DC=company,DC=com&amp;lt;/oblix:uid&amp;gt;&lt;br /&gt;&amp;lt;oblix:noOfFields&amp;gt;2&amp;lt;/oblix:noOfFields&amp;gt;&lt;br /&gt;&amp;lt;AttributeParams xmlns="http://www.oblix.com/"&amp;gt;&lt;br /&gt;&amp;lt;GenericAttribute&amp;gt;&lt;br /&gt;&amp;lt;AttrName&amp;gt;cn&amp;lt;/AttrName&amp;gt;&lt;br /&gt;&amp;lt;AttrNewValue&amp;gt;test&amp;lt;/AttrNewValue&amp;gt;&lt;br /&gt;&amp;lt;AttrOperation&amp;gt;REPLACE_ALL&amp;lt;/AttrOperation&amp;gt;&lt;br /&gt;&amp;lt;/GenericAttribute&amp;gt;&lt;br /&gt;&amp;lt;GenericAttribute&amp;gt;&lt;br /&gt;&amp;lt;AttrName&amp;gt;userStatus&amp;lt;/AttrName&amp;gt;&lt;br /&gt;&amp;lt;AttrNewValue&amp;gt;delete&amp;lt;/AttrNewValue&amp;gt;&lt;br /&gt;&amp;lt;AttrOperation&amp;gt;REPLACE_ALL&amp;lt;/AttrOperation&amp;gt;&lt;br /&gt;&amp;lt;/GenericAttribute&amp;gt;&lt;br /&gt;&amp;lt;/AttributeParams&amp;gt;&lt;br /&gt;&amp;lt;/oblix:params&amp;gt;&lt;br /&gt;&amp;lt;/oblix:request&amp;gt;&lt;br /&gt;&amp;lt;/SOAP-ENV:Body&amp;gt;&lt;br /&gt;&amp;lt;/SOAP-ENV:Envelope&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-8412837822124264136?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/8412837822124264136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=8412837822124264136' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8412837822124264136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8412837822124264136'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/07/deleting-user-with-idxml.html' title='Deleting a User with IDXML'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-777147355440482775</id><published>2008-07-22T12:00:00.004-06:00</published><updated>2008-07-22T11:45:27.630-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAM IDXML AJAX JQuery'/><title type='text'>OAM Identity XML (IDXML) via XMLHttpRequest</title><content type='html'>It makes sense that the ideal HTTP Client for IDXML processing is the authenticated user's browser. After all, it already has the ObSSOCookie.&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://jquery.com/"&gt;JQuery&lt;/a&gt; is the Javascript library of choice for all my client work lately. You can see why in the following example of processing an IDXML request via Javascript straight from the client. The use cases for this capability are endless.&lt;br /&gt;&lt;br /&gt;This is the proverbial 'tip of the iceberg'  in utilizing OAM Identity in a modern web development context. The end result: Perfectable user experiences based on data and services made available and secured through OAM's web based configuration tools. It's a powerful combination.&lt;br /&gt;&lt;br /&gt;Lets take a simple create user workflow request and turn out a simple Javascript templating function to build the string for us:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;getSoap = function(data){&lt;br /&gt;  var dat = [];&lt;br /&gt;  dat[dat.length] = '&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas-xmlsoap.org/soap/envelope/" xmlns:oblix="http://www.oblix.com"&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;SOAP-ENV:Body&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;oblix:request function="workflowSaveCreateProfile" version="NPWSDL1.0"&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;oblix:params&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;oblix:ObWorkflowName&amp;gt;obworkflowid=672fcf2e9c5946a8b5b225b349acd46b,obcontainerId=workflowDefinitions,OU=Oblix,OU=apps,DC=company,DC=com&amp;lt;/oblix:ObWorkflowName&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;oblix:ObDomainName&amp;gt;OU=people,DC=company,DC=com&amp;lt;/oblix:ObDomainName&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;oblix:noOfFields&amp;gt;5&amp;lt;/oblix:noOfFields&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttributeParams xmlns="http://www.oblix.com/"&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrName&amp;gt;uid&amp;lt;/AttrName&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrNewValue&amp;gt;'+data.uid+'&amp;lt;/AttrNewValue&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrOperation&amp;gt;ADD&amp;lt;/AttrOperation&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrName&amp;gt;cn&amp;lt;/AttrName&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrNewValue&amp;gt;'+data.cn+'&amp;lt;/AttrNewValue&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrOperation&amp;gt;ADD&amp;lt;/AttrOperation&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrName&amp;gt;mail&amp;lt;/AttrName&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrNewValue&amp;gt;'+data.mail+'&amp;lt;/AttrNewValue&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrOperation&amp;gt;ADD&amp;lt;/AttrOperation&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrName&amp;gt;givenName&amp;lt;/AttrName&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrNewValue&amp;gt;'+data.givenName+'&amp;lt;/AttrNewValue&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrOperation&amp;gt;ADD&amp;lt;/AttrOperation&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrName&amp;gt;sn&amp;lt;/AttrName&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrNewValue&amp;gt;'+data.sn+'&amp;lt;/AttrNewValue&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;AttrOperation&amp;gt;ADD&amp;lt;/AttrOperation&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/GenericAttribute&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/AttributeParams&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;oblix:obactorcomment&amp;gt;IDXML from browser via Javascrip&amp;lt;/oblix:obactorcomment&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/oblix:params&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/oblix:request&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/SOAP-ENV:Body&amp;gt;';&lt;br /&gt;  dat[dat.length] = '&amp;lt;/SOAP-ENV:Envelope&amp;gt;';&lt;br /&gt;&lt;br /&gt;  return dat.join("");&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Then, if we prep a little data object with values (presumably pulled from the user interface):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;var userdata = {&lt;br /&gt;  uid:"marmil",&lt;br /&gt;  cn:"Mark Miller",&lt;br /&gt;  mail:"mark[at]nulli.com",&lt;br /&gt;  givenName:"Mark",&lt;br /&gt;  sn:"Miller"&lt;br /&gt;};&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I can call my template and consider my soap envelope ready to go:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;var createUserSoapRequest = getSoap(userdata);&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;All over but the sending (and response handling): &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;// process the request&lt;br /&gt;$.ajax({&lt;br /&gt;  type: "POST",&lt;br /&gt;  dataType:'xml',&lt;br /&gt;  url: "/identity/oblix/apps/userservcenter/bin/userservcenter.cgi",&lt;br /&gt;  data: createUserSoapRequest,&lt;br /&gt;  contentType:"text/xml",&lt;br /&gt;  processData:false,&lt;br /&gt;  success: function(idxmlResponse){&lt;br /&gt;    // crude&lt;br /&gt;    alert(idxmlResponse);&lt;br /&gt;&lt;br /&gt;    // better&lt;br /&gt;    $("ObConfirmation",idxmlResponse).find("ObValue").each(function(i,o){&lt;br /&gt;      alert($(o).text());&lt;br /&gt;    });&lt;br /&gt;&lt;br /&gt;    // in the real world, employ dom trickery to keep the user oriented...&lt;br /&gt;  }&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Cool, no?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-777147355440482775?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/777147355440482775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=777147355440482775' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/777147355440482775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/777147355440482775'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/07/oam-identity-xml-idxml-via.html' title='OAM Identity XML (IDXML) via XMLHttpRequest'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-8052106419996054166</id><published>2008-07-22T07:52:00.004-06:00</published><updated>2008-07-22T08:10:44.443-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mapper'/><category scheme='http://www.blogger.com/atom/ns#' term='OVD'/><category scheme='http://www.blogger.com/atom/ns#' term='OAM Search Results'/><title type='text'>OAM Search Results Virtual Attribute</title><content type='html'>What if you want to include a virtual attribute in your search results that is derived form another attribute?  Just create the attribute in an outbound mapper flow and add it to the search results and it should show up as expected - right?  Well, maybe it will and maybe it won't; if the attribute(s) the derived value is based on is/are in the search results too then it will show up as anticipated.  However, if they are not there then it won't show up as expected.  &lt;br /&gt;&lt;br /&gt;The solution is to use the OVD &lt;code&gt;addReturnAttribute&lt;/code&gt; delivered mapper function on the reciprocal inbound request with the required source attributes.  This will allow the outbound mapper to have the required data to complete the derived attribute and enable the OAM search result configuration to exist without the source attributes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-8052106419996054166?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/8052106419996054166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=8052106419996054166' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8052106419996054166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8052106419996054166'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/07/oam-search-results-virtual-attribute.html' title='OAM Search Results Virtual Attribute'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-5682464368512280379</id><published>2008-07-22T07:07:00.010-06:00</published><updated>2008-07-22T07:42:29.302-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mapper'/><category scheme='http://www.blogger.com/atom/ns#' term='OVD'/><category scheme='http://www.blogger.com/atom/ns#' term='OAM'/><title type='text'>One Bad Mapper Can Spoil the Whole Bunch (if you're not careful)</title><content type='html'>Creating a mapping file for OVD to use on inbound and/or outbound LDAP transactions can sometimes be tricky to get absolutely correct the first time.  Invariably, the message &lt;blockquote&gt;&lt;code&gt;Could not complete mapping&lt;code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/blockquote&gt; is bound to show up at least once when you are trying something new.&lt;br /&gt;&lt;br /&gt;When a mapping file is broken it can cause a variety of problems, but most notably if your adapters for authentication are using other unrelated mappers it can cause them to fail, resulting in failed authentication.  So for instance if you are working on a mapper for one object you could prevent other users from authenticating.  This pitfall can be easily avoided, however, using the OVD &lt;span style="font-style: italic;"&gt;Filters to Exclude&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Filters to Include&lt;/span&gt;  fields on the routing tab of the adapters tab in OVD Manager.  For instance by exluding (objectclass=inetorgperson) from an adapter that presents site data you can prevent an authentication search request from even attempting the adapter, thus insulating you and  other development users from such a problem.&lt;br /&gt;&lt;br /&gt;However, what if you cannot authenticate to the OVD Manager console to correct a broken mapper or add a routing filter to an adapter?  I had one case where I could not authenticate even as cn=admin do the OVD Manager becuase of a broken adapter.  The solution to this is simple; just remove the compiled mapper jar file from the OVD Server directory.  You can do so by following these steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;stop ovd&lt;/li&gt;&lt;li&gt;remove bad mapper ($VDE_DIR/mappings/jars/offendingMappingFile.jar)&lt;/li&gt;&lt;li&gt;start ovd&lt;/li&gt;&lt;li&gt;log into the OVD Manager and fix the  source of the problem&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-5682464368512280379?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/5682464368512280379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=5682464368512280379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5682464368512280379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5682464368512280379'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/07/one-bad-mapper-can-spoil-whole-bunch-if.html' title='One Bad Mapper Can Spoil the Whole Bunch (if you&apos;re not careful)'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-7964314593377161646</id><published>2008-07-03T15:13:00.004-06:00</published><updated>2008-07-03T15:36:25.367-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ppp'/><category scheme='http://www.blogger.com/atom/ns#' term='managedlib'/><title type='text'>Error: Look up of symbol - ObInitEventAPI failed</title><content type='html'>If you ever receive an error like this when trying to configure an identity system .NET based PPP event, check the action; chances are it is set to &lt;span style="font-weight: bold;"&gt;lib&lt;/span&gt; instead of &lt;span style="font-weight: bold;"&gt;managedlib&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;"Event API call for the event returned STATUS_PPP_ABORT"    Error^base\obport.cpp:845: Error: Look up of symbol - ObInitEventAPI failed - The specified procedure could not be found.%0d%0a.&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-7964314593377161646?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/7964314593377161646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=7964314593377161646' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/7964314593377161646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/7964314593377161646'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/07/error-look-up-of-symbol-obiniteventapi.html' title='Error: Look up of symbol - ObInitEventAPI failed'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-8559014689889206191</id><published>2008-05-22T12:36:00.006-06:00</published><updated>2008-07-03T15:31:57.731-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAM installation errors'/><category scheme='http://www.blogger.com/atom/ns#' term='WebGate Install'/><title type='text'>WebGate - Oracle Client Conflict</title><content type='html'>When installing the 10.1.4 WebGate to protect an application with web services that relied on the Oracle Client for database connectivity, the application failed to run after the install.  The following message is what was received back from the application:&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;The provider is not compatible with the version of Oracle client&lt;/blockquote&gt;The WebGate installation went seamlessly.  It seemed apparent from the message that there must be an Oracle Client dll conflict.  After looking at the IIS process through Process Explorer it became apparent that the application was relying on the Oracle 10g R2 client, but that WebGate was loading the Oracle 10g R1 client prior to the Web Service.  Then when the web service was invoked, it would get the wrong client and thus fail.&lt;br /&gt;&lt;br /&gt;My first instinct was to change the Oracle Client the web appl was using to 10.1 from 10.2.  This worked for a while but it turned out there was a bug in the the 10.1 client that caused one of the components of the web app to fail.  I had to re-install the 10.2 client.&lt;br /&gt;&lt;br /&gt;My next instinct was to just proxy the web application with a proxy server and take the WebGate out of the mix on the web server where the app was hosted.  Then I read a MetaLink KB article that suggested using a WebGate 7.0.4 build that DOES NOT include the oracle client in it.  This seemed like a good opportunity so I parked the proxy idea.&lt;br /&gt;&lt;br /&gt;I installed the WebGate but could not configure it with the 10.1.4 Access Server.  In the Access Server oblog.log there was the following message.&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Client and Server's NAP versions do not match&lt;/blockquote&gt;It turns out that the the 10.1.4 Access Server &lt;span style="font-weight: bold;"&gt;IS&lt;/span&gt; backwards compatible but not by default.  In the &lt;span style="font-weight: bold;"&gt;..\access\oblix\apps\common\bin\globalparams.xml&lt;/span&gt; file&lt;br /&gt;&lt;br /&gt;there is a parameter - &lt;span style="font-weight: bold;"&gt;IsBackwardCompatible&lt;/span&gt; - that needs to be set to true.  Once that is set, voila, the WebGate configuration completes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-8559014689889206191?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/8559014689889206191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=8559014689889206191' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8559014689889206191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/8559014689889206191'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/05/webgate-oracle-client-conflict.html' title='WebGate - Oracle Client Conflict'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-2434273776280001549</id><published>2008-01-29T15:09:00.004-07:00</published><updated>2008-05-20T14:07:12.862-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Webgate Authorization Header'/><category scheme='http://www.blogger.com/atom/ns#' term='Webgate Basic Authentication'/><title type='text'>Sending "Authorization" header with initial HTTP request</title><content type='html'>If OAM protects a web resource with a basic authentication scheme, any browser request for that request returns a 401 with a "WWW-Authenticate: basic" header. This prompts the browsers to pop-up the username/password dialog box. When the user types in the username and password, these credentials are sent, base64 encoded, in the next request as part of the "Authorization: basic" header.&lt;br /&gt;&lt;br /&gt;If one does not want the browser to pop-up the dialog, or one is using a script/client application to access that resource, the "Authorization" header should be sent with the initial HTTP request. But the correct Authorization header by itself will not submit user credentials to Webgate. It seems the script/client application will also have to send a cookie in the request to make Webgate process the Authorization header. The cookie name and value are always the same:&lt;br /&gt;&lt;br /&gt;Cookie: OBBasicAuth=fromDialog&lt;br /&gt;&lt;br /&gt;To summarize, with all the other required HTTP headers and data, the application should send the following (for username/password as guest/password1234):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Cookie: OBBasicAuth=fromDialog&lt;br /&gt;Authorization: Basic Z3Vlc3Q6cGFzc3dvcmQxMjM0&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Edit: Please note that the Authorization header has the base64 encoded version of string username:password (in this case guest:password1234 which is 'Z3Vlc3Q6cGFzc3dvcmQxMjM0') and not username/password as the article mentions above. Thanks for pointing that out Filipe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-2434273776280001549?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/2434273776280001549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=2434273776280001549' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/2434273776280001549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/2434273776280001549'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/01/sending-authorization-header-with.html' title='Sending &quot;Authorization&quot; header with initial HTTP request'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/07314684448560584057</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-4595458014593913931</id><published>2008-01-29T14:49:00.000-07:00</published><updated>2008-01-29T15:07:39.071-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAM DB auditing'/><category scheme='http://www.blogger.com/atom/ns#' term='GDN'/><category scheme='http://www.blogger.com/atom/ns#' term='Global Database Name'/><title type='text'>Global Database Name in Linux OAM and DB (OCI) environment for DB auditing</title><content type='html'>When adding Database Instances with OCI DB connection type, which is the only option for *nix based OAM installs, we have to specify the Global Database Name (GDN) for the database. Ever wondered what should the correct format for GDN be?&lt;br /&gt;&lt;br /&gt;During a deployment, I faced this question, and after some trial and error and reading &lt;a href="http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html"&gt;Oracle Instant Client&lt;/a&gt; documentation, I figured it out:&lt;br /&gt;&lt;br /&gt;&amp;lt;DB Host&amp;gt;:&amp;lt;DB Port&amp;gt;/&amp;lt;ORACLE_SID&amp;gt;&lt;br /&gt;&lt;pre wrap=""&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-4595458014593913931?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/4595458014593913931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=4595458014593913931' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4595458014593913931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4595458014593913931'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/01/global-database-name-in-linux-oam-and.html' title='Global Database Name in Linux OAM and DB (OCI) environment for DB auditing'/><author><name>Sandeep</name><uri>http://www.blogger.com/profile/07314684448560584057</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-9182320738522668434</id><published>2008-01-17T15:12:00.000-07:00</published><updated>2008-01-17T15:54:00.534-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SelfSSL for IIS'/><title type='text'>SelfSSL Connection Errors</title><content type='html'>The IIS Resource Kit's SelfSSL tool is a quick and sneaky way to get both IIS and ADAM running SSL for quick OAM sandbox environments. I've encountered ADAM connection errors if a self signing SSL had previously been generated on the same VM/server. Here's how you get a newly self signed SSL to work on the same machine:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Move all the old certs into an archive directory located here: &lt;em&gt;&lt;span style="color:#666600;"&gt;C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys&lt;/span&gt;&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;When you run the &lt;strong&gt;&lt;em&gt;selfssl.exe&lt;/em&gt;&lt;/strong&gt; command to install the self-signed SSL certificate into IIS, you must include the fully qualified machine name in the &lt;strong&gt;&lt;em&gt;/N:cn&lt;/em&gt;&lt;/strong&gt; parameter. For example: selfssl.exe /T /V:3650 /N:cn=oam.company.com&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Verify that the new cert has been generated and that your ADAM run as user has read permissions on the cert and that should solve the problem.&lt;/p&gt;&lt;p&gt;Test your connection using LDP.exe, also using the fully qualified host name. &lt;/p&gt;&lt;p&gt;This is an excellent link with step-by-step instructions, (including the download location for the IIS 6.0 Resource kit from MS): &lt;a href="http://geekswithblogs.net/jimiz/archive/2007/02/11/106006.aspx"&gt;http://geekswithblogs.net/jimiz/archive/2007/02/11/106006.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-9182320738522668434?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/9182320738522668434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=9182320738522668434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/9182320738522668434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/9182320738522668434'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/01/selfssl-connection-errors.html' title='SelfSSL Connection Errors'/><author><name>Capri Wall</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-6982107876243749909</id><published>2008-01-17T14:50:00.000-07:00</published><updated>2008-01-17T15:04:47.459-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAM installation errors'/><title type='text'>WebGate Installation Error - Access Server you specified is currently down</title><content type='html'>When you know that it is in fact &lt;strong&gt;&lt;em&gt;not&lt;/em&gt;&lt;/strong&gt; down, and you've checked that all your WebGate parameters are correct a million times...&lt;br /&gt;&lt;br /&gt;The clocks of computers hosting various Oracle Access Manager components must be synchronized to within 75 or fewer seconds of each other. If the clocks are out-of-sync by more than 75 seconds, installation will fail. For installaion tasks or whenever you're attempting to connect, you will receive errors indicating that your Access Server is down if the clocks are not in sync.&lt;br /&gt;&lt;br /&gt;Pay particular attention to this in VM environments, where system clocks may not be synchronized as they're created.&lt;br /&gt;&lt;br /&gt;For this and other OAM installation woes, this and other useful nuggets can be found here:&lt;br /&gt;&lt;a href="http://download-uk.oracle.com/docs/cd/B28196_01/idmanage.1014/b25353/trouble.htm"&gt;http://download-uk.oracle.com/docs/cd/B28196_01/idmanage.1014/b25353/trouble.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-6982107876243749909?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/6982107876243749909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=6982107876243749909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6982107876243749909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6982107876243749909'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/01/webgate-installation-error-access.html' title='WebGate Installation Error - Access Server you specified is currently down'/><author><name>Capri Wall</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-5828475619818143527</id><published>2008-01-04T09:27:00.000-07:00</published><updated>2008-01-04T09:36:23.299-07:00</updated><title type='text'>Request for Feedback - Oracle Access Manager Configuration Manager</title><content type='html'>Has anyone out there deployed the Oracle Access Manager Configuration Manager?&lt;br /&gt;&lt;br /&gt;This is Oracle's productized solution to the OAM horizontal migration challenge... The product has been out for year now but I can't find anyone who says they've used it.&lt;br /&gt;&lt;br /&gt;Have you deployed it? Do you have any plans to deploy it?&lt;br /&gt;&lt;br /&gt;Please leave a comment with any input.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-5828475619818143527?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/5828475619818143527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=5828475619818143527' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5828475619818143527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/5828475619818143527'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/01/request-for-feedback-oracle-access.html' title='Request for Feedback - Oracle Access Manager Configuration Manager'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-6553813490269657617</id><published>2008-01-02T15:22:00.000-07:00</published><updated>2008-01-02T15:35:14.942-07:00</updated><title type='text'>Installing Oracle Directory Manager</title><content type='html'>Though there's not much you can't do via ldapmodify and the command line with OID, it can sure save a lot of time and energy to have access to the graphical user interface of the Oracle Directory Manager tool. Of course, you can pursue XWindows solutions to access the console on the Linux host, but it is quite convenient to have a local copy of the tool on your windows workstation.&lt;br /&gt;&lt;br /&gt;Turns out it is a bit of a maze to figure out what package you really need to get to have the tool at your disposal.&lt;br /&gt;&lt;br /&gt;Here is where I found what I was looking for:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html" target="_blank"&gt;http://www.oracle.com/technolog&lt;wbr&gt;y/software/products/database&lt;wbr&gt;/oracle10g/htdocs/10201winsoft.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Oracle Database 10g Client Release 2 (10.2.0.1.0)&lt;br /&gt;    &lt;a href="http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip" target="_blank"&gt;http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip&lt;/a&gt;&lt;br /&gt;    (requires OTN credentials)&lt;br /&gt;&lt;br /&gt;Do a 'Custom' install and choose on the Directory Administration tools...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-6553813490269657617?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/6553813490269657617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=6553813490269657617' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6553813490269657617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/6553813490269657617'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2008/01/installing-oracle-directory-manager.html' title='Installing Oracle Directory Manager'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-7887050125606081151</id><published>2007-03-09T10:21:00.000-07:00</published><updated>2007-03-09T10:31:56.303-07:00</updated><title type='text'>Invalid Parameter: ObWorkflowName</title><content type='html'>This is a simple one, but a nuisance none-the-less.  Usually when you see this message it is because you have prepared the WorkflowName for a portal insert or IdXml incorrectly.  You get the message once and figure out the correct value and life is good.  However, what if you have been using a workflow for some time and then all of a sudden you get this message after moving environments.  Chances are all that is different is the namespace of the directory entry where the workflow is defined.  For instance the namespace could contain DC=DEV versus DC=PRD.  Change the namespace and voila - the world is right again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-7887050125606081151?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/7887050125606081151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=7887050125606081151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/7887050125606081151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/7887050125606081151'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2007/03/invalid-parameter-obworkflowname.html' title='Invalid Parameter: ObWorkflowName'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-4234875305982094171</id><published>2007-01-29T09:40:00.000-07:00</published><updated>2007-01-29T09:41:25.356-07:00</updated><title type='text'>IIS6 and Tomcat</title><content type='html'>This is a little bit off topic as OAM goes but everytime I want a quick OAM / Servlet container working environment, it takes me too long to discover this info. So, here it is in a nutshell:&lt;br /&gt;&lt;br /&gt;The quickest, cheapest, most readily available solution to getting OAM up and running with a servlet container as the server side technology is to use IIS6 on Win2K3 and Tomcat 5.5. The crux is that you want to be able to stick a webgate in front of the container resources (by default, on port 8080). Now, there is a ton of info on the web about how to do this. But the one resource that you need is here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.apache.org/tomcat/Tomcat_and_IIS_Howto"&gt;http://wiki.apache.org/tomcat/Tomcat_and_IIS_Howto&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There is an MSI package that will do most of the picky IIS and registry config for you (link near the top of the page)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/isapi_redirect.msi"&gt;http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/isapi_redirect.msi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The setup program is a great help but there is one final detail (mentioned thanks to someone who added a note to the page) that reads:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The setup file included here and the script to add the ISAPI filter work just fine in IIS6, but there is one additional step needed. You must also allow access to the filter through the Web Service Extensions part of IIS. To do this graphically, do the following: &lt;/p&gt; &lt;p&gt;1) open the IIS Manager and go to the Web Service Extensions item under the appropriate server 2) Click the "Add a new Web service extension" item under "Tasks" 3) Give it a name like "jakarta" 4) Browse to the isapi_redirect.dll file you installed above as a "Required File" 5) Check the box to enable this extension.&lt;br /&gt;&lt;/p&gt;This detail is there in the docs as point #8 on the &lt;a href="http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html"&gt;IIS How-To&lt;/a&gt; but it is easy to miss.&lt;br /&gt;&lt;br /&gt;The only other note I have is that all the documentation talks about the workers.properties file. Be aware that the setup program referenced here creates a file called workers.properties-minimal. This is ok as it also writes the same filename value into the registry. Just good to be aware that both the registry key and the filename need to jive before you go renaming it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-4234875305982094171?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/4234875305982094171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=4234875305982094171' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4234875305982094171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/4234875305982094171'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2007/01/iis6-and-tomcat.html' title='IIS6 and Tomcat'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-116460353179798787</id><published>2006-11-26T21:50:00.000-07:00</published><updated>2007-01-17T15:33:15.314-07:00</updated><title type='text'>Dot Net Parsing Oracle Access Manager XML</title><content type='html'>This is slightly off topic, and extends well beyond just Oracle Access Manager but was a little less than obvious to me the first time I had to do this in .NET (well, also the second time). If the XML you are trying to process with SelectNodes or SelectSingleNode contains a namespace then you need to associate that namespace with a namespace manager and include it in the SelectNodes or SelectSingleNode statement (see example below).&lt;br /&gt;&lt;br /&gt;&lt;pre style="WIDTH: 100%; HEIGHT: 120px"&gt;XmlDocument xml = new XmlDocument();&lt;br /&gt;xml.LoadXml(someXmlString);&lt;br /&gt;XmlNamespaceManager ns = new XmlNamespaceManager(xml.NameTable);&lt;br /&gt;ns.AddNamespace("default", "http://www.oblix.com/");&lt;br /&gt;attrNodes=xml.SelectNodes("/default:ObEventParams/default:ObParamList[@name='WfAttribute']/default:ObParam", ns);&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-116460353179798787?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/116460353179798787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=116460353179798787' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116460353179798787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116460353179798787'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/11/dot-net-parsing-oracle-access-manager.html' title='Dot Net Parsing Oracle Access Manager XML'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-116443386418828480</id><published>2006-11-24T22:40:00.000-07:00</published><updated>2006-11-25T09:43:56.360-07:00</updated><title type='text'>IDXML - There is no profile configured for this kind of user</title><content type='html'>IDXML can be cool. It can also cause one to question one's future in front of a keyboard.&lt;br /&gt;&lt;br /&gt;Take, for example, the error message: "There is no profile configured for this kind of user". This is usually a very helpful message that tips you off that you have a typo in the DN value of the UID parameter.&lt;br /&gt;&lt;br /&gt;But if you are getting this message and you are sure that your request looks perfect there can be another simple explanation for the error: your HTTP client might be sending the request to the &lt;span style="font-style: italic;"&gt;wrong application&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;That's right - if you send a perfect Modify User request to /identity/oblix/apps/objservcenter/bin/objservcenter.cgi instead of  /identity/oblix/apps/userservcenter/bin/userservcenter.cgi, you will find that 'There is no profile configured for this kind of user'...&lt;br /&gt;&lt;br /&gt;Don't let this happen to you. Life is short.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-116443386418828480?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/116443386418828480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=116443386418828480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116443386418828480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116443386418828480'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/11/idxml-there-is-no-profile-configured.html' title='IDXML - There is no profile configured for this kind of user'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-116258120731902972</id><published>2006-11-03T12:03:00.000-07:00</published><updated>2006-11-03T12:16:30.213-07:00</updated><title type='text'>Creating Custom Style Shared Folder</title><content type='html'>When creating a custom style for Oracle Access Manager (formerly COREid) the product creates a localized directory for you in the default language, but all of the files in the localized copy point back to the main style sheets in the shared directory.  In order to keep the vanilla sheets for style0 (Classic Style) intact it is advisable to create a duplicate shared directory (i.e. newstyle_shared).  &lt;br /&gt;&lt;br /&gt;In order to let this all hang together, however, one must update all of the references in the new styles localized directory (created by the product as part of the new style function) so that they point to the new shared directory (created by you).&lt;br /&gt;&lt;br /&gt;As there are many files to update it is adviseable to use a batch search and replace tool for this task.&lt;br /&gt;&lt;br /&gt;On a unix system with perl installed this is a very easy proposition.  The following command will suffice...&lt;br /&gt;&lt;textarea textarea style="width: 100%; height: 30;"&gt;perl -p -i.bak -e "s|\/shared|/newstyle0_shared|" *.xsl&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;However, on windows it is a little trickier at the windows shell does not like the *.xsl reference.  Therefore, a small change is required to make it work in the windows shell...&lt;br /&gt;&lt;textarea style="width: 100%; height: 30;"&gt;for %I in (*.xsl) do perl -p -i.bak -e "s|\/shared|/newstyle0_shared|" %I&lt;/textarea&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-116258120731902972?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/116258120731902972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=116258120731902972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116258120731902972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116258120731902972'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/11/creating-custom-style-shared-folder.html' title='Creating Custom Style Shared Folder'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-116130239705715577</id><published>2006-10-19T17:45:00.000-06:00</published><updated>2006-10-19T18:15:37.166-06:00</updated><title type='text'>WebGate Cannot Initialize</title><content type='html'>A web server with a WebGate installed on it suddenly does not serve pages and generates 500 errors.  There have been no changes to the server or the web server configuration.  Upon further investigation the Oracle Access Manager (formerly COREid) oblog.log of the WebGate generates a line in the WebGate initialization indicating that it is failing.&lt;br /&gt;&lt;br /&gt;&lt;textarea style="width: 100%; height: 120;"&gt;ACCESS_GATE     FATAL   0x00001520      \Oblix\coreid702\palantir\webgate\src\iisentry_web_gate.cpp:249 "Exception thrown during WebGate initialization"        Error^2--- STATUS ------ ERROR ---\Oblix\coreid702\palantir\webgate\src\web_gate.cpp:371: Error: Exception rethrown from ObWebGate::Init( &lt;NULL&gt; = &lt;NULL&gt;, &lt;NULL&gt; = &lt;NULL&gt; )%0a\Oblix\coreid702\palantir\aaa_client\src\aaa_service_client.cpp:363: Error: ObAAAServiceClient::Initialize()%0a\Oblix\coreid702\palantir\netlib\src\obcreatewrapperfactory.cpp:65: Error: create_tls_wrapper_factory()%0a\Oblix\coreid702\palantir\netlib\src\obtlswrapperfactory.cpp:235: Error: %0a&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;This indicates that WebGate cannot create a TLS connection to the Access Server so it cannot initialize so it leaves the web server in an unusable state.  The likely cause of this is that the certificates on the WebGate have expired.  &lt;br /&gt;&lt;br /&gt;The certificate expiration dates can be checked by reading &lt;a href="http://coreidng.blogspot.com/2006/03/certificate-expiration-dates.html"&gt;this&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;The certificates can be regenerated by reading &lt;a href="http://coreidng.blogspot.com/2006/04/simple-mode-cert-regeneration-access.html"&gt;this&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-116130239705715577?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/116130239705715577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=116130239705715577' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116130239705715577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116130239705715577'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/10/webgate-cannot-initialize.html' title='WebGate Cannot Initialize'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-116129390296115470</id><published>2006-10-19T15:07:00.000-06:00</published><updated>2006-10-19T17:42:37.673-06:00</updated><title type='text'>Policy Domain/Policy Not Enforced</title><content type='html'>Successful migrations of Oracle Access Manager (formerly COREid) configuration data rely heavily on consistent directory naming of entries between envionments.  It is not enough for configuration data objects to share the same user friendly names, they must have the same RDN (Relative Distinguished Name) values in the directory server.  This forms the basis of clean migrations.  As well, objects must share the same properties.  If this setup is performed in advance of using the &lt;a href="https://extranet.nulli.com/migration"&gt;COREid Migration Service&lt;/a&gt; or alternatively, corrected in a pre-existing environment using the COREid Migration Service migrations will run smoothly.  The situation described below illustrates how having inconsistent environments can cause problems.&lt;br /&gt;&lt;br /&gt;After copying a policy domain or policy to a new environment the resources protected by the policy domain and/or policy are not actually protected there.  Checking the resources in the Oracle Access Manager Access Tester reveals that the resources are indeed not protected.&lt;br /&gt;&lt;br /&gt;This error highlights a mismatch in host identifier data between the source and target environments. It may look the same (i.e. have the same user friendly description in the UI), however, the distinguished name (DN) that names the object in the directory is probably different.&lt;br /&gt;&lt;br /&gt;The short term solution is to add the host identifier for that environment in all of the locations in the policy domain(s) and/or policy(ies) where resources are specified.  This will get the policy domain(s) and or policy(ies) working again in the target environment.  However, there is still a longer term problem that will affect future migrations of policy domain data.  &lt;br /&gt;&lt;br /&gt;This long term solution is to use the &lt;a href="https://extranet.nulli.com/migration"&gt;COREid Migration Service &lt;/a&gt; to migrate host identifiers and policy domains from a stable environment (production) to all of the other evironments (i.e. quality, test and dev) and systematically update the host identifier entries with host names specific to the environment.  This will make the other environments consistent a prevent this problem from occurring in the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-116129390296115470?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/116129390296115470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=116129390296115470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116129390296115470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116129390296115470'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/10/policy-domainpolicy-not-enforced.html' title='Policy Domain/Policy Not Enforced'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-116129030628996349</id><published>2006-10-19T10:32:00.000-06:00</published><updated>2006-10-30T09:54:59.270-07:00</updated><title type='text'>Anonymous Authentication Resources SLOW</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Problem&lt;/span&gt; Oracle Access Manager (formerly COREid) is extremely slow or does not serve content from servers protected by the Anonymous Authentication Scheme (formerly Netpoint None).  This can include FAQ pages, login pages, images, style sheets, etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Background&lt;/span&gt; The Anonymous Authentication scheme is used in cases where the WebGate has its &lt;span style="font-weight: bold;"&gt;DenyOnNotProtected&lt;/span&gt; property set to &lt;span style="font-weight: bold;"&gt;TRUE&lt;/span&gt;. The anonymous authentication scheme maps the &lt;span style="font-weight: bold;"&gt;OblixAnonymous&lt;/span&gt; user int eh &lt;span style="font-weight: bold;"&gt;credential_mapping&lt;/span&gt; plugin.  By default this is mapped to the &lt;span style="font-weight: bold;"&gt;uid&lt;/span&gt; attribute.  The uid attribute is indexed by default in some directory servers but not in AD/AM.  In AD/AM the attribute is added as part of the iNetOrgPerson schema extension and is not indexed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution&lt;/span&gt; If you are having a problem similar to this one, check to see if the Anonymous Authentication scheme is using the uid attribute in teh credential_mapping plugin.  If it is then check to see if the attribtue is indexed in the directory server (if using AD/AM it will not be indexed by default).  If it is not indexed then there are a couple of options:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;index the attribute in the directory (may be harder on some directory platforms than others; very easy on AD/AM)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;change the attribute in the Anonymous Authentication Scheme's credential mapping step to an attribute that &lt;span style="font-weight: bold;"&gt;IS&lt;/span&gt; already indexed&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Potential Cause&lt;/span&gt; How did this problem occur?  It seemed to just appear over night.  The likely cause of this problem is an increase in the amount of data in the user directory server.  More data will cause a search on an unindexed attribute to yield incorrect incomplete results more frequently than if there is less data in the directory.  This is because the look thur limit the directory imposes on the searhcing user may be exhausted before the entry (or entries) is located.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-116129030628996349?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/116129030628996349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=116129030628996349' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116129030628996349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116129030628996349'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/10/anonymous-authentication-resources.html' title='Anonymous Authentication Resources SLOW'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-116017370153784623</id><published>2006-10-06T15:29:00.000-06:00</published><updated>2006-10-19T17:00:25.703-06:00</updated><title type='text'>Can't See Workflow</title><content type='html'>Successful migrations of Oracle Access Manager (formerly COREid) configuration data rely heavily on consistent directory naming of entries between envionments.  It is not enough for configuration data objects to share the same user friendly names, they must have the same RDN (Relative Distinguished Name) values in the directory server.  This forms the basis of clean migrations.  As well, objects must share the same properties.  If this setup is performed in advance of using the &lt;a href="https://extranet.nulli.com/migration"&gt;COREid Migration Service&lt;/a&gt; or alternatively, corrected in a pre-existing environment using the COREid Migration Service migrations will run smoothly.  The situation described below illustrates how having inconsistent environments can cause problems.&lt;br /&gt;&lt;br /&gt;Have you ever copied a workflow definition from one environment to another and had the workflow not appear in the Oracle Access Manager (formerly COREid) Workflow applet?  You double check the target directory server and indeed all of the entries are there so you wonder what could possibly be happening.&lt;br /&gt;&lt;br /&gt;If this sounds familiar, then this is likely highlighting a difference between your two environments that you might not know existed.  The problem is probably related to when your environments were first built manually independent of one another. &lt;br /&gt;The cause is that there are different objectclasses associated with the tab_id that the workflow is meant to manage.  &lt;br /&gt;&lt;br /&gt;For instance say in the development environment the &lt;span style="font-weight:bold;"&gt;Employees tab&lt;/span&gt; (default user tab in Oracle Access Manager) has associated with it structural objectclasses of &lt;span style="font-weight:bold;"&gt;user&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;oblixOrgPerson&lt;/span&gt;.  But in the quality assurance environment where you migrated the work flow to it has objectclasses of &lt;span style="font-weight:bold;"&gt;user&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;obligOrgPerson&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;auxCompanyPerson&lt;/span&gt;.  &lt;br /&gt;&lt;br /&gt;This provides an obvious barrier to performing clean migrations between environments.  The way to correct this problem is to make the objectclasses look the same.  The best way to do this is to get one environment in a pure state (i.e. contains all of your active development) and then migrate it to the other environments.  This way all of the environments will be the same and ready to migrate information from one environment to another.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-116017370153784623?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/116017370153784623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=116017370153784623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116017370153784623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/116017370153784623'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/10/cant-see-workflow.html' title='Can&apos;t See Workflow'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-115800615690838424</id><published>2006-09-11T14:17:00.001-06:00</published><updated>2006-09-11T14:22:36.920-06:00</updated><title type='text'>COREid Migration Service</title><content type='html'>Although we are continuing our invitation only pre-beta phase, all are welcome to peruse the information now publicly available.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://extranet.nulli.com/migration/"&gt;https://extranet.nulli.com/migration/ &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-115800615690838424?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/115800615690838424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=115800615690838424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/115800615690838424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/115800615690838424'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/09/coreid-migration-service_11.html' title='COREid Migration Service'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-115587252428774786</id><published>2006-08-17T21:31:00.000-06:00</published><updated>2006-08-18T11:22:38.103-06:00</updated><title type='text'>COREid Migration Service Preview</title><content type='html'>For the folks that have been wanting a closer look at the migration service here is a quick run down with screen shots.&lt;br /&gt;&lt;br /&gt;This should give you a pretty good idea what this is looks like.&lt;br /&gt;&lt;br /&gt;The Nulli Professional Services team is using this in the the field today and our pre-beta invitees are taking their first steps on their own.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1474/2309/1600/upload.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1474/2309/400/upload.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1474/2309/1600/rootSuffix.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1474/2309/400/rootSuffix.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1474/2309/1600/selectOperation.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1474/2309/400/selectOperation.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1474/2309/1600/download.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1474/2309/400/download.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Thanks for your interest so far.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-115587252428774786?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/115587252428774786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=115587252428774786' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/115587252428774786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/115587252428774786'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/08/coreid-migration-service-preview.html' title='COREid Migration Service Preview'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-115360122750462965</id><published>2006-07-22T14:44:00.000-06:00</published><updated>2006-07-26T09:17:08.110-06:00</updated><title type='text'>COREid Migration Service Enters Pre-Beta Phase</title><content type='html'>Nulli Secundus is pleased to announce that our COREid Migration Service has entered a pre-beta   (invitation only) phase. We are currently inviting a small group of Nulli customers to begin to use the tool.&lt;br /&gt;&lt;br /&gt;The COREid Migration Service is a Nulli hosted web application to which users may upload COREid configuration data in LDIF format. The service processes the data from the source and target environments and returns a single LDIF file suitable for import into the target system. The goal of the Migration Service is to support COREid administrators in duplicating COREid Identity and Access application behavior                 across separate COREid installations.&lt;br /&gt;&lt;br /&gt;The COREid Migration Service will be available at no cost to registered users.&lt;br /&gt;&lt;br /&gt;If you would like to be notified upon general release of the service or if you would like to be considered for the pre-beta invitee pool, please send an email stating your interest to mark at nulli dot com.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-115360122750462965?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/115360122750462965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=115360122750462965' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/115360122750462965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/115360122750462965'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/07/coreid-migration-service-enters-pre.html' title='COREid Migration Service Enters Pre-Beta Phase'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-115342720673802583</id><published>2006-07-20T14:17:00.000-06:00</published><updated>2006-09-19T21:33:20.416-06:00</updated><title type='text'>Create Clean Schema File from AD/AM</title><content type='html'>Have you ever wanted to get a nice clean schema file containing all of your custom attirbutes and object class entries but exluding the special microsofty attributes from and AD/AM (or AD) instance so that you can archive it off into a source control system or just simply migrate it to another environment? You dread the task becuase you never took the time to automate it so you always edit the file by hand. Well here is a simple regex that you can use to clean up the file after you extract it. The regex as written works in &lt;a href="http://www.editplus.com/"&gt;editplus&lt;/a&gt; (by far the best editor I have ever used, come on buy it, you know you want to), but can can be easily tweaked to work in other editors, scripts, etc.&lt;br /&gt;&lt;br /&gt;Anyway, there are three steps...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Extract your data... here is the ldifde way&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;ldifde -f {filename} -s {server} -t {port}&lt;br /&gt;-d "CN=schema,CN=configuration,CN={adam_guid}"&lt;br /&gt;-r {custom object searhc filter}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Prune the unwanted attributes&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;In the following section it should all be read as a single regex (ignore line breaks). It should be used in a substitution statement where nothing is substituted for the match.&lt;/p&gt;&lt;pre&gt;^(distinguishedname|instancetype|whencreated|whenchanged|&lt;br /&gt;usncreated|usnchanged|name|objectguid|schemaidguid|objectcategory|msds-intid)&lt;br /&gt;::? [^\n]*\n( [^\n]+\n)*&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;pre&gt;&lt;li&gt;&lt;strong&gt;Replace the AD/AM GUID&lt;/strong&gt; &lt;p&gt;to make it really easy to import into a target environment change the GUID in the file to something easy to type that is not repeated elsewhere in the file. &lt;/p&gt;&lt;ol&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/pre&gt;&lt;/li&gt;&lt;pre&gt;&lt;/pre&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-115342720673802583?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/115342720673802583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=115342720673802583' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/115342720673802583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/115342720673802583'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/07/create-clean-schema-file-from-adam.html' title='Create Clean Schema File from AD/AM'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114730179721133486</id><published>2006-05-10T16:56:00.000-06:00</published><updated>2006-05-11T15:23:58.806-06:00</updated><title type='text'>WebGate and the IE / CSS Flicker Bug</title><content type='html'>Gettng quite specific here - but if you have this problem, you'll appreciate the info... &lt;p&gt;There is an annoying behavior that can occur in Internet Explorer. It is referred   to as the 'IE CSS Flicker Bug'. This bug manifests as repeated requests being issued   for the exact same resource (like a gif image). The result is a very slow   or, sometimes, unusably slow user interface as the browser bogs down under (sometimes hundreds) of identical requests. For whatever reason, the IE fails to inspect its own cache for image resources   that are defined in a CSS declaration and always issues a new request for each   instance of the same resource. &lt;/p&gt; &lt;p&gt;Of course, there is a resolution to the issue. This involves tuning some specific   settings on the webserver that serves image files.&lt;/p&gt;&lt;p style="font-weight: bold;" class="sub1Heading"&gt;IIS Webserver Configuration to Correct IE Flicker&lt;/p&gt; &lt;div class="sub1"&gt; &lt;p&gt;The trick is to specifically set some content expiration and cache control   headers that trigger IE to look into its own cache before issuing a new request.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;On the directory that contains the resources in question configure: (the following is IIS specific but you can extend the same concept to Apache, etc.)&lt;br /&gt;&lt;/p&gt; &lt;/div&gt; &lt;ul&gt;&lt;li&gt;     Enable Content Expiration   &lt;/li&gt;&lt;li&gt;Expire after 30 days&lt;/li&gt;&lt;li&gt;Cache-Control: max-age=2592000;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1474/2309/1600/iis_ieFlicker.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1474/2309/400/iis_ieFlicker.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;! note:&lt;/span&gt; there is a typo in the screen shot where the dash character is missing from CacheControl. Should read Cache-Control.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where the WebGate Fits In&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That's all the info you can find about this issue on the web. But if the UI in question is protected by a WebGate, you might apply the above mentioned measures only to find no improvement in the browser behavior. By default, the COREid WebGate is configured to apply two HTTP headers to each response it handles. Out of the box, the value for both CachePragmaHeader and CacheControlHeader is no-cache. Because the WebGate is always the last component to apply headers, it effectively overrides the headers supplied by the web server. &lt;p&gt;In the WebGateStatic.lst file, change both the CachePragmaHeader and CacheControlHeader to 'public'. (Yes, this may have other consequences so test carefully.)&lt;br /&gt;&lt;/p&gt; &lt;p align="left"&gt;That should be all that is needed to end any issues with the IE CSS Flicker bug if it, one day, plagues you. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114730179721133486?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114730179721133486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114730179721133486' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114730179721133486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114730179721133486'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/05/webgate-and-ie-css-flicker-bug.html' title='WebGate and the IE / CSS Flicker Bug'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114714217352308541</id><published>2006-05-08T20:35:00.000-06:00</published><updated>2006-05-08T21:57:01.010-06:00</updated><title type='text'>COREid services start before LDAP</title><content type='html'>In COREid deployments where the Access and/or Identity services are installed on the same box as the LDAP server, the COREid service(s) sometimes start faster than LDAP. This behavior will cause errors in the oblogs (ie &lt;b&gt;&lt;i&gt;Directory is unreachable, down, or incorrect connection parameters were specified&lt;/i&gt;&lt;/b&gt;) after a reboot, and will cause the service(s) to stop (when the LDAP in question contains the COREid configuration container).&lt;br /&gt;&lt;br /&gt;To avoid this problem on Windows platform installations, dependencies between the services can be created:&lt;br /&gt;&lt;lo&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Locate Registry Entry for LDAP Service and note name: (ie &lt;strong&gt;&lt;em&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ADAM_*)&lt;/em&gt;&lt;/strong&gt; &lt;li&gt;Locate Registry Entry for COREid Service(s): (&lt;strong&gt;&lt;em&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ObAAAServer-*, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ObOISServer-*&lt;/em&gt;&lt;/strong&gt;)&lt;/li&gt;&lt;li&gt;In each, add a &lt;strong&gt;&lt;em&gt;Multi-String Value&lt;/em&gt;&lt;/strong&gt; called &lt;em&gt;&lt;strong&gt;DependOnService&lt;/strong&gt;&lt;/em&gt; with a value that is the name of the LDAP service (ie &lt;strong&gt;&lt;em&gt;ADAM_*&lt;/em&gt;&lt;/strong&gt;)&lt;/li&gt;&lt;li&gt;Reboot&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;After rebooting, the COREid service(s) will wait until the LDAP service has sucessfully started before starting.&lt;/p&gt;&lt;strong&gt;Additional Notes:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;This type of configuration is only useful when the COREid service(s) are configured to &lt;strong&gt;ONLY&lt;/strong&gt; connect to one LDAP instance (&lt;strong&gt;no failover or redundancy&lt;/strong&gt;) that is located on the same server (ie development/test environments)&lt;/li&gt;&lt;li&gt;Multiple LDAP service names can be added to these registry keys (if using seperate LDAP directories for user, policy, or config containers)&lt;/li&gt;&lt;li&gt;This dependency relationship will also cause COREid service(s) to restart/stop when restarting/stoping LDAP service&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114714217352308541?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114714217352308541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114714217352308541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114714217352308541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114714217352308541'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/05/coreid-services-start-before-ldap.html' title='COREid services start before LDAP'/><author><name>Rob</name><uri>http://www.blogger.com/profile/17753573491112728652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114594541211192287</id><published>2006-04-25T00:10:00.000-06:00</published><updated>2006-04-25T11:02:54.436-06:00</updated><title type='text'>Simplifying COREid Identity System Menus</title><content type='html'>A common request for COREid customization is removing unused menu options in the &lt;strong&gt;&lt;em&gt;User Manager&lt;/em&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;Group Manager&lt;/em&gt;&lt;/strong&gt;, and &lt;strong&gt;&lt;em&gt;Org. Manager&lt;/em&gt;&lt;/strong&gt; applications (like &lt;strong&gt;&lt;em&gt;Create User Identity&lt;/em&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;Deactivated User Identities&lt;/em&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;Configuration&lt;/em&gt;&lt;/strong&gt;, etc). Some of these customization tasks can be achieved by defining custom user types in &lt;strong&gt;&lt;em&gt;obnavigation.xml&lt;/em&gt;&lt;/strong&gt;, avoiding the need for &lt;a href="http://coreidng.blogspot.com/2006/04/ultimate-coreid-xsl-customization.html"&gt;XSL customization&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Unwanted menu options can be removed from a user type or multiple user types can be defined. Choosing one of these defined user types can be done in the following manners (in order of increasing weight):&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Set the default userType in &lt;em&gt;&lt;strong&gt;obnavigation.xml&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Define an action to pass an attribute or value from the Access System containing the name of the user type as a header variable (named &lt;em&gt;&lt;strong&gt;HTTP_OBLIX_USER_TYPE&lt;/strong&gt;&lt;/em&gt; by default)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add a &lt;strong&gt;&lt;em&gt;userType=[name]&lt;/em&gt;&lt;/strong&gt; query string parameter to any URL within the User Manager, Group Manager, or Org. Manager&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;strong&gt;Note: &lt;em&gt;userTypes&lt;/em&gt; are different from &lt;em&gt;Styles&lt;/em&gt; in COREid, and customizations to each will function independently from the other.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114594541211192287?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114594541211192287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114594541211192287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114594541211192287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114594541211192287'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/04/simplifying-coreid-identity-system.html' title='Simplifying COREid Identity System Menus'/><author><name>Rob</name><uri>http://www.blogger.com/profile/17753573491112728652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114519663732745476</id><published>2006-04-16T07:58:00.000-06:00</published><updated>2006-04-16T08:13:18.530-06:00</updated><title type='text'>Simple Mode Cert Regeneration (Access)</title><content type='html'>When simple mode certificates are going to expire, they need to be regenerated so the component(s) that have the old certificates may still communicate with other COREid components. The method for regenerating certificates varies between the COREid Access and Identity Systems.  The Access Server, WebGate and AccessGate components all use the configuration tool relevant to their install.  These are as follows:&lt;br /&gt;&lt;ul style="color: rgb(51, 102, 255); font-family: courier new; font-weight: bold;"&gt;&lt;li&gt;&amp;lt;coreid_install_dir&amp;gt;\oblix\tools\configureAAAServer&lt;/li&gt;&lt;li&gt;&amp;lt;coreid_install_dir&amp;gt;\oblix\tools\configureWebGate&lt;/li&gt;&lt;li&gt;&amp;lt;coreid_install_dir&amp;gt;\oblix\tools\configureAccessGate&lt;/li&gt;&lt;/ul&gt;  &lt;span style="font-weight: bold;"&gt;Access Server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(51, 102, 255);font-family:courier new;" &gt;configureAAAServer reconfig "c:\Program Files\coreid\access"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WebGate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(51, 102, 255);font-family:courier new;" &gt;configureWebGate -i "c:\Program Files\coreid\WebComponent\access" -t WebGate -R&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AccessGate&lt;/span&gt;&lt;br /&gt; &lt;span style="font-weight: bold; font-style: italic; color: rgb(51, 102, 255);font-family:courier new;" &gt;configureAccessGate -i "c:\Program Files\coreid\WebComponent\access" -t AccessGate -R&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Restart the COREid component to get it to bind to TCP/IP port with the new certificate.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;See Also: &lt;a href="http://coreidng.blogspot.com/2006/04/simple-mode-cert-regeneration-identity_16.html"&gt;Simple Mode Cert Regeneration (Identity)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114519663732745476?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114519663732745476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114519663732745476' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114519663732745476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114519663732745476'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/04/simple-mode-cert-regeneration-access.html' title='Simple Mode Cert Regeneration (Access)'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114519578191817624</id><published>2006-04-16T07:39:00.001-06:00</published><updated>2006-04-16T08:12:34.086-06:00</updated><title type='text'>Simple Mode Cert Regeneration (Identity)</title><content type='html'>When simple mode certificates are going to expire, they need to be regenerated so the component(s) that have the old certificates may still communicate with other COREid components.  The method for regenerating certificates varies between the COREid Access and Identity Systems.  The Identity Server and WebPass (and Access Manager too) have a utility called &lt;span style="font-weight: bold; font-style: italic;"&gt;gencert&lt;/span&gt;.  The gencert utility is located in:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);font-family:courier new;" &gt;&lt;coreid_install_dir&gt;&amp;lt;coreid_install_dir&amp;gt;\oblix\tools\gencert&lt;/coreid_install_dir&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to use the tool to regenerate certificates, execute gencert as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;&lt;span style="font-family:courier new;"&gt;gencert.exe  "c:\Program Files\COREid\identity&lt;/span&gt;"&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;&lt;span style="font-family: arial; color: rgb(0, 0, 0);"&gt;OR&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;&lt;span style="font-family:courier new;"&gt;gencert.exe  "c:\Program Files\COREid\WebComponent\identity&lt;/span&gt;"&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;Restart the COREid component to get it to bind to TCP/IP port with the new certificate.&lt;br /&gt;&lt;br /&gt;See also: &lt;/span&gt;&lt;/span&gt;&lt;a href="http://coreidng.blogspot.com/2006/04/certificate-expiration-dates-2_05.html"&gt;Certificate Expiration Dates #2&lt;/a&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114519578191817624?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114519578191817624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114519578191817624' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114519578191817624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114519578191817624'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/04/simple-mode-cert-regeneration-identity_16.html' title='Simple Mode Cert Regeneration (Identity)'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114438684924813194</id><published>2006-04-06T23:05:00.000-06:00</published><updated>2006-04-06T23:14:09.276-06:00</updated><title type='text'>AD/AM Unsecured Passwords</title><content type='html'>Have you ever needed to bulk load AD/AM with a bunch of LDIF users for testing or conversion purposes, but been frustrated by its inability to allow password changes over an unsecured port?  Well this is can be easily remedied using the &lt;span style="font-weight: bold;"&gt;dsmgmt&lt;/span&gt; tool that is installed with AD/AM.  The tool is located in &lt;span style="font-weight: bold;"&gt;c:\WINDOWS\ADAM.  &lt;/span&gt;Here is an example of making the change to an AD/AM instance:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;C:\WINDOWS\ADAM&gt;dsmgmt&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;dsmgmt: ds behavior&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-family: courier new;"&gt;ds behavior: Connections&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-family: courier new;"&gt;server connections: connect to server localhost:389&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;Binding to localhost:389 ...&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;Connected to localhost:389 using credentials of locally logged on user.&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-family: courier new;"&gt;server connections: quit&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-family: courier new;"&gt;ds behavior: Allow passwd op on unsecured connection&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;Successfully modified DS Behavior to reset password over unsecured network.&lt;/span&gt;&lt;br /&gt; &lt;/span&gt;&lt;br /&gt;Now entries can be added to the directory with clear text passwords.  The setting can be just as easily reversed after the changes are made.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NOTE:&lt;/span&gt; making this change will not permit the COREid identity system to change passwords in AD/AM over an unsecured port.  I am not sure why, but something in the application prevents it even though the AD/AM instance is configured to allow it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114438684924813194?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114438684924813194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114438684924813194' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114438684924813194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114438684924813194'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/04/adam-unsecured-passwords.html' title='AD/AM Unsecured Passwords'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114430039199378404</id><published>2006-04-05T23:13:00.000-06:00</published><updated>2006-04-05T23:17:15.803-06:00</updated><title type='text'>Access Manager Looping</title><content type='html'>Ever enabled the &lt;i&gt;&lt;b&gt;NetPoint Identity Domain&lt;/b&gt;&lt;/i&gt; policy domain but not &lt;i&gt;&lt;b&gt;NetPoint Access Manager&lt;/b&gt;&lt;/i&gt;?  It’s a good way to lock yourself out of the Access Manager with a looping redirection behavior.  To fix this problem, identify the LDAP objects in your COREid policy container that represent these policy domains, enable or disable one (&lt;i&gt;&lt;b&gt;obEnabled&lt;/b&gt;&lt;/i&gt; attribute), and restart the AAA service and web server.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;They will be located in &lt;i&gt;&lt;b&gt;OBAPP=PSC,OU=oblix,[Policy Container]&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;li&gt;They will be an objectClass of &lt;i&gt;&lt;b&gt;oblixSiteDomain&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;li&gt;OBNAME will likely start with OBAutoSSO (if they were created by the access system install)&lt;br /&gt;&lt;li&gt;Check the &lt;i&gt;&lt;b&gt;obdisplayname&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114430039199378404?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114430039199378404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114430039199378404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114430039199378404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114430039199378404'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/04/access-manager-looping.html' title='Access Manager Looping'/><author><name>Rob</name><uri>http://www.blogger.com/profile/17753573491112728652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114429689054688999</id><published>2006-04-05T22:14:00.000-06:00</published><updated>2006-04-05T22:16:27.686-06:00</updated><title type='text'>Certificate Expiration Dates #2</title><content type='html'>A quick fix for an expired simple mode cert is to simply copy the 3 &lt;i&gt;&lt;b&gt;.pem&lt;/b&gt;&lt;/i&gt; files from the &lt;i&gt;&lt;b&gt;../config/simple&lt;/b&gt;&lt;/i&gt; directory of a component that is still working, and restart the service.  These certificate files are completely interchangeable within an environment (I think that the only requirement is that they need to be generated using the same passphrase).  When copying between Access and Identity components, be sure to change the file name prefix (ois/aaa).&lt;br /&gt;&lt;br /&gt;To quickly identify the expiry date of a simple mode certificate on a Windows system, make a copy of the cert file (&lt;i&gt;&lt;b&gt;ois_cert.pem&lt;/b&gt;&lt;/i&gt; or &lt;i&gt;&lt;b&gt;aaa_cert.pem&lt;/b&gt;&lt;/i&gt;), rename the extension to &lt;i&gt;&lt;b&gt;.cer&lt;/b&gt;&lt;/i&gt;, and double-click it.&lt;br /&gt;&lt;br /&gt;Also see: &lt;a href="http://coreidng.blogspot.com/2006/03/certificate-expiration-dates.html"&gt;NulliBlogs - COREid Nitty-Gritty: Certificate Expiration Dates&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114429689054688999?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114429689054688999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114429689054688999' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114429689054688999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114429689054688999'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/04/certificate-expiration-dates-2_05.html' title='Certificate Expiration Dates #2'/><author><name>Rob</name><uri>http://www.blogger.com/profile/17753573491112728652</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114420719469398558</id><published>2006-04-04T21:05:00.000-06:00</published><updated>2006-04-05T22:29:48.270-06:00</updated><title type='text'>COREid Dual Transport Mode Operation</title><content type='html'>There is a little known, &lt;span style="font-weight: bold;font-size:130%;" &gt;unsupported&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt; feature&lt;/span&gt;&lt;/span&gt; of COREid that allows server components to listen in two transport modes at once: either &lt;span style="font-weight: bold;"&gt;open/simple&lt;/span&gt; or &lt;span style="font-weight: bold;"&gt;open/cert&lt;/span&gt;. I had the good fortune of discovering this feature about 5 years ago. I had to convert a live production system that was installed in &lt;span style="font-weight: bold;"&gt;open mode&lt;/span&gt; to &lt;span style="font-weight: bold;"&gt;cert mode&lt;/span&gt;. We were looking at taking downtime to do the change, but by pure chance I stumbled accross another solution. I had reconfigured an identity server component, to listen in cert mode and it was late a night and I forgot to switch the transport mode in the COREid UI to cert from open. I started the identity server without making the switch and tested the port to see if it was listening in cert mode. When you telnet to the identity server port it responds with the mode in which it is listening.&lt;br /&gt;&lt;br /&gt;I was expecting to see the word&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;CERT&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;but what I saw instead was&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;OPEN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;CERT&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This was a welcome surprise for us. It meant that we could convert the identity and access servers one at a time to listen in both modes without taking the entire service down. Then after giving all of the application owners sufficient time to reconfigure their Webpasses, WebGates and AccessGates we could turn open mode off (by switching the transport in the UI to cert). This worked very effectively.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114420719469398558?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114420719469398558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114420719469398558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114420719469398558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114420719469398558'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/04/coreid-dual-transport-mode-operation.html' title='COREid Dual Transport Mode Operation'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114420622730494008</id><published>2006-04-04T20:53:00.000-06:00</published><updated>2006-04-05T09:09:17.170-06:00</updated><title type='text'>Simple Mode Certificate Duration</title><content type='html'>By default Oracle COREid &lt;span style="font-style: italic; font-weight: bold;"&gt;simple mode&lt;/span&gt; certificates are issued for 1 year (365 days) by default. If you would prefer a different expiration time you can change the setting that controls the certificate's duration. There are two files that control the duration, each is used depending on the certificate (re)generation situation. I think it is best to just change both files to cover your bases.&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;install_dir&gt;&amp;lt;coreid_install_dir&amp;gt;/oblix/tools/openssl/openssl.cnf&lt;/install_dir&gt;&lt;/li&gt;   &lt;li&gt;&amp;lt;coreid_install_dir&amp;gt;&lt;install_dir&gt;/oblix/tools/openssl/openssl_silent.cnf&lt;/install_dir&gt;&lt;/li&gt; &lt;/ul&gt; The paramater to change is "default days"...&lt;br /&gt;&lt;br /&gt;&lt;table class="MsoTableGrid" style="border: medium none ; margin-left: 41.4pt; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;   &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 396pt;" valign="top" width="528"&gt;   &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;default_days&lt;span style=""&gt;  &lt;/span&gt;= 365&lt;span style=""&gt;     &lt;/span&gt;# Duration to certify for&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;&lt;br /&gt;Change this to the desired number and regenerate your &lt;span style="font-style: italic; font-weight: bold;"&gt;simple mode&lt;/span&gt; certificate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114420622730494008?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114420622730494008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114420622730494008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114420622730494008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114420622730494008'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/04/simple-mode-certificate-duration.html' title='Simple Mode Certificate Duration'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114390992278633674</id><published>2006-04-01T09:44:00.000-07:00</published><updated>2006-04-03T18:31:28.713-06:00</updated><title type='text'>Ultimate COREid XSL Customization Development Environment</title><content type='html'>Some people look at the vanilla COREid interface and make a quick decision that they don't like it, or that it's not what they hoped it to be. These people fail to recognize is that the original designers were only trying to deliver a functional starting point for all. The designers knew that they could not build to satisfy everyone's specific business cases.&lt;br /&gt;&lt;br /&gt;But behind this vanilla first impression is flexibility and power that goes unrecognized by many customers. To access it, you need a web developer who is willing to tackle the reasonably short learning curve of XSL 1.0. It is a slightly different programming paradigm - but once you're there, it's quite simple.&lt;br /&gt;&lt;br /&gt;These days, everyone is talking about Web 2.0 and AJAX. Well, there's nothing stopping you. If you want a GMail like experience backed by COREid Identity services, it is there for the taking.&lt;br /&gt;&lt;br /&gt;If you are this web developer working to make your Identity interface do backflips, here is a recommended development set up that will help speed you on your way to success.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1474/2309/1600/structure.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/1474/2309/320/structure.jpg" alt="" border="0" /&gt;&lt;/a&gt;The key to XSL development is the ability to iterate rapidy. This is the main reason that you should not do your customization work against a live COREid server. Even if you dial the stylesheet cache down to 1 you still lose time bumping the cached sheet with every change.&lt;br /&gt;&lt;br /&gt;What you want to do is craft a representative development environment on your local machine. Here is what you need: Inside a root folder of your choice create three sub folders; client, server, source. From your WebPass installation copy the /identity/oblix/lang folder into the local 'client' folder. From the COREid Identity server installation copy the /identity/oblix/lang folder to the local 'server' folder.  Also, under the local 'client' folder, create three more folders nested (step1/step2/step3). Now, capture some Presentation XML from the user stories that you are customizing and drop these files into the local 'source' folder. Take your XML editor of choice (we recommend &lt;a href="http://oxygenxml.com/"&gt;Oxygen XML&lt;/a&gt;) and configure your transformation scenarios to output html into the local 'step3' folder. Finally, run a local webserver and configure it to allow directory browsing at the root of the 'client' folder.  Now,  after doing a transformation, you can browse to http://localhost/client (or whatever you called it...) and then navigate down to /step1/step2/step3/my.html and view your results.&lt;br /&gt;&lt;br /&gt;With this structure intact, you should find that, not only is your iteration speed increased, but that you also have intact references to all images and client side JavaScript which enables development on this front as well.&lt;br /&gt;&lt;br /&gt;Happy customizing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114390992278633674?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114390992278633674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114390992278633674' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114390992278633674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114390992278633674'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/04/ultimate-coreid-xsl-customization.html' title='Ultimate COREid XSL Customization Development Environment'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114367556894141483</id><published>2006-03-29T16:27:00.000-07:00</published><updated>2006-04-04T21:36:58.590-06:00</updated><title type='text'>Certificate Expiration Dates</title><content type='html'>have you ever had a certificate expire and COREid components stop functioning on you. Once you figured out that it was a certificate you were like, "oh-oh, there might be a few more expiring in the next few minutes, hours, days, etc." This is one of those things that us mere mortals re-learn how to do once a year and then promptly re-forget immediately afterwards.&lt;br /&gt;&lt;br /&gt;The openssl tool installed alongside each COREid component can be used to determine the valid dates for a certificate. The following example examines a self signed COREid certificate ("simple mode") . The same example holds true for all COREid components: Identity Server, Access Server, WebPass, WebGate and Access Manager (frequently installed alongside WebGate).&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);font-size:100%;" &gt;C:\&gt;cd \Program Files\COREid\WebComponent\access\oblix\tools\openssl&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);font-size:100%;" &gt;C:\&gt;openssl x509 -in ..\..\config\simple\aaa_cert.pem -noout -dates&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);font-size:100%;" &gt;notBefore=Mar 28 22:23:15 2005 GMT&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);font-size:100%;" &gt;notAfter=Mar 28 22:23:15 2006 GMT&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114367556894141483?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114367556894141483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114367556894141483' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114367556894141483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114367556894141483'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/certificate-expiration-dates.html' title='Certificate Expiration Dates'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114359539293188085</id><published>2006-03-28T18:20:00.000-07:00</published><updated>2006-03-28T18:26:03.143-07:00</updated><title type='text'>Access Server SDK on IIS5 / IIS6 (Part 2)</title><content type='html'>so we got the COREid AccessServerSDK working from &lt;a href="http://coreidng.blogspot.com/2006/03/access-server-sdk-on-iis5-iis6.html"&gt;ASP pages (part 1 here)&lt;/a&gt;, but then we roled out to ASPX pages and low and behold we had the same problem.  checked the permissions for IWAM_ and they were ok.  then it dawned on Mark to check the permissions for the ASPNET user.  We set those the same as for the IWAM_ user and sure enough success!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114359539293188085?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114359539293188085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114359539293188085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114359539293188085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114359539293188085'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/access-server-sdk-on-iis5-iis6-part-2.html' title='Access Server SDK on IIS5 / IIS6 (Part 2)'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114357010517428751</id><published>2006-03-28T10:45:00.000-07:00</published><updated>2006-03-30T09:32:11.263-07:00</updated><title type='text'>Access Server SDK on IIS5 / IIS6</title><content type='html'>One of the simplest things you should ever need to do with COREid in to install the Access Server SDK and access its functionality via ASP or ASP.NET on IIS6.&lt;br /&gt;&lt;br /&gt;The key word here is &lt;span style="font-style: italic;"&gt;should&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Sometimes you do everything right:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Install the binary (theoretically no location requirement)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Create the AccessGate profile&lt;/li&gt;&lt;li&gt;Associate the profile with an Access Server&lt;/li&gt;&lt;li&gt;Run configureaccessgate.exe&lt;/li&gt;&lt;li&gt;Set OBACCESS_INSTALL_DIR&lt;/li&gt;&lt;li&gt;Add %OBACCESS_INSTALL_DIR%\oblix\lib to the PATH&lt;/li&gt;&lt;li&gt;Register the DLLs&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;And then something like:&lt;br /&gt;&lt;br /&gt;validateSDKinstall.asp&lt;br /&gt;&lt;br /&gt;&lt;div style="border-style: inset; margin: 4px; padding: 3px;"&gt;&lt;br /&gt;&lt; % @LANGUAGE="VBSCRIPT" % &gt;&lt;br /&gt;&lt; % OPTION EXPLICIT % &gt;&lt;br /&gt;&lt; % &lt;br/&gt;dim accessgate &lt;br/&gt;Set accessgate = CreateObject("Netpoint.ObAccessAPI") &lt;br/&gt;accessgate.Initialize &lt;br/&gt;Response.Write "If you see this, all is well" &lt;br/&gt; % &gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;should run without error. &lt;span style="font-style: italic;"&gt;Should&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Sometimes it doesn't.&lt;br /&gt;&lt;br /&gt;We've seen a couple of instances lately (7.0.2 / IIS6) where things just don't pan out.  The error code that shows up in the IIS logs is &lt;span style="font-weight: bold;"&gt;80010105&lt;/span&gt; and in the browser is &lt;span style="font-weight: bold;"&gt;Error '80010105'&lt;/span&gt;.  Some googling reveals this is generally, maybe, a network security/permission problem.  However, that is not the case with the AccessServerSDK.  Upon turning up the log levels on the AccessGate we discovered file system permission errors.   Not by what showed up in the oblog.log, but by what did not.  Specifically, the log write could not initialize (FileLogWriter::initializeWriter() is the source of the error in the event viewer).  This was the first clue that the problem was related to file permissions.  The local IWAM account did not have the necessary permissions to write to oblog.log.  Once this was corrected, oblog.log started logging and revealed that there still was not sufficient permission to create the necessary lock files.&lt;br /&gt;&lt;br /&gt;So, if you run into something like this - check your FS security on AccessServerSDK/oblix.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114357010517428751?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114357010517428751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114357010517428751' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114357010517428751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114357010517428751'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/access-server-sdk-on-iis5-iis6.html' title='Access Server SDK on IIS5 / IIS6'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114334826322379146</id><published>2006-03-25T21:43:00.000-07:00</published><updated>2006-03-27T10:05:40.406-07:00</updated><title type='text'>Horizontal Migration of COREid Configuration Data</title><content type='html'>The professional services consultants at Nulli Secundus live and breathe COREid on a day to day basis. And we do so in a wide variety of customer environments. It goes without saying that we are always learning and improving the patterns we employ to achieve success with Oracle COREid Identity and Access.&lt;br /&gt;&lt;br /&gt;One common customer question that comes up with every engagement is, "How do we move this stuff?". Meaning- "We're following best practices by staging our environments but we don't see a good way to move development to quality assurance, and quality assurance to load testing and on to production...".&lt;br /&gt;&lt;br /&gt;&lt;a href="http://eternaloptimist.wordpress.com/"&gt;Pam Dingle&lt;/a&gt; started &lt;a href="http://www.freshpatents.com/System-and-method-for-transport-of-objects-utilizing-ldap-directory-structure-dt20060119ptan20060015527.php"&gt;working on this problem&lt;/a&gt; at Nulli Secundus some time ago. Janelle Jowsey took me under her wing as she turned Pam's invention into a software product that worked magic on COREid configuration across staged tiers. The result of all this thought and effort is the fact that there is literally nothing we do not know about the inner workings of the COREid configuration data.&lt;br /&gt;&lt;br /&gt;At this point in our history with COREid we know &lt;span style="font-style: italic;"&gt;exactly&lt;/span&gt; how it should be deployed and staged, and we have the knowledge and tools to efficiently migrate COREid configuration data across enviroments. We can demonstrate perfection in the movement of any Identity or Access application configuration data and we can do so measured in a scale of minutes.&lt;br /&gt;&lt;br /&gt;We're in the process of formalizing the ways that we can share our knowledge and tools most effectively with the COREid customer population. Watch for more information on our &lt;a href="http://www.nulli.com"&gt;web site &lt;/a&gt;coming in the second quarter of 2006.&lt;br /&gt;&lt;br /&gt;If you're really keen to put an effective system around this challenge in your environment and you want a hand in shaping some of the stuff we're working on, please &lt;a href="http://www.nulli.com/contact/"&gt;get in touch&lt;/a&gt; with us. We'd be pleased to talk with you and would welcome your input.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114334826322379146?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114334826322379146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114334826322379146' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114334826322379146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114334826322379146'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/horizontal-migration-of-coreid.html' title='Horizontal Migration of COREid Configuration Data'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114314247605975874</id><published>2006-03-23T12:29:00.000-07:00</published><updated>2006-03-23T12:46:46.613-07:00</updated><title type='text'>New Response Phrase - No Old Response</title><content type='html'>Have you ever wanted to let users update their challenge response phrase in COREid without requiring them to enter their old response?  There are two requirements to make it happen: (1) workflow for updating challenge response for the user class in question and (2)  no read/modify AAC on the challenge response attribute for that user class.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114314247605975874?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114314247605975874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114314247605975874' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114314247605975874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114314247605975874'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/new-response-phrase-no-old-response.html' title='New Response Phrase - No Old Response'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114313797010095896</id><published>2006-03-23T11:17:00.000-07:00</published><updated>2006-03-31T00:57:27.960-07:00</updated><title type='text'>Substitution Syntax in Search Base and Attribute Access Control</title><content type='html'>Have you ever got confused when using substitution syntax in COREid search base  and attribute access control settings?  They natural thing to get backwards since they are backwards (from each other that is).  Question is, which one is which?  Does the logged in user go in the left hand side ot the right hand side?  Does the substitution go in the left or right?  Well, that one at least is easy; the substitution attribute &lt;span style="font-style: italic;"&gt;$attributename$&lt;/span&gt; always goes on the left, errr, I mean right.  I just can never remember which one it belongs to:  logged in user or objects being searched/viewed/edited/notified?&lt;br /&gt;&lt;br /&gt;Well, this is how it works:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Search Base &lt;/span&gt;gets set up so that the logged in user's information goes on the right side of the equation, the substitution side.  For instance, the substitution might look like this...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;org=$myorg$&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This basiccally says that the search is restricted to all of the objects that have an org that is the same as $myorg$, where $myorg$ is an attribute in my profile and org is an attribute on another object.&lt;br /&gt;&lt;br /&gt;Well, is that is how search base works then AAC must be the opposite.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Attribute Access Control &lt;/span&gt;gets set up so that the logged in user's information goes on the left side of the equation, the non-substituion side.  For instance, the substitution might look like this for a rule that allows a manager permission to a particular attribute and right...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;distinguishedname=$manager$&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This essentially says give me (distinguishedname - MS centric example) permission to do this (right) for this attribute where I am the manager.  Although I do not know why you would do this explicit thing since COREid already supplies a role for DN based attributes (like manager) that accomplishes the same thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114313797010095896?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114313797010095896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114313797010095896' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114313797010095896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114313797010095896'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/substitution-syntax-in-search-base-and.html' title='Substitution Syntax in Search Base and Attribute Access Control'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114309324627177535</id><published>2006-03-22T22:53:00.000-07:00</published><updated>2006-03-23T12:37:08.926-07:00</updated><title type='text'>ADAM Changing Page (Search) Limit</title><content type='html'>Ever wanted to reduce or increase the AD/AM search limit (page size)?  For instance you are doing a COREid upgrade and part way through the directory update portion it fails with a directory error.  It was not able to extract all of the COREid meta data because the search limit was exceeded.  The solution is to ramp up the page size in AD/AM even if it is just for the upgrade.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;C:\WINDOWS\ADAM&gt;dsmgmt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dsmgmt: LDAP Policies&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ldap policy: connections&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;server connections: server connections: set creds &lt;domain&gt;&lt;user&gt;&lt;/user&gt;&lt;/domain&gt;&lt;/span&gt;&lt;user style="font-family: courier new;"&gt;[domain]&lt;/user&gt;&lt;span style="font-family: courier new;font-family:courier new;" &gt;&lt;domain&gt; &lt;/domain&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;[user]&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;domain&gt;&lt;user&gt;&lt;/user&gt;&lt;/domain&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;domain&gt;&lt;user&gt; *&lt;/user&gt;&lt;/domain&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Please enter password for &lt;/span&gt;&lt;user style="font-family: courier new;"&gt;[domain]&lt;/user&gt;&lt;span style="font-family: courier new;font-family:courier new;" &gt;&lt;domain&gt;\&lt;/domain&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;[user]&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;domain&gt;&lt;user&gt;: ********&lt;/user&gt;&lt;/domain&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;server connections: connect to server localhost:389&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Binding to localhost:389 as &lt;domain&gt;&lt;/domain&gt;&lt;/span&gt;&lt;user style="font-family: courier new;"&gt;[domain]&lt;/user&gt;&lt;span style="font-family: courier new;font-family:courier new;" &gt;&lt;domain&gt;\&lt;/domain&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;[user]&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;domain&gt;&lt;user&gt;...&lt;/user&gt;&lt;/domain&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Connected to localhost:389 as &lt;domain&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/domain&gt;&lt;/span&gt;&lt;user style="font-family: courier new;"&gt;[domain]&lt;/user&gt;&lt;span style="font-family: courier new;font-family:courier new;" &gt;&lt;domain&gt;\&lt;/domain&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;[user]&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;domain&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;user&gt;.&lt;/user&gt;&lt;/domain&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;server connections: quit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ldap policy: show values&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Policy                          Current(New)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxPoolThreads                  4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxDatagramRecv                 4096&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxReceiveBuffer                        10485760&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;InitRecvTimeout                 120&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxConnections                  5000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxConnIdleTime                 900&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxPageSize 1000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxQueryDuration                        120&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;MaxTempTableSize                        10000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxResultSetSize                        262144&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxNotificationPerConn                  5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;MaxValRange                     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ldap policy: set maxpagesize to 3000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ldap policy: commit changes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ldap policy:&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114309324627177535?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114309324627177535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114309324627177535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114309324627177535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114309324627177535'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/adam-changing-page-search-limit.html' title='ADAM Changing Page (Search) Limit'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114309211568689527</id><published>2006-03-22T22:34:00.000-07:00</published><updated>2006-03-23T10:00:22.483-07:00</updated><title type='text'>HeaderVar Not Showing Up Or Wrong Value</title><content type='html'>Have you ever had some header variables show up and not others?  You think to yourself, " I must have a different authorization rules or expression that is being invoked and returning different headers."  But when you go check in the Access Tester it is the rule that you are thinking of that is being tripped and there are no different actions on the authorization expression.&lt;br /&gt;&lt;br /&gt;This is a peculiar problem that sometimes occurs and as near as I can tell this is what causes the problem.  Why this seems to be the case, I have no idea.  The problem occurs when one header variable name is competely encompassed in anothers name.  For example the variable &lt;span style="font-weight: bold;"&gt;MYNAME&lt;/span&gt; is fully encompassed by &lt;span style="font-weight: bold;"&gt;MYNAMEPREFIX&lt;/span&gt;.  If MYNAME comes first (or is it the other way around?) in the header variable list then strange things will happen and the results viewable in the header will not be what you expect .&lt;br /&gt;&lt;br /&gt;There seem to be two resultions to this: (1) ensure the longer one shows up in the list first OR (2) given them completely disimilar names.  I personally think that option 2 is the way to go.  Option 1 can be fraught with more heartache if the orders get reversed down the road in a different environment.&lt;br /&gt;&lt;br /&gt;I have only witnissed this behaviour on COREid 7 WebGate for IIS 5/6 .  It has been repordoced accross separate installations.  I have not tried to reproduce it elsewhere yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114309211568689527?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114309211568689527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114309211568689527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114309211568689527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114309211568689527'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/headervar-not-showing-up-or-wrong.html' title='HeaderVar Not Showing Up Or Wrong Value'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114307719308754107</id><published>2006-03-22T18:15:00.000-07:00</published><updated>2006-03-22T18:27:18.923-07:00</updated><title type='text'>Disappearing Workflows During Horizontal Migration</title><content type='html'>If you work safely within the confines of the COREid Identity admin ui then you are protected by a friendly message that pops up when you add an objectclass to a tab. The message tells you that the operation will fail if you have any pending workflow tickets.&lt;br /&gt;&lt;br /&gt;What happens behind the scenes as you add the new objectclass to the tab is that the system also adds the same objectclass to all the workflow definitions associated with that tab.&lt;br /&gt;&lt;br /&gt;The take away here is that if you are manually migrating tab definitions from one environment into another you will break workflow definitions in the target environment if there is an objectclass difference contained in the new tab data. When this situation arises the rule is that the tab and all the workflow definitions for that tab must move as a unit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114307719308754107?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114307719308754107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114307719308754107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114307719308754107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114307719308754107'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/disappearing-workflows-during.html' title='Disappearing Workflows During Horizontal Migration'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114305989618680702</id><published>2006-03-22T13:37:00.000-07:00</published><updated>2006-03-22T22:28:09.760-07:00</updated><title type='text'>[RFE]Regex Capturing In Policies - Nice to Have!</title><content type='html'>OK, so COREid supports rudimentary pattern matching in policy patterns.  For instance, one can create a URL pattern in a policy definition that matches multiple URLs with a single policy (pattern).  The following URL pattern matches the  three  separate set of subdirectories.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;/applications/{app1,app2,app3}/.../*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This allows a company to set up a single policy for multiple resources that are not identical but have the same access rules.  This can help to stem mass profilferation of policies in the system.  Many policies can make it more difficult to administer a system.  As well, the more policies that exist in a system the longer it can take COREid to evaluate which policy or policy domain matches a particular request as policies are always evaluated first.&lt;br /&gt;&lt;br /&gt;This is great functionality, but it could be a lot more powerful with additional regular expression capabilities.  I am not advocating dumping the way current pattern matching works to replace it with a veriosn of the full blown regular expression language many have come to rely upon.  I expect features such as look ahead could have potentially disasterous results on the Access Server's ability to evaluate policies in a timely fashion.  I do, however, think that adding a capturing feature would lend a powerful and useful capability without significantly degrading performance (then again I could be wrong).&lt;br /&gt;&lt;br /&gt;Consider an instance whereby an authenticated user accesses a resource protected by an authorization policy with a URL pattern like the one above.   What if there was a authorization rule that caught users that had not updated their profile to accept the latest terms and conditions.  The authorization rule would have a action to redirect the user to the new &lt;span style="font-style: italic;"&gt;Update Terms and Conditions&lt;/span&gt; function, but once they were complete the site would not know what resource to which the user had wanted to go originally.  If regex capturing were introduced, however, COREid could capture and store the URL pattern that was matched.  This is only part of the solution though; COREid would also need to make the captured pattern available to the authorization rule for use as a parameter in the action.  This way the &lt;span style="font-style: italic;"&gt;Update Terms and Conditions&lt;/span&gt; functionality could be configured to return the user to their originally requested URL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114305989618680702?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114305989618680702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114305989618680702' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114305989618680702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114305989618680702'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/rferegex-capturing-in-policies-nice-to.html' title='[RFE]Regex Capturing In Policies - Nice to Have!'/><author><name>Dave Bennett</name><uri>http://www.blogger.com/profile/06349918834021611490</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114305908640890545</id><published>2006-03-22T13:18:00.000-07:00</published><updated>2006-03-22T13:24:46.426-07:00</updated><title type='text'>Search Results Counter</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1474/2309/1600/searchresults.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/1474/2309/320/searchresults.jpg" alt="" border="0" /&gt;&lt;/a&gt;Every COREid search creates a set of 0 to many entries. If you look in the XML, you can see that the system knows the size of the result set, but that it does not report it by default.&lt;br /&gt;To display this data in style0, simply edit &lt;identity_install&gt;/ identity /oblix /apps /common /bin /oblixappparams.xml and change the value of &lt;span style="font-style: italic;"&gt;search_result_show_count&lt;/span&gt; to true.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114305908640890545?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114305908640890545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114305908640890545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114305908640890545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114305908640890545'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/search-results-counter.html' title='Search Results Counter'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-24433590.post-114290929093880473</id><published>2006-03-20T19:44:00.000-07:00</published><updated>2006-03-20T20:04:16.940-07:00</updated><title type='text'>Unable to initiate workflow Status Code 1</title><content type='html'>Ever get this message? &lt;span style="color: rgb(255, 0, 0); font-weight: bold;font-family:Arial,Helvetica,sans-serif;font-size:120%;"  &gt;&lt;br /&gt;Unable to  initiate workflow  obworkflowid=96ab611fb664414abd219e7c1c4e6b92,obcontainerid=workflowdefinitions,ou=oblix,ou=apps,dc=dev,dc=company,dc=com.  Status code 1.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;When you get the status code of '1', chances are you are doing some manual LDIF migration activities and you accidentally lost the obWorkflowInstances container.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24433590-114290929093880473?l=coreidng.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://coreidng.blogspot.com/feeds/114290929093880473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=24433590&amp;postID=114290929093880473' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114290929093880473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/24433590/posts/default/114290929093880473'/><link rel='alternate' type='text/html' href='http://coreidng.blogspot.com/2006/03/unable-to-initiate-workflow-status.html' title='Unable to initiate workflow Status Code 1'/><author><name>Mark Miller</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.markmiller.ca/mm.jpg'/></author><thr:total>1</thr:total></entry></feed>
