<?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-8113867240201920593</id><updated>2012-01-27T11:06:59.613-02:00</updated><title type='text'>WLS Tips and More</title><subtitle type='html'>Weblogic Server, Jrockit, Java and other related stuff...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Paulo Albuquerque</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><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8113867240201920593.post-6760159025691663944</id><published>2012-01-27T11:06:00.001-02:00</published><updated>2012-01-27T11:06:59.622-02:00</updated><title type='text'>Weblogic LDAP and Active Directory Provider Failover</title><content type='html'>&lt;br /&gt;One of my customers was trying to implement the LDAP Provider failover capability in WLS 10.3.2 and after a lot of effort he gave up.&lt;br /&gt;&lt;br /&gt;I took ownership of the problem and started to investigate what was going on.&lt;br /&gt;&lt;br /&gt;According to the official documentation at &lt;a href="http://docs.oracle.com/cd/E12840_01/wls/docs103/secmanage/atn.html#wp1199016"&gt;Configuring Failover for LDAP Authentication Providers&lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;you can configure the provider to enable failover when one of the LDAP servers is not available.&lt;br /&gt;&lt;br /&gt;Unfortunately, we discovered that this functionality only worked when the server was starting up, which is when it creates the connections to the LDAP server.&lt;br /&gt;&lt;br /&gt;Well, though it is good to have this capability at start up, the real need was to have server being capable of recover from a LDAP crash or failed connectivity, &lt;u&gt;at runtime.&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;If during the server operation, the main LDAP server crashed, every LDAP user authentication would fail, since WLS could not failover to the secondary LDAP at runtime.&lt;br /&gt;&lt;br /&gt;The documentation didn't mention if the failover was supposed to happen only at startup or runtime.&lt;br /&gt;&lt;br /&gt;Since our understanding was that it should failover in both situations, we went ahead and created a SR with a simple test case, asking for a fix for this problem.&lt;br /&gt;&lt;br /&gt;The SR and the bug development went through very fast and a patch was provided a few days later.&lt;br /&gt;&lt;br /&gt;Now, my customer has implemented this solution and their environments are more stable, thanks to the WLS ability to recover from a bad LDAP server.&lt;br /&gt;&lt;br /&gt;If you have a valid Oracle Support License and want to implement this too, log a SR asking for a patch for bug 13064396 - WEBLOGIC 10.3.2 - LDAP AUTHENTICATOR PROVIDER UNABLE TO FAILOVER.&lt;br /&gt;&lt;br /&gt;I believe this fix didn't make to the latest WLS release, 12c, but the backport shouldn't be a problem.&lt;br /&gt;&lt;br /&gt;Good Luck!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-6760159025691663944?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/6760159025691663944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2012/01/weblogic-ldap-and-active-directory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/6760159025691663944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/6760159025691663944'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2012/01/weblogic-ldap-and-active-directory.html' title='Weblogic LDAP and Active Directory Provider Failover'/><author><name>Paulo Albuquerque</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-8113867240201920593.post-6452705646449075117</id><published>2011-10-17T17:22:00.000-02:00</published><updated>2011-10-17T17:26:31.656-02:00</updated><title type='text'>Weblogic and JMS Queue Message Filtering</title><content type='html'>&lt;br /&gt;Recently, one of my customers presented me the following scenario:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YwM9EgtEmyU/Tpx8gSyKGkI/AAAAAAAAAC4/Ni3KZwrjwzQ/s1600/img-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="135" src="http://2.bp.blogspot.com/-YwM9EgtEmyU/Tpx8gSyKGkI/AAAAAAAAAC4/Ni3KZwrjwzQ/s320/img-1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;On a JMS Queue he had a Producer and several JMS consumers. The producer sends messages to the Queue that are to be consumed by a specific Client.&lt;br /&gt;&lt;br /&gt;My customer wanted to know how to implement their JMS Queue Sender and Receiver to only post/get the messages they are supposed to.&lt;br /&gt;&lt;br /&gt;WLS provides a set of predefined message headers that can be set to implement such logic or you can define your own&amp;nbsp;set of&amp;nbsp;message properties:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms/manage_apps.html#wp1095413"&gt;Setting and Browsing Message Header and Property Fields&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once the producer sets a message property, you can instantiate a consumer with a selector to filter only the messages that matches the filter expression:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms/manage_apps.html#wp1186875"&gt;Filtering Messages&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, in the above example, client C1 would only receive messages tagged with property "M1" and client C2 would only get messages tagged "M2".&lt;br /&gt;&lt;br /&gt;Keep reading to see how the sample classes work....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Filtering expressions follow a SQL standard similar to the 'WHERE' clause. So, Filters could include expressions like:&lt;br /&gt;&lt;br /&gt;"salary &amp;gt; 64000 and dept in ('eng','qa')"&lt;br /&gt;&lt;br /&gt;"product like 'WebLogic%' or product like '%T3') and version &amp;gt; 3.0"&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;"hireyear between 1990 and 1992 or fireyear is not null"&lt;br /&gt;&lt;br /&gt;and so on...&lt;br /&gt;&lt;br /&gt;I have provided a small example of a QueueSender.java and a QueueReceiver.java that implements filtering&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/wlstipsandmore/wlstipsandmorefiles/examples.zip?attredirects=0&amp;amp;d=1"&gt;Download Examples Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To test them, on a WLS domain, create a Connection Factory with JNDI name as "QCF" and a Queue with JNDI name as "TestQ". (Sources are attached in case you want to change anything).&lt;br /&gt;&lt;br /&gt;Open a command prompt and run setDomainEnv.cmd(.sh) script provided with WLS.&lt;br /&gt;&lt;br /&gt;Go to the place where you extracted the provided classes and run the QueueReceive.class with "java examples.samples.QueueReceive".&lt;br /&gt;&lt;br /&gt;Then run the QueueSender with "java examples.samples.QueueSend"&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-5hLK84sfmWU/Tpx_Obg-2fI/AAAAAAAAADA/EXeReDASFbo/s1600/img-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="181" src="http://3.bp.blogspot.com/-5hLK84sfmWU/Tpx_Obg-2fI/AAAAAAAAADA/EXeReDASFbo/s320/img-2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Note that the QueueSend, sends 4 messages: two to CONSUMER_1 and other two to CONSUMER_2, but only messages tagged to CONSUMER_1 are retrieved from the Queue.&lt;br /&gt;&lt;br /&gt;You can check this by monitoring the Queue in the WLS Admin Console.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-EklnscJQsm8/Tpx_YMvCikI/AAAAAAAAADI/mEucqyYTduM/s1600/img-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="85" src="http://1.bp.blogspot.com/-EklnscJQsm8/Tpx_YMvCikI/AAAAAAAAADI/mEucqyYTduM/s320/img-3.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Checking the Message properties we can see that only the ones with property "RECIPIENT_ID = CONSUMER_2" are lef tin the Queue.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-7IaptPZfIRw/Tpx_dFG7d8I/AAAAAAAAADQ/bK6Tn5fu7cU/s1600/img-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="152" src="http://1.bp.blogspot.com/-7IaptPZfIRw/Tpx_dFG7d8I/AAAAAAAAADQ/bK6Tn5fu7cU/s320/img-4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Not only the Message Filtering can enable a more sofisticated logic to your JMS applications but it can improve the system performance by only retrieving the messages that are addressed for that specific client.&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms/manage_apps.html"&gt;Programing Weblogic JMS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/javaee/1.4/api/javax/jms/Message.html"&gt;Message API&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-6452705646449075117?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/6452705646449075117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/10/weblogic-and-jms-queue-message.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/6452705646449075117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/6452705646449075117'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/10/weblogic-and-jms-queue-message.html' title='Weblogic and JMS Queue Message Filtering'/><author><name>Paulo Albuquerque</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-YwM9EgtEmyU/Tpx8gSyKGkI/AAAAAAAAAC4/Ni3KZwrjwzQ/s72-c/img-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8113867240201920593.post-4170734852483522452</id><published>2011-10-14T16:51:00.002-03:00</published><updated>2011-10-14T16:51:21.274-03:00</updated><title type='text'>Weblogic Log Viewer</title><content type='html'>&lt;br /&gt;This is a small and simple but very helpful tool I developed to visualize WLS logs.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Qput_YUB9Sg/TpiSnatwitI/AAAAAAAAACw/BYlQHxzercs/s1600/img-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-Qput_YUB9Sg/TpiSnatwitI/AAAAAAAAACw/BYlQHxzercs/s400/img-1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The motivation to write it came with the need to filter WLS logs by columns: it really helps to analyze logs by filtering out what is not relevant and concentrating in what is related to your problem.&lt;br /&gt;&lt;br /&gt;It is a WIP, and currently it can only parse WLS logs (not stdouts) that use line start tag as "####".&lt;br /&gt;&lt;br /&gt;You can filter by any of the predefined 12 columns: Time Stamp, Severity, Subsystem, Machine, Server, Thread ID, User ID, Transaction ID, Diagnostic Context, Raw Time, Message ID and Message Text.&lt;br /&gt;&lt;br /&gt;You can also re-order the columns and resize them. There's a button to conveniently copy the contents of the selected line (only the message) to the clipboard.&lt;br /&gt;&lt;br /&gt;Give it a try and let me know what you think. Download the jar at the end of this post and start it with java -jar WLSLogViewerApp.jar.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/wlstipsandmore/wlstipsandmorefiles/WLSLogViewerApp.jar"&gt;Download WLS Log Viewer&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-4170734852483522452?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/4170734852483522452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/10/weblogic-log-viewer.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/4170734852483522452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/4170734852483522452'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/10/weblogic-log-viewer.html' title='Weblogic Log Viewer'/><author><name>Paulo Albuquerque</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Qput_YUB9Sg/TpiSnatwitI/AAAAAAAAACw/BYlQHxzercs/s72-c/img-1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8113867240201920593.post-8557237167902992484</id><published>2011-09-21T16:20:00.000-03:00</published><updated>2011-09-21T16:20:55.036-03:00</updated><title type='text'>Weblogic Server Auditing Framework and Custom Audit Provider</title><content type='html'>&lt;br /&gt;Ever wanted to know who changed what in your WLS domain?&lt;br /&gt;&lt;br /&gt;One very helpful tool, specially in environments where the administration is carried on by a team, the Auditing Provider, can log every operating requests made to the domain.&lt;br /&gt;&lt;br /&gt;It has a cost though: the auditing logs tend to grow very fast, since the default Auditing Provider logs pretty much every action taken on the domain.&lt;br /&gt;&lt;br /&gt;The official docs explain how the Auditing provider works and how to configure the defaul Auditing Provider:&amp;nbsp;&lt;a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs90/dvspisec/aud.html"&gt;Auditing Providers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But to most customers, a simple "who/when/what" combination of configuration changes is enough.&lt;br /&gt;&lt;br /&gt;Fortunately for us, WLS provides a Security Service Provider Interface which we can implement and a ManagedBean Generator tool to create an MBean to configure our provider in the AdminConsole.&lt;br /&gt;&lt;br /&gt;So, if you're interested in develop your custom Audit Provider to log only the information you need, read on...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note 1: All the required classes and a complete Eclipse project (including an ant build to perform the required tasks: compile, package, deploy, etc) is included to make things easier (yes, I'm lazy).&lt;br /&gt;&lt;br /&gt;Note 2: This work was based on the official docs,&amp;nbsp;&lt;a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs90/dvspisec/aud.html"&gt;Auditing Providers&lt;/a&gt;,&amp;nbsp;and another blog with great and detailed material that was essencial to get this done: &lt;a href="http://weblogictips.wordpress.com/2010/05/03/how-to-develop-weblogic-custom-audit-provider/"&gt;How to Develop Weblogic Custom Audit Provider&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Download the Eclipse Project (I used Eclipse Indigo with Oracle WebLogic Server Tools plugin installed):&amp;nbsp;&lt;a href="https://sites.google.com/site/wlstipsandmore/wlstipsandmorefiles/CustomAuditProvider.zip"&gt;Eclipse Project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Import the project into your workspace.&lt;br /&gt;&lt;br /&gt;You might need to resolve some classpath references and project facets.&lt;br /&gt;&lt;br /&gt;You need to have those jars in your build path: WL_HOME/server/lib/weblogic.jar and WL_HOME/server/lib/wls-api.jar&lt;br /&gt;&lt;br /&gt;The Project uses Oracle Weblogic Server 11gR1 Patchset 2 as Runtime.&lt;br /&gt;&lt;br /&gt;3. Edit the build.xml and set the global properties according to you environment.&lt;br /&gt;&lt;br /&gt;The build.xml should have enough comments explaining all the properties and target's utilization.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-EcmtIkCoKgY/Tno1QFUxV8I/AAAAAAAAACU/-qEzbHi0N1g/s1600/img-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="130" src="http://1.bp.blogspot.com/-EcmtIkCoKgY/Tno1QFUxV8I/AAAAAAAAACU/-qEzbHi0N1g/s320/img-1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;4. Edit the SimpleSampleAuditor.xml to add/remove properties of your MBean.&lt;br /&gt;&lt;br /&gt;This Mbean will initiate and set/get the properties for you Custom Provider.&lt;br /&gt;&lt;br /&gt;Some of the MBean properties are required and some is user defined.&lt;br /&gt;&lt;br /&gt;Here you can define any property that you might want to use in your Provider Implementation and can be configured at runtime in AdminConsole.&lt;br /&gt;&lt;br /&gt;I have already added in this example LogFileName, Enabled, LogSizeLimit and MaxNumberLogFiles.&lt;br /&gt;&lt;br /&gt;If you want to remove them and add other properties remember to update the SimpleSampleAuditProviderImpl.java code.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-3IiR7aEnatE/Tno1ZKxBXYI/AAAAAAAAACY/sLcuj7-A4E0/s1600/img-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="228" src="http://3.bp.blogspot.com/-3IiR7aEnatE/Tno1ZKxBXYI/AAAAAAAAACY/sLcuj7-A4E0/s320/img-2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;5. Generate the MBean with the definition you created in the SimpleSampleAuditor.xml.&lt;br /&gt;&lt;br /&gt;For this purpose, I included a target defined in the build.xml, updateMBean. Use this target everytime you make changes to your MBean definition to update the MBean stub in your project.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1UIUCvIeAcw/Tno1f2boacI/AAAAAAAAACc/qo5RTrFdq18/s1600/img-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="96" src="http://1.bp.blogspot.com/-1UIUCvIeAcw/Tno1f2boacI/AAAAAAAAACc/qo5RTrFdq18/s320/img-3.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;6. Implement your Custom Provider login in SimpleSampleAuditProviderImpl.java.&lt;br /&gt;&lt;br /&gt;The methods you want to imnplement are initialize(), shutdown() and writeEvent().&lt;br /&gt;&lt;br /&gt;The Auditing Process uses Channels, Events and Contexts to audit information of the several WLS subsystems.&lt;br /&gt;&lt;br /&gt;In my case, I just want to log configuration changes made to the domain and ignore everything else.&lt;br /&gt;&lt;br /&gt;So, I just have to worry about the events related to ConfigurationEvents: AuditCreateConfigurationEvent, AuditDeleteConfigurationEvent and AuditSetAttributeConfigurationEvent, despite of the channel or Context they originated from.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-8_A-gQ0fTP0/Tno1rFgMJeI/AAAAAAAAACg/Dr3Grnh90Rs/s1600/img-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="175" src="http://3.bp.blogspot.com/-8_A-gQ0fTP0/Tno1rFgMJeI/AAAAAAAAACg/Dr3Grnh90Rs/s320/img-4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;7. Package and deploy&lt;br /&gt;&lt;br /&gt;Once you have your MBean and SimpleSampleAuditProviderImpl all set, it's time to package and deploy the Custom Auditor.&lt;br /&gt;&lt;br /&gt;Considering you have all the build.xml properties correctly set, run the target createCustomProvider and it will compile and package the required classes into a jar file, defined in your build.xml.&lt;br /&gt;&lt;br /&gt;To deploy, just run deploy target.&lt;br /&gt;&lt;br /&gt;By deploy, we mean to copy the jar file to BEA_HOME/wlserver_10.3/server/lib/mbeantypes folder.&lt;br /&gt;&lt;br /&gt;8. Edit your server's classpath&lt;br /&gt;&lt;br /&gt;The last step is to add the jar file to your server's classpath. Edit your server startup script to add the reference to your Auditor jar.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-WC69x03h02c/Tno2JSwewoI/AAAAAAAAACk/rhCqXzSPRC0/s1600/img-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="58" src="http://4.bp.blogspot.com/-WC69x03h02c/Tno2JSwewoI/AAAAAAAAACk/rhCqXzSPRC0/s320/img-5.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;9. Startup the server and Create your new provider.&lt;br /&gt;&lt;br /&gt;Go to AdminConsole - Security Realms - myrealm - Providers - Auditing.&lt;br /&gt;&lt;br /&gt;Click "New" and give your provider a name.&lt;br /&gt;&lt;br /&gt;Select Type: SimpleSampleAuditor&lt;br /&gt;&lt;br /&gt;Click OK.&lt;br /&gt;&lt;br /&gt;10. Configure your provider&lt;br /&gt;&lt;br /&gt;Click on the provider you've just created.&lt;br /&gt;&lt;br /&gt;Go to Provider Specific tab.&lt;br /&gt;&lt;br /&gt;There you can see the properties you've defined in you SimpleSampleAuditor.xml. You can change the default values there, to anything you like.&lt;br /&gt;&lt;br /&gt;Depending on your implementation, you might want to restart the server to meke the changes effective.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-CvQHaMF0lEI/Tno4Zl1mUFI/AAAAAAAAACo/-AoL-JvtB60/s1600/img-7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="317" src="http://2.bp.blogspot.com/-CvQHaMF0lEI/Tno4Zl1mUFI/AAAAAAAAACo/-AoL-JvtB60/s320/img-7.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;11. Check if it works.&lt;br /&gt;&lt;br /&gt;Make any configuration change, let's say, create a cluster.&lt;br /&gt;&lt;br /&gt;Go to your Auditor log to see the information it captured.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-p62LNW0G0b0/Tno4fH0Rw7I/AAAAAAAAACs/XEFPhoOwnhQ/s1600/img-8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="63" src="http://4.bp.blogspot.com/-p62LNW0G0b0/Tno4fH0Rw7I/AAAAAAAAACs/XEFPhoOwnhQ/s320/img-8.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This is a basic starting point to create more complex Auditing providers and you can extend this simple example to your needs.&lt;br /&gt;&lt;br /&gt;I hope it helps to keep track of who changed what in your environment.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-8557237167902992484?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/8557237167902992484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/09/weblogic-server-auditing-framework-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/8557237167902992484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/8557237167902992484'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/09/weblogic-server-auditing-framework-and.html' title='Weblogic Server Auditing Framework and Custom Audit Provider'/><author><name>Paulo Albuquerque</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-EcmtIkCoKgY/Tno1QFUxV8I/AAAAAAAAACU/-qEzbHi0N1g/s72-c/img-1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8113867240201920593.post-5073492788922549515</id><published>2011-08-23T15:27:00.000-03:00</published><updated>2011-08-23T15:27:26.376-03:00</updated><title type='text'>JRockit remote monitoring behind firewall and SSH Tunnel</title><content type='html'>&lt;br /&gt;In some situations, where a JRockit JVM is running behind a firewall, remote monitoring could become a hard task to accomplish, specially if a SSH tunnel is required to reach the server running the JVM...&lt;br /&gt;&lt;br /&gt;Read on for 2 scenarios where we can enable remote monitoring with JRockit Mission Control.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;The problem happens due to the way JMX clients connects to the JMX server:&lt;br /&gt;&lt;br /&gt;1 - When the JMX client makes a connection, it first connects to the RMI Registry on the server.&lt;br /&gt;&lt;br /&gt;2 - The RMI Registry is listening on the port you define in the -Xmanagement:port=REGISTRY_PORT.&lt;br /&gt;&lt;br /&gt;3 - After the client connects to the RMI Registry, they negociate another connection to expose the MBeans data, in the form of jmxhost:jmxport.&lt;br /&gt;&lt;br /&gt;4 - This port is not known until the connection is made, making it difficult to set firewall rules to enable traffic between client and server.&lt;br /&gt;&lt;br /&gt;Fotunately, JRockit R28 has added some changes that makes it easier to remotely monitor a JVM running behind a firewall.&lt;br /&gt;&lt;br /&gt;Quoting the &lt;a href="http://download.oracle.com/docs/cd/E15289_01/doc.40/e15066/newchanged.htm#CHDDHDGJ"&gt;official documentation&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"To allow RMI communication between the JRockit JVM server and a client through a firewall, two ports (RMI Registry and RMI Server) are required to configure the firewall.&lt;br /&gt;In previous releases, the RMI Server port number was generated randomly on the JRockit JVM server; so it was not possible to configure the firewall in advance.&lt;br /&gt;In JRockit JVM R28.0, the JMX agent enables you to select the same port number for the RMI Registry and the RMI Server.&lt;br /&gt;Therefore, you can use the default JMX agent for RMI communication through a firewall."&lt;/blockquote&gt;&lt;br /&gt;So, basically all you have to do is to add port and rmiserver_port to your Xmanagement JVM options, something like:&lt;br /&gt;&lt;br /&gt;-Xmanagement:port=REGISTRY_PORT,rmiserver_port=RMI_SERVER_PORT&lt;br /&gt;&lt;br /&gt;and have both ports open in the firewall rules, like the picture below:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-UAMpDzb_AWA/TlPu1Qb-ALI/AAAAAAAAACI/v2IQjR9B5QI/s1600/Picture1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="183" src="http://4.bp.blogspot.com/-UAMpDzb_AWA/TlPu1Qb-ALI/AAAAAAAAACI/v2IQjR9B5QI/s320/Picture1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Now, I have faced some situations where, for security reasons, the server where the JVM is running can only be accessed via SSH tunneling, because the Firewall rule can only be set to a known or trusted IP Address, like below scenario:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-P7D6Xj2sboc/TlPvD5B4YQI/AAAAAAAAACM/2aGIo9DxxvI/s1600/Picture2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="148" src="http://2.bp.blogspot.com/-P7D6Xj2sboc/TlPvD5B4YQI/AAAAAAAAACM/2aGIo9DxxvI/s320/Picture2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This breaks our first example, since the connection negotiated to expose the MBeans data uses a jmxhost:jmxport format, defined by the JMX Registry, leading the client to connect directly to jmxhost:jmxport in the machine where the JVM is running.&lt;br /&gt;&lt;br /&gt;In such situations, we can make use of yet another -D option to trick the client to connect to the machine where the SSH Tunnel is running.&lt;br /&gt;&lt;br /&gt;Just add -Djava.rmi.server.hostname=MachineA (using our example above) to force the client to connect to MachineA, where the SSH tunnel is running.&lt;br /&gt;&lt;br /&gt;So, in our JVM startup options, we would have something like:&lt;br /&gt;&lt;br /&gt;-Xmanagement:port=REGISTRY_PORT,rmiserver_port=RMI_SERVER_PORT -Djava.rmi.server.hostname=MachineA&lt;br /&gt;&lt;br /&gt;and in Mission Control we would use a Custom JMX Service URL, like:&lt;br /&gt;&lt;br /&gt;service:jmx:rmi://MachineA:RMI_SERVER_PORT/jndi/rmi://MachineA:REGISTRY_PORT/jmxrmi&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1TpJpSFOFQg/TlPviMMB5HI/AAAAAAAAACQ/adrjqReRrTo/s1600/Img-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://1.bp.blogspot.com/-1TpJpSFOFQg/TlPviMMB5HI/AAAAAAAAACQ/adrjqReRrTo/s320/Img-3.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E15289_01/doc.40/e15066/newchanged.htm#CHDDHDGJ"&gt;Changes in the JMX Agent&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E15289_01/doc.40/e15062/doptions.htm#CHDCJADE"&gt;JMX Agent-Related –D Options&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.markfeeney.com/2010/10/jmx-through-ssh-tunnel.html"&gt;Mark Feeney Blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.oracle.com/jmxetc/entry/connecting_through_firewall_using_jmx"&gt;Daniel Fuchs Blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Happy monitoring!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-5073492788922549515?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/5073492788922549515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/08/jrockit-remote-monitoring-behind.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/5073492788922549515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/5073492788922549515'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/08/jrockit-remote-monitoring-behind.html' title='JRockit remote monitoring behind firewall and SSH Tunnel'/><author><name>Paulo Albuquerque</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-UAMpDzb_AWA/TlPu1Qb-ALI/AAAAAAAAACI/v2IQjR9B5QI/s72-c/Picture1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8113867240201920593.post-8793330167242642294</id><published>2011-08-03T17:29:00.000-03:00</published><updated>2011-08-03T17:29:22.962-03:00</updated><title type='text'>Execute Queue and Thread Dumps</title><content type='html'>Once a customer asked me if there is a way to monitor his server execute queue to understand which threads and applications might be causing the contention in the server's requests execution.&lt;br /&gt;&lt;br /&gt;I have written a quick and dirty WLST script that monitors remotely this specific server execute queue, and in case it get any higher than a desired value, it takes a thread dump, and saves it to a file on my local machine.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Server's execute queue may indicate that there are more requests getting to the server than it is capable of serving them, causing incoming request to clog up in the WLS execute queue, waiting for available threads to process its request.&lt;br /&gt;&lt;br /&gt;A thread dump is a great way to quickly look at what the server threads are doing at a moment in time, and can give valuable information to help diagnose the bottleneck in your application.&lt;br /&gt;&lt;br /&gt;Those kind of situations might be intermittent and may&amp;nbsp;occur in a time spam of a few seconds, making it difficult to take a thread dump, in the right moment it is happening.&lt;br /&gt;&lt;br /&gt;Using the script below, one can monitor the execute queue and take thread dumps at exactly the same time the issue is happening.&lt;br /&gt;&lt;br /&gt;Download the example here:&amp;nbsp;&lt;a href="https://sites.google.com/site/wlstipsandmore/wlstipsandmorefiles/monitorWLSQueue.py"&gt;Monitor Server Execute Queue&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can modify the script to monitor other MBeans Attributes as well, like hogging threads and such.&lt;br /&gt;&lt;br /&gt;To use it, just open terminal and run setDomainEnv.sh(cmd) and then "java weblogic.WLST monitorWLSQueue.py".&lt;br /&gt;&lt;br /&gt;It will use the variables defined in the .py file to connect to the specified server/port/user/pwd, so it is important to edit the file before running it.&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/8113867240201920593-8793330167242642294?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/8793330167242642294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/08/execute-queue-and-thread-dumps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/8793330167242642294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/8793330167242642294'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/08/execute-queue-and-thread-dumps.html' title='Execute Queue and Thread Dumps'/><author><name>Paulo Albuquerque</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-8113867240201920593.post-5853723877804150258</id><published>2011-07-11T11:53:00.001-03:00</published><updated>2011-07-11T19:25:09.022-03:00</updated><title type='text'>Weblogic on YouTube!!</title><content type='html'>Check out the official WLS channel on YouTube:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/user/OracleWebLogic"&gt;Oracle WebLogic on YouTube&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There we can find great videos on tips and information on WLS.&lt;br /&gt;&lt;br /&gt;Enjoy!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-5853723877804150258?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/5853723877804150258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/07/weblogic-on-you-tube.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/5853723877804150258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/5853723877804150258'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/07/weblogic-on-you-tube.html' title='Weblogic on YouTube!!'/><author><name>Paulo Albuquerque</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-8113867240201920593.post-2380924715771252116</id><published>2011-06-28T17:18:00.004-03:00</published><updated>2011-06-28T17:30:35.829-03:00</updated><title type='text'>Recover and Reset Weblogic Admin Password</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;In this post we will explain how to recover and reset the WLS Admin Password.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;If you ever forgot the Admin password, this is a safe and easy way to recover it without decrypting or hacking any WLS file.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;For this, we'll just use WLS own tools to log on to Admin Console and reset the Admin Password.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Read on after the jump for the step by step...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;For this example we will use a standard WLS 10.3.3 domain, located at: C:\bea\wls\user_projects\domains\base_domain.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;This will be referred as DOMAIN_HOME from now on.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;1) First of all make sure the Admin Server is stopped.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;2) Open a command prompt and go to you DOMAIN_HOME/bin directory (C:\bea\wls\user_projects\domains\base_domain\bin)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;3) Run setDomainEnv.sh(cmd)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-JjVOVXsp2Og/Tgo100MJvpI/AAAAAAAAABQ/SpDPXje-EAw/s1600/img-1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="85" src="http://3.bp.blogspot.com/-JjVOVXsp2Og/Tgo100MJvpI/AAAAAAAAABQ/SpDPXje-EAw/s320/img-1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;4) Run the following command (without the quotes): "java weblogic.security.utils.AdminAccount NewAdminUser NewAdminPassword ."&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-9iwjYfqczZ0/Tgo12z7TItI/AAAAAAAAABU/IC5JWy0D_7A/s1600/img-2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="50" src="http://1.bp.blogspot.com/-9iwjYfqczZ0/Tgo12z7TItI/AAAAAAAAABU/IC5JWy0D_7A/s320/img-2.jpg" width="320" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Note 1: the dot (".") at the end of the command, is necessary to run the command in the current location.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Note 2: NewAdminUser and NewAdminPassword are the user and password we are using to create a temporary AdminUser to log on to WLS.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;In this example we used "TempAdmin" for username and "TempPass123" for password.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;5) The command will create a file called "DefaultAuthenticatorInit.ldift" in the current directory.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;6) Go to DOMAIN_HOME\security and rename the old "DefaultAuthenticatorInit.ldift", for precaution, to something like "DefaultAuthenticatorInit.ldift.bkp".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;7) Copy the recently created "DefaultAuthenticatorInit.ldift" to DOMAIN_HOME\security&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;8) Edit the boot.properties located at DOMAIN_HOME\servers\AdminServer\security and give the values used for user/password in the step 4.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;The original values should be a encrypted string, just enter the values as plain text.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;For example:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;password=TempAdmin&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;username=TempPass123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;9) Delete the file named "DefaultAuthenticatormyrealmInit.initialized" located in DOMAIN_HOME\servers\AdminServer\data\ldap&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;10) Go back to your DOMAIN_HOME and start the server with the following command (without the quotes): "java weblogic.Server"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-PMiqwTinIQU/Tgo5TJf3-AI/AAAAAAAAABk/rUj7fyjYYlY/s1600/img-6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="45" src="http://3.bp.blogspot.com/-PMiqwTinIQU/Tgo5TJf3-AI/AAAAAAAAABk/rUj7fyjYYlY/s320/img-6.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;11) Once the server comes in RUNNING state, shut it down again and restart it with startWeblogic.sh(cmd)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;12) After the server comes up again, log in to Admin Console with the user/pass created in step 4&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;13) Go to Security Realms &amp;gt; myrealm &amp;gt; Users and Groups&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;14) Here you can select your default WLS Admin user (in my case, weblogic) and change his password.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-tQt5s8nRUgc/Tgo18aRyRSI/AAAAAAAAABc/iW5BVOZRoC4/s1600/img-4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="109" src="http://3.bp.blogspot.com/-tQt5s8nRUgc/Tgo18aRyRSI/AAAAAAAAABc/iW5BVOZRoC4/s320/img-4.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;15) To change it, select the user and go to "passwords" tab, provide the new password and save it.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Ua81Bf9k0ao/Tgo1-SFx61I/AAAAAAAAABg/FtMCBVsWDNk/s1600/img-5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="112" src="http://1.bp.blogspot.com/-Ua81Bf9k0ao/Tgo1-SFx61I/AAAAAAAAABg/FtMCBVsWDNk/s320/img-5.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;16) After that you can restart your server and edit the boot.properties again to use your new admin user password and then delete the temporary user created for this purpose.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I tested this with WLS 10.3.3 but I have done other times on different WLS versions. It should work with 10.x up to 10.3.5.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Hope it helps, enjoy!&lt;/span&gt;&lt;br /&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/8113867240201920593-2380924715771252116?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/2380924715771252116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/06/recover-and-reset-weblogic-admin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/2380924715771252116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/2380924715771252116'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/06/recover-and-reset-weblogic-admin.html' title='Recover and Reset Weblogic Admin Password'/><author><name>Paulo Albuquerque</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-JjVOVXsp2Og/Tgo100MJvpI/AAAAAAAAABQ/SpDPXje-EAw/s72-c/img-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8113867240201920593.post-4359333842516890252</id><published>2011-06-08T10:00:00.001-03:00</published><updated>2011-06-08T10:11:04.759-03:00</updated><title type='text'>Configuring WLS for SSO using Kerberos protocol</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;In this post we will go step-by-step on how to configure WLS and &amp;nbsp;Windows Integrated Authentication using Kerberos protocol.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I will not go over the theory of how Kerberos works and the general idead behind it. There's plenty of documentation in the web that covers it much better than I could do.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I always found it hard to get a detailed guide on how to implement the solution with a real example with details.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;So, after struggling with Kerberos in several customer's issues and implementations, I decided to post here my experience with this small tutorial.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I hope it helps people to get started.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I. Required Environment&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a. KDC/AD machine&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;OS: Windows 2003 Server&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Domain: kerberossso.com&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Machine: win2003&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;IP: 192.168.0.100&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b. Windows Client&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;OS: Windows XP SP3&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Domain: kerberossso.com&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Machine: win-xp&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Client: IE 7&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;User: wlsuser3 (this user needs to be created on the AD and will log on to the kerberossso domain)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Pass: Letmein123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;IP: 192.168.0.101&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c. Weblogic Server 10.3.3&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;OS: Oracle Enterprise Linux 5&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Machine: wlshost&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;IP: 192.168.0.102&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;WLS Domain: KerberosDomain (A standard WLS domain with just the AdminServer)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Note: Additional files and test application to complete this step-by-step will be provided at the end of the post.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;II. AD Setup for client machine&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a. create the following user in AD&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b. User: wlsuser3&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c. Password: Letmein123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FG8AEpIPPEY/Te9wMci87AI/AAAAAAAAAA4/EVn1lQaEspg/s1600/img-2.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://3.bp.blogspot.com/-FG8AEpIPPEY/Te9wMci87AI/AAAAAAAAAA4/EVn1lQaEspg/s320/img-2.bmp" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;d. Log on in the Windows XP machine (Client) with wlsuser3/Letmein123 in kerberossso.com domain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-oIDdLyB0SOo/Te9vMGVSUVI/AAAAAAAAAA0/_nuMGqCEtF0/s1600/img-1.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://1.bp.blogspot.com/-oIDdLyB0SOo/Te9vMGVSUVI/AAAAAAAAAA0/_nuMGqCEtF0/s320/img-1.bmp" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;III. AD Setup for Weblogic Server&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a. Create a user in the AD to represent the WLS. When creating the user account, use the simple name of the computer. For example, if the host is named myhost.example.com, create a user in Active Directory called myhost.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b. Create a new user wlshost and set the password to Letmein123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c. The user account's encryption type must be DES and the account must require Kerberos pre-authentication.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-DSxJbCWx2OY/Te9we--5vkI/AAAAAAAAAA8/PfEi-soPt44/s1600/img-3.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-DSxJbCWx2OY/Te9we--5vkI/AAAAAAAAAA8/PfEi-soPt44/s320/img-3.bmp" width="266" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;d. Reset the password to Letmein123 again (Setting the encryption type may corrupt the password)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;e. Create the Service Principal Names (SPNs) for the user account created in step a:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;setspn -A HTTP/wlshost wlshost&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;f. Check if the SPN was created successfully. This is an important step. If the same service is linked to a different account in the Active Directory server, the client will not send a Kerberos ticket to the server.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;setspn -L wlshost&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-xoThVpb6pEk/Te9wwj9xfQI/AAAAAAAAABA/ZVP67xBbvpg/s1600/img-4.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="82" src="http://3.bp.blogspot.com/-xoThVpb6pEk/Te9wwj9xfQI/AAAAAAAAABA/ZVP67xBbvpg/s320/img-4.bmp" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;g. Create a keytab file:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;ktpass -princ HTTP/wlshost@KERBEROSSSO.COM -pass Letmein123 -mapuser wlshost -mapOp set -DesOnly -crypto DES-CBC-CRC -pType KRB5_NT_PRINCIPAL -SetPass -out wlshost.keytab&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;h. Reset the password for wlshost user again. For some reason, in my tests, I had to reset the password before testing the keytab file, otherwise it fails to authenticate.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-oxWur5suaLM/Te9xBsLDmvI/AAAAAAAAABE/eG17rRNg3bY/s1600/img-5.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="68" src="http://4.bp.blogspot.com/-oxWur5suaLM/Te9xBsLDmvI/AAAAAAAAABE/eG17rRNg3bY/s400/img-5.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;IV. Configuring the WLS Machine to access the KDC&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a. Test the keytab file&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;a1. Create a Kerberos Configuration File (krb5.conf). OEL has a sample krb in /etc/krb5.conf&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;a2. Edit this file and replace it with the following contents:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;[logging]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;default = FILE=/root/Oracle/Middleware/user_projects/domains/KerberosDomain/krb5libs.log&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;kdc = FILE=/root/Oracle/Middleware/user_projects/domains/KerberosDomain/krb5kdc.log&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;admin_server = FILE=/root/Oracle/Middleware/user_projects/domains/KerberosDomain/kadmind.log&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;[libdefaults]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;default_realm = KERBEROSSSO.COM&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;dns_lookup_realm = false&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;dns_lookup_kdc = false&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;default_tkt_enctypes = des-cbc-crc&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;default_tgs_enctypes = des-cbc-crc&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;ticket_lifetime = 600&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;[realms]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;KERBEROSSSO.COM = {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; kdc = 192.168.0.100:88&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; admin_server = win2003&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; default_domain = KERBEROSSSO.COM&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;[domain_realm]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;.kerberossso.com = KERBEROSSSO.COM&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;[appdefaults]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;autologin = true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;forward = true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;forwardable = true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;encrypt = true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;a3. Save the krb5.conf&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;a4. Copy the keytab file, wlshost.keytab, (generated on step III) to the WLS domain root folder, KerberosDomain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;a5. Run the following command to test the keytab and generate a cache for the kerberos ticket:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;kinit -V -k -t /root/Oracle/Middleware/user_projects/domains/KerberosDomain/wlshost.keytab HTTP/wlshost@KERBEROSSSO.COM&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;a6. You should see a message like:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;Authenticated to Kerberos v5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-NPc3Ur2Qnaw/Te9xurQPzfI/AAAAAAAAABI/h0xRgAfDnXY/s1600/img-6.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="47" src="http://3.bp.blogspot.com/-NPc3Ur2Qnaw/Te9xurQPzfI/AAAAAAAAABI/h0xRgAfDnXY/s320/img-6.bmp" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;a7. Kerberos keytab and configuration works fine and a ticket was cached in your machine. To see the cached tickets, you can run the following command:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;klist&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;a8. If everything went well, you should see something like:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-iUNTbdsFQGE/Te9x5_OcELI/AAAAAAAAABM/0eRuLWit8ik/s1600/img-7.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="90" src="http://2.bp.blogspot.com/-iUNTbdsFQGE/Te9x5_OcELI/AAAAAAAAABM/0eRuLWit8ik/s320/img-7.bmp" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;V. Configuring WLS to access the KDC&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a. Move the /etc/krb5.conf to your domain's root folder (/root/Oracle/Middleware/user_projects/domains/KerberosDomain/)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b. Create a JAAS loging file in the Domain's root folder (jaas.login) with the following contents:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;com.sun.security.jgss.initiate {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;com.sun.security.auth.module.Krb5LoginModule required&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;principal="HTTP/wlshost@KERBEROSSSO.COM"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;useKeyTab=true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;keyTab="/root/Oracle/Middleware/user_projects/domains/KerberosDomain/wlshost.keytab"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;storeKey=true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;useTicketCache=true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;doNotPrompt=true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;debug=true;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;com.sun.security.jgss.krb5.accept {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;com.sun.security.auth.module.Krb5LoginModule required&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;principal="HTTP/wlshost@KERBEROSSSO.COM"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;useKeyTab=true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;keyTab="/root/Oracle/Middleware/user_projects/domains/KerberosDomain/wlshost.keytab"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;storeKey=true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;useTicketCache=true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;doNotPrompt=true&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;debug=true;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;};&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c. Note: Available options for jaas.login:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Debug: true/false&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;storeKey: true/false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;useTicketCache: true/false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;useKeyTab: true/false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;doNotPrompt: true/false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;isInitiator: true/false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;KeyTab: &amp;lt;PATH_TO_KEYTAB&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;refreshKrb5Config: true/false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;principal: &amp;lt;SPN&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;tryFirstPass: true/false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;useFirstPass: true/false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;storePass: true/false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;clearPass: true/false&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;d. Your domain root folder (/root/Oracle/Middleware/user_projects/domains/KerberosDomain/) should now contain:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;c1. wlshost.keytab&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;c2. jaas.login&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;c3. krb5.conf&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;e. Edit your startWeblogic.sh script to add the following parameters to your JAVA_OPTION variable:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;-Dsun.security.krb5.debug=true&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;-Dweblogic.security.enableNegotiate=true&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;-Djavax.security.auth.useSubjectCredsOnly=false&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;-Djava.security.auth.login.config=/root/Oracle/Middleware/user_projects/domains/KerberosDomain/jaas.login&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;-Djava.security.krb5.conf=/root/Oracle/Middleware/user_projects/domains/KerberosDomain/krb5.conf&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;f. Startup WLS and go to Security Realm / myrealm / Providers / Authentication&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;g. Create a new "Negotiate Identity Asserter" provider, and give it a name.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;h. Click on the recently created Negotiate Identity Assertion provider and go to Configuration / Provider Specific and uncheck "Form Based Negotiation Enabled"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;i. Restart WLS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;VI. Configuring Application and User to access protected resources&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;(If your WLS has users and groups imported from an AD Provider, skip next step)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a. In WLS Admin Console, go to Security Realm / myrealm / Users and Groups and create a user called wlsuser3. Set a password.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b. Check/edit the web.xml and weblogic.xml from the provided application (check the end of this post)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;web.xml:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;welcome-file-list&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;welcome-file&amp;gt;welcome.html&amp;lt;/welcome-file&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/welcome-file-list&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;security-constraint&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;display-name&amp;gt;Constraint-0&amp;lt;/display-name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;web-resource-collection&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;web-resource-name&amp;gt;BasicSecureApp&amp;lt;/web-resource-name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;url-pattern&amp;gt;/secured/*&amp;lt;/url-pattern&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;http-method&amp;gt;GET&amp;lt;/http-method&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;http-method&amp;gt;POST&amp;lt;/http-method&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;/web-resource-collection&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;auth-constraint&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&amp;lt;role-name&amp;gt;SSOrole&amp;lt;/role-name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;/auth-constraint&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/security-constraint&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;login-config&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;auth-method&amp;gt;CLIENT-CERT&amp;lt;/auth-method&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/login-config&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;security-role&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;role-name&amp;gt;SSOrole&amp;lt;/role-name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/security-role&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;lt;/web-app&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;weblogic.xml:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;lt;weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;security-role-assignment&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;role-name&amp;gt;SSOrole&amp;lt;/role-name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;lt;principal-name&amp;gt;wlsuser3&amp;lt;/principal-name&amp;gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;lt;/security-role-assignment&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&amp;lt;/weblogic-web-app&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c. Update the web.xml and weblogic.xml to the provided war (you can use winzip, 7zip or winrar to open, edit and update the files to the WAR).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;d. Deploy the provided application to WLS.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;VII. Configuring the IE for Integrated Windows Authentication&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a. In Internet Explorer, select Tools &amp;nbsp;Internet Options.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a1. Select the Security tab.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a2. Select Local intranet and click Sites.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a3. In the Local intranet popup, ensure that the "Include all sites that bypass the proxy server" and "Include all local (intranet) sites not listed in other zones" options are checked.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a4. Click Advanced.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a5. In the Local intranet (Advanced) dialog box, add all relative domain names that will be used for WebLogic Server instances participating in the SSO configuration (for example, wlshost) and click OK.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b. Configure Intranet Authentication&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b1. Select Tools &amp;nbsp;Internet Options.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b2. Select the Security tab.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b3. Select Local intranet and click Custom Level....&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b4. In the Security Settings dialog box, scroll to the User Authentication section.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b5. Select "Automatic logon only in Intranet zone". This option prevents users from having to re-enter logon credentials, which is a key piece to this solution.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b6. Click OK.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c. Verify the Proxy Settings&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c1. If you have a proxy server enabled:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c2. Select Tools &amp;nbsp;Internet Options.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c3. Select the Connections tab and click LAN Settings.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c4. Verify that the proxy server address and port number are correct.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c5. Click Advanced.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c6. In the Proxy Settings dialog box, ensure that all desired domain names are entered in the Exceptions field.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c7. Click OK to close the Proxy Settings dialog box.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;VIII. Does it work?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;With the application deployed and IE configurations done, go to http://wlshost:7001/BasicSecureApp/index.jsp or whatever name you have to your host/port.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;IX. Things to check&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a. Check the KDC, client and WLS clocks. They must be synchronized in order to KDC grants a ticket.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b. If you're using Windows 2008 Server, by default, it does not support DES encryption. Check http://technet.microsoft.com/en-us/library/dd560670%28WS.10%29.aspx&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c. Check the Kerberos debug information, it should be printed to the WLS sdtout if you set debug true in the jaas.login file.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;X. Files&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;a href="https://sites.google.com/site/wlstipsandmore/wlstipsandmorefiles/BasicSecureApp.war"&gt;BasicSecureApp&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/wlstipsandmore/wlstipsandmorefiles/jaas.login"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;jaas.login&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/wlstipsandmore/wlstipsandmorefiles/krb5.conf"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;krb5.conf&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;XI. Reference and Documentation&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;a. kinit reference&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://linux.die.net/man/1/kinit&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;b. klist reference&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://linux.die.net/man/1/klist&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;c. kdestroy reference&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://linux.die.net/man/1/kdestroy&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;d. Configuring SSO with Microsoft Clients&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://download.oracle.com/docs/cd/E12840_01/wls/docs103/secmanage/sso.html&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;e. krb5.config Options&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://linux.die.net/man/5/krb5.conf&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;f. setspn&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://technet.microsoft.com/en-us/library/cc773257(WS.10).aspx&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;g. ktpass&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://technet.microsoft.com/en-us/library/cc753771(WS.10).aspx&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;h. JAAS login file configuration options&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://download.oracle.com/javase/1.4.2/docs/guide/security/jaas/tutorials/LoginConfigFile.html&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;i. WLs 10.3.4&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://download.oracle.com/docs/cd/E17904_01/web.1111/e13707/sso.htm#i1106670&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;http://download.oracle.com/javase/6/docs/technotes/guides/security/jgss/jgss-features.html&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-4359333842516890252?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/4359333842516890252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/06/configuring-wls-for-sso-using-kerberos.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/4359333842516890252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/4359333842516890252'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/06/configuring-wls-for-sso-using-kerberos.html' title='Configuring WLS for SSO using Kerberos protocol'/><author><name>Paulo Albuquerque</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-FG8AEpIPPEY/Te9wMci87AI/AAAAAAAAAA4/EVn1lQaEspg/s72-c/img-2.bmp' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8113867240201920593.post-708410504437841389</id><published>2011-05-20T10:38:00.003-03:00</published><updated>2011-05-20T10:46:38.973-03:00</updated><title type='text'>Exporting Weblogic Embedded LDAP Server</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The embedded LDAP server is the default security provider database for the WebLogic Authentication, Authorization, Credential Mapping and Role Mapping providers.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;It&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;contains user, group, group membership, security role, security policy, and credential map information.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Oftentimes, users need to migrate a whole WLS domain to another machine or to make a mirror copy of the domain in another environment, or to just make a backup copy of your Security Realm.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;For this purpose there is the pack and unpack domain or the Domain Template Builder, but they don't migrate the Embedded LDAP data.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;If you have created users, groups, roles, etc in your embedded LDAP, you'd have to recreate them manually, after the domain is brought up the the new machine.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Fortunately, WLS comes with a tool to export the whole content of your WLS security Ream, read after the jump on how to migrate the whole content of the WLS security ream.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;Migrating the contents of your Security Realm is simple, you only need access to the Admin Console.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;1 - Go to "Security Realms", "myrealm".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;2 - Select "Migration" and "Export" tab&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-1OT1nE88NqM/TdZtucdLvoI/AAAAAAAAAAQ/PtIHzL4eL5I/s1600/img-1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="208" src="http://3.bp.blogspot.com/-1OT1nE88NqM/TdZtucdLvoI/AAAAAAAAAAQ/PtIHzL4eL5I/s320/img-1.JPG" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;3 - Enter a folder where it should generate the exported files and click "Save".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;4 - 5 Files should be created in the designated folder:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;DefaultAuthenticator.dat,&amp;nbsp;DefaultCredentialMapper.dat,&amp;nbsp;exportIndex.dat,&amp;nbsp;XACMLAuthorizer.dat and&amp;nbsp;XACMLRoleMapper.dat.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;5 - To import them to the target domain, just to the same as before, but this time choose the "Import" tab.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;6 - Enter the folder where you have the files stored and click "Save".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;There you go, all your users, groups, roles, security policies, etc are now available in the new domain!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"&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/8113867240201920593-708410504437841389?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/708410504437841389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/05/exporting-weblogic-embedded-ldap-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/708410504437841389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/708410504437841389'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/05/exporting-weblogic-embedded-ldap-server.html' title='Exporting Weblogic Embedded LDAP Server'/><author><name>Paulo Albuquerque</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-1OT1nE88NqM/TdZtucdLvoI/AAAAAAAAAAQ/PtIHzL4eL5I/s72-c/img-1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8113867240201920593.post-5776623792003126676</id><published>2011-04-29T10:34:00.002-03:00</published><updated>2011-05-20T10:43:47.126-03:00</updated><title type='text'>Manually tuning Weblogic Socket Readers (Muxer Threads)</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Weblogic uses special threads, called Muxers, to read incoming requests on the servers.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Those threads' main responsability is to read the request and pass the work to the correspondent Execute Thread.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;WLS allocates a percentage of execute threads from the self-tuning thread pool to be Muxer Threads.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;By default this value is 33% of the thread pool and cannot exceed 50%.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;If you need to manually tune the number of socket reader threads, keep reading after the jump:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This configuration is made in the Administration Console:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a. In the left pane of the Console, expand Environment &amp;gt; &amp;nbsp;Servers.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b. On the Summary of Servers page, select the server instance for which you will configure the number of available socket readers.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;c. Select Configuration &amp;gt; Tuning and update Socket Readers.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Sometimes people feel they need to fine tune the number of available socket readers and manually assign a arbitrary number to the Muxer Threads, instead on a percentage.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;It is as simple as pass this argument to the JAVA_OPTIONS:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;-Dweblogic.SocketReaders=NUMBER_OF_THREADS&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;If you want to have, let's say, 10 MuxerThreads, -Dweblogic.SocketReaders=10, and take a thread dump on your running WLS process, you should see ten of those:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" id=25 idx=0x58 tid=4820 prio=5 alive, in native, daemon&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;at weblogic/socket/NTSocketMuxer.getIoCompletionResult(Lweblogic/socket/NTSocketMuxer$IoCompletionData;)Z(Native Method)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;at weblogic/socket/NTSocketMuxer.processSockets(NTSocketMuxer.java:81)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;at weblogic/socket/SocketReaderRequest.run(SocketReaderRequest.java:29)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;at weblogic/socket/SocketReaderRequest.execute(SocketReaderRequest.java:42)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;at weblogic/kernel/ExecuteThread.execute(ExecuteThread.java:145)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:117)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;at jrockit/vm/RNI.c2java(IIIII)V(Native Method)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-- end of trace&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="font-family: Verdana, sans-serif; white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This should work with WLS 8.1.x up to 10.3.4.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="font-family: Verdana, sans-serif; white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="font-family: Verdana, sans-serif; white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Remember to use this with caution.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Links:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E13222_01/wls/docs92/perform/WLSTuning.html"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;WLS Tuning&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E12839_01/apirefs.1111/e13952/taskhelp/tuning/TuningSocketReaders.html"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Tuning Socket Readers&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-5776623792003126676?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/5776623792003126676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/04/manually-tuning-weblogic-socket-readers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/5776623792003126676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/5776623792003126676'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/04/manually-tuning-weblogic-socket-readers.html' title='Manually tuning Weblogic Socket Readers (Muxer Threads)'/><author><name>Paulo Albuquerque</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-8113867240201920593.post-735889086206509188</id><published>2011-04-18T16:30:00.002-03:00</published><updated>2011-05-20T10:44:28.244-03:00</updated><title type='text'>JAX-RPC Webservices with 2-way SSL in Weblogic 10.3.3</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In this article we will configure 2 weblogic domains, one hosting a webservice working as a "consumer" WS, that we will call ClientDomain.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The other domain, the ServiceDomain, will host a webservice working as a "service" WS. Both webservices are going to exchange information in 2-way SSL.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Keep reading the step by step instructions after the jump:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;1.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Before we begin&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;we assume we have 2 physical machines with a vanilla WLS 10.3.3 installation.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;We need to create 2 standard Weblogic domains as following:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;MachineA: ClientDomain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;AdminServer&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;http listen port: 7001&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;https listen port: 7002&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;MachineB: ServiceDomain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;AdminServer&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;http listen port: 7001&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;https listen port: 7002&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Configuring Server’s Identity and Trust&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Reference:&amp;nbsp;&lt;a href="http://download.oracle.com/docs/cd/E15051_01/wls/docs103/secmanage/identity_trust.html"&gt;WLS Identity and Trust&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In our example, we will use Self Signed Certificates (generated with keytool) for our server’s identity. In a real world example, one would use certificates provided by one on the truested CA.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2.1 Generating the key pair for ClientDomain (Machine A):&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Go to your domain home, "bin" folder and open a command prompt&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Run setDomainEnv.cmd(sh)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;c)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Run the following command:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;keytool -genkey -alias client_cert -keyalg RSA -keysize 1024 -keypass keypass123 -keystore ClientIdentity.jks -storepass storepass123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;d)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Provide the information required by the keytool.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;e)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;A file should be created in your domain home: ClientIdentity.jks&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;2.2 Generating the key pair for Service Domain (Machine B):&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Go to your domain home, "bin" folder and open a command prompt&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Run setDomainEnv.cmd(sh)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;c)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Run the following command:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;keytool -genkey -alias server_cert -keyalg RSA -keysize 1024 -keypass keypass123 -keystore ServerIdentity.jks -storepass storepass123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;d)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Provide the information required by the keytool.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;e)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;A file should be created in your domain home: ServerIdentity.jks&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Both files created are keystores which contains the server’s key pair (a public key and associated private key). The public key is wrapped as a self-signed certificate, which is stored as a single-element certificate chain.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Exporting the certificate to a certificate file&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3.1&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;For the ClientDomain:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Run the following command: keytool -export -rfc -alias client_cert -file ClientCert.cer -keystore ClientIdentity.jks -storepass storepass123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;A file should be created on your domain home, ClientCert.cer&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;3.2&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;For the ServiceDomain:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Run the following command: keytool -export -rfc -alias server_cert -file ServerCert.cer -keystore ServerIdentity.jks -storepass storepass123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;A file should be created on your domain home, ServerCert.cer&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Both files are the exported certificate, created with a printable encoding format, as defined by the Internet RFC 1421 standard, since the -rfc option was specified.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;4.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Importing the server’s certificate to the trust store&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Copy the ClientCert.cer from MachineA to MachineB&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Copy the ServerCert.cer from MachineB to MachineA&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;c)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Save both files to your server’s "BEA_HOME\wlserver_10.3\server\lib" folder, in both MachineA and MachineB.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;d)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;In Machine A, in the same command prompt used in the previous steps, change to "BEA_HOME\wlserver_10.3\server\lib" folder and run the following command:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;keytool -import -v -trustcacerts -alias server_cert -file ServerCert.cer -keystore cacerts -storepass changeit&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;e)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;In Machine B, in the same command prompt used in the previous steps, change to "BEA_HOME\wlserver_10.3\server\lib" folder and run the following command:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;keytool -import -v -trustcacerts -alias client_cert -file ClientCert.cer -keystore cacerts -storepass changeit&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Now, both servers are configured to trust each other certificates.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;5.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Configuring keystores&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Start Both ClientDomain and ServiceDomain AdminServer’s&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Go back to you domain home, "bin" folder and run "startWebLogic.cmd(sh)"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;c)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Do this for ClientDomain and ServiceDomain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;d)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Once both servers are running, open the admin console by going to:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;http://MachineA:7001/console&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;http://MachineB:7001/console&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;e)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;For both domain, go to "Environment &amp;gt; Servers &amp;gt; AdminServer"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;f)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Click on "Configuration &amp;gt; Keystore" tab&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;g)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Click on the "Change" button for the server keystore&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-8gQSHXKdRss/TVGQFKrcrfI/AAAAAAAAAaA/1NwxpRgugmQ/s1600/fig-1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="65" src="http://3.bp.blogspot.com/-8gQSHXKdRss/TVGQFKrcrfI/AAAAAAAAAaA/1NwxpRgugmQ/s320/fig-1.JPG" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;h)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Select "Custom Identity and Custom Trust" and click "Save"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-3nyqos3H-ZE/TVGQezNe-iI/AAAAAAAAAaE/9utiCGzWna8/s1600/Fig-2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="103" src="http://3.bp.blogspot.com/-3nyqos3H-ZE/TVGQezNe-iI/AAAAAAAAAaE/9utiCGzWna8/s320/Fig-2.JPG" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;i)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Fill the information for each domain according to the table bellow (you might need to adjust it to your own paths):&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Keystore Settings for ClientDomain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;----------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Identity Keystore: D:\bea\wls1033\user_projects\domains\ClientDomain\ClientIdentity.jks&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Identity Keystore Type: JKS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Identity Keystore Passphrase: storepass123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Trust Keystore: D:\bea\wls1033\wlserver_10.3\server\lib\cacerts&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Trust Keystore Type: JKS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Trust Keystore Passphrase: changeit&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Keystore Settings for ServiceDomain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;-----------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Identity Keystore: C:\bea\wls1033\user_projects\domains\ServiceDomain\ServerIdentity.jks&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Identity Keystore Type: JKS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Identity Keystore Passphrase: storepass123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Trust Keystore: C:\bea\wls1033\wlserver_10.3\server\lib\cacerts&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Trust Keystore Type: JKS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Custom Trust Keystore Passphrase: changeit&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1lGymn9IOwM/TVGQ2rR5dJI/AAAAAAAAAaI/oGThXN7cnAE/s1600/Fig-3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-1lGymn9IOwM/TVGQ2rR5dJI/AAAAAAAAAaI/oGThXN7cnAE/s320/Fig-3.JPG" width="304" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;6.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Configuring SSL for both servers&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Go to "Configuration &amp;gt; SSL" tab&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Provide the following information according to the table below:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;SSL Settings for ClientDomain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;----------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Private Key Alias: client_cert&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Private Key Passphrase: keypass123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Advanced:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Hostname Verification: None (the certificates we created are not bound to a host name, so host name verification would fail. In a real world example certificates are bound to a server's hostname)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Use Server Certs: checked&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Two Way Client Cert Behavior: Client Certs Requested and Enforced&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;SSLRejection Logging Enabled: checked&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Leave the other options as default values.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dhZAt36CANk/TVGRvwBRLUI/AAAAAAAAAaM/IQB0fymYDO8/s1600/Fig-4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="251" src="http://3.bp.blogspot.com/-dhZAt36CANk/TVGRvwBRLUI/AAAAAAAAAaM/IQB0fymYDO8/s320/Fig-4.JPG" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;SSL Settings for ServiceDomain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;----------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Private Key Alias: server_cert&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Private Key Passphrase: keypass123&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Advanced:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Hostname Verification: None (the certificates we created are not bound to a host name, so host name verification would fail. In a real world example certificates are bound to a server's hostname)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Use Server Certs: checked&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Two Way Client Cert Behavior: Client Certs Requested and Enforced&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;SSLRejection Logging Enabled: checked&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Leave the other options as default values.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-6q0MVC2N3YA/TVGRzd68g3I/AAAAAAAAAaQ/7yNBcfG2Ghg/s1600/Fig-5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-6q0MVC2N3YA/TVGRzd68g3I/AAAAAAAAAaQ/7yNBcfG2Ghg/s320/Fig-5.JPG" width="317" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;7.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Enable SSL logging&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This is not really required but is useful for SSL debugging and to understand how the SSL handshake happens on both sides. Do it for both ClientDomain and ServerDomain.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Go to Logging &amp;gt; General&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Rotation Type: None&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;c)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Minimum severity to log: Debug&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;d)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Redirect stdout logging enabled: checked&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;e)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Log file : Severity level: Debug&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;f)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Standard out : Severity level: Debug&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;g)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Click "Save"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;h)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Go to "Debug" tab, expand "weblogic &amp;gt; security &amp;gt; SSL".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;i)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Check SSL and click "Enable"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;j)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Restart both Servers&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;8.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;The webservices&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;There are 2 WS provided with this article: HelloServiceEAR.ear and HelloClientEAR.ear&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Deploy HelloServiceEAR.ear to the ServiceDomain&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;c)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Open &amp;nbsp;"HelloClientEAR.ear/HelloClient.war/WEB-INF/classes/servlets/messages.properties" and edit the file to point to the HelloServiceEAR endpoint address.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;d)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Save the messages.properties back to the EAR file.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;9.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;The "Service" webservice&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;HelloServiceEAR.ear is a simple webservice that has just one method that returns a String:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;@WebService&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;public class HelloWS {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@WebMethod&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public String sayHello() {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return "Greetings from Remote Service !";&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;10.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;The "Client" webservice&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Deploy HelloClientEAR.ear to ClientDomain.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;HelloClientEAR.ear was built using WLS ant task ClientGen.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Reference:&amp;nbsp;&lt;a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webserv_ref/anttasks.html#wp1039270"&gt;WLS Ant Tasks&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The ant task is very simple and takes a WSDL URL as parameter:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yZF59zf5HaI/TVGfJ5_nrrI/AAAAAAAAAao/pSZnx-Vw94o/s1600/Fig-6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="66" src="http://1.bp.blogspot.com/-yZF59zf5HaI/TVGfJ5_nrrI/AAAAAAAAAao/pSZnx-Vw94o/s320/Fig-6.JPG" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;With the generated stubs, all we need to do is call "Service" webservice inside a Servlet, so we can test our scenario:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;HelloWSService sample = new HelloWSService_Impl();&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;HelloWS port = sample.getHelloWSSoapPort();&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;((Stub)port)._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, Messages.getString("ClientTest.0")); //$NON-NLS-1$&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;String res = port.sayHello();&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;PrintWriter pw = response.getWriter();&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;pw.print("Remote Server says: "+res); //$NON-NLS-1$&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (Exception e) {&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;// TODO Auto-generated catch block&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e.printStackTrace();&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;} &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Note that we set the end point address, in order to point to the correct server / https port of the "Service" webservice.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;The String is externalized, but it should be something like:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;https://MachineB:7002/HelloService/HelloWS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;11.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Testing&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Once both webservices are deployed, go to you ClientDomain testing page. It should look something like:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;http://MachineA:7001/HelloClient/ClientTest&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;If everything was properly configured, you should see a message:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Remote Server says: Greetings from Remote Service !&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;12.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Checking the SSL hand shake.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;a)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;If we look at the ClientDomain server logs, we should see the handshake information:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-UTArQak-mZg/TVGfeh2KoII/AAAAAAAAAas/VyIXVSPnQT4/s1600/Fig-7.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="109" src="http://1.bp.blogspot.com/-UTArQak-mZg/TVGfeh2KoII/AAAAAAAAAas/VyIXVSPnQT4/s320/Fig-7.JPG" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;b)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;If we look at the ServiceDomain server logs, we can see the handshake taking place:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fqFX7gLD-k0/TVGf80zVqlI/AAAAAAAAAaw/G_FVyB9ROH4/s1600/Fig-8.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="102" src="http://3.bp.blogspot.com/-fqFX7gLD-k0/TVGf80zVqlI/AAAAAAAAAaw/G_FVyB9ROH4/s320/Fig-8.JPG" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;13. Files&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/wlstipsandmore/wlstipsandmorefiles/HelloServiceEAR.ear?attredirects=0&amp;amp;d=1"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;HelloServiceEAR.ear&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/wlstipsandmore/wlstipsandmorefiles/HelloClientEAR.ear?attredirects=0&amp;amp;d=1"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;HelloClientEAR&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Enjoy!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-735889086206509188?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/735889086206509188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2011/04/jax-rpc-webservices-with-2-way-ssl-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/735889086206509188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/735889086206509188'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2011/04/jax-rpc-webservices-with-2-way-ssl-in.html' title='JAX-RPC Webservices with 2-way SSL in Weblogic 10.3.3'/><author><name>Paulo Albuquerque</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-8gQSHXKdRss/TVGQFKrcrfI/AAAAAAAAAaA/1NwxpRgugmQ/s72-c/fig-1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8113867240201920593.post-8432224559971487463</id><published>2009-09-25T12:45:00.001-03:00</published><updated>2011-05-20T10:45:03.401-03:00</updated><title type='text'>How to Install Node Manager as Windows Service and Monitor MServers State</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Hello, in this first post I will go step by step on how to install WLS 10.3.1 &lt;i&gt;Node Manager&lt;/i&gt; as a Windows Service and configure it to monitor &lt;i&gt;Managed Servers&lt;/i&gt; state, that is, to keep them running in case of a crash.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;For this we assume that WLS 10.3.1 is installed with the default options and the domains folder follow the standard installation path.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;In this example I have created a domain with a AdminServer:7001 and two Managed Servers: ms1:7003 and ms2:7005. Both ms1, ms2 and the AdminServer are configured under machine1, this is a requisite for our configuration.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh3.ggpht.com/_9lS1WR-AbyM/SrzF-Dom8uI/AAAAAAAAAV8/j7nMV3wGKH8/s1600/Servers.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://lh3.ggpht.com/_9lS1WR-AbyM/SrzF-Dom8uI/AAAAAAAAAV8/j7nMV3wGKH8/s320/Servers.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Step 1 -&amp;nbsp;Configure Node Manager Properties File:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Go to BEA_HOME&lt;bea_home&gt;/WL_HOME&lt;wl_home&gt;/common/nodemanager&amp;nbsp;and open  nodemanager.properties. Change the following properties to:&lt;/wl_home&gt;&lt;/bea_home&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;CrashRecoveryEnabled=true&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;StartScriptEnabled=true&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Step 2 - Install Node Manager as Windows Service:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Execute the following script: BEA_HOME&lt;bea_home&gt;/WL_HOME&lt;wl_home&gt;/server/bin/installNodeMgrSvc.cmd.&lt;/wl_home&gt;&lt;/bea_home&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This should create a Windows Service called &lt;i&gt;"Oracle WebLogic NodeManager (PATH_TO_DOMAIN&lt;path_to_wl_home&gt;)".&lt;/path_to_wl_home&gt;&lt;/i&gt;&amp;nbsp;Go to Windows Services and double click it. On the &lt;i&gt;Log On&lt;/i&gt; tab, check the option &lt;i&gt;"This Account"&lt;/i&gt;&amp;nbsp;and provide the user/password you plan to use to run the WLS under windows. Click OK and start the service.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_9lS1WR-AbyM/SrzIk9pWMpI/AAAAAAAAAWA/owwxrFEaktw/s1600/WindowsService.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://lh6.ggpht.com/_9lS1WR-AbyM/SrzIk9pWMpI/AAAAAAAAAWA/owwxrFEaktw/s320/WindowsService.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Step 3 - Starting the AdminServer:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Open a command prompt at BEA_HOME&lt;i&gt;&lt;bea_home&gt;/user_projects/DOMAIN_NAME&lt;your_domain&gt;/bin&lt;/your_domain&gt;&lt;/bea_home&gt;&lt;/i&gt; and run the following script &lt;i&gt;setDomainEnv.cmd&lt;/i&gt;. In the same command prompt window type: &lt;i&gt;startWebLogic.cmd.&lt;/i&gt;&amp;nbsp;The &lt;i&gt;AdminServer&lt;/i&gt; should start now.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_9lS1WR-AbyM/SrzUsqllynI/AAAAAAAAAWI/dIFh2B1cbns/s1600/StartingAdminServer.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://lh4.ggpht.com/_9lS1WR-AbyM/SrzUsqllynI/AAAAAAAAAWI/dIFh2B1cbns/s400/StartingAdminServer.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Step 4 - Starting the ManagedServers:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Open a browser and go to &lt;i&gt;http://HOST&lt;/i&gt;&lt;host&gt;&lt;i&gt;:PORT&lt;/i&gt;&lt;port&gt;&lt;i&gt;/console&lt;/i&gt;. On the &lt;i&gt;"Domain Structure"&lt;/i&gt; panel (upper left), click on Servers. On the &lt;i&gt;Summary of Servers&lt;/i&gt; (middle right)&lt;i&gt;,&lt;/i&gt;&amp;nbsp;go to the &lt;i&gt;Control &lt;/i&gt;tab and select &lt;i&gt;ms1&lt;/i&gt; and &lt;i&gt;ms2&lt;/i&gt; and click on &lt;i&gt;Start.&lt;/i&gt;&amp;nbsp;The ms1 and ms2 should start.&lt;/port&gt;&lt;/host&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Step 5 - Testing the work:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Let's go to the Windows &lt;i&gt;Task Manager&lt;/i&gt; and check if our servers are there running.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Open the &lt;i&gt;Task Manager&lt;/i&gt; (right-click on the windows clock and select the &lt;i&gt;Task Manager&lt;/i&gt; option from the contextual menu) and sort the column Image Name. Now let's look for our Java processes....&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://lh6.ggpht.com/_9lS1WR-AbyM/Srzbja6IZYI/AAAAAAAAAWM/cmS4jJyP32M/s1600/TaskManager.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://lh6.ggpht.com/_9lS1WR-AbyM/Srzbja6IZYI/AAAAAAAAAWM/cmS4jJyP32M/s320/TaskManager.JPG" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;There we can see our three Java processes, one for &lt;i&gt;AdminServer&lt;/i&gt;, one for &lt;i&gt;ms1&lt;/i&gt; and &lt;i&gt;ms2&lt;/i&gt; respectively. You can also find there the &lt;i&gt;Node Manager&lt;/i&gt; process, it's something like &lt;i&gt;beasvc.exe.&lt;/i&gt;&amp;nbsp;Now, let's simulate a server crash, let's kill our servers processes: select the java processes and click on &lt;i&gt;End Process&lt;/i&gt; button. This way the server is abruptly shut-down and to the &lt;i&gt;Node Manager&lt;/i&gt;&amp;nbsp;this means a server crash. The &lt;i&gt;Node Manager&lt;/i&gt; will restart the processes, and they will appear again on the &lt;i&gt;Task Manager&lt;/i&gt; just a few seconds after you've killed it. To simulate a complete OS crash, lets kill the &lt;i&gt;Node Manager&lt;/i&gt; process first (beasvc.exe) and then kill the java processes. Now, the java processes won't come back because the &lt;i&gt;Node Manager&lt;/i&gt; is not running. Now after rebooting Windows and we can see that the &lt;i&gt;Node Manager&lt;/i&gt; starts automatically, and just after that the java processes begins to show up on the &lt;i&gt;Task Manager&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Final Considerations:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;If you shutdown a &lt;i&gt;Managed Server&lt;/i&gt; normally, be it through the &lt;i&gt;Admin Console&lt;/i&gt; (with the provided stop scripts that comes with WLS installation), through WLST or even shutting down windows normally (Start button, Shutdown), the &lt;i&gt;Node Manager&lt;/i&gt; will not monitor it anymore, it will consider that the server really should be down.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;If you want to keep the &lt;i&gt;AdminServer&lt;/i&gt; monitored by the Node Manager as well, you should start it through the WLST: on Step 3 don't use the startWebLogic.cmd. Instead, after setting the domain environments, type: &lt;i&gt;java weblogic.WLST&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Then: &lt;i&gt;nmConnect(domainName='DOMAIN_NAME&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;i&gt;&lt;domain_name&gt;')&lt;/domain_name&gt;&lt;/i&gt;.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Then &lt;i&gt;nmStart('AdminServer')&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;This way the &lt;i&gt;Node Manager&lt;/i&gt; is aware that it should also monitor the Admin Server state.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8113867240201920593-8432224559971487463?l=wlsjavatips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wlsjavatips.blogspot.com/feeds/8432224559971487463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wlsjavatips.blogspot.com/2009/09/how-to-install-node-manager-as-windows.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/8432224559971487463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8113867240201920593/posts/default/8432224559971487463'/><link rel='alternate' type='text/html' href='http://wlsjavatips.blogspot.com/2009/09/how-to-install-node-manager-as-windows.html' title='How to Install Node Manager as Windows Service and Monitor MServers State'/><author><name>Paulo Albuquerque</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_9lS1WR-AbyM/SrzF-Dom8uI/AAAAAAAAAV8/j7nMV3wGKH8/s72-c/Servers.JPG' height='72' width='72'/><thr:total>3</thr:total></entry></feed>
