[jboss-svn-commits] JBL Code SVN: r22426 - in labs/jbossesb/workspace/jdelong/wssecurity: wssecurity_opensso and 42 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Sep 5 01:14:12 EDT 2008


Author: jeffdelong
Date: 2008-09-05 01:14:11 -0400 (Fri, 05 Sep 2008)
New Revision: 22426

Added:
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/build.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/deployment.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/error-soap-message.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/fault.xsd
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jbm-queue-service.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jboss-esb.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jbossesb-properties.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jndi.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/juddi.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/lib/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/log4j.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/README
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/authentication/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/authentication/Login.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSample.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleCreateId.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleDeleteId.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleGetSpecialIds.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSearchIds.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSubRealm.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleUtils.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/logging/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/logging/LogSample.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/logging/LogSampleUtils.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/sso/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/sso/CommandLineSSO.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/sso/SSOTokenSample.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/setup/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/setup/SetupClientSDKSamples.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/policy/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/policy/PolicyEvaluationSample.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/policy/TokenUtils.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/xacml/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/xacml/XACMLClientSample.class
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/j2ee.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-api.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-impl.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-libs.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-xjc.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/ldapjdk.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/mail.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/openssoclientsdk.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/relaxngDatatype.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/saaj-api.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/saaj-impl.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-api.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-extra-api.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-extra.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-rt.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-tools.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/xercesImpl.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/xmlsec.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/xsdlib.jar
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/AMConfig.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/AMConfig.properties.template
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amAuth.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amAuthContext.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amIdRepo.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amNaming.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amProfile.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSSOProvider.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSecurity.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSession.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amUtilMsgs.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/clientDefault.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libCOT.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libSAML2.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libSAML2Meta.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/policyEvaluationSample.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/xacmlClientSample.properties
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineIdrepo.bat
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineIdrepo.sh
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineLogging.bat
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineLogging.sh
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineSSO.bat
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineSSO.sh
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/Login.bat
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/Login.sh
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/SSOTokenSample.bat
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/SSOTokenSample.sh
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/compile-samples.bat
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/compile-samples.sh
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-policy-evaluation-sample.bat
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-policy-evaluation-sample.sh
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-xacml-client-sample.bat
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-xacml-client-sample.sh
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/setup.bat
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/setup.sh
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/authentication/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/authentication/Login.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSample.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleCreateId.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleDeleteId.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleGetSpecialIds.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSearchIds.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSubRealm.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleUtils.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/logging/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/logging/LogSample.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/logging/LogSampleUtils.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/sso/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/sso/CommandLineSSO.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/sso/SSOTokenSample.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/policy/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/policy/PolicyEvaluationSample.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/policy/TokenUtils.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/xacml/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/xacml/XACMLClientSample.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso.war
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/readme.txt
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/request.xsd
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/response.xsd
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/soap-userpass-message.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/gpd.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/processdefinition.xml
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/processimage.jpg
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/MyJMSListenerAction.java
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/test/
   labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/test/SOAPTest.java
Log:
initial commit of quickstart - tested on SOA-P4.3 IR3 with OpenSSO deployed in standalone Tomcat

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/build.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/build.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/build.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,26 @@
+<project name="Quickstart_wssecurity_opensso" default="run" basedir=".">
+	
+	<description> 
+		${ant.project.name}
+		${line.separator}
+	</description>
+
+
+	<!-- additional deploys -->
+	<property name="additional.deploys" value="*.xsd"/>
+
+				
+
+	<!-- Import the base Ant build script... -->
+	<import file="../conf/base-build.xml"/>
+
+	<target name="runtest" depends="compile"  description="sends soap message to published web service">
+		<echo>Send soap message to published web service and receive reponse</echo>
+		<java fork="yes" classname="org.jboss.soa.esb.samples.quickstart.wssecurityopensso.test.SOAPTest" failonerror="true">
+		      <arg value="soap-userpass-message.xml"/>	
+			  <classpath refid="exec-classpath"/>
+		</java>
+  
+	</target> 
+	
+</project>

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/deployment.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/deployment.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/deployment.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,10 @@
+<jbossesb-deployment>
+  <depends>jboss.esb:deployment=soap.esb</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb_Process</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb_reply</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb_Process_reply</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb2</depends>
+  <depends>jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb2_reply</depends>
+ 
+</jbossesb-deployment>

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/error-soap-message.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/error-soap-message.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/error-soap-message.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,19 @@
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
+			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+			xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+			xmlns:say="http://www.jboss.org/sayHi">
+					
+  <soap:Header>
+    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+      <wsse:UsernameToken>
+        <wsse:Username>esbuser</wsse:Username>
+        <wsse:Password>esbpassword</wsse:Password>
+      </wsse:UsernameToken>
+    </wsse:Security>
+  </soap:Header>
+
+  <soap:Body>
+      <say:sayHi><say:Error>Error</say:Error></say:sayHi>
+  </soap:Body>
+
+</soap:Envelope> 

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/fault.xsd
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/fault.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/fault.xsd	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,9 @@
+<xs:schema version="1.0" targetNamespace="http://www.jboss.org/sayHi" xmlns:x1="http://www.jboss.org/sayHi"  xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+  <xs:element name="sayFault" type="x1:fault"/>
+  <xs:complexType name="fault">
+    <xs:sequence>
+      <xs:element name="code" type="xs:string"/>
+      <xs:element name="faultString" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>
\ No newline at end of file

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jbm-queue-service.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jbm-queue-service.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jbm-queue-service.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+  <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+	<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+  <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb_Process"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+	<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+  <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb_reply"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+	<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+    <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb_Process_reply"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+	<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+  <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb2"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+	<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+  <mbean code="org.jboss.jms.server.destination.QueueService"
+    name="jboss.esb.quickstart.destination:service=Queue,name=quickstart_wssecurity_opensso_Request_esb2_reply"
+    xmbean-dd="xmdesc/Queue-xmbean.xml">
+	<depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+	<depends>jboss.messaging:service=PostOffice</depends>
+  </mbean>
+
+</server>

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jboss-esb.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jboss-esb.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jboss-esb.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,87 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<jbossesb xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd" parameterReloadSecs="5">
+
+    <providers>
+          <jms-provider name="JBossMQ" connection-factory="ConnectionFactory">
+              <jms-bus busid="quickstartEsbChannelProcess">
+                  <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_wssecurity_opensso_Request_esb_Process" selector="serviceName='HelloWorldPubService'" />
+              </jms-bus>
+
+             <jms-bus busid="quickstartEsbChannel">
+                  <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_wssecurity_opensso_Request_esb" selector="serviceName='HelloWorldPubService'" />
+              </jms-bus>
+
+             <jms-bus busid="quickstartEsbChannel2">
+                  <jms-message-filter dest-type="QUEUE" dest-name="queue/quickstart_wssecurity_opensso_Request_esb2" selector="serviceName='HelloWorldPubService2'" />
+              </jms-bus>
+
+          </jms-provider>
+      </providers>
+      
+      <services>
+  		<service category="ESBServiceSample" name="HelloWorldPubServiceProcess" description="Hello world ESB Service Process">
+			<security moduleName="OpenSSOLogin" runAs="adminRole"/>
+	           <listeners>
+                <jms-listener name="helloWorldProcess" busidref="quickstartEsbChannelProcess" maxThreads="1" />
+            </listeners>
+            <actions inXsd="/request.xsd" outXsd="/response.xsd" faultXsd="/fault.xsd" webservice="security">
+
+		    <action name="action2" class="org.jboss.soa.esb.actions.SystemPrintln">
+                      <property name="printfull" value="true"/>
+                    </action>
+
+                   <action name="create_new_process_instance" class="org.jboss.soa.esb.services.jbpm.actions.BpmProcessor">
+                    <property name="command" value="StartProcessInstanceCommand" />
+                    <property name="process-definition-name" value="helloWorld"/>   
+                    <property name="esbToBpmVars">
+                         <mapping esb="BODY_CONTENT" bpm="request" />
+                         <mapping esb="properties.'org.jboss.soa.esb.services.security.context'" bpm="securityContext" />
+                    </property> 
+                    </action>            
+            </actions>
+        </service>
+
+        <service 
+        	category="ESBServiceSample" 
+        	name="HelloWorldPubService1" 
+        	description="Hello world ESB Service">
+			<security moduleName="OpenSSOLogin" />
+
+            <listeners>
+                <jms-listener name="helloWorld"
+                              busidref="quickstartEsbChannel"
+                              maxThreads="1"
+                />
+            </listeners>
+            <actions  inXsd="/request.xsd" outXsd="/response.xsd" faultXsd="/fault.xsd">
+                    <action name="action" class="org.jboss.soa.esb.samples.quickstart.wssecurityopensso.MyJMSListenerAction" process="displayMessage"/> 
+		    <action name="action2" class="org.jboss.soa.esb.actions.SystemPrintln">
+                      <property name="printfull" value="true"/>
+                    </action>
+ 
+            </actions>
+        </service>
+
+       <service 
+        	category="ESBServiceSample" 
+        	name="HelloWorldPubService2" 
+        	description="Hello world ESB Service">
+			<security moduleName="OpenSSOLogin" />
+
+            <listeners>
+                <jms-listener name="helloWorld2"
+                              busidref="quickstartEsbChannel2"
+                              maxThreads="1"
+                />
+            </listeners>
+            <actions  inXsd="/request.xsd" outXsd="/response.xsd" faultXsd="/fault.xsd">
+                    <action name="action" class="org.jboss.soa.esb.samples.quickstart.wssecurityopensso.MyJMSListenerAction" process="displayMessage"/> 
+		    <action name="action2" class="org.jboss.soa.esb.actions.SystemPrintln">
+                      <property name="printfull" value="true"/>
+                    </action>
+ 
+            </actions>
+        </service>
+      </services>
+     
+</jbossesb>

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jbossesb-properties.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jbossesb-properties.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jbossesb-properties.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  JBoss, Home of Professional Open Source
+  Copyright 2006, JBoss Inc., and others contributors as indicated 
+  by the @authors tag. All rights reserved. 
+  See the copyright.txt in the distribution for a
+  full listing of individual contributors. 
+  This copyrighted material is made available to anyone wishing to use,
+  modify, copy, or redistribute it subject to the terms and conditions
+  of the GNU Lesser General Public License, v. 2.1.
+  This program is distributed in the hope that it will be useful, but WITHOUT A 
+  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+  You should have received a copy of the GNU Lesser General Public License,
+  v.2.1 along with this distribution; if not, write to the Free Software
+  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+  MA  02110-1301, USA.
+  
+  (C) 2005-2006,
+  @author JBoss Inc.
+-->
+<!-- $Id: jbossesb-unittest-properties.xml $ -->
+<!--
+  These options are described in the JBossESB manual.
+  Defaults are provided here for convenience only.
+ 
+  Please read through this file prior to using the system, and consider
+  updating the specified entries.
+-->
+<esb
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:noNamespaceSchemaLocation="jbossesb-1_0.xsd">
+    <properties name="core">
+		<property name="org.jboss.soa.esb.jndi.server.type" value="jboss"/>
+		<property name="org.jboss.soa.esb.jndi.server.url" value="localhost"/>
+		<property name="org.jboss.soa.esb.persistence.connection.factory" 	value="org.jboss.internal.soa.esb.persistence.format.MessageStoreFactoryImpl"/>
+        <property name="jboss.esb.invm.scope.default" value="NONE"/>
+    </properties>
+    <properties name="registry">      
+    	<property name="org.jboss.soa.esb.registry.queryManagerURI"     		
+    		value="jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire"/>    		
+    	<property name="org.jboss.soa.esb.registry.lifeCycleManagerURI"     		
+    		value="jnp://localhost:1099/PublishService?org.apache.juddi.registry.rmi.Publish#publish" />
+    	<property name="org.jboss.soa.esb.registry.implementationClass" 
+    		value="org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl"/>
+    	<property name="org.jboss.soa.esb.registry.factoryClass" 
+    		value="org.apache.ws.scout.registry.ConnectionFactoryImpl"/>
+    	<property name="org.jboss.soa.esb.registry.user" 
+    		value="jbossesb"/>
+    	<property name="org.jboss.soa.esb.registry.password" 
+    	  value="password"/>
+    	<!-- the following parameter is scout specific to set the type of communication between scout and the UDDI (embedded, rmi, soap) -->
+    	<property name="org.jboss.soa.esb.scout.proxy.transportClass" 
+    		value="org.apache.ws.scout.transport.RMITransport"/>
+    </properties>
+    <properties name="transports" depends="core">
+    	<property name="org.jboss.soa.esb.mail.smtp.host" value="localhost"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.user" value="jbossesb"/>
+    	<property name="org.jboss.soa.esb.mail.smtp.password" value=""/>
+    	<property name="org.jboss.soa.esb.mail.smtp.port" value="25"/>
+    </properties>
+    <properties name="connection">
+    	<property name="min-pool-size" value="5"/>
+    	<property name="max-pool=size" value="10"/>
+    	<property name="blocking-timeout-millis" value="5000"/>
+    	<property name="abandoned-connection-timeout" value="10000"/>
+    	<property name="abandoned-connection-time-interval" value="30000"/>
+    </properties>
+    <properties name="dbstore">
+		<property name="org.jboss.soa.esb.persistence.db.connection.url" 	value="jdbc:hsqldb:hsql://localhost:9001/"/>
+		<property name="org.jboss.soa.esb.persistence.db.jdbc.driver" 		value="org.hsqldb.jdbcDriver"/>
+		<property name="org.jboss.soa.esb.persistence.db.user" 			value="sa"/>
+		<property name="org.jboss.soa.esb.persistence.db.pwd" 			value=""/>		
+		<property name="org.jboss.soa.esb.persistence.db.pool.initial.size"	value="2"/>
+		<property name="org.jboss.soa.esb.persistence.db.pool.min.size"	value="2"/>
+		<property name="org.jboss.soa.esb.persistence.db.pool.max.size"	value="5"/>
+		<!--table managed by pool to test for valid connections - created by pool automatically -->
+		<property name="org.jboss.soa.esb.persistence.db.pool.test.table"	value="pooltest"/>
+		<!-- # of milliseconds to timeout waiting for a connection from pool -->
+		<property name="org.jboss.soa.esb.persistence.db.pool.timeout.millis"	value="5000"/> 
+                <property name="org.jboss.soa.esb.persistence.db.conn.manager" value="org.jboss.internal.soa.esb.persistence.manager.StandaloneConnectionManager"/>
+    </properties>
+    <properties name="messagerouting">
+    	<property name="org.jboss.soa.esb.routing.cbrClass" value="org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter"/>
+    </properties>
+</esb>

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jndi.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jndi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/jndi.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,5 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+java.naming.factory.url.pkgs=org.jnp.interfaces
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/juddi.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/juddi.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/juddi.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,69 @@
+# jUDDI Registry Properties (used by RegistryServer)
+# see http://www.juddi.org for more information
+
+# The UDDI Operator Name
+juddi.operatorName = jUDDI.org
+
+# The i18n locale default codes
+juddi.i18n.languageCode = en
+juddi.i18n.countryCode = US
+
+# The UDDI DiscoveryURL Prefix
+juddi.discoveryURL = http://localhost:8080/juddi/uddiget.jsp?
+
+# The UDDI Operator Contact Email Address
+juddi.operatorEmailAddress = admin at juddi.org
+
+# The maximum name size and maximum number
+# of name elements allows in several of the
+# FindXxxx and SaveXxxx UDDI functions.
+juddi.maxNameLength=255
+juddi.maxNameElementsAllowed=5
+
+# The maximum number of UDDI artifacts allowed
+# per publisher. A value of '-1' indicates any 
+# number of artifacts is valid (These values can be
+# overridden at the individual publisher level).
+juddi.maxBusinessesPerPublisher=25
+juddi.maxServicesPerBusiness=20
+juddi.maxBindingsPerService=10
+juddi.maxTModelsPerPublisher=100
+
+# jUDDI Authentication module to use
+juddi.auth = org.apache.juddi.auth.DefaultAuthenticator
+
+# jUDDI DataStore module currently to use
+juddi.dataStore = org.apache.juddi.datastore.jdbc.JDBCDataStore
+
+# use a dataSource (if set to false a direct 
+# jdbc connection will be used.
+juddi.isUseDataSource=false
+juddi.jdbcDriver=com.mysql.jdbc.Driver
+juddi.jdbcUrl=jdbc:mysql://localhost:3306/juddi
+juddi.jdbcUsername=root
+juddi.jdbcPassword=admin
+# jUDDI DataSource to use
+# juddi.dataSource=java:comp/env/jdbc/MySqlDS
+
+# jUDDI UUIDGen implementation to use
+juddi.uuidgen = org.apache.juddi.uuidgen.DefaultUUIDGen
+
+# jUDDI Cryptor implementation to use
+juddi.cryptor = org.apache.juddi.cryptor.DefaultCryptor
+ 
+# jUDDI Validator to use
+juddi.validator=org.apache.juddi.validator.DefaultValidator
+
+# jUDDI Proxy Properties (used by RegistryProxy)
+juddi.proxy.adminURL = http://localhost:8080/juddi/admin
+juddi.proxy.inquiryURL = http://localhost:8080/juddi/inquiry
+juddi.proxy.publishURL = http://localhost:8080/juddi/publish
+juddi.proxy.transportClass = org.apache.juddi.proxy.AxisTransport
+juddi.proxy.securityProvider = com.sun.net.ssl.internal.ssl.Provider
+juddi.proxy.protocolHandler = com.sun.net.ssl.internal.www.protocol
+
+# JNDI settings (used by RMITransport)
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming
+  

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/log4j.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/log4j.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/log4j.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml,v 1.26.2.5 2005/09/15 09:31:02 dimitris Exp $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+      <param name="Target" value="System.out"/>
+      <param name="Threshold" value="INFO"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%t][%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A size based file rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
+     <param name="File" value="./listener.log"/>
+     <param name="Append" value="false"/>
+     <param name="MaxFileSize" value="500KB"/>
+     <param name="MaxBackupIndex" value="1"/>
+
+     <layout class="org.apache.log4j.PatternLayout">
+       <param name="ConversionPattern" value="%d %-5p [%t][%c] %m%n"/>
+     </layout>	    
+   </appender>
+
+   <!-- ================ -->
+   <!-- Limit categories -->
+   <!-- ================ -->
+
+   <category name="org.jboss">
+      <priority value="WARN"/>
+   </category>
+   <category name="org.jboss.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.jboss.internal.soa.esb">
+      <priority value="ERROR"/>
+   </category>
+   <category name="org.apache">
+      <priority value="ERROR"/>
+   </category>
+   <category name="quickstart">
+      <priority value="DEBUG"/>
+   </category>
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+      <appender-ref ref="FILE"/>
+   </root>
+
+</log4j:configuration>

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/README
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/README	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/README	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,60 @@
+------------------------------------------------------------------------------
+README file for Federated Access Manager stand alone client sdk samples
+------------------------------------------------------------------------------
+The contents of this file are subject to the terms
+of the Common Development and Distribution License
+(the License). You may not use this file except in
+compliance with the License.
+
+You can obtain a copy of the License at
+https://opensso.dev.java.net/public/CDDLv1.0.html or
+opensso/legal/CDDLv1.0.txt
+See the License for the specific language governing
+permission and limitations under the License.
+
+When distributing Covered Code, include this CDDL
+Header Notice in each file and include the License file
+at opensso/legal/CDDLv1.0.txt.
+If applicable, add the following below the CDDL Header,
+with the fields enclosed by brackets [] replaced by
+your own identifying information:
+"Portions Copyrighted [year] [name of copyright owner]"
+
+$Id: README,v 1.2 2007/10/05 17:57:08 qcheng Exp $
+Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+------------------------------------------------------------------------------
+
+
+This README file provides brief instructions on running Federated Access Manager
+client sdk samples  that would run in a stand alone JVM, outside of any
+container.
+
+1. Unzip the fam-client.zip. You would find a directory clientsamples/sdk. 
+   This directory has all that is required to try out Federated Access Manager 
+   client sdk samples.
+
+   The directory is laid out as below:
+     + sdk
+     |- source    (contains source files that require compilation)
+     |- scripts   (contains scripts to compile and run samples)
+     |- resources (contains resources required to run the samples)
+     |- lib       (contains jar files required to use the FAM clientsdk)
+     |- classes   (contains the compiled classes from the source files)
+
+2. To compile the samples:
+   -- Make scripts/compile-samples.sh executable using chmod command for 
+      UNIX system.
+   -- Execute scripts/compile-samples.sh
+
+3. To run the sample:
+   -- Make all sh scripts under "scripts" directory executable, 
+      e.g. chmod 755 scripts/*.sh
+   -- Run scripts/setup.sh (or setup.bat)  
+      This will setup AMConfig.properties to point to the FAM server.
+      This only need to be run this once for the all client SDK samples.
+   -- Run individual client SDK samples by executing the shell or bat scripts 
+      under "scripts" directory, e.g. scripts/run-xacml-client-sample.sh
+      Sample runtime may require additional property files to be correctly set 
+      up under resoruces directory. This would be specifically mentioned in the
+      comments included in corresponding scripts.
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/authentication/Login.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/authentication/Login.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSample.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleCreateId.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleCreateId.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleDeleteId.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleDeleteId.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleGetSpecialIds.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleGetSpecialIds.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSearchIds.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSearchIds.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSubRealm.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSubRealm.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleUtils.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleUtils.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/logging/LogSample.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/logging/LogSample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/logging/LogSampleUtils.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/clientsdk/logging/LogSampleUtils.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/sso/CommandLineSSO.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/sso/CommandLineSSO.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/sso/SSOTokenSample.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/samples/sso/SSOTokenSample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/setup/SetupClientSDKSamples.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/com/sun/identity/setup/SetupClientSDKSamples.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/policy/PolicyEvaluationSample.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/policy/PolicyEvaluationSample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/policy/TokenUtils.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/policy/TokenUtils.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/xacml/XACMLClientSample.class
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/classes/samples/xacml/XACMLClientSample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/j2ee.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/j2ee.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-api.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-impl.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-impl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-libs.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-libs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-xjc.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/jaxb-xjc.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/ldapjdk.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/ldapjdk.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/mail.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/mail.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/openssoclientsdk.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/openssoclientsdk.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/relaxngDatatype.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/relaxngDatatype.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/saaj-api.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/saaj-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/saaj-impl.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/saaj-impl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-api.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-extra-api.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-extra-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-extra.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-extra.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-rt.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-rt.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-tools.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/webservices-tools.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/xercesImpl.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/xercesImpl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/xmlsec.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/xmlsec.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/xsdlib.jar
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/lib/xsdlib.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/AMConfig.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/AMConfig.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/AMConfig.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,451 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: AMClient.properties,v 1.13 2008/05/05 16:48:20 qcheng Exp $
+#
+# Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+#
+
+/* The following keys are used to configure the Debug service.
+ * Possible values for the key 'level' are: off | error | warning | message. 
+ * The key 'directory' specifies the output directory where the debug files 
+ * will be created.
+ * Trailing spaces are significant.
+ * Windows: Use forward slashes "/" separate directories, not backslash "\".
+ * Windows: Spaces in the file name are allowed for Windows.
+ */
+com.iplanet.services.debug.level=message
+com.iplanet.services.debug.directory=/home/jdelong
+
+/*
+ * Server mode should be 'false'
+ */
+com.iplanet.am.serverMode=false
+
+/*
+ * Cache enable / disable properties
+ */
+com.iplanet.am.sdk.caching.enabled=false
+com.sun.identity.idm.cache.enabled=false
+com.sun.identity.sm.cache.enabled=true
+
+/*
+ * Logging status
+ */
+com.iplanet.am.logstatus=ACTIVE
+
+/*
+ * SDK package name
+ */
+com.iplanet.am.sdk.package=com.iplanet.am.sdk.remote
+
+/*
+ * Configure remote plugin classes for configuration (SMS)
+ */
+com.sun.identity.sm.sms_object_class_name=com.sun.identity.sm.jaxrpc.SMSJAXRPCObject
+
+/*
+ * Naming URL
+ */
+com.iplanet.am.naming.url=http://localhost:18080/opensso/namingservice
+
+/*
+ * Notification URL
+ */
+com.iplanet.am.notification.url=
+
+/*
+ * Security Credentails to read the configuration data
+ */
+//com.sun.identity.agents.app.username=UrlAccessAgent
+com.sun.identity.agents.app.username=amldapuser
+com.iplanet.am.service.password=ldappass
+com.iplanet.am.service.secret=AQIC24u86rq9RRbx13mx0nb0uAGpxLdxGBY9
+
+/*
+ * Encryption key that will be used to encrypt and decypt
+ * data to communicate with the server.
+ * This key is needed to decrypt passwords stored
+ * in the SMS configuration.
+ */
+am.encryption.pwd=SAMPLE_RAND
+
+/*
+ * Encryption key that will be used to encrypt and decypt
+ * data used locally within the client.
+ */
+com.sun.identity.client.encryptionKey=SAMPLE_RAND
+
+/*
+ * Encryption: The key "com.iplanet.security.encryptor" specifies
+ * the encrypting class implementation.
+ * Available classes are:
+ *    com.iplanet.services.util.JCEEncryption
+ *    com.iplanet.services.util.JSSEncryption
+ */
+com.iplanet.security.encryptor=com.iplanet.services.util.JCEEncryption
+
+/*
+ * Property to enable/disable the notifications for am.sdk and IdRepo Caches. 
+ * If set to "true" notifications are enabled and disabled if set to "false".
+ */
+com.sun.identity.idm.remote.notification.enabled=true
+
+/*
+ * Cache update time (in minutes) for am.sdk & IdRepo Caches
+ * if notification URL is not provided or if notifications are disabled.
+ * Note: 
+ * 1. This property is applicable only if 'com.iplanet.am.notification.url'
+ *    is not provided or if 'com.sun.identity.idm.remote.notification.enabled'
+ *    is set to 'false'.
+ * 2. If the polling time is set as 0, then polling is disabled. 
+ */
+com.iplanet.am.sdk.remote.pollingTime=1
+
+/*
+ * Property to enable/disable the notifications for service management caches.
+ * If set to "true" notifications are enabled and disabled if set to "false".
+ */
+com.sun.identity.sm.notification.enabled=true
+
+/*
+ * Cache update time (in minutes) for service configutation data,
+ * if notification URL is not provided or if notifications are disabled.
+ * Note: 
+ * 1. This property is applicable only if 'com.iplanet.am.notification.url'
+ *    is not provided or if 'com.sun.identity.sm.notification.enabled' is 
+ *    set to 'false'.
+ * 2. If the cache time is set as 0, then no cache updates will occur.
+ */
+com.sun.identity.sm.cacheTime=1
+
+/*
+ * Server protocol, host and port to be used by Client Services
+ */
+com.iplanet.am.server.protocol=http
+com.iplanet.am.server.host=localhost
+com.iplanet.am.server.port=18080
+com.iplanet.am.services.deploymentDescriptor=opensso
+com.iplanet.am.console.protocol=@CONSOLE_PROTOCOL@
+com.iplanet.am.console.host=@CONSOLE_HOST@
+com.iplanet.am.console.port=@CONSOLE_PORT@
+com.iplanet.am.console.deploymentDescriptor=@CONSOLE_DEPLOY_URI@
+com.iplanet.am.console.remote=@CONSOLE_REMOTE@
+
+com.iplanet.am.cookie.name=iPlanetDirectoryPro
+
+/*
+ * Session related properties.
+ */
+com.iplanet.am.session.client.polling.enable=true
+com.iplanet.am.session.client.polling.period=180
+
+/*
+ * Identify cert db directory path, prefix and password file
+ * to initialize JSS Socket Factory when Web Container is configured SSL
+ */
+com.iplanet.am.admin.cli.certdb.dir=
+com.iplanet.am.admin.cli.certdb.prefix=
+com.iplanet.am.admin.cli.certdb.passfile=//config/.wtpass
+
+/*
+ * Identify property value for SSL ApprovalCallback / HostnameVerifier
+ *    If com.iplanet.services.comm is configured as protocol handler
+ *    and the checkSubjectAltName or resolveIPAddress feature is enabled, 
+ *    cert8.db and key3.db with the prefix value of 
+ *    com.iplanet.am.admin.cli.certdb.prefix will have to be created under 
+ *    the directory of com.iplanet.am.admin.cli.certdb.dir before server is 
+ *    restarted.
+ */
+com.iplanet.am.jssproxy.trustAllServerCerts=false
+com.iplanet.am.jssproxy.checkSubjectAltName=false
+com.iplanet.am.jssproxy.resolveIPAddress=false
+com.iplanet.am.jssproxy.SSLTrustHostList=false
+
+/**************************************************************
+ *              Policy Client parameters
+ **************************************************************/
+/* Policy decision log parameters. Possible values for logging.level
+ * are NONE, ALLOW, DENY, BOTH, and DECISION */
+com.sun.identity.agents.server.log.file.name=amRemotePolicyLog
+com.sun.identity.agents.logging.level=NONE
+
+/* Notification URL for updating cache */
+com.sun.identity.agents.notification.enabled=false
+com.sun.identity.agents.notification.url=
+
+/* Cache time in minutes */
+com.sun.identity.agents.polling.interval=3
+
+/* Information to cache. Possible value are "subtree" or "self" */
+com.sun.identity.policy.client.cacheMode=subtree
+
+/* Policy client clock skew value in seconds */
+com.sun.identity.policy.client.clockSkew=10 
+
+/*
+* Explicitly disable monitoring services in the client applications.
+*/
+com.sun.identity.monitoring=off
+
+/*
+* Specify if allow to use cached data for HttpURLConnection 
+*/
+com.sun.identity.urlconnection.useCache=false
+
+#
+# Specify implementation class for
+# com.sun.identity.plugin.configuration.ConfigurationInstance interface.
+com.sun.identity.plugin.configuration.class=com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl
+
+#
+# Specify implementation class for 
+# com.sun.identity.plugin.datastore.DataStoreProvider interface.
+# This property defines the default datastore provider.
+com.sun.identity.plugin.datastore.class.default=com.sun.identity.plugin.datastore.impl.IdRepoDataStoreProvider
+
+#
+# Specify implementation class for
+# com.sun.identity.plugin.session.SessionProvider interface.
+com.sun.identity.plugin.session.class=com.sun.identity.plugin.session.impl.FMSessionProvider
+
+#
+# Specify XML signature provider class  
+com.sun.identity.saml.xmlsig.signatureprovider.class=com.sun.identity.saml.xmlsig.AMSignatureProvider
+
+#
+# Specify XML key provider implementation class 
+com.sun.identity.saml.xmlsig.keyprovider.class=com.sun.identity.saml.xmlsig.JKSKeyProvider
+
+#
+# Identify SAML XML signature keystore file, keystore password file
+# and key password file
+com.sun.identity.saml.xmlsig.keystore=@BASE_DIR@/keystore.jks
+com.sun.identity.saml.xmlsig.storepass=@BASE_DIR@/.storepass
+com.sun.identity.saml.xmlsig.keypass=@BASE_DIR@/.keypass
+com.sun.identity.saml.xmlsig.certalias=test
+
+#
+# Specify type of KeyStore used for saml xml signature. Default is JKS.
+# com.sun.identity.saml.xmlsig.storetype=JKS
+
+#
+# Flag for checking the Certificate which is embedded in the 
+# KeyInfo against the certificates in the keystore (specified
+# by the "com.sun.identity.saml.xmlsig.keystore" property). 
+# Possible values for the key are: on|off. If the flag is "on",
+# the certification must be presented in the keystore for 
+# XML signature validation. If the flag is "off", skip
+# the presence checking.
+com.sun.identity.saml.checkcert=on
+
+#
+# XML cannonicalization algorithm. Used for SAML XML signature generation
+# and verification. When not specified, or value is empty, default value
+# will be used. The following is the list of supported algorithms:
+# http://www.w3.org/2001/10/xml-exc-c14n#	(default)
+# http://www.w3.org/2001/10/xml-exc-c14n#WithComments
+# http://www.w3.org/TR/2001/REC-xml-c14n-20010315
+# http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
+com.sun.identity.saml.xmlsig.c14nMethod=http://www.w3.org/2001/10/xml-exc-c14n#
+
+#
+# XML signature algorithm. Used for SAML XML Signature generation and
+# verification. When not specified, or value is empty, default value will be
+# used. The following is the list of supported algorithms:
+# http://www.w3.org/2000/09/xmldsig#rsa-sha1	(default)
+# http://www.w3.org/2000/09/xmldsig#hmac-sha1
+# http://www.w3.org/2000/09/xmldsig#dsa-sha1
+# http://www.w3.org/2001/04/xmldsig-more#rsa-md5
+# http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160
+# http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
+# http://www.w3.org/2001/04/xmldsig-more#rsa-sha384
+# http://www.w3.org/2001/04/xmldsig-more#rsa-sha512
+# http://www.w3.org/2001/04/xmldsig-more#hmac-md5
+# http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160
+# http://www.w3.org/2001/04/xmldsig-more#hmac-sha256
+# http://www.w3.org/2001/04/xmldsig-more#hmac-sha384
+# http://www.w3.org/2001/04/xmldsig-more#hmac-sha512
+com.sun.identity.saml.xmlsig.xmlSigAlgorithm=
+
+#
+# XML transformation algorithm. Used for SAML XML signature generation
+# and verification. When not specified, or value is empty, default value
+# will be used. The following is the list of supported algorithms:
+# http://www.w3.org/2001/10/xml-exc-c14n#      (default)
+# http://www.w3.org/2001/10/xml-exc-c14n#WithComments
+# http://www.w3.org/TR/2001/REC-xml-c14n-20010315
+# http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
+# http://www.w3.org/TR/1999/REC-xslt-19991116
+# http://www.w3.org/2000/09/xmldsig#base64
+# http://www.w3.org/TR/1999/REC-xpath-19991116
+# http://www.w3.org/2000/09/xmldsig#enveloped-signature
+# http://www.w3.org/TR/2001/WD-xptr-20010108
+# http://www.w3.org/2002/04/xmldsig-filter2
+# http://www.w3.org/2002/06/xmldsig-filter2
+# http://www.nue.et-inf.uni-siegen.de/~geuer-pollmann/#xpathFilter
+com.sun.identity.saml.xmlsig.transformAlg=http://www.w3.org/2001/10/xml-exc-c14n#
+ 
+
+#
+# SAML2 XML Encryption Provider Implementation class 
+com.sun.identity.saml2.xmlenc.EncryptionProvider=com.sun.identity.saml2.xmlenc.FMEncProvider
+
+
+#
+# SAML2 XML Signing Provider Implementation class. 
+com.sun.identity.saml2.xmlsig.SignatureProvider=com.sun.identity.saml2.xmlsig.FMSigProvider
+
+#
+# SAML2 XML Signing Certificate Validation. 
+com.sun.identity.saml2.crl.check=false
+
+#
+# SAML2 XML Signing Certificate Validation. 
+com.sun.identity.saml2.crl.check.ca=false
+
+#
+# Client ceritificate alias that will be used in SSL connection for Liberty
+# SOAP Binding
+com.sun.identity.liberty.ws.soap.certalias=
+
+#
+# If the message timestamp is before current timestamp by this amount
+# (millisec), it is considered a stale message.
+com.sun.identity.liberty.ws.soap.staleTimeLimit=300000
+
+#
+# All the messageID of a valid message will be stored in a cache with the it
+# is received to avoid duplicate messages. If the current time minus the
+# received time is greater than the above staleTimeLimit, it should be removed
+# from the cache. The is property specify the interval(millisec) that a 
+# cleanup thread should check the cache and remove those messageID.
+com.sun.identity.liberty.ws.soap.messageIDCacheCleanupInterval=60000
+
+#
+# Supported SOAP actors. Each actor must be seperated by '|'
+com.sun.identity.liberty.ws.soap.supportedActors=http://schemas.xmlsoap.org/soap/actor/next
+
+#
+# Namespace prefix mapping used when marshalling a JAXB content tree to a
+# DOM tree. The syntax is
+# <prefix>=<namespace>|<prefix>=<namespace>|..........
+com.sun.identity.liberty.ws.jaxb.namespacePrefixMappingList=S=http://schemas.xmlsoap.org/soap/envelope/|sb=urn:liberty:sb:2003-08|pp=urn:liberty:id-sis-pp:2003-08|ispp=http://www.sun.com/identity/liberty/pp|is=urn:liberty:is:2003-08
+
+#
+# JAXB package list used when constructing JAXBContext. Each package must be
+# seperated by ':'.
+com.sun.identity.liberty.ws.jaxb.packageList=
+
+#
+# Liberty ID-WSF security profile,
+# com.sun.identity.liberty.ws.wsc.certalias specifies default certificate
+#     alias for issuing web service security token for this web service client
+# com.sun.identity.liberty.ws.ta.certalias specifies certificate
+#     alias for trusted authority that will be used to sign SAML or SAML
+#     BEARER token of response message.
+# com.sun.identity.liberty.ws.trustedca.certaliases specifies certificate
+#     aliases for trusted CA. SAML or SAML BEARER token of incoming request
+#     message needs to be signed by a trusted CA in this list. The syntax is
+#     <cert alias 1>[:<issuer 1>]|<cert alias 2>[:<issuer 2>]|.....
+#     For example, 'myalias1:myissuer1|myalias2|myalias3:myissuer3
+#     'issuer' is used when the token doesn't have a KeyInfo inside the
+#     signature. The 'issuer' of the token needs to be in this list and the
+#     corresponding cert alias will be used to verify signature. If KeyInfo
+#     exists, the keystore needs to contain a cert alias that matches the
+#     KeyInfo and the cert alias needs to be in this list.
+# com.sun.identity.liberty.ws.security.TokenProviderImpl specifies
+#     implementation for security token provider
+com.sun.identity.liberty.ws.wsc.certalias=
+com.sun.identity.liberty.ws.ta.certalias=
+com.sun.identity.liberty.ws.trustedca.certaliases=
+com.sun.identity.liberty.ws.security.TokenProviderImpl=com.sun.identity.liberty.ws.security.LibSecurityTokenProvider
+
+
+#
+# URL for WSPRedirectHandlerServlet to handle Liberty WSF WSP-resource owner
+# interactions based on user agent redirects. This should be running in 
+# the same JVM where Liberty SP is running
+com.sun.identity.liberty.interaction.wspRedirectHandler=http://localhost:18080/opensso/WSPRedirectHandler
+
+
+#
+# indicates whether WSC would participate in interaction
+# valid values are interactIfNeeded | doNotInteract | doNotInteractForData
+# default value:interactIfNeeded
+# value used if an invalid value is specified:interactIfNeeded
+com.sun.identity.liberty.interaction.wscSpecifiedInteractionChoice=interactIfNeeded
+
+
+#
+# indicates whether WSC would include userInteractionHeader
+# valid values are yes|no (case ignored)
+# default value:yes
+# value used if no value is specified:yes
+com.sun.identity.liberty.interaction.wscWillInlcudeUserInteractionHeader=yes
+
+
+#
+# indicates whether WSC would redirect user for interaction
+# valid values are yes|no
+# default value:yes
+# value used if no value is specified:yes
+com.sun.identity.liberty.interaction.wscWillRedirect=yes
+
+
+#
+# WSC's preference on the acceptable duration for interaction(in seconds)
+# default value if the value is not specified or a non integer value is
+# specified : 60
+com.sun.identity.liberty.interaction.wscSpecifiedMaxInteractionTime=80
+
+
+#
+# indicates whether WSC would enforce that redirected to URL is https
+# valid values are yes|no (case ignored)
+# liberty specification require the value to be yes
+# default value:yes
+# value used if no value is specified:yes
+com.sun.identity.liberty.interaction.wscWillEnforceHttpsCheck=no
+
+
+#
+# This property is used to determine the Liberty identity web services framework
+# to be used when the framework can not determine from the in-bound message or
+# from the resource offering when AM is acting as the WSC.
+# The default version is 1.1, but the possible values are 1.0 or 1.1
+# com.sun.identity.liberty.wsf.version=1.1
+
+# Web Services Security Client Properties
+# Login URL and Authentication web service URL for WSS Liberty use cases
+com.sun.identity.loginurl=http://localhost:18080/opensso/UI/Login
+com.sun.identity.liberty.authnsvc.url=http://localhost:18080/opensso/Liberty/authnsvc
+
+# STS End User Token Plugin class
+com.sun.identity.wss.sts.clientusertoken=com.sun.identity.wss.sts.STSClientUserToken
+
+# WSS Provider Configuration Plugin class
+com.sun.identity.wss.provider.config.plugin=com.sun.identity.wss.provider.plugins.AgentProvider
+
+# WSS Authenticator Plugin Class
+com.sun.identity.wss.security.authenticator=com.sun.identity.wss.security.handler.DefaultAuthenticator
+
+com.sun.identity.jsr196.authenticated.user=AUTHENTICATED_USERS
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/AMConfig.properties.template
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/AMConfig.properties.template	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/AMConfig.properties.template	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,450 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: AMClient.properties,v 1.13 2008/05/05 16:48:20 qcheng Exp $
+#
+# Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+#
+
+/* The following keys are used to configure the Debug service.
+ * Possible values for the key 'level' are: off | error | warning | message. 
+ * The key 'directory' specifies the output directory where the debug files 
+ * will be created.
+ * Trailing spaces are significant.
+ * Windows: Use forward slashes "/" separate directories, not backslash "\".
+ * Windows: Spaces in the file name are allowed for Windows.
+ */
+com.iplanet.services.debug.level=@DEBUG_LEVEL@
+com.iplanet.services.debug.directory=@DEBUG_DIR@
+
+/*
+ * Server mode should be 'false'
+ */
+com.iplanet.am.serverMode=false
+
+/*
+ * Cache enable / disable properties
+ */
+com.iplanet.am.sdk.caching.enabled=false
+com.sun.identity.idm.cache.enabled=false
+com.sun.identity.sm.cache.enabled=true
+
+/*
+ * Logging status
+ */
+com.iplanet.am.logstatus=ACTIVE
+
+/*
+ * SDK package name
+ */
+com.iplanet.am.sdk.package=com.iplanet.am.sdk.remote
+
+/*
+ * Configure remote plugin classes for configuration (SMS)
+ */
+com.sun.identity.sm.sms_object_class_name=com.sun.identity.sm.jaxrpc.SMSJAXRPCObject
+
+/*
+ * Naming URL
+ */
+com.iplanet.am.naming.url=@NAMING_URL@
+
+/*
+ * Notification URL
+ */
+com.iplanet.am.notification.url=@NOTIFICATION_URL@
+
+/*
+ * Security Credentails to read the configuration data
+ */
+com.sun.identity.agents.app.username=@APPLICATION_USER@
+com.iplanet.am.service.password=@APPLICATION_PASSWD@
+com.iplanet.am.service.secret=@ENCODED_APPLICATION_PASSWORD@
+
+/*
+ * Encryption key that will be used to encrypt and decypt
+ * data to communicate with the server.
+ * This key is needed to decrypt passwords stored
+ * in the SMS configuration.
+ */
+am.encryption.pwd=@ENCRYPTION_KEY@
+
+/*
+ * Encryption key that will be used to encrypt and decypt
+ * data used locally within the client.
+ */
+com.sun.identity.client.encryptionKey=@ENCRYPTION_KEY_LOCAL@
+
+/*
+ * Encryption: The key "com.iplanet.security.encryptor" specifies
+ * the encrypting class implementation.
+ * Available classes are:
+ *    com.iplanet.services.util.JCEEncryption
+ *    com.iplanet.services.util.JSSEncryption
+ */
+com.iplanet.security.encryptor=com.iplanet.services.util.JCEEncryption
+
+/*
+ * Property to enable/disable the notifications for am.sdk and IdRepo Caches. 
+ * If set to "true" notifications are enabled and disabled if set to "false".
+ */
+com.sun.identity.idm.remote.notification.enabled=true
+
+/*
+ * Cache update time (in minutes) for am.sdk & IdRepo Caches
+ * if notification URL is not provided or if notifications are disabled.
+ * Note: 
+ * 1. This property is applicable only if 'com.iplanet.am.notification.url'
+ *    is not provided or if 'com.sun.identity.idm.remote.notification.enabled'
+ *    is set to 'false'.
+ * 2. If the polling time is set as 0, then polling is disabled. 
+ */
+com.iplanet.am.sdk.remote.pollingTime=1
+
+/*
+ * Property to enable/disable the notifications for service management caches.
+ * If set to "true" notifications are enabled and disabled if set to "false".
+ */
+com.sun.identity.sm.notification.enabled=true
+
+/*
+ * Cache update time (in minutes) for service configutation data,
+ * if notification URL is not provided or if notifications are disabled.
+ * Note: 
+ * 1. This property is applicable only if 'com.iplanet.am.notification.url'
+ *    is not provided or if 'com.sun.identity.sm.notification.enabled' is 
+ *    set to 'false'.
+ * 2. If the cache time is set as 0, then no cache updates will occur.
+ */
+com.sun.identity.sm.cacheTime=1
+
+/*
+ * Server protocol, host and port to be used by Client Services
+ */
+com.iplanet.am.server.protocol=@SERVER_PROTOCOL@
+com.iplanet.am.server.host=@SERVER_HOST@
+com.iplanet.am.server.port=@SERVER_PORT@
+com.iplanet.am.services.deploymentDescriptor=@DEPLOY_URI@
+com.iplanet.am.console.protocol=@CONSOLE_PROTOCOL@
+com.iplanet.am.console.host=@CONSOLE_HOST@
+com.iplanet.am.console.port=@CONSOLE_PORT@
+com.iplanet.am.console.deploymentDescriptor=@CONSOLE_DEPLOY_URI@
+com.iplanet.am.console.remote=@CONSOLE_REMOTE@
+
+com.iplanet.am.cookie.name=@AM_COOKIE_NAME@
+
+/*
+ * Session related properties.
+ */
+com.iplanet.am.session.client.polling.enable=true
+com.iplanet.am.session.client.polling.period=180
+
+/*
+ * Identify cert db directory path, prefix and password file
+ * to initialize JSS Socket Factory when Web Container is configured SSL
+ */
+com.iplanet.am.admin.cli.certdb.dir=@CONTAINER_CERTDB_DIR@
+com.iplanet.am.admin.cli.certdb.prefix=@CONTAINER_CERTDB_PREFIX@
+com.iplanet.am.admin.cli.certdb.passfile=@BASEDIR@/@PRODUCT_DIR@/config/.wtpass
+
+/*
+ * Identify property value for SSL ApprovalCallback / HostnameVerifier
+ *    If com.iplanet.services.comm is configured as protocol handler
+ *    and the checkSubjectAltName or resolveIPAddress feature is enabled, 
+ *    cert8.db and key3.db with the prefix value of 
+ *    com.iplanet.am.admin.cli.certdb.prefix will have to be created under 
+ *    the directory of com.iplanet.am.admin.cli.certdb.dir before server is 
+ *    restarted.
+ */
+com.iplanet.am.jssproxy.trustAllServerCerts=false
+com.iplanet.am.jssproxy.checkSubjectAltName=false
+com.iplanet.am.jssproxy.resolveIPAddress=false
+com.iplanet.am.jssproxy.SSLTrustHostList=false
+
+/**************************************************************
+ *              Policy Client parameters
+ **************************************************************/
+/* Policy decision log parameters. Possible values for logging.level
+ * are NONE, ALLOW, DENY, BOTH, and DECISION */
+com.sun.identity.agents.server.log.file.name=amRemotePolicyLog
+com.sun.identity.agents.logging.level=NONE
+
+/* Notification URL for updating cache */
+com.sun.identity.agents.notification.enabled=false
+com.sun.identity.agents.notification.url=@NOTIFICATION_URL@
+
+/* Cache time in minutes */
+com.sun.identity.agents.polling.interval=3
+
+/* Information to cache. Possible value are "subtree" or "self" */
+com.sun.identity.policy.client.cacheMode=subtree
+
+/* Policy client clock skew value in seconds */
+com.sun.identity.policy.client.clockSkew=10 
+
+/*
+* Explicitly disable monitoring services in the client applications.
+*/
+com.sun.identity.monitoring=off
+
+/*
+* Specify if allow to use cached data for HttpURLConnection 
+*/
+com.sun.identity.urlconnection.useCache=false
+
+#
+# Specify implementation class for
+# com.sun.identity.plugin.configuration.ConfigurationInstance interface.
+com.sun.identity.plugin.configuration.class=@CONFIGURATION_PROVIDER_CLASS@
+
+#
+# Specify implementation class for 
+# com.sun.identity.plugin.datastore.DataStoreProvider interface.
+# This property defines the default datastore provider.
+com.sun.identity.plugin.datastore.class.default=@DATASTORE_PROVIDER_CLASS@
+
+#
+# Specify implementation class for
+# com.sun.identity.plugin.session.SessionProvider interface.
+com.sun.identity.plugin.session.class=@SESSION_PROVIDER_CLASS@
+
+#
+# Specify XML signature provider class  
+com.sun.identity.saml.xmlsig.signatureprovider.class=com.sun.identity.saml.xmlsig.AMSignatureProvider
+
+#
+# Specify XML key provider implementation class 
+com.sun.identity.saml.xmlsig.keyprovider.class=com.sun.identity.saml.xmlsig.JKSKeyProvider
+
+#
+# Identify SAML XML signature keystore file, keystore password file
+# and key password file
+com.sun.identity.saml.xmlsig.keystore=@BASE_DIR@/keystore.jks
+com.sun.identity.saml.xmlsig.storepass=@BASE_DIR@/.storepass
+com.sun.identity.saml.xmlsig.keypass=@BASE_DIR@/.keypass
+com.sun.identity.saml.xmlsig.certalias=test
+
+#
+# Specify type of KeyStore used for saml xml signature. Default is JKS.
+# com.sun.identity.saml.xmlsig.storetype=JKS
+
+#
+# Flag for checking the Certificate which is embedded in the 
+# KeyInfo against the certificates in the keystore (specified
+# by the "com.sun.identity.saml.xmlsig.keystore" property). 
+# Possible values for the key are: on|off. If the flag is "on",
+# the certification must be presented in the keystore for 
+# XML signature validation. If the flag is "off", skip
+# the presence checking.
+com.sun.identity.saml.checkcert=on
+
+#
+# XML cannonicalization algorithm. Used for SAML XML signature generation
+# and verification. When not specified, or value is empty, default value
+# will be used. The following is the list of supported algorithms:
+# http://www.w3.org/2001/10/xml-exc-c14n#	(default)
+# http://www.w3.org/2001/10/xml-exc-c14n#WithComments
+# http://www.w3.org/TR/2001/REC-xml-c14n-20010315
+# http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
+com.sun.identity.saml.xmlsig.c14nMethod=http://www.w3.org/2001/10/xml-exc-c14n#
+
+#
+# XML signature algorithm. Used for SAML XML Signature generation and
+# verification. When not specified, or value is empty, default value will be
+# used. The following is the list of supported algorithms:
+# http://www.w3.org/2000/09/xmldsig#rsa-sha1	(default)
+# http://www.w3.org/2000/09/xmldsig#hmac-sha1
+# http://www.w3.org/2000/09/xmldsig#dsa-sha1
+# http://www.w3.org/2001/04/xmldsig-more#rsa-md5
+# http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160
+# http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
+# http://www.w3.org/2001/04/xmldsig-more#rsa-sha384
+# http://www.w3.org/2001/04/xmldsig-more#rsa-sha512
+# http://www.w3.org/2001/04/xmldsig-more#hmac-md5
+# http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160
+# http://www.w3.org/2001/04/xmldsig-more#hmac-sha256
+# http://www.w3.org/2001/04/xmldsig-more#hmac-sha384
+# http://www.w3.org/2001/04/xmldsig-more#hmac-sha512
+com.sun.identity.saml.xmlsig.xmlSigAlgorithm=
+
+#
+# XML transformation algorithm. Used for SAML XML signature generation
+# and verification. When not specified, or value is empty, default value
+# will be used. The following is the list of supported algorithms:
+# http://www.w3.org/2001/10/xml-exc-c14n#      (default)
+# http://www.w3.org/2001/10/xml-exc-c14n#WithComments
+# http://www.w3.org/TR/2001/REC-xml-c14n-20010315
+# http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
+# http://www.w3.org/TR/1999/REC-xslt-19991116
+# http://www.w3.org/2000/09/xmldsig#base64
+# http://www.w3.org/TR/1999/REC-xpath-19991116
+# http://www.w3.org/2000/09/xmldsig#enveloped-signature
+# http://www.w3.org/TR/2001/WD-xptr-20010108
+# http://www.w3.org/2002/04/xmldsig-filter2
+# http://www.w3.org/2002/06/xmldsig-filter2
+# http://www.nue.et-inf.uni-siegen.de/~geuer-pollmann/#xpathFilter
+com.sun.identity.saml.xmlsig.transformAlg=http://www.w3.org/2001/10/xml-exc-c14n#
+ 
+
+#
+# SAML2 XML Encryption Provider Implementation class 
+com.sun.identity.saml2.xmlenc.EncryptionProvider=com.sun.identity.saml2.xmlenc.FMEncProvider
+
+
+#
+# SAML2 XML Signing Provider Implementation class. 
+com.sun.identity.saml2.xmlsig.SignatureProvider=com.sun.identity.saml2.xmlsig.FMSigProvider
+
+#
+# SAML2 XML Signing Certificate Validation. 
+com.sun.identity.saml2.crl.check=false
+
+#
+# SAML2 XML Signing Certificate Validation. 
+com.sun.identity.saml2.crl.check.ca=false
+
+#
+# Client ceritificate alias that will be used in SSL connection for Liberty
+# SOAP Binding
+com.sun.identity.liberty.ws.soap.certalias=
+
+#
+# If the message timestamp is before current timestamp by this amount
+# (millisec), it is considered a stale message.
+com.sun.identity.liberty.ws.soap.staleTimeLimit=300000
+
+#
+# All the messageID of a valid message will be stored in a cache with the it
+# is received to avoid duplicate messages. If the current time minus the
+# received time is greater than the above staleTimeLimit, it should be removed
+# from the cache. The is property specify the interval(millisec) that a 
+# cleanup thread should check the cache and remove those messageID.
+com.sun.identity.liberty.ws.soap.messageIDCacheCleanupInterval=60000
+
+#
+# Supported SOAP actors. Each actor must be seperated by '|'
+com.sun.identity.liberty.ws.soap.supportedActors=http://schemas.xmlsoap.org/soap/actor/next
+
+#
+# Namespace prefix mapping used when marshalling a JAXB content tree to a
+# DOM tree. The syntax is
+# <prefix>=<namespace>|<prefix>=<namespace>|..........
+com.sun.identity.liberty.ws.jaxb.namespacePrefixMappingList=S=http://schemas.xmlsoap.org/soap/envelope/|sb=urn:liberty:sb:2003-08|pp=urn:liberty:id-sis-pp:2003-08|ispp=http://www.sun.com/identity/liberty/pp|is=urn:liberty:is:2003-08
+
+#
+# JAXB package list used when constructing JAXBContext. Each package must be
+# seperated by ':'.
+com.sun.identity.liberty.ws.jaxb.packageList=
+
+#
+# Liberty ID-WSF security profile,
+# com.sun.identity.liberty.ws.wsc.certalias specifies default certificate
+#     alias for issuing web service security token for this web service client
+# com.sun.identity.liberty.ws.ta.certalias specifies certificate
+#     alias for trusted authority that will be used to sign SAML or SAML
+#     BEARER token of response message.
+# com.sun.identity.liberty.ws.trustedca.certaliases specifies certificate
+#     aliases for trusted CA. SAML or SAML BEARER token of incoming request
+#     message needs to be signed by a trusted CA in this list. The syntax is
+#     <cert alias 1>[:<issuer 1>]|<cert alias 2>[:<issuer 2>]|.....
+#     For example, 'myalias1:myissuer1|myalias2|myalias3:myissuer3
+#     'issuer' is used when the token doesn't have a KeyInfo inside the
+#     signature. The 'issuer' of the token needs to be in this list and the
+#     corresponding cert alias will be used to verify signature. If KeyInfo
+#     exists, the keystore needs to contain a cert alias that matches the
+#     KeyInfo and the cert alias needs to be in this list.
+# com.sun.identity.liberty.ws.security.TokenProviderImpl specifies
+#     implementation for security token provider
+com.sun.identity.liberty.ws.wsc.certalias=
+com.sun.identity.liberty.ws.ta.certalias=
+com.sun.identity.liberty.ws.trustedca.certaliases=
+com.sun.identity.liberty.ws.security.TokenProviderImpl=com.sun.identity.liberty.ws.security.LibSecurityTokenProvider
+
+
+#
+# URL for WSPRedirectHandlerServlet to handle Liberty WSF WSP-resource owner
+# interactions based on user agent redirects. This should be running in 
+# the same JVM where Liberty SP is running
+com.sun.identity.liberty.interaction.wspRedirectHandler=@SERVER_PROTOCOL@://@SERVER_HOST@:@SERVER_PORT@/@DEPLOY_URI@/WSPRedirectHandler
+
+
+#
+# indicates whether WSC would participate in interaction
+# valid values are interactIfNeeded | doNotInteract | doNotInteractForData
+# default value:interactIfNeeded
+# value used if an invalid value is specified:interactIfNeeded
+com.sun.identity.liberty.interaction.wscSpecifiedInteractionChoice=interactIfNeeded
+
+
+#
+# indicates whether WSC would include userInteractionHeader
+# valid values are yes|no (case ignored)
+# default value:yes
+# value used if no value is specified:yes
+com.sun.identity.liberty.interaction.wscWillInlcudeUserInteractionHeader=yes
+
+
+#
+# indicates whether WSC would redirect user for interaction
+# valid values are yes|no
+# default value:yes
+# value used if no value is specified:yes
+com.sun.identity.liberty.interaction.wscWillRedirect=yes
+
+
+#
+# WSC's preference on the acceptable duration for interaction(in seconds)
+# default value if the value is not specified or a non integer value is
+# specified : 60
+com.sun.identity.liberty.interaction.wscSpecifiedMaxInteractionTime=80
+
+
+#
+# indicates whether WSC would enforce that redirected to URL is https
+# valid values are yes|no (case ignored)
+# liberty specification require the value to be yes
+# default value:yes
+# value used if no value is specified:yes
+com.sun.identity.liberty.interaction.wscWillEnforceHttpsCheck=no
+
+
+#
+# This property is used to determine the Liberty identity web services framework
+# to be used when the framework can not determine from the in-bound message or
+# from the resource offering when AM is acting as the WSC.
+# The default version is 1.1, but the possible values are 1.0 or 1.1
+# com.sun.identity.liberty.wsf.version=1.1
+
+# Web Services Security Client Properties
+# Login URL and Authentication web service URL for WSS Liberty use cases
+com.sun.identity.loginurl=@SERVER_PROTOCOL@://@SERVER_HOST@:@SERVER_PORT@/@DEPLOY_URI@/UI/Login
+com.sun.identity.liberty.authnsvc.url=@SERVER_PROTOCOL@://@SERVER_HOST@:@SERVER_PORT@/@DEPLOY_URI@/Liberty/authnsvc
+
+# STS End User Token Plugin class
+com.sun.identity.wss.sts.clientusertoken=com.sun.identity.wss.sts.STSClientUserToken
+
+# WSS Provider Configuration Plugin class
+com.sun.identity.wss.provider.config.plugin=com.sun.identity.wss.provider.plugins.AgentProvider
+
+# WSS Authenticator Plugin Class
+com.sun.identity.wss.security.authenticator=com.sun.identity.wss.security.handler.DefaultAuthenticator
+
+com.sun.identity.jsr196.authenticated.user=AUTHENTICATED_USERS
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amAuth.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amAuth.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amAuth.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,274 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: amAuth.properties,v 1.4 2008/04/05 16:38:24 pawand Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#
+
+onlinehelp.doc=coreauth.html
+authentication=Authentication
+
+sessNotActive=Session was never activated
+requestReceived=**** Authd request received ***
+Authentication=Authentication
+Cert=Cert
+Radius=RADIUS
+RADIUS=RADIUS
+LDAP=LDAP
+Membership=Membership
+Unix=Unix
+NT=NT
+SafeWord=SafeWord
+SecurID=SecurID
+Anonymous=Anonymous
+HTTPBasic=HTTPBasic
+WindowsDesktopSSO=WindowsDesktopSSO
+JDBC=JDBC
+AD=Active Directory
+MSISDN=MSISDN
+DataStore=DataStore
+UserId=UserId
+UserDomain=UserDomain
+loginSuccess=Login Success
+loginFailed=Login Failed
+invalidPasswd=Invalid Password
+restricted=Restricted userid session terminated
+noMatchDomainURL=No match for domain url
+userLoginDisabled=User login disabled
+adminAuthFailedUid=Admin Authorization Failed UserId:
+adminSessLogoutUid=Admin Session Logout UserId:
+sessLogoutUid=Session Logout UserId:
+submit=Submit
+modprop=Module Properties for the Auth is null.
+iplanet-am-auth-service-description=Core
+Create=Dynamic
+CreateWithAlias=Dynamic with User Alias
+Required=Required
+Ignore=Ignored
+ServiceDoesNotExist=Service does not Exist
+gettingSessionFailed=AuthD failed to get auth session
+invalidSessionID=Session ID is not valid
+a101=Organization Authentication Modules
+a101.help=Authentication modules available to this organization.
+a102=User Profile
+a104=Administrator Authentication Configuration
+a105=User Profile Dynamic Creation Default Roles
+a105.help=Enter the DN for each role that will be assigned to a new user.
+a106=Authentication Chaining Modules
+a107=Authentication Chaining Enabled
+a108=Persistent Cookie Mode
+a109=Persistent Cookie Maximum Time
+a109.help=In seconds. Persistent cookie mode must be enabled.  Integer range is 0 - 2147483.
+a110=Non Interactive Modules
+a111=User's Default Redirect URL 
+a112=User Based Authentication
+a113=People Container for All Users
+a114=Alias Search Attribute Name
+a114.help=The secondary LDAP attribute retrieves the user profile if the primary LDAP attribute specified in 'User Naming Attribute' fails.
+a115=User Authentication Modules
+a117=Pluggable Authentication Module Classes
+a118=User Naming Attribute
+a118.help=The primary LDAP attribute retrieves the user's profile after successful authentication.
+a119=Pluggable Authentication Page Generator Class
+a120=Default Authentication Locale
+a121=Organization Authentication Configuration
+a124=Supported Authentication Modules for Clients
+a124.help=Format: clientType | module1,module2,module3
+a125=Login Failure Lockout Mode
+a126=Login Failure Lockout Count
+a127=Login Failure Lockout Interval
+a127.help=In minutes.
+a128=Email Address to Send Lockout Notification
+a128.help=Format: emailaddress|locale|charset. Multiple email addresses are space-separated.
+a129=Warn User After N Failures
+a130=Login Failure Lockout Duration
+a130.help=In minutes.
+a1301= Lockout Duration Multiplier
+a1301.help=Value multiplied to the Login Failure Lockout Duration for each successive lockout.
+a131=Lockout Attribute Name
+a132=Lockout Attribute Value
+a133=Default Success Login URL 
+a133.help=URL or ClientType|URL if client specific. URL without http(s) protocol will be appended to the current URI.
+a134=Default Failure Login URL 
+a134.help=URL or ClientType|URL if client specific. URL without http(s) protocol will be appended to the current URI.
+a135=Authentication Post Processing Classes
+a135.help=Example: com.abc.authentication.PostProcessClass
+a138=Generate UserID Mode
+a139=Pluggable User Name Generator Class
+a140=LDAP Connection Pool Size
+a140.help=Format: host:port:minimum:maximum
+a141=Default LDAP Connection Pool Size
+a141.help=Format: mininum:maximum
+a142=Identity Types
+a143=Pluggable User Status Event Classes
+a143.help=Class name (including package prefix)
+a144=Store Invalid Attempts in Data Store
+a144.help=Enables sharing of login failure attempts across AM Instances
+a145=Module Based Authentication
+a145.help=Allows a user to authenticate via module based authentication.
+a146=Remote Auth Security
+a146.help=Needs remote Auth Client to send Application SSO Token with each request.
+a147=User Attribute Mapping to Session Attribute
+a147.help=Format: UserProfile Attribute|Session Attribute name. Specify the UserProfile Attributes that will be set in Session.
+a148=Keep Post Process Objects for Logout Processing
+a148.help=This will determine if the user session keeps holding the instances of  post processing classes after authentication is comoplete. This may be needed for special logout processing.
+a149=Keep Authentication Module Objects for Logout Processing.
+a149.help=This will determine if the user session keeps holding the instances of  authentication modules after authentication is comoplete.This may be needed for special logout processing.
+
+#Always the Authentication Level attribute should be the last item in the 
+#display section of the profile page. Make sure the key is always a large
+#number. Now it is a500. This is to avoid reshuffling the keys if new 
+#attributes are added.
+
+a500=Default Authentication Level
+
+a104.link=Edit
+a121.link=Edit
+
+amAuth-debug.on=On
+amAuth-debug.off=Off
+amAuth-debug.log=Log Messages
+initWorkerFailed=Failed to instantiate login worker class
+getOrgFailed=Failed to get organization attributes
+getUserFailed=Failed to get user attributes :
+wrongCall=Method must be called in process(): {0}
+invalidDN=Invalid DN string: {0}
+nullSess=Failed to get auth SSO session
+noAuthenticator=No authenticators configured
+multipleUserMatchFound=Multiple matches found for user search, please contact your system administrator to fix the problem 
+loginContextCreateFailed=Error creating LoginContext :
+failedLogout=Error logging out :
+authContextCreateFailed=Error creating AuthContext :
+authContextRetrieveFailed=Error retrieving AuthContext :
+userTokenNull=Token is null
+nullLoginParams=Login Parameters are null
+noRedirectTemplate=Redirect error
+errorConstructingURL=Error constructing URL
+redirectError=Error redirecting to URL
+nullHandler=Null Callback Handler
+invalidState=Invalid module state: {0}
+noCallbackState=No callbacks defined for module state: {0}
+invalidCode=Invalid return code: {0}
+getModulePropertiesError=Could not get module properties
+invalidCallbackIndex=Invalid replace callback index: {0}
+nullCallback=Null replace callback instance
+noConfig=Error retrieving Configuration
+noUserProfile=User Profile does not exist
+userInactive=User is not Active
+userNotFoundInAlias=User does not exist
+noUserTokens=No User Tokens
+userRoleNotFound=User does not belong to this Role.
+noModulesConfigured=No Authentication Modules found.
+loginDenied=User denied Login
+authServiceError=Authentication Service Error
+callbackError=Error creating callback
+pCookieError=Unable to create persistent cookie
+abortFailed=Error aborting login process
+modulePrompt=Authentication Menu
+noSid=No Session ID found {0}
+unknownCallback=Unsupported callback instance
+errorState=Enter module error state : 
+loginReset=Reseting from AMLoginContext:exceuteLogin() :
+sessionActivationFailed=Session Activation Failed
+orgNotMatching=Organization Mismatch
+lockOutEmailSub=WARNING: user lock out notice
+lockOutEmailMsg=The account for {0} has been deactivated due to successive login failures
+invalidtoken=SSOToken is not valid
+invalidcontext=AuthContext is not valid
+# This is used to form the "From" part of the e-mail that is sent out during the
+# lockout. The '-' is intentional as without it the InternetAddress class throws 
+# an exception
+lockOutEmailFrom=Identity-Server
+lockOutWarning=Warning: Account lockout will occur after next {0} password failure(s).
+logout=Logout
+lockOut=User Locked Out.
+accountExpired=User Account Expired!!
+loginTimeout=Login Timed Out.
+moduleDenied=Authentication Module Denied.
+invalidDomain=Invalid Domain
+accountLockedOut=Account Locked Out.
+lockoutMessage=Lockout Message Emailed to : 
+incorrectAuthLevel=Invalid Auth Level.
+invalidChars=Invalid Characters detected in UserName
+### Error codes 
+### format errorCode=errorMessage | errorTemplate
+### seperator "|" to differentiate between errorMessage and errorTemplate
+### errorMessage = is the error message describing the error
+### errroTemplate = is the jsp/html page to be rendered
+
+100=User Requires Profile to Login|login_denied.jsp
+101=User Account Expired!!|account_expired.jsp
+102=Authentication Error!!|auth_error_template.jsp
+103=Invalid Password!!|login_failed_template.jsp
+104=User not Active|user_inactive.jsp
+105=No Configuration found|noConfig.jsp
+106=Invalid Peristent Cookie|invalidPCookieUserid.jsp
+107=Authentication Failed!!|login_failed_template.jsp
+108=Domain is invalid|invalid_domain.jsp
+109=Org is inactive|org_inactive.jsp
+110=Session has timed out|session_timeout.jsp
+111=Authentication Module Denied|module_denied.jsp
+112=User Account Locked|user_inactive.jsp
+113=User does not belong to Role|userDenied.jsp
+114=Authentication Type Denied
+115=Maximum Sessions Limit Reached.|maxSessions.jsp
+116=User profile cannot be created
+117=The browser is not configured or supported for the HTTP authentication handshaking|login_failed_template.jsp
+118=Can not create new session.
+119=Invalid Auth Level.|invalidAuthlevel.jsp
+120=Module Based Authentication is not allowed.
+121=Too Many Authentication Attempts!!
+122=Invalid App SSO Token in Remote Authentication
+
+################################################################################
+#
+# Console View Properties
+#
+################################################################################
+authentication.show.advanced.attributes=Advanced Properties...
+authentication.core.properties=General 
+authentication.module.instances=Module Instances 
+authentication.module.configurations=Authentication Chaining
+authentication.module.default.configuration=Default Authentication Chain
+authentication.module.default.admin.configuration=Administrator Authentication Chain
+authentication.module.instances.action.label=Edit
+authentication.module.configurations.action.label=Edit
+label.items=Items
+
+authentication.instance.table.name.column=Name
+authentication.instance.table.type.column=Type
+authentication.instance.table.action.column=Action
+authentication.instance.table.create.button=New
+authentication.instance.table.delete.button=Delete
+authentication.module.instance.table.noentries=There are no instances available. Press the New button to create one.
+
+authentication.configuration.table.name.column=Name
+authentication.configuration.table.type.column=Type
+authentication.configuration.table.action.column=Action
+authentication.configuration.table.create.button=New
+authentication.configuration.table.delete.button=Delete
+authentication.configuration.table.noentries=There are no authentication chains defined. Press the New button to create one.
+[Empty]=[empty]
+i18nTrue=Enabled
+i18nFalse=Disabled
+label.current.value=Current Values
+label.new.value=New Value
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amAuthContext.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amAuthContext.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amAuthContext.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,33 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: amAuthContext.properties,v 1.1 2007/03/28 22:10:22 veiming Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#
+
+loginError=Failed to create new Authentication Context: {0}
+statusNotSuccess=Status is Not SUCCESS.
+noStatusNode=Received XML does not have Status node.
+createSSOTokenError=Error occurred while creating SSOToken.
+responseError=XML response is either empty or invalid.
+xmlProcessError=Error occurred while processing XML request.
+invalidLoginState=Invalid login state.
+noAppSSOToken=Could not get App SSO Token

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amIdRepo.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amIdRepo.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amIdRepo.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,89 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: amIdRepo.properties,v 1.8 2008/04/02 16:52:03 goodearth Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+
+# ########## Service related error messages
+101=Service not assigned: {0}
+102=Unable to get service schema for service: {0}
+103=Data validation failed for service: {0}
+104=Unable to assign service {0} to type {1}
+105=Service {0} is already assigned to {1}
+106=Unable to initialize Service Manager
+
+# ################# Identity create/read/edit related error messages
+201=Illegal arguments: One or more required arguments is null or empty
+200=Plug-in {0}: Unable to read attributes.
+202=Not a valid entry: {0}.
+203=Membership to Users and Agents is not allowed.
+204=Plug-in {0}: Membership of type {1} within type {2} is not supported.
+205=Plug-in {0}: Unable to get membership of {1} for {2}={3}
+206=Plug-in {0}: Memberships for identities other than Users is not allowed.
+207=Plug-in {0}: Unable to get {1} memberships of a {2}={3}
+208=Plug-in {0}: Unable to modify {1}={2} to add or remove {3} members.
+209=Plug-in {0}: Membership to {1} type of identity cannot be modified.
+210=Plug-in {0}: Search operation on type {1} is not supported.
+211=Plug-in {0}: Error while trying to search for {1}
+212=Plug-in {0}: Error while setting attributes for {1}={2}
+213=Plug-in {0}: Services not supported for Agents and Groups.
+214=Plug-in {0}: Cannot modify {1} service for a {2}
+215=Illegal universal identifier {0}.
+216=Too many users matching the search criteria.
+217=Not a supported type: {0}.
+218=Plug-in {0}: Unable to add a listener.
+219=Plug-in {0}: Search failed
+220=Plug-in {0}: Unable to find entry: {1}
+221=Plug-in {0}: Unable to authenticate. Missing a user name or password.
+222=Plug-in {0}: More than 1 match was found.
+223=Identity {0} of type {1} not found.
+224=Identity {0} of type {1} already exists.
+225=Plug-in {0}: Memberships for identities other than Agents is not allowed.
+226=Plug-in {0}: Unable to create agent.
+
+# ################ Plugin related error messages
+301=No plug-ins configured for this operation
+302=The {0} operation is not supported in any plug-in
+303=Plug-in is not configured correctly. Organization DN incorrect.
+304=Unable to initialize the plug-in {0} for the operation {1}.
+305=Plug-in {0} does not support operation {1} for type {2}
+306=Plug-in {0} encountered a ldap exception.  ldap errorcode={1}
+307=Initialization error. Unable to perform any operation.
+308=Is not a directory {0}
+309=Unable to create directory {0}
+310=Name already exists {0}
+311=Plug-in {0} encountered an ldap exception.  {1}
+312=Realm {0} does not exist.
+313=Plug-in {0} encountered an ldap exception {1}: {2}
+
+# ################## Misc. error message ##################
+401= No mapping organization found for organization identifier: {0}
+402= Permission to perform the {0} operation denied to {1}
+403= The realm name for {0} does not match the authentication realm, {1}.
+
+# ################## Migration related messages ##################
+500=AgentMigration71:migrate22AgentsToFAM80(): Starting to migrate agents..
+501=Getting SubRealms : {0}
+502=\nIdName={0}
+503=\nAgent Attributes={0}
+504=\nAgentMigration71:migrate22AgentsToFAM80(): FAILED.
+505=\nAgentMigration71:migrate22AgentsToFAM80(): Migration Completed.
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amNaming.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amNaming.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amNaming.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,54 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: amNaming.properties,v 1.3 2007/10/10 06:12:00 mrudul_uchil Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#
+
+onlinehelp.doc=naming.html
+noServerID=Cannot find server ID.
+noServer=Cannot find server.
+noNamingServiceURL=Cannot find Naming Service URL.
+noNotificationURL=Cannot find notification URL.
+unexpectedResponse=Unexpected number of responses received.
+noServiceURL=Service URL not found:
+noServiceClass=Service class not found:
+invalidServiceHost=Invalid service host name.
+noNamingServiceAvailable=Naming Service is not available.
+iplanet-am-naming-service-description=Naming
+a101=Profile Service URL
+a102=Session Service URL
+a103=Logging Service URL
+a104=Naming Service Status
+a105=Policy Service URL
+a106=Authentication Service URL
+a107=SAML Web Profile/Artifact Service URL
+a108=SAML SOAP Service URL
+a109=SAML Web Profile/POST Service URL
+a110=SAML Assertion Manager Service URL
+a111=Federation Assertion Manager Service URL
+a112=Identity SDK Service URL
+a113=Security Token Manager URL
+a114=JAXRPC Endpoint URL
+a115=Identity Web Services Endpoint URL
+a116=Identity REST Services Endpoint URL
+a117=Security Token Service Endpoint URL
+a118=Security Token Service MEX Endpoint URL

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amProfile.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amProfile.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amProfile.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,344 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: amProfile.properties,v 1.1 2007/03/28 22:10:30 veiming Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#
+
+0=LDAP Error:The operation completed successfully.
+1=LDAP Error:An internal error occurred in the LDAP server.
+2=LDAP Error:Protocol error.
+3=LDAP Error:The search operation could not be completed within the maximum time limit. 
+4=LDAP Error:The search found more than the maximum number of results. 
+5=LDAP Error:No matching value found.
+6=LDAP Error:Matching value found.
+7=LDAP Error:The specified authentication method is not supported.
+8=LDAP Error:A stronger authentication method (more than LDAP_AUTH_SIMPLE) is required.
+9=LDAP Error:The LDAP server is referring your client to another LDAP server. 
+10=LDAP Error:The server does not hold the requested entry. 
+11=LDAP Error:The administrative limit on the maximum number of entries to return was exceeded. 
+12=LDAP Error:Unknown control.
+13=LDAP Error:A secure connection is required for this operation.
+14=LDAP Error:SASL bind in progress.
+15=LDAP Error: 
+16=LDAP Error:The specified attribute could not be found.
+17=LDAP Error:The specified attribute is not defined.
+18=LDAP Error:An inappropriate type of matching was used.
+19=LDAP Error:Constraint Violation
+20=LDAP Error:The value that you are adding to an attribute already exists in the attribute.
+21=LDAP Error:The request contains invalid syntax.
+22=LDAP Error:
+23=LDAP Error:
+24=LDAP Error:
+25=LDAP Error:
+26=LDAP Error:
+27=LDAP Error:
+28=LDAP Error:
+29=LDAP Error:
+30=LDAP Error:
+31=LDAP Error:
+32=LDAP Error:The entry specified in the request does not exist.
+33=LDAP Error:An problem occurred with an alias.
+34=LDAP Error:The specified distinguished name (DN) uses invalid syntax.
+35=LDAP Error:The specified entry is a "leaf" entry.
+36=LDAP Error:An error occurred when dereferencing an alias.
+37=LDAP Error:
+38=LDAP Error:
+39=LDAP Error:
+40=LDAP Error:
+41=LDAP Error:
+42=LDAP Error:
+43=LDAP Error:
+44=LDAP Error:
+45=LDAP Error:
+46=LDAP Error:
+47=LDAP Error:
+48=LDAP Error:INAPPROPRIATE_AUTHENTICATION
+49=LDAP Error:INVALID_CREDENTIALS
+50=LDAP Error:INSUFFICIENT_ACCESS_RIGHTS
+51=LDAP Error:The LDAP server is busy.
+52=LDAP Error:The LDAP server is unavailable.
+53=LDAP Error:The LDAP server is unable to perform the specified operation.
+54=LDAP Error:A loop has been detected.
+56=LDAP Error:
+57=LDAP Error:
+58=LDAP Error:
+59=LDAP Error:
+60=LDAP Error:SORT_CONTROL_MISSING
+61=LDAP Error:An index range error occurred.
+62=LDAP Error:
+63=LDAP Error:
+64=LDAP Error:A naming violation has occurred.
+65=LDAP Error:OBJECT_CLASS_VIOLATION
+66=LDAP Error:NOT_ALLOWED_ON_NONLEAF
+67=LDAP Error:The specified operation cannot be performed on a relative distinguished name (RDN).
+68=LDAP Error:ENTRY_ALREADY_EXISTS
+69=LDAP Error:OBJECT_CLASS_MODS_PROHIBITED
+70=LDAP Error:
+71=LDAP Error:AFFECTS_MULTIPLE_DSAS
+72=LDAP Error:
+73=LDAP Error:
+74=LDAP Error:
+75=LDAP Error:
+76=LDAP Error:
+77=LDAP Error:
+78=LDAP Error:
+79=LDAP Error:
+80=LDAP Error:OTHER
+81=LDAP Error:SERVER_DOWN
+82=LDAP Error:
+83=LDAP Error:
+84=LDAP Error:
+85=LDAP Error:LDAP_TIMEOUT
+86=LDAP Error:
+87=LDAP Error:
+88=LDAP Error:
+89=LDAP Error:PARAM_ERROR
+90=LDAP Error:
+91=LDAP Error:CONNECT_ERROR
+92=LDAP Error:The request is not supported by this version of the LDAP protocol.
+93=LDAP Error:The requested control is not found. 
+94=LDAP Error:No results have been returned from the server.
+95=LDAP Error:More results are being returned from the server.
+96=LDAP Error:Your LDAP client detected a loop in the referral.
+97=LDAP Error:REFERRAL_LIMIT_EXCEEDED
+100=Multivalued attribute.
+101=No Attributes in profile.
+102=User role attribute not set.
+103=Not Boolean type privilege.
+104=Not List type privilege.
+105=Not valid match.
+106=No Privileges in profile.
+107=Privilege not found.
+108=Attribute not found.
+109=Invalid permission.
+110=No CatalogID.
+111=No Description.
+112=No Type.
+113=No Choices.
+114=Invalid operation.
+115=Invalid type.
+116=Invalid accessright.
+117=Invalid profile type.
+118=Invalid session.
+119=Not found.
+120=Unexpected number of responses received.
+121=Invalid qualifier.
+122=Invalid wild character.
+123=Invalid level.
+124=Unable to find parent organization.
+125=Service already assigned.
+126=Service not assigned.
+127=Unable to get object class schema.
+150=Not a string attribute.
+151=Unable to get attribute "objectClass".
+152=Not an integer attribute.
+153=Unable to get value for the integer attribute.
+154=Not an boolean attribute.
+155=Unable to get value for the boolean attribute.
+156=Unknown object type.
+157=Invalid DN string or Invalid name.
+158=Unable to get default aci for admin role.
+159=Invalid default aci for admin role.
+160=Default organization can't be deleted.
+161=Unable to get service object classes.
+162=Attribute uniqueness violated.
+163=Unable to locate class {0}.
+164=Unable to instantiate class {0}.
+300=Fatal exception initializing Data Store.
+301=Required data store initialization parameters not present.
+310=Invalid attribute value.
+311=Invalid privilege value.
+312=Invalid choice value.
+320=Invalid profile name.
+321=Invalid attribute or privilege name.
+322=Invalid parent profile name.
+323=Profile name already in use.
+324=Unable to create entry.
+325=Unable to remove entry.
+326=Invalid profile type.
+327=User No Longer Exists.
+328=User already exists.
+329=Conflicts with deleted user.
+330=Unable to get attributes from data store.
+331=Profile is not initialized.
+332=Unable to remove attribute from data store.
+333=Invalid operation for modifying attribute value.
+334=Unable to modify attribute value in data store.
+340=Invalid search filter.
+341=Search failed.
+342=Domain name attribute must not be null.
+343=Invalid DC Tree Root specified.
+344=Unable to create dc tree.
+345=Unable to search policy templates.
+346=Unable to delete policy templates.
+347=Unable to update policy templates.
+348=Unable to retrieve template attributes.
+349=Unable to get template DN.
+350=Unable to modify membership.
+351=Unable to update user attribute.
+352=Unable to set search filter.
+353=Unable to get search filter.
+354=Unable to know if DC Tree is enabled.
+355=DC Tree Root is not specified.
+356=Unable to update domain component status.
+357=Unable to know if Admin Groups is enabled.
+358=Unable to create Admin Groups.
+359=Unable to know if Compliance User Deletion is enabled.
+360=Unable to rename the entry.
+361=Conflicts with deleted Organization.
+445=Unable to unregister service {0}. Service also registered for Sub-Organization(s).
+446=Unable to get Named Policies.
+447=Unable to get Policy Manager.
+448=Unable to unregister service. Named policies exist.
+449=Unable to get action schema.
+450=Template does not exist.
+451=Unable to create template.
+452=Unable to set attribute(s).
+453=Unable to add member.
+454=Unable to get members.
+455=Unable to get registered services.
+456=Unable to retrieve template.
+457=Unable to create template.
+458=No parent organization exists.
+459=Service {0} not registered.
+460=User does not have sufficient access.
+461=Could not find entry : {0}.
+462=The entry already exists.
+463=The service {0} is not registered.
+464=Service {0} already registered.
+465=Could not find the role : {0}
+466=Could not find the group : {0}
+467=Could not find the organization : {0}
+468=Could not find the user : {0}
+469=Could not find the container : {0}
+470=Could not find the people container : {0}
+471=Could not find the group container : {0}
+472=The role already exists.
+473=The group already exists.
+474=The organization already exists.
+475=The user already exists.
+476=The container already exists.
+477=The people container already exists.
+478=The service {0} is not activated.
+479=The service config already exists.
+480=Could not find service config : {0}
+481=Could not find the service : {0}
+482=Unable to create service config for service : {0}
+483=The group container already exists.
+484=Unable to get service schema.
+485=Invalid service config.
+486=Unable to set service config attribute for : {0}
+487=Unable to get service config attribute.
+488=Policy is already assigned.
+489=Policy is not assigned.
+490=WARNING: user creation notice
+491=WARNING: user deletion notice
+492=WARNING: user modification notice
+493=User is created:
+494=User is deleted:
+495=User is modified:
+496=Attribute is changed:
+497=<Identity-Server>
+498=Unable to get policy.
+499=Unable to get service config for : {0}
+500=Config path for Event Manager not set.
+501=Unable to start the Event Manager.
+502=old value:
+503=new value:
+505=Unable to get members: Search size limit exceeded.
+
+# Do not localize this property. This is a keyword to send email to user itself
+504=self
+
+510=Unable to add a new SSOTokenListener.
+700=No parent profile defined.
+701=No role defined for user.
+702=Profile does not exist.
+703=Undefined attribute or privilege.
+705=Invalid data.
+710=Can't assign multi-value to single-value type attribute.
+711=Attribute is not configurable.
+720=Permission denied in getting attributes or privileges.
+721=Permission denied in setting attributes or privileges.
+722=Permission denied in creating profile.
+723=Permission denied in deleting profile.
+724=Permission denied.
+725=Set profile failed in overwriting customized attributes in sub profiles.
+726=Permission denied in searching profile.
+730=Can't delete a role which contains users.
+740=Invalid attribute name or value provided in search profile.
+741=Invalid profile type provided in search profile.
+742=Invalid template DN provided.
+743=Invalid value for policyDN.
+760=Invalid external attribute mapping.
+761=Unable to get external LDAP configuration attributes.
+762=Invalid search scope.
+763=Unable to read from external data store.
+764=Unable to write to external data store.
+765=Unable to connect to external data store.
+766=Unable to close external data store connection.
+767=Duplicate matches in external data store.
+770=Invalid external LDAP connection properties.
+771=Unable to add members to  group.
+772=Unable to remove members from groups.
+773=Unable to delete entry.
+800=Invalid Session Exception.
+850=Invalid Notification URL.
+851=Unable to remove profile service listener.
+852=Cannot unregister service. Policies exist.
+853=Policy already exists for {0}
+854=Template already exists for {0}
+855=Unable to unregister service.
+900=Cannot set service schema attribute default values.
+901=Cannot get service sub schema.
+902=Invalid session.
+903=Unable to add service listener.
+904=Unable to get service object classes.
+905=Unable to get service hierarchy.
+906=Unable to get service names.
+907=Unable to get service schema types.
+908=Unable to get service schema.
+909=Unable to get service i18n file name.
+910=Unable to get service view bean URL.
+911=Unable to get service attribute names.
+912=Unable to remove service schema attribute default values.
+913=Unable to unregister the service : {0}
+914=Unable to register the service.
+915=Unable to get service attributes.
+916==Cannot set attribute schema i18n key.
+917=Service does not exist.
+919=History Password: Please change to a new password.
+967=Changing naming attribute is not allowed .
+968=Number of entries found exceed the administrative limit on the maximum number of entries to return.
+969=Namespace constraint violation: multiple users with uid {0} found.
+970=No domain name provided.
+971= Either no matching  entries found or too many matching entries for id: {0}
+972= Unable to add members to the admin role: {0}
+973= Unable to remove members from the admin role: {0}
+974=Grace period has not expired. Object will not be purged.
+975=Data validation failed for attribute: {0}
+976=Data validation failed service {0}
+977=Unable to delete Container. Entries found. Delete them manually and try again.
+978=Service not defined for managed object: {0}
+1000=New Generic Exception
+1001=Schema Type not specified for this service {0}
+1002={0} contains invalid characters : {1}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSSOProvider.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSSOProvider.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSSOProvider.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,38 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: amSSOProvider.properties,v 1.1 2007/03/28 22:10:30 veiming Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#
+
+nodirectoryhost=Directory Server host name not found.
+nodirectoryport=Directory Server port number not found.
+ldapauthfail=LDAP authentication failed.
+invalidevent=Invalid SSOToken event type.
+invalidstate=Invalid SSOToken state.
+portnumerr=Directory Server port number error.
+invalidtoken=SSO Token is not valid.
+invalidadmin=Invalid administrator user ID or password from Director Server Configuration Manager.
+jssSockFactoryFail=Can not create LDAP connection with JSS.
+invalidIP=Client IP address is different from the IP address stored in original client session.
+ipaddressnull=IP address is null.
+hostnull=Host is null.
+ssotokennull=SSOToken is null.

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSecurity.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSecurity.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSecurity.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,26 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: amSecurity.properties,v 1.1 2007/03/28 22:10:30 veiming Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#
+
+KeyStorePrompt = KeyStore Password :

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSession.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSession.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amSession.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,95 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: amSession.properties,v 1.3 2008/03/12 21:37:30 manish_rustagi Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#
+
+onlinehelp.doc=session.html
+unexpectedResponse=Unexpected number of responses received.
+unexpectedSession=Unexpected number of sessions received.
+invalidSessionID=Invalid session ID.
+invalidSessionState=Session state is invalid.
+protectedProperty=Cannot set protected property.
+unexpectedEOF=Unexpected end of file.
+readRandomDeviceFailed=Reading random device failed.
+noPrivilege=No privilege to perform this operation.
+sessionNotObtained=Session was not obtained.
+unknownRequestMethod=Unknown request method.
+iplanet-am-session-service-description=Session
+sessionTimedOut=Session timed out.
+sessionNotTimedOut=Session has not timed out.
+propertyMustBeSet=Properties com.iplanet.am.localserver.{protocol,host,port} must be set in failover mode.
+restrictionViolation=Illegal attempt to use a restricted token.
+emptyTrustedSourceList=No entries found in trusted source list or platform server list.
+unsupportedFunction=Function is not supported.
+SessionTableNotFound=Session table does not exist in session store.
+getValidSessionsError=Failed to get the valid sessions from the specified server.
+a101=Maximum Session Time
+a101.help=In minutes.
+a102=Maximum Idle Time
+a102.help=In minutes.
+a103=Maximum Caching Time
+a103.help=In minutes.
+a104=Session Service Status
+a105=Maximum Number of Search Results
+a105.help=Do not set this attribute to a large value (greater than 1000) unless sufficient system resources are allocated.
+a106=Timeout for Search
+a106.help=In seconds.
+a107=Session Failover
+a108=Session Store User
+a109=Session Store Password
+a110=Session Cluster Server List
+a111=Maximum Wait Time
+a111.help=Read Timeout for retrieving the session (in milliseconds).
+a112=JDBC Driver Impl Class Name
+a113=Database Url
+a114=Minimum Pool Size
+a115=Maximum Pool Size
+a116=Enable Property Change Notifications
+a117=Enable Quota Constraints
+a118=Active User Sessions
+a118.help=Maximum number of concurrent sessions allowed for a user.
+a119=Read Timeout for Quota Constraint
+a119.help=Maximum Wait Time for retrieving session count (in milliseconds).
+a119a=Exempt top-level admins from constraint checking
+a119b=Resulting behavior if session quota exhausted
+a119b.help=DESTROY_OLD_SESSION (the next expiring session will be destroyed) or DENY_ACCESS (the new session creation request will be denied)
+a119c=Deny user login when session repository is down
+a119c.help=This attribute takes effect only when the session quota constraint is enabled.
+a120=Notification Properties
+a120.help=Send Notifications for these properties when modified.
+a121=Session Failover Enabled
+p101=Get All Valid Sessions
+p102=Destroy a Session
+p103=Add a Session Listener on All Sessions
+
+choiceActive=Active
+choiceInactive=Inactive
+choiceDeleted=Deleted
+choiceON=ON
+choiceOFF=OFF
+choiceYES=YES
+choiceNO=NO
+choiceDenyAccess=DENY_ACCESS
+choiceDestroyOldSession=DESTROY_OLD_SESSION
+i18nTrue=Enabled
+i18nFalse=Disabled

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amUtilMsgs.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amUtilMsgs.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/amUtilMsgs.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,30 @@
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: amUtilMsgs.properties,v 1.1 2007/03/28 22:10:31 veiming Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#
+
+com.iplanet.services.debug.nodir=Failed to create debug directory
+com.iplanet.services.debug.nofile=Failed to initialize debug. Using STDOUT for messages.
+com.iplanet.services.debug.invalidprovider=Failed to create debug service provider instance. Using the default provider.
+com.iplanet.services.stats.nodir=Failed to create stats directory
+userAlreadyExist=User {0} is already exist and can not be removed.

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/clientDefault.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/clientDefault.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/clientDefault.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,28 @@
+DEBUG_DIR=[Debug directory (make sure this directory exists)]
+ENCODED_APPLICATION_PASSWORD=[Password of the server application]
+SERVER_PROTOCOL=[Protocol of the server]
+SERVER_HOST=[Host name of the server]
+SERVER_PORT=[Port of the server]
+DEPLOY_URI=[Server's deployment URI]
+NAMING_URL=[Naming URL]
+
+CLIENT_Q=[Followings are the questions related to where you intend to deploy the client web application.]
+CLIENT_PROTOCOL=[Protocol of the client]
+CLIENT_HOST=[Host name of the client]
+CLIENT_PORT=[Port of the client]
+CLIENT_DEPLOY_URI=[Client's deployment URI]
+CLIENT_NOTES=[Creating war ......]
+
+DEBUG_LEVEL=message
+APPLICATION_USER=UrlAccessAgent
+AM_COOKIE_NAME=iPlanetDirectoryPro
+ENCRYPTION_KEY=SAMPLE_RAND
+ENCRYPTION_KEY_LOCAL=SAMPLE_RAND
+
+NOTIFICATION_URL=
+PRODUCT_DIR=
+CONTAINER_CERTDB_DIR=
+APPLICATION_PASSWD=
+CONTAINER_CERTDB_PREFIX=
+BASEDIR=
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libCOT.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libCOT.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libCOT.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,40 @@
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: libCOT.properties,v 1.2 2007/05/17 19:31:56 qcheng Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+
+# COT ResourceBundle properties file
+
+invalidReaderUrl=Input reader url is  not in URL format.
+invalidWriterUrl=Input writer url is not in URL format. 
+invalidCotStatus=Status of circle of trust is invalid.
+entityExistsInCot=The entity existed in the circle of trust already.
+nullConfig=Could not COT (Circle of Turst) Service Configuration.
+nullCot=COT Descriptor is null.
+invalidCOTName=Circle of Trust name is invalid : {0}
+cotExists=Circle of Trust exists : {0}
+invalidEntityID=Entity Identifer is invalid : {0}
+addCOTFailed=Failed to add entity {0} to Circle of Trust in Realm {1}
+removeCOTFailed=Failed to remove entity {0} from Circle of Trust in Realm {1}
+invalidCOTType=Circle of Trust Type is invalid : {0}
+deleteCOTFailed=Deletion of COT Failed : {0}
+deleteCOTFailedHasMembers=Cannot delete Circle of Trust {0} under realm {1} since it has providers. Remove the providers before attempting deletion.
+invalidProtocolType=Federation protocol type is invalid : {0}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libSAML2.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libSAML2.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libSAML2.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,375 @@
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: libSAML2.properties,v 1.17 2008/05/28 19:00:11 qcheng Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+
+errorObtainingElement=Error occured while obtaining DOM element.
+objectImmutable=Cannot modify the object as the object is immutable.
+emptyElementValue=Value of this element is empty.
+nullInput=Null input.
+wrongInput=Wrong input.
+missingElementValue=Value of this element is missing.
+missingAttribute=Missing attribute.
+schemaViolation=Data does not conform to schema.
+missingElement=Element is missing.
+missingElementValue=Value of this element is missing.
+invalidElement=Input has invalid element.
+moreElement=More than allowed number of elements are included.
+errorCreateArtifact=Couldn't create Artifact.
+nullLogoutRequest=Null logout request.
+nullHostEntityID=Null host entityid.
+nullRemoteEntityID=Null remote entityid.
+nullHostEntityRole=Null host entity role.
+unknownHostEntityRole=Unknown host entity role.
+nullRealm=Null realm.
+nullManageIDRequest=Null manageid request.
+nullNameID=Null name identifier.
+invalidSSOToken=Invalid single signon token.
+inValidNameIDInfo=NameIDInfo string format is not correct.
+inValidNameIDInfoKey=NameIDInfo key string format is not correct.
+nullSSOToken=Null single signon token
+nullAttributes=Null attributes.
+nullNameIDInfo=Null name identifier information.
+nullUserID=Null userid.
+nullSPMetaAlias=Null MetaAlias for Service Provider.
+nullIDPMetaAlias=Null MetaAlias for Identity Provider.
+idpNotFound=Identity Provider not found.
+
+missingVersion=Version is not present in the request.
+incorrectVersion=SAML Version is incorrect.
+missingIssueInstant=IssueInstant is not present in the request.
+incorrectIssueInstant=IssueInstant format is incorrect.
+missingIDAttr=ID Attribute is not present in the Authentication Request message.
+missingStatus=Status Element is not present in the Response message.
+missingStatusCode=StatusCode Element is not present in the Response message.
+missingStatusCodeValue=StatusCode Value Element is not present in the Response message.
+missingNotOnOrAfterStr=NotOnOrAfter attribute is not present in the LogoutRequest message.
+missingBaseIDorNameIDorEncryptedID=BaseID or NameID or EncryptedID is not present in LogoutRequest message.
+incorrectNotOnOrAfterStr=Incorrect NotOnOrAfter attribute in the LogoutRequest message. 
+cannotSignMessage=Error trying to sign Authentication Request message.
+cannotSignResponse=Error trying to sign SAML Response message.
+providerIDMissing=ProviderID is not present.
+noIDPEntry=IDPEntry is not present.
+noAttributes=No Attributes for this element.
+invalidAssertionConsumerIndex=AssertionConsumerServiceIndex value is invalid.
+invalidAttributeConsumingSvcIdx=AttributeConsumingServiceIndex value is invalid.
+invalidProxyCount=ProxyCount should be a non negative integer.
+ssoServiceNotFoundIDPProxy=IDP Proxy couldn't find single sign-on service endpoint.
+nullRequestType=Request Type is not specified.
+nullSPEntityID=Service Provider ID is null.
+nullIDPEntityID=Identity Provider ID is null.
+ssoServiceNotFound=SingleSignOnService URL not found.
+cannotGenerateID=Failed to generate unique id.
+errorCreatingAuthnRequest=Error creating AuthnRequest.
+metaDataError=Error retrieving meta data.
+requestProcessingError=Error processing AuthnRequest.
+requestProcessingMNIError=Error processing ManageNameIDRequest.
+LogoutRequestCreationError=Error creating LogoutRequest.
+LogoutRequestProcessingError=Error processing LogoutRequest.
+errorGettingLogoutRequest=Error getting LogoutRequest.
+missingLogoutRequest=Missing LogoutRequest.
+missingLogoutResponse=Missing LogoutResponse.
+LogoutResponseProcessingError=Error processing LogoutResponse.
+errorCreatingLogoutResponse=Error creating LogoutResponse.
+errorRedirectingLogoutResponse=Error redirecting LogoutResponse.
+errorPostingLogoutResponse=Error posting LogoutResponse.
+errorGettingLogoutResponse=Error getting LogoutResponse.
+LogoutResponseNull=LogoutResponse is NULL.
+NameIDNull=NameID is null in LogoutRequest.
+ErrorSSOTokenManager=Error retrieving SSOTokenManager.
+errorCreatingStatus=Error creating Status.
+errorCreatingStatusCode=Error creating StatusCode.
+errorCreatingIssuer=Error creating Issuer.
+nullDecodedStrFromSamlResponse=Null decoded string from LogoutResponse.
+nullDecodedStrFromSamlRequest=Null decoded string from LogoutRequest.
+nullInResponseToFromSamlResponse=Null InResponseTo from LogoutResponse.
+LogoutRequestIDandInResponseToDoNotMatch=LogoutRequestID and InResponseTo Do Not Match. 
+errorMetaManager=Error getting instance of Meta Manager.
+metaAliasError=Error retrieving Service Provider Entity ID from MetaAlias.
+invalid_element=The element is not valid
+missing_local_name=The local name of an element is missing
+invalid_local_name=The local name of an element is not valid
+missing_version=The version attribute in the assertion is missing
+missing_assertion_id=The id attribute in the assertion is missing
+missing_assertion_version=The version attribute in the assertion is missing
+missing_issue_instant=The issue instant attribute in the assertion is missing
+invalid_date_format=The date time is invalid
+missing_subelements=There is no subelement present
+missing_subelement_issuer=The issuer subelement is missing from the assertion
+unexpected_subelement=Encounter a unexpected subelement
+invalid_count_number=The count number is not valid
+negative_count_number=The count number is negative
+missing_confirmation_method=The confirmation method is missing
+too_many_ids_specified=There are more than one id specified in subject confirmation object
+id_and_confirmationData_both_specified=Both id and subject confirmation data specified in the subject confirmation object
+need_at_least_one_id_or_on_SubjectConfirmation=Need at least one id or one subject confirmation in a subject
+missing_name_identifier=The name identifier is missing or an empty string
+invalid_name_identifier=The name identifier is invalid or an empty string
+errorCreatingLogoutRequest=Error creating LogoutRequest.
+sloServiceNotfound=Single Logout Service location not found.
+errorRedirectingLogoutRequest=Error redirecting the LogoutRequest.
+sloServiceListNotfound=Single Logout Service location list not found.
+sloResponseServiceLocationNotfound=Single Logout Response Service location not found.
+errorUserDN=Error retrieving Principal from SSOToken.
+errorInfoKeyString=Error retrieving NameIdInfoKey from SSOToken.
+emptyDoc=Empty document.
+errorGenerateKey=Failed to generate secret key.
+unsupportedKeyAlg=Unsupported public key encryption algorithm.
+noCipherForPublicKeyAlg=Failed to obtain a cipher instance given public key encryption algorithm.
+failedInitCipherWithPublicKey=Failed to initialize cipher with public key.
+failedEncryptingSecretKeyWithPublicKey=Failed to encrypt secret key with public key.
+invalidKeyStrength=Invalid data encryption key strength.
+unsupportedKeyAlg=Unsupported data encryption algorithm.
+algSizeMismatch=Data encryption algorithm and strength mismatch.
+noCipherForDataEncAlg=Failed to obtain a cipher instance given data encryption algorithm.
+failedInitCipherWithSecretKey=Failed to initialize cipher with secret key.
+failedEncryptingData=Failed to encrypt data.
+failedMartializingEncryptedKey=Failed to martial encypted key.
+missingElementEncryptedData=missing the encrypted data element.
+missingElementEncryptedKey=missing the encrypted key element.
+noCipher=Failed to obtain a cipher instance.
+failedInitCipherForDecrypt=Failed to initialize cipher for decrypt mode.
+failedLoadingEncryptedData=Failed to load encypted data.
+failedLoadingEncryptedKey=Failed to load encypted key.
+noCipherForUnwrap=Failed to obtain a cipher instance for unwrapping with private key.
+failedDecryptingSecretKey=Failed to decrypt the secret key.
+failedDecryptingData=Failed to decrypt data.
+algNotSupported=Signature algorithm is not supported.
+nullSigAlg=Missing signature algorithm.
+nullSig=Missing signature value.
+wrongInput=Wrong index value range.
+errorEncodeResponse=Couldn't encode the SAMLResponse.
+errorDecodeResponse=Couldn't decode the SAMLResponse.
+missingSAMLResponse=The SAMLResponse is missing from the HttpRequest.
+errorObtainResponse=Couldn't obtain the Response from the HttpRequest.
+SSOFailed=Single Sign On failed.
+missingArtifact=The SAMLArt is missing from the HttpRequest.
+errorObtainArtifact=Couldn't obtain the Artifact from the HttpRequest.
+postToTargetFailed=Failed to post data to the target location.
+errorGettingAuthnStatement=Failed to get the AuthnStatement object.
+noSubjectConfirmation=There is no subject confirmation.
+noAudienceRestriction=There is no audience restriction.
+errorCreateArtifactResolve=Couldn't create ArtifactResolve.
+errorInSOAPCommunication=Couldn't obtain ArtifactResponse because of error in SOAP communication.
+errorInSOAPResponse=Couldn't obtain ArtifactResponse because of SOAP response.
+moreArtifactResponse=Included more than one ArtifactResponse in SOAPBody.
+cannotFindIDP=Couldn't find IDP based on the SourceID in the artifact.
+cannotFindArtifactResolutionUrl=Couldn't find IDP Artifact Resolution URL.
+soapFaultInSOAPResponse=SOAP Fault in SOAP message.
+missingArtifactResponse=Missing ArtifactResponse in SOAPMessage.
+invalidSignature=Invalid signature in ArtifactResponse.
+invalidInResponseTo=Invalid InResponseTo attribute in ArtifactResponse.
+invalidIssuer=Invalid Issuer in ArtifactResponse.
+invalidStatusCode=Invalid Status code in ArtifactResponse.
+invalidSOAPMessge=The SOAPMessage sent by client is not valid
+invalidSOAPEnvelope=The SOAPMessage envelope sent by client is not valid
+invalidSOAPEnvelope=The SOAPMessage body sent by client is not valid
+invalidArtifactResolve=The ArtifactResolve in the SOAPMessage body is not valid
+invalidArtifactResolveSignature=The ArtifactResolve signature in the SOAPMessage body is not valid
+ArtifactResolveNotSigned=The ArtifactResolve is not signed when it needs to be.
+invalidArtifact=The Artifact in the ArtifactResolve is not valid
+noArtifactResolve=The SOAPMessage body does not contain an ArtifactResolve
+noArtifact=The ArtifactResolve in the SOAPMessage body does not have an Artifact
+unableToCreateSOAPMessage=Unable to create a SOAPMessage
+UnableToCreateArtifactResponse=Unable to create SAML Artifact Response
+unsupportedRequest=Not supported request
+requestSuccess=Request is done successfully
+partialLogout=Logout request completed partially.
+sloSuccess=Single Logout Succeeded.
+sloFailed=Single Logout Failed. 
+inValidResponse=invalid single logout response.
+inResponseToNoMatch=InResponseTo attribute in LogoutResponse does not match any request.
+spSloSuccess=SP initiated single logout succeeded.
+idpSloSuccess=IDP initiated single logout succeeded.
+ssoSuccess=Single Sign-on succeeded.
+mniSuccess=ManageNameID Request succeeded.
+mniFailed=ManageNameID Request failed.
+unableToTerminate=Unable to terminate federation.
+unsupportedBinding=Requested binding is not supported.
+missingLocalName=Local name is missing in SOAP message.
+invalidSOAPElement=Root element is not Envelope or invalid SOAP name space.
+missingSOAPBody=SOAP body element is missing in SOAP message.
+emptyBody=No SOAP body presents.
+elementNotFound=Element not found in samlp namespace : 
+errorLogoutRequest=Failed to get the LogoutRequest from SOAP request.
+nullLogoutRequest=LogoutRequest is null.
+nullLogoutResponse=LogoutResponse is null.
+errorLogoutResponse=Failed to generate LogoutResponse.
+errorLogoutResponseSOAP=Failed to generate SOAP message for LogoutResponse.
+errorEncodingLogoutRespone=Failed to encode LogoutResponse.
+missingSigningCertAlias=Provider's signing certificate alias is missing.
+nullKeyProviver=Unable to instantiate Key Provider.
+invalidInResponseToInResponse=Response's InResponseTo attribute is not valid.
+invalidStatusCodeInResponse=Invalid Status code in Response.
+nullMetaManager=Meta Manager is null.
+assertionNotEncrypted=Assertion is not encrypted.
+missingAssertion=Missing Assertion in Response.
+invalidIssuerInRequest=Issuer in Request is invalid.
+invalidIssuerInResponse=Issuer in Response is invalid.
+invalidIssuerInAssertion=Issuer in Assertion is invalid.
+mismatchIssuer=Issuers in Assertion(s) and/or Response are different.
+invalidSignatureOnAssertion=The signature on Assertion is not valid.
+missingAuthnAssertion=Response doesn't contain authentication Assertion.
+responseNotSigned=Response is not signed.
+invalidSignatureOnResponse=The signature on Response is not valid.
+missingSubjectConfirmationData=Missing SubjectConfirmationData.
+missingRecipient=Recipient is missing from Assertion.
+wrongRecipient=This Assertion Consumer Service is not the intended recipient.
+invalidTimeOnSubjectConfirmationData=The time in SubjectConfirmationData is invalid.
+containedNotBefore=SubjectConfiramtionData contained NotBefore attribute.
+wrongInResponseToInAssertion=The InResponseTo attribute in Assertion is wrong.
+missingConditions=Conditions is missing from Assertion.
+missingAudienceRestriction=AudienceRestriction is missing.
+audienceNotMatch=This service provider is not the intended audience.
+signVerifyError=Signature verification failed.
+invalidSessionIndex=Session index is not valid.
+invalidSignInRequest=Invalid signature in Request.
+invalidSignInResponse=Invalid signature in Response.
+UnableToCreateAssertion=Unable to create SAML Assertion.
+UnableTofindBinding=Unable to find return binding.
+UnableTofindACSURL=Unable to find Assertion Consumer Service URL.
+UnSupportedReturnBinding=Requested binding not supported.
+IDPMetaAliasNotFound=Unable to get IDP meta alias from request.
+InvalidSAMLRequest=The SAML Request is invalid.
+InvalidSAMLRequestID=The SAML Request ID is invalid.
+MissingSAMLRequest=SAML Request ID is missing.
+UnableToRedirectToAuth=Unable to redirect to authentication url.
+UnableToGetAuthnReq=Unable to get AuthnRequest.
+UnableToCreateErrorResponse=Unable to create error response that can be sent to sp.
+UnableToDOSSOOrFederation=Unable to do Single Sign On or Federation.
+entityid_invalid=No entity ID specified.
+UnableToFindResponse=Unable to find Response corresponding to the Artifact.
+UnableToFindEncryptKeyInfo=Unable to find the encryption key information from the SSO Entity Config.
+FailedToEncryptAssertion=Failed to encrypt the Assertion.
+FailedToEncryptAttribute=Failed to encrypt the Attribute.
+FailedToEncryptNameID=Failed to encrypt the NameID.
+nameIDNotEncrypted=NameID is not encrypted.
+noUserMapping=No local user being mapped.
+failedAcctMapper=Null SP account mapper.
+failedAttrMapper=Null SP attribute mapper.
+missingMessageParam=HTTP parameter message is missing from request.
+invalidReceiver=The receiving entity ID is not valid or not trusted.
+ssoServiceNotfound=Could not find Single Sign-on Service URL.
+nullKeyProvider=Unable to obtain key provider instance.
+notSupportedHTTPMethod=The given Single Sign-on profile binding is not supported.
+unsupportedSloBinding=The given Single Logout profile binding is not supported.
+nullEntityID=Missing entity ID.
+errorCreatingMNIRequest=Error in creating Manage Name Identifier request.
+invalidSOAPMessage=Invalid SOAP message.
+MetaAliasNotFound=Unable to get meta alias from request.
+mniServiceNotFound=ManageNameID Service URL not found.
+failedToGenResponseID=Unable to generate response ID.
+errorSOAPFactory=Error getting instance of SOAP Factory.
+UnableToGetResponseInfoFromCache=Unable to get response information from the cache after coming back from setting up COT cookie.
+invalidDestination=Destination is invalid.
+missingDiscoOffering=Unable to get Discovery resource offering.
+missingUnivID=Unable to get universal ID.
+unSupportedEncoding=Unsupported encoding.
+
+### properties for SOAP Client & Handler
+nullPEP=Policy Enforcement Point (PEP) Entity Identifier is null.
+nullPDP=Policy Decision Point (PDP) Identifier is null.
+nullResponse=The Response is null.
+missingRequestHandler=Unable to find RequestHandler.
+invalidQuery=Invalid Query.
+nullSigningAlias=Signing Alias is null.
+serverError=Server Error due to misconfiguration or invalid soap message.
+invalidQuerySignature=Invalid signature in Query Request.
+pdpMetaRetreivalError=Error retreiving Policy Decision Point (PDP) Meta data for entity {0}.
+pepMetaRetreivalError=Error retreiving Policy Enforcement Point (PEP) Meta data for entity {0}.
+missingChildTagName=Child tag name is missing.
+invalidSOAPBody=SOAP body does not contain either SOAP Fault or SAML Response.
+invalidSOAPElement=Invalid SOAP Element inside SOAP Envelope.
+invalidIssuer=Issuer in Response is invalid : {2}
+invalidHttpRequestFromECP=Invalid HTTP request from ECP.
+missingECPRelayState=Value is not present in ECP RelayState.
+missingECPRelayState=Value is not present in ECP RelayState.
+missingMustUnderstandECPRelayState=Attribute mustUnderstand is not present in ECP RelayState.
+missingActorECPRelayState=Attribute actor is not present in ECP RelayState.
+invalidXMLBooleanValue=Invalid XML boolean value.
+invalidECPRelayState=Invalid ECP RelayState local name.
+invalidECPNamesapce=Invalid ECP namespace URI.
+invalidECPRequest=Invalid ECP Request local name.
+ecpReqTooManyIssuer=ECP Request has too many Issuer element.
+ecpReqIssuerNotFirst=Issuer should be first child element in ECP Request.
+ecpReqTooManyIDPList=ECP Request has too many IDPList element.
+invalidElementECPReq=ECP Request has invalid child element.
+missingMustUnderstandECPRequest=Attribute mustUnderstand is not present in ECP Request.
+missingActorECPRequest=Attribute actor is not present in ECP Request.
+missingIssuerECPRequest=Child element Issuer is not present in ECP Request.
+invalidECPResponse=Invalid ECP Response local name.
+missingAssertionConsumerServiceURLECPResponse=Attribute AssertionConsumerServiceURL is not present in ECP Response.
+missingMustUnderstandECPResponse=Attribute mustUnderstand is not present in ECP Response.
+missingActorECPResponse=Attribute actor is not present in ECP Response.
+assertionNotSigned=Assertion is not signed.
+unsupportedNameIDFormat=Unsupported name identifier format.
+unsupportedNameIDFormatSP=Service provider does not support name identifier format {0}.
+unsupportedNameIDFormatIDP=Identity provider does not support name identifier format {0}.
+unsupportedNameIDFormatIDPSP=Unable to find Name ID format supported by both IDP and SP.
+attrAuthorityNotFound=Attribute authority not found.
+errorSendingAttributeQuery=Error sending AttributeQuery.
+invalidInResponseToAttrQuery=InResponseTo in Response doesn't match ID in AttributeQuery.
+attrQueryIssuerInvalid=AttributeQuery issuer is not valid or not trusted.
+attrQueryIssuerNotFound=AttributeQuery issuer is not found.
+attrQueryNotSigned=AttributeQuery is not signed.
+invalidSignatureAttrQuery=The signature on AttributeQuery is not valid.
+unsupportedAttrQuerySubjectNameID=Unsupported Name ID format in attribute query subject.
+x509SubjectMappingNotConfigured=X509 subject mapping is not configured.
+nameIDMReqWrongID=Only one of NameID, EncryptedID and BaseID must exist in NameIDMappingRequest element.
+nameIDMReqMissingNameIDPolicy=Missing NameIDPolicy in NameIDMappingRequest element.
+nameIDMRespWrongID=Only one of NameID and EncryptedID must exist in NameIDMappingResponse element.
+nimServiceNotFound=NameIDMapping Service URL not found.
+nimServiceBindingUnsupport=Unsuppoted NameIDMapping Service binding.
+targetNameIDNotFound=Requested Name ID not found.
+targetNameIDNoChange=Requested Name ID is the same as original.
+nullNIMRequest=Null Name ID mapping request.
+targetNameIDFormatUnsupported=Requested Name ID format is not supported.
+authnAuthorityNotFound=Authentication authority not found.
+authnQueryIssuerInvalid=AuthnQuery issuer is not valid or not trusted.
+authnQueryIssuerNotFound=AuthnQuery issuer is not found.
+invalidInResponseToAuthnQuery=InResponseTo in Response doesn't match ID in AuthnQuery.
+invalidSignatureAuthnQuery=The signature on AuthnQuery is not valid.
+authnQueryNotSigned=AuthnQuery is not signed.
+errorSendingAuthnQuery=Error sending AuthnQuery.
+unsupportedRole=Unsupported role.
+aIDReqServiceNotFound=Assertion ID Request Service not found.
+nullAssertionID=Assertion ID not found.
+invalidAssertionID=Invalid Assertion ID.
+samlAuthorityNotFound=SAML Authority not found.
+assertionIDRequestIssuerNotFound=AssertionIDRequest issuer is not valid or not trusted.
+invalidSignatureAssertionIDRequest=The signature on AssertionIDRequest is not valid.
+errorSendingAssertionIDRequest=Error sending AssertionIDRequest.
+invalidInResponseToAssertionIDRequest=InResponseTo in Response doesn't match ID in AssertionIDRequest.
+responseIssuerMismatch=Issuer in Response doesn't match remote entity ID.
+invalidAssertionRequester=Invalid assertion requester.
+assertionIDRequestIssuerInvalid=AssertionIDRequest issuer is not valid or not trusted.
+affiliationNotFound=Affiliation not found.
+spNotAffiliationMember=Service provider is not a member of affiliation.
+unableToGenerateNameIDValue=Unable to generate NameID value.
+invalidAuthnContextClassRef=AuthnContext doesn't match RequestedAuthnContext.
+entityNotHosted=Entity {0} under realm {1} is not a hosted entity.
+entityNotIDP=Entity {0} under realm {1} is not an Identity Provider.
+entityNotSP=Entity {0} under realm {1} is not a Service Provider.
+#For SAMLv2 failover
+invalidTimeOnResponse=Time is invalid in the Response.
+invalidCertificate=The signing certificate does not match what's defined in the entity metadata.
+unknownPrincipal=Unknown principal in the manage name id request.
+newNameIDSuccess=New Name Identifier succeeded.

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libSAML2Meta.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libSAML2Meta.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/libSAML2Meta.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,89 @@
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: libSAML2Meta.properties,v 1.3 2008/01/03 00:30:41 veiming Exp $
+#
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+
+
+
+usage=\nUSAGE:\n        saml2meta import -u <userdn> [-w <password>|-j <password file>]\n                  [-r <realm>] [-m <xml file name>] [-x <xml file name>]\n                  [-t <circle of trust name>]\n        saml2meta export -u <userdn> [-w <password>|-j <password file>]\n                  [-r <realm>] -e <entity id> [-n] [-m <xml file name>]\n                  [-x <xml file name>]\n        saml2meta template -u <userdn> [-w <password>|-j <password file>]\n                  [-s <metaAlias> [-a <certAlias>] [-f <certAlias>]]\n                  [-d <metaAlias> [-b <certAlias>] [-g <certAlias>]]\n                  [-e <entity id>] -m <xml file name> -x <xml file name>\n        saml2meta delete -u <userdn> [-w <password>|-j <password file>]\n                  [-r <realm>] -e <entity id> [-c]\n        saml2meta list -u <userdn>\n                  [-w <password>|-j <password file>]\n        saml2meta cotcreate -u <userdn>\n                  [-w <password>|-j <password f!
 ile>]\n                  -t <circle of trust name> [-p <prefix url>]\n                  [-l <entity id, entity id,...>]\n        saml2meta cotdelete -u <userdn>\n                  [-w <password>|-j <password file>]\n                  -t <circle of trust name>\n        saml2meta cotadd -u <userdn>\n                  [-w <password>|-j <password file>]\n                  -t <circle of trust name> -e <entity id>\n        saml2meta cotremove -u <userdn>\n                  [-w <password>|-j <password file>]\n                  -t <circle of trust name> -e <entity id>\n        saml2meta cotmember -u <userdn>\n                  [-w <password>|-j <password file>]\n                  -t <circle of trust name>\n        saml2meta cotlist -u <userdn>\n                  [-w <password>|-j <password file>]\n        saml2meta -V\n        saml2meta -?\n\nDESCRIPTION:\n        Manages SAML 2.0 metadata and extended configuration.\n\n        The import subcommand is used to load standard metadat!
 a and/or extended\n        configuration.\n        The export is used 
to export standard metadata and/or extended\n        configuration in XML format. At least one of '-m' or '-x' option is\n        required.\n        The template is used to generate standard metadata for a hosted entity.\n        The delete is used to remove standard metadata and/or extended entity\n        configuration.\n        The list command is used to list all the entity id in the system.\n        The cotcreate command is used to create the circle of trust.\n        The cotdelete command is used to delete the circle of trust.\n        The cotadd command is used to add trusted provider to the circle of\n        trust.\n        The cotremove command is used to remove trusted provider from the\n        circle of trust.\n        The cotmember command is used to list the trusted providers from the\n        circle of trust.\n        The cotlist command is used to list all the name of circle of\n        trust in the system.\n\nOPTIONS:\n        The following options are supp!
 orted:\n        -u <userdn>, --runasdn <userdn>\n          Full DN of the user running the command.\n\n        -w <password>, --password <password>\n          Specify password of the user running the command.\n\n        -j <password file>, --passwordfile <password file>\n          Specify file name containing password of the user running the command.\n\n        -r <realm>, --realm <realm>\n          Specify realm for the metadata or entity configuration. The default\n          is root realm.\n\n        -m <xml file name>, --meta-data-file <xml file name>\n          Specify file name for the standard metadata.\n\n        -x <xml file name>, --extended-data-file<xml file name>\n          Specify file name for the extended entity configuration.\n\n        -e <entity id>, --entityid <entity id>\n          Specify entity id.\n\n        -s <metaAlias>, --serviceprovider <metaAlias>\n          Specify metaAlias for hosted service provider to be created.\n          The format must !
 be <realm>/<some string without "/"> for non-root\n          realm or 
/<some string without "/"> for root realm.\n\n        -a <certAlias>, --spscertalias <certAlias>\n          Specify signing cert alias for hosted service provider to be created.\n\n        -f <certAlias>, --specertalias <certAlias>\n          Specify encryption cert alias for hosted service provider to be\n          created.\n\n        -d <metaAlias>, --identityprovider <metaAlias>\n          Specify metaAlias for hosted identity provider to be created.\n          The format must be <realm>/<some string without "/"> for non-root\n          realm or /<some string without "/"> for root realm.\n\n        -b <certAlias>, --idpscertalias <certAlias>\n          Specify signing cert alias for hosted identity provider to be created.\n\n        -g <certAlias>, --idpecertalias <certAlias>\n          Specify encryption cert alias for hosted identity provider to be\n          created.\n\n        -n, --sign\n          Sign the exported xml file(s).\n\n        -c, --extendedonly\n        !
   Delete extended entity configuration only.\n\n        -t, --cot\n          Name of the circle of trust\n\n        -p, --prefix\n          Prefix URL for idp discovery reader and writer url.\n\n        -l, --trustedproviders\n          List of trusted providers in the circle of trust.\n\n        -V, --version\n
+          Print version information.\n\n        -?, --help\n          Print help information (this message).
+
+
+entity_descriptor_exists=Entity descriptor "{0}" already exists under realm "{1}".
+entity_config_exists=Entity config "{0}" already exists under realm "{1}".
+invalid_descriptor=Entity descriptor "{0}" under realm "{1}" has invalid syntax.
+empty_entityid=Entity ID is not set.
+role_already_exists=Unable to add role to entity descriptor, {0} because it already existed.
+entity_descriptor_not_exist=Entity descriptor "{0}" does not exist under realm "{1}".
+invalid_config=Entity config "{0}" under realm "{1}" has invalid syntax.
+entity_config_not_exist=Entity config "{0}" does not exist under realm "{1}".
+read_password_prompt=Password for {0}:
+login_fail=Login failed.
+file_not_found=File "{0}" not found.
+invalid_descriptor_file=Entity descriptor in file "{0}" has invalid syntax.
+file_import_ok=File "{0}" was imported successfully.
+invalid_config_file=Entity config in file "{0}" has invalid syntax.
+file_export_descriptor_ok=Entity descriptor was exported to file "{0}" successfully.
+file_export_config_ok=Entity config was exported to file "{0}" successfully.
+export_missing_m_x=At least one of '-m' or '-x' option is required for 'export'.
+missing_protocol=Unable to find server protocol from config file.
+missing_host=Unable to find server host name from config file.
+missing_port=Unable to find server port from config file.
+missing_deploy_uri=Unable to find server deploy URI from config file.
+error_write_to_file=Unable to write to file "{0}"
+descriptor_template_ok=Hosted entity descriptor for realm "{1}" was written to file "{0}" successfully.
+config_template_ok=Hosted entity config for realm "{1}" was written to file "{0}" successfully.
+descriptor_delete_ok=Descriptor and config for entity "{0}" was deleted successfully.
+config_delete_ok=Config for entity "{0}" was deleted successfully.
+invalid_realm=Unable to read service configuration for realm "{0}".
+invalid_cert_alias=Unable to find certificate by cert alias "{0}".
+verify_no_cert=Unable to find certificate to verify signature under element "{0}".
+untrusted_cert=Certificate found in Signature or KeyDescriptor under element "{0}" is not trusted.
+verify_fail=Unable to verify signature under element "{0}".
+cotcreate_ok=Circle of trust "{0}" is created successfully.
+cotdelete_ok=Circle of trust "{0}" is deleted successfully.
+cotremove_ok=EntityId "{1}" is removed from the circle of trust "{0}" successfully.
+cotadd_ok=EntityId "{1}" is added to the circle of trust "{0}" successfully.
+cotmember_ok=Circle of trust "{0}" is listed successfully.
+invalid_reader_url=Input reader url is  not in URL format.
+invalid_writer_url=Input writer url is not in URL format. 
+invalid_cot_status=Status of circle of trust is invalid.
+null_config=Unable to get configuration instance for SAML2COT.
+null_cot=Input saml2 circle of trust descriptor is null.
+cot_name_invalid=SAML2 circle of trust descriptor name is invalid.
+cot_existed=SAML2 circle of trust descriptor existed.
+entityid_invalid=Input entity id is invalid.
+no_cot=SAML2 circle of trust is not found.
+fail_remove_cot=Failed to remove the entity from the circle of trust. 
+fail_add_cot=Failed to add entity to the circle of trust. 
+entity_in_cot=The entity existed in the circle of trust already.
+unknownError=Unknown error occurred.
+cotlist_ok=Operation: cotlist is executed successfully.
+cotmember_no_entity=There are no trusted entities in the circle of trust: "{0}". 
+cotmember_entity=Listing the trusted entities in the circle of trust: "{0}".
+entity_id=Entity ID:
+none_cot=There is no circle of trust in the system.
+cotlist_list=Listing all the circle of trust name in the system:
+cot_name=Circle of Trust Name:
+cot_delete_prohibit=Delete the circle of trust is not allowed.
+none_entity=There is no entity in the system.
+list_entity=Listing all the entity id(s) in the system:
+list_ok=Operation: list is executed successfully.

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/policyEvaluationSample.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/policyEvaluationSample.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/policyEvaluationSample.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,30 @@
+------------------------------------------------------------------------------
+#The contents of this file are subject to the terms
+#of the Common Development and Distribution License
+#(the License). You may not use this file except in
+#compliance with the License.
+#
+#You can obtain a copy of the License at
+#https://opensso.dev.java.net/public/CDDLv1.0.html or
+#opensso/legal/CDDLv1.0.txt
+#See the License for the specific language governing
+#permission and limitations under the License.
+#
+#When distributing Covered Code, include this CDDL
+#Header Notice in each file and include the License file
+#at opensso/legal/CDDLv1.0.txt.
+#If applicable, add the following below the CDDL Header,
+#with the fields enclosed by brackets [] replaced by
+#your own identifying information:
+#"Portions Copyrighted [year] [name of copyright owner]"
+#
+#$Id: policyEvaluationSample.properties,v 1.1 2007/11/17 00:12:06 dillidorai Exp $
+#Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+------------------------------------------------------------------------------
+
+#properties file used by client policyEvaluationSample
+user.name=amAdmin
+user.password=adminpass
+service.name=iPlanetAMWebAgentService
+resource.name=http://www.sample.com:80/banner.html
+action.name=GET

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/xacmlClientSample.properties
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/xacmlClientSample.properties	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/resources/xacmlClientSample.properties	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,58 @@
+------------------------------------------------------------------------------
+#The contents of this file are subject to the terms
+#of the Common Development and Distribution License
+#(the License). You may not use this file except in
+#compliance with the License.
+#
+#You can obtain a copy of the License at
+#https://opensso.dev.java.net/public/CDDLv1.0.html or
+#opensso/legal/CDDLv1.0.txt
+#See the License for the specific language governing
+#permission and limitations under the License.
+#
+#When distributing Covered Code, include this CDDL
+#Header Notice in each file and include the License file
+#at opensso/legal/CDDLv1.0.txt.
+#If applicable, add the following below the CDDL Header,
+#with the fields enclosed by brackets [] replaced by
+#your own identifying information:
+#"Portions Copyrighted [year] [name of copyright owner]"
+#
+#$Id: xacmlClientSample.properties,v 1.2 2008/01/25 01:55:24 dillidorai Exp $
+#Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+------------------------------------------------------------------------------
+
+#properties file used by XACMLClientSample
+#Requires a PDP FAM and PEP FAM
+#
+#The sample uses PEP FAM as metadata repository
+#constructs a xacml-context:Request 
+#makes XACMLAuthzDecisionQuery to PDP FAM,
+#receives XACMLAuthzDecisionStatement
+#prints out xacml-context:Response
+#
+#SAML2 Meta entity ID of the PDP hosted at PDP FAM
+pdp.entityId=xacmlPdpEntity
+#SAML2 Meta entity ID of the PEP hosted at PEP FAM
+pep.entityId=xacmlPepEntity
+#x500name(uuid) of user at PDP
+#you have to create user1 at the PDP to get Permit decision
+subject.id=id=user1,ou=user,dc=opensso,dc=java,dc=net
+#subject id datatype
+subject.id.datatype=urn:oasis:names:tc:xacml:1.0:data-type:x500Name
+#subject category
+subject.category=urn:oasis:names:tc:xacml:1.0:subject-category:access-subject
+#resource id
+#you have to create allow policy for this resource at PDP for user1 to get Permit decision
+resource.id=http://test.sample.com:80/banner.html
+#resource id datatype
+resource.id.datatype=http://www.w3.org/2001/XMLSchema#string
+#resource service name
+resource.servicename=iPlanetAMWebAgentService
+#resource service name datatype
+resource.servicename.datatype=http://www.w3.org/2001/XMLSchema#string
+#action id
+action.id=GET
+#action id datatype
+action.id.datatype=http://www.w3.org/2001/XMLSchema#string
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineIdrepo.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineIdrepo.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineIdrepo.bat	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes;resources;lib/amclientsdk.jar;lib/openssoclientsdk.jar;lib/j2ee.jar;lib/ldapjdk.jar com.sun.identity.samples.clientsdk.idrepo.IdrepoSample
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineIdrepo.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineIdrepo.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineIdrepo.sh	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes:resources:lib/amclientsdk.jar:lib/openssoclientsdk.jar:lib/j2ee.jar:lib/ldapjdk.jar  com.sun.identity.samples.clientsdk.idrepo.IdRepoSample
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineLogging.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineLogging.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineLogging.bat	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes;resources;lib/amclientsdk.jar;lib/openssoclientsdk.jar;lib/j2ee.jar;lib/ldapjdk.jar com.sun.identity.samples.clientsdk.logging.LogSample
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineLogging.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineLogging.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineLogging.sh	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes:resources:lib/amclientsdk.jar:lib/openssoclientsdk.jar:lib/j2ee.jar:lib/ldapjdk.jar  com.sun.identity.samples.clientsdk.logging.LogSample
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineSSO.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineSSO.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineSSO.bat	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes;resources;lib/amclientsdk.jar;lib/openssoclientsdk.jar;lib/j2ee.jar;lib/ldapjdk.jar com.sun.identity.samples.sso.CommandLineSSO /
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineSSO.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineSSO.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/CommandLineSSO.sh	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes:resources:lib/amclientsdk.jar:lib/openssoclientsdk.jar:lib/j2ee.jar:lib/ldapjdk.jar  com.sun.identity.samples.sso.CommandLineSSO /
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/Login.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/Login.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/Login.bat	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes;resources;lib/amclientsdk.jar;lib/openssoclientsdk.jar;lib/j2ee.jar  com.sun.identity.samples.authentication.Login
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/Login.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/Login.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/Login.sh	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes:resources:lib/amclientsdk.jar:lib/openssoclientsdk.jar:lib/j2ee.jar  com.sun.identity.samples.authentication.Login
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/SSOTokenSample.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/SSOTokenSample.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/SSOTokenSample.bat	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes;resources;lib/amclientsdk.jar;lib/openssoclientsdk.jar;lib/j2ee.jar;lib/ldapjdk.jar com.sun.identity.samples.sso.SSOTokenSample
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/SSOTokenSample.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/SSOTokenSample.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/SSOTokenSample.sh	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,2 @@
+java -cp classes:resources:lib/amclientsdk.jar:lib/openssoclientsdk.jar:lib/j2ee.jar:lib/ldapjdk.jar com.sun.identity.samples.sso.SSOTokenSample
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/compile-samples.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/compile-samples.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/compile-samples.bat	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,34 @@
+ at echo off
+:
+: DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+:
+: Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
+:
+: The contents of this file are subject to the terms
+: of the Common Development and Distribution License
+: (the License). You may not use this file except in
+: compliance with the License.
+:
+: You can obtain a copy of the License at
+: https://opensso.dev.java.net/public/CDDLv1.0.html or
+: opensso/legal/CDDLv1.0.txt
+: See the License for the specific language governing
+: permission and limitations under the License.
+:
+: When distributing Covered Code, include this CDDL
+: Header Notice in each file and include the License file
+: at opensso/legal/CDDLv1.0.txt.
+: If applicable, add the following below the CDDL Header,
+: with the fields enclosed by brackets [] replaced by
+: your own identifying information:
+: "Portions Copyrighted [year] [name of copyright owner]"
+:
+: $Id: compile-samples.bat,v 1.1.2.1 2008/07/07 22:54:31 dillidorai Exp $
+:
+: ------------------------------------------------------------------------------
+: README file for Federated Access Manager stand alone client sdk samples
+: ------------------------------------------------------------------------------
+: 
+javac -classpath resources;lib/openssoclientsdk.jar;lib/j2ee.jar;lib/jaxb-libs.jar;lib/jaxb-impl.jar;lib/webservices-rt.jar  -d classes source/samples/xacml/*.java source/com/sun/identity/samples/clientsdk/idrepo/*.java source/com/sun/identity/samples/clientsdk/logging/*.java source/com/sun/identity/samples/sso/*.java source/com/sun/identity/samples/authentication/*.java source/samples/policy/*.java
+:
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/compile-samples.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/compile-samples.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/compile-samples.sh	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+#------------------------------------------------------------------------------
+#README file for Federated Access Manager stand alone client sdk samples
+#------------------------------------------------------------------------------
+#The contents of this file are subject to the terms
+#of the Common Development and Distribution License
+#(the License). You may not use this file except in
+#compliance with the License.
+#
+#You can obtain a copy of the License at
+#https://opensso.dev.java.net/public/CDDLv1.0.html or
+#opensso/legal/CDDLv1.0.txt
+#See the License for the specific language governing
+#permission and limitations under the License.
+#
+#When distributing Covered Code, include this CDDL
+#Header Notice in each file and include the License file
+#at opensso/legal/CDDLv1.0.txt.
+#If applicable, add the following below the CDDL Header,
+#with the fields enclosed by brackets [] replaced by
+#your own identifying information:
+#"Portions Copyrighted [year] [name of copyright owner]"
+#
+#$Id: compile-samples.sh,v 1.6 2007/12/14 00:09:05 dillidorai Exp $
+#Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#------------------------------------------------------------------------------
+#
+javac -classpath resources:lib/openssoclientsdk.jar:lib/j2ee.jar:lib/jaxb-libs.jar:lib/jaxb-impl.jar:lib/webservices-rt.jar  -d classes source/samples/xacml/*.java source/com/sun/identity/samples/clientsdk/idrepo/*.java source/com/sun/identity/samples/clientsdk/logging/*.java source/com/sun/identity/samples/sso/*.java source/com/sun/identity/samples/authentication/*.java source/samples/policy/*.java


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/compile-samples.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-policy-evaluation-sample.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-policy-evaluation-sample.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-policy-evaluation-sample.bat	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,53 @@
+ at echo off
+:
+: DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+:
+: Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
+:
+: The contents of this file are subject to the terms
+: of the Common Development and Distribution License
+: (the License). You may not use this file except in
+: compliance with the License.
+:
+: You can obtain a copy of the License at
+: https://opensso.dev.java.net/public/CDDLv1.0.html or
+: opensso/legal/CDDLv1.0.txt
+: See the License for the specific language governing
+: permission and limitations under the License.
+:
+: When distributing Covered Code, include this CDDL
+: Header Notice in each file and include the License file
+: at opensso/legal/CDDLv1.0.txt.
+: If applicable, add the following below the CDDL Header,
+: with the fields enclosed by brackets [] replaced by
+: your own identifying information:
+: "Portions Copyrighted [year] [name of copyright owner]"
+:
+: $Id: run-policy-evaluation-sample.bat,v 1.1.2.1 2008/07/07 22:54:31 dillidorai Exp $
+:
+: ------------------------------------------------------------------------------
+: README file for Federated Access Manager stand alone client sdk 
+: policy evaluation sample
+: ------------------------------------------------------------------------------
+: 
+: Runs the client policy evaluation sample
+: 
+: Requires one parameter: the name of the  resource file that defines
+: property values used by the sample
+: Default is policyEvaluationSamples
+: The corresponding file that would be read from classpath 
+: is policyEvaluationSample.properites 
+: from classpath.
+: A default template is included 
+: at ../resources/policyEvaluationSample.properties
+: See the template for more information on the properties
+: Please update it to match your deployment
+: You have to create user and policy at the server to get right policy decision
+: see ../resources/policyEvaluationSample.properties for more information
+: 
+: Requires ../resources/AMConfig.properties 
+: 
+: Must run "setup.sh" once to configure the client to find the FAM server.
+: 
+:  Then, run this script
+java -classpath resources;lib/openssoclientsdk.jar;lib/j2ee.jar;lib/jaxb-libs.jar;lib/jaxb-impl.jar;lib/webservices-rt.jar;classes samples.policy.PolicyEvaluationSample policyEvaluationSample

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-policy-evaluation-sample.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-policy-evaluation-sample.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-policy-evaluation-sample.sh	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+#------------------------------------------------------------------------------
+#README file for Federated Access Manager stand alone client sdk 
+#policy evaluation sample
+#------------------------------------------------------------------------------
+#The contents of this file are subject to the terms
+#of the Common Development and Distribution License
+#(the License). You may not use this file except in
+#compliance with the License.
+#
+#You can obtain a copy of the License at
+#https://opensso.dev.java.net/public/CDDLv1.0.html or
+#opensso/legal/CDDLv1.0.txt
+#See the License for the specific language governing
+#permission and limitations under the License.
+#
+#When distributing Covered Code, include this CDDL
+#Header Notice in each file and include the License file
+#at opensso/legal/CDDLv1.0.txt.
+#If applicable, add the following below the CDDL Header,
+#with the fields enclosed by brackets [] replaced by
+#your own identifying information:
+#"Portions Copyrighted [year] [name of copyright owner]"
+#
+#$Id: run-policy-evaluation-sample.sh,v 1.3 2007/12/14 00:09:06 dillidorai Exp $
+#Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#------------------------------------------------------------------------------
+#
+#Runs the client policy evaluation sample
+#
+#Requires one parameter: the name of the  resource file that defines
+#property values used by the sample
+#Default is policyEvaluationSamples
+#The corresponding file that would be read from classpath 
+#is policyEvaluationSample.properites 
+#from classpath.
+#A default template is included 
+#at ../resources/policyEvaluationSample.properties
+#See the template for more information on the properties
+#Please update it to match your deployment
+#You have to create user and policy at the server to get right policy decision
+#see ../resources/policyEvaluationSample.properties for more information
+#
+#Requires ../resources/AMConfig.properties 
+#
+#Must run "setup.sh" once to configure the client to find the FAM server.
+#
+# Then, run this script
+java -classpath resources:lib/openssoclientsdk.jar:lib/j2ee.jar:lib/jaxb-libs.jar:lib/jaxb-impl.jar:lib/webservices-rt.jar:classes samples.policy.PolicyEvaluationSample policyEvaluationSample


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-policy-evaluation-sample.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-xacml-client-sample.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-xacml-client-sample.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-xacml-client-sample.bat	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,91 @@
+ at echo off
+: 
+: DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+:
+: Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
+:
+: The contents of this file are subject to the terms
+: of the Common Development and Distribution License
+: (the License). You may not use this file except in
+: compliance with the License.
+:
+: You can obtain a copy of the License at
+: https://opensso.dev.java.net/public/CDDLv1.0.html or
+: opensso/legal/CDDLv1.0.txt
+: See the License for the specific language governing
+: permission and limitations under the License.
+:
+: When distributing Covered Code, include this CDDL
+: Header Notice in each file and include the License file
+: at opensso/legal/CDDLv1.0.txt.
+: If applicable, add the following below the CDDL Header,
+: with the fields enclosed by brackets [] replaced by
+: your own identifying information:
+: "Portions Copyrighted [year] [name of copyright owner]"
+:
+: $Id: run-xacml-client-sample.bat,v 1.1.2.1 2008/07/07 22:54:31 dillidorai Exp $
+:
+: 
+: Runs the xacml client sample program
+: 
+: constructs a xacml-context:Request 
+: makes XACMLAuthzDecisionQuery to PDP,
+: receives XACMLAuthzDecisionStatement
+: prints out xacml-context:Response
+: 
+: Requires one parameter: the name of the  resource file that defines
+: property values used by the sample
+: Default is xacmlClientSamples
+: The corresponding file that would be read from classpath 
+: is xacmlClientSample.properites 
+: from classpath.
+: A default template is included 
+: at ../resources/xacmlClientSample.properties
+: See the template for more information on the properties
+: Please update it to match your deployment
+: You have to create user and policy at PDP to get right policy decision
+: see ../resources/xacmlClientSample.properties for more information
+: 
+: Requires ../resources/AMConfig.properties 
+: Must run "setup.sh" once to configure the client to find the FAM server, this
+: is referred as PEP host below. Modify AMConfig.properties, set value of
+: "com.sun.identity.agents.app.username" property to "amadmin", set value of 
+: "com.iplanet.am.service.password" property to the amadmin password if it is 
+: different from the password entered when running setup.sh command. 
+: 
+: Setting up PDP FAM and PEP FAM
+: 
+:  At PDP host, that is the host that would run the FAM acting as PDP.
+:  We would call this PDP FAM. At PDP host, do the following:
+: 
+:  deploy fam.war  and configure it on a supported java ee container
+:  using FAM console, Configuration > SAMLv2 SOAP Binding,set soap handler, 
+:  key=/xacmlPdp|class=com.sun.identity.xacml.plugins.XACMLAuthzDecisionQueryHandler
+: 
+:  unzip famAdminTools.zip and setup FAM admin tools
+:  fam/bin/famadm create-cot -t xacml-pdp-cot -u amadmin -f <password_file>
+:  fam/bin/famadm create-metadata-templ -y xacmlPdpEntity -p /xacmlPdp -m xacmlPdp.xml -x xacmlPdp-x.xml -u amadmin -f <password_file>
+:  fam/bin/famadm import-entity -t xacml-pdp-cot -m xacmlPdp.xml -x xacmlPdp-x.xml -u amadmin -f <password_file>
+: 
+: 
+:  At PEP host, that is the host that would run the FAM acting as PEP metadata
+:  repository, do
+: 
+:  deploy fam.war  and configure it on a supported java ee container
+: 
+:  unzip famAdminTools.zip and setup FAM admin tools 
+:  fam/bin/famadm create-cot -t xacml-pep-cot -u amadmin -f <password_file>
+:  fam/bin/famadm create-metadata-templ -y xacmlPepEntity -e /xacmlPep -m xacmlPep.xml -x xacmlPep-x.xml -u amadmin -f <password_file>
+:  fam/bin/famadm import-entity -t xacml-pep-cot -m xacmlPep.xml -x xacmlPep-x.xml -u amadmin -f <password_file>
+: 
+:  copy xacmlPdp.xml from PDP host as  xacmlPdp-r.xml to PEP host, do
+:  fam/bin/famadm import-entity -t xacml-pep-cot -m xacmlPdp-r.xml -u amadmin -f <password_file>
+: 
+: 
+:  At PDP host, do the following:
+:  copy xacmlPep.xml from PEP host as xacmlPep-r.xml to PDP host
+:  fam/bin/famadm import-entity -t xacml-pdp-cot -m xacmlPep-r.xml -u amadmin -f <password_file>
+: 
+:  Then, run this script
+java -classpath resources;lib/openssoclientsdk.jar;lib/j2ee.jar;lib/jaxb-libs.jar;lib/jaxb-impl.jar;lib/webservices-rt.jar;classes samples.xacml.XACMLClientSample xacmlClientSample
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-xacml-client-sample.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-xacml-client-sample.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/run-xacml-client-sample.sh	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,91 @@
+#!/bin/sh
+#
+#------------------------------------------------------------------------------
+#README file for Federated Access Manager stand alone client sdk samples
+#------------------------------------------------------------------------------
+#The contents of this file are subject to the terms
+#of the Common Development and Distribution License
+#(the License). You may not use this file except in
+#compliance with the License.
+#
+#You can obtain a copy of the License at
+#https://opensso.dev.java.net/public/CDDLv1.0.html or
+#opensso/legal/CDDLv1.0.txt
+#See the License for the specific language governing
+#permission and limitations under the License.
+#
+#When distributing Covered Code, include this CDDL
+#Header Notice in each file and include the License file
+#at opensso/legal/CDDLv1.0.txt.
+#If applicable, add the following below the CDDL Header,
+#with the fields enclosed by brackets [] replaced by
+#your own identifying information:
+#"Portions Copyrighted [year] [name of copyright owner]"
+#
+#$Id: run-xacml-client-sample.sh,v 1.6 2008/01/25 01:55:24 dillidorai Exp $
+#Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+#------------------------------------------------------------------------------
+#
+#Runs the xacml client sample program
+#
+#constructs a xacml-context:Request 
+#makes XACMLAuthzDecisionQuery to PDP,
+#receives XACMLAuthzDecisionStatement
+#prints out xacml-context:Response
+#
+#Requires one parameter: the name of the  resource file that defines
+#property values used by the sample
+#Default is xacmlClientSamples
+#The corresponding file that would be read from classpath 
+#is xacmlClientSample.properites 
+#from classpath.
+#A default template is included 
+#at ../resources/xacmlClientSample.properties
+#See the template for more information on the properties
+#Please update it to match your deployment
+#You have to create user and policy at PDP to get right policy decision
+#see ../resources/xacmlClientSample.properties for more information
+#
+#Requires ../resources/AMConfig.properties 
+#Must run "setup.sh" once to configure the client to find the FAM server, this
+#is referred as PEP host below. Modify AMConfig.properties, set value of
+#"com.sun.identity.agents.app.username" property to "amadmin", set value of 
+#"com.iplanet.am.service.password" property to the amadmin password if it is 
+#different from the password entered when running setup.sh command. 
+#
+#Setting up PDP FAM and PEP FAM
+#
+# At PDP host, that is the host that would run the FAM acting as PDP.
+# We would call this PDP FAM. At PDP host, do the following:
+#
+# deploy fam.war  and configure it on a supported java ee container
+# using FAM console, Configuration > SAMLv2 SOAP Binding,set soap handler, 
+# key=/xacmlPdp|class=com.sun.identity.xacml.plugins.XACMLAuthzDecisionQueryHandler
+#
+# unzip famAdminTools.zip and setup FAM admin tools
+# fam/bin/famadm create-cot -t xacml-pdp-cot -u amadmin -f <password_file>
+# fam/bin/famadm create-metadata-templ -y xacmlPdpEntity -p /xacmlPdp -m xacmlPdp.xml -x xacmlPdp-x.xml -u amadmin -f <password_file>
+# fam/bin/famadm import-entity -t xacml-pdp-cot -m xacmlPdp.xml -x xacmlPdp-x.xml -u amadmin -f <password_file>
+#
+#
+# At PEP host, that is the host that would run the FAM acting as PEP metadata
+# repository, do
+#
+# deploy fam.war  and configure it on a supported java ee container
+#
+# unzip famAdminTools.zip and setup FAM admin tools 
+# fam/bin/famadm create-cot -t xacml-pep-cot -u amadmin -f <password_file>
+# fam/bin/famadm create-metadata-templ -y xacmlPepEntity -e /xacmlPep -m xacmlPep.xml -x xacmlPep-x.xml -u amadmin -f <password_file>
+# fam/bin/famadm import-entity -t xacml-pep-cot -m xacmlPep.xml -x xacmlPep-x.xml -u amadmin -f <password_file>
+#
+# copy xacmlPdp.xml from PDP host as  xacmlPdp-r.xml to PEP host, do
+# fam/bin/famadm import-entity -t xacml-pep-cot -m xacmlPdp-r.xml -u amadmin -f <password_file>
+#
+#
+# At PDP host, do the following:
+# copy xacmlPep.xml from PEP host as xacmlPep-r.xml to PDP host
+# fam/bin/famadm import-entity -t xacml-pdp-cot -m xacmlPep-r.xml -u amadmin -f <password_file>
+#
+# Then, run this script
+java -classpath resources:lib/openssoclientsdk.jar:lib/j2ee.jar:lib/jaxb-libs.jar:lib/jaxb-impl.jar:lib/webservices-rt.jar:classes samples.xacml.XACMLClientSample xacmlClientSample
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/setup.bat
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/setup.bat	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/setup.bat	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,26 @@
+ at echo off
+
+: The contents of this file are subject to the terms
+: of the Common Development and Distribution License
+: (the License). You may not use this file except in
+: compliance with the License.
+:
+: You can obtain a copy of the License at
+: https://opensso.dev.java.net/public/CDDLv1.0.html or
+: opensso/legal/CDDLv1.0.txt
+: See the License for the specific language governing
+: permission and limitations under the License.
+:
+: When distributing Covered Code, include this CDDL
+: Header Notice in each file and include the License file
+: at opensso/legal/CDDLv1.0.txt.
+: If applicable, add the following below the CDDL Header,
+: with the fields enclosed by brackets [] replaced by
+: your own identifying information:
+: "Portions Copyrighted [year] [name of copyright owner]"
+:
+: $Id: setup.bat,v 1.1.4.1 2008/07/07 22:54:31 dillidorai Exp $
+:
+: Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+
+java -cp resources;classes;lib/openssoclientsdk.jar com.sun.identity.setup.SetupClientSDKSamples

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/setup.sh
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/setup.sh	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/scripts/setup.sh	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# The contents of this file are subject to the terms
+# of the Common Development and Distribution License
+# (the License). You may not use this file except in
+# compliance with the License.
+#
+# You can obtain a copy of the License at
+# https://opensso.dev.java.net/public/CDDLv1.0.html or
+# opensso/legal/CDDLv1.0.txt
+# See the License for the specific language governing
+# permission and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL
+# Header Notice in each file and include the License file
+# at opensso/legal/CDDLv1.0.txt.
+# If applicable, add the following below the CDDL Header,
+# with the fields enclosed by brackets [] replaced by
+# your own identifying information:
+# "Portions Copyrighted [year] [name of copyright owner]"
+#
+# $Id: setup.sh,v 1.2 2007/12/11 01:59:26 qcheng Exp $
+# Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+
+java -cp resources:classes:lib/openssoclientsdk.jar com.sun.identity.setup.SetupClientSDKSamples

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/authentication/Login.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/authentication/Login.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/authentication/Login.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,219 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: Login.java,v 1.4 2008/02/29 18:30:45 ww203982 Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.authentication;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.ChoiceCallback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.TextInputCallback;
+import javax.security.auth.callback.TextOutputCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+import com.sun.identity.authentication.AuthContext;
+import com.sun.identity.authentication.spi.AuthLoginException;
+import com.sun.identity.shared.debug.Debug;
+
+public class Login {
+    private String loginIndexName;
+    private String orgName;
+    private String locale;
+    
+    private Login(String loginIndexName, String orgName) {
+        this.loginIndexName = loginIndexName;
+        this.orgName = orgName;
+    }
+    
+    private Login(String loginIndexName, String orgName, String locale) {
+        this.loginIndexName = loginIndexName;
+        this.orgName = orgName;
+        this.locale = locale;
+    }
+    
+    protected AuthContext getAuthContext()
+        throws AuthLoginException {
+        AuthContext lc = new AuthContext(orgName);
+        AuthContext.IndexType indexType = AuthContext.IndexType.MODULE_INSTANCE;
+        if (locale == null || locale.length() == 0) {
+            lc.login(indexType, loginIndexName);
+        } else {
+            lc.login(indexType, loginIndexName, locale);
+        }
+        debugMessage(loginIndexName + ": Obtained login context");
+        return lc;
+    }
+    
+    private void addLoginCallbackMessage(Callback[] callbacks)
+    throws UnsupportedCallbackException {
+        int i = 0;
+        try {
+            for (i = 0; i < callbacks.length; i++) {
+                if (callbacks[i] instanceof TextOutputCallback) {
+                    handleTextOutputCallback((TextOutputCallback)callbacks[i]);
+                } else if (callbacks[i] instanceof NameCallback) {
+                    handleNameCallback((NameCallback)callbacks[i]);
+                } else if (callbacks[i] instanceof PasswordCallback) {
+                    handlePasswordCallback((PasswordCallback)callbacks[i]);
+                } else if (callbacks[i] instanceof TextInputCallback) {
+                    handleTextInputCallback((TextInputCallback)callbacks[i]);
+                } else if (callbacks[i] instanceof ChoiceCallback) {
+                    handleChoiceCallback((ChoiceCallback)callbacks[i]);
+                }
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+            throw new UnsupportedCallbackException(callbacks[i],e.getMessage());
+        }
+    }
+    
+    private void handleTextOutputCallback(TextOutputCallback toc) {
+        debugMessage("Got TextOutputCallback");
+        // display the message according to the specified type
+        
+        switch (toc.getMessageType()) {
+            case TextOutputCallback.INFORMATION:
+                debugMessage(toc.getMessage());
+                break;
+            case TextOutputCallback.ERROR:
+                debugMessage("ERROR: " + toc.getMessage());
+                break;
+            case TextOutputCallback.WARNING:
+                debugMessage("WARNING: " + toc.getMessage());
+                break;
+            default:
+                debugMessage("Unsupported message type: " +
+                    toc.getMessageType());
+        }
+    }
+    
+    private void handleNameCallback(NameCallback nc)
+        throws IOException {
+        // prompt the user for a username
+        System.out.print(nc.getPrompt());
+        System.out.flush();
+        nc.setName((new BufferedReader
+            (new InputStreamReader(System.in))).readLine());
+    }
+    
+    private void handleTextInputCallback(TextInputCallback tic)
+        throws IOException {
+        // prompt for text input
+        System.out.print(tic.getPrompt());
+        System.out.flush();
+        tic.setText((new BufferedReader
+            (new InputStreamReader(System.in))).readLine());
+    }
+    
+    private void handlePasswordCallback(PasswordCallback pc)
+        throws IOException {
+        // prompt the user for sensitive information
+        System.out.print(pc.getPrompt());
+        System.out.flush();
+        String passwd = (new BufferedReader(new InputStreamReader(System.in))).
+            readLine();
+        pc.setPassword(passwd.toCharArray());
+    }
+    
+    private void handleChoiceCallback(ChoiceCallback cc)
+        throws IOException {
+        // ignore the provided defaultValue
+        System.out.print(cc.getPrompt());
+        
+        String[] strChoices = cc.getChoices();
+        for (int j = 0; j < strChoices.length; j++) {
+            System.out.print("choice[" + j + "] : " + strChoices[j]);
+        }
+        System.out.flush();
+        cc.setSelectedIndex(Integer.parseInt((new BufferedReader
+            (new InputStreamReader(System.in))).readLine()));
+    }
+    
+    protected boolean login(AuthContext lc)
+        throws UnsupportedCallbackException {
+        boolean succeed = false;
+        Callback[] callbacks = null;
+        
+        // get information requested from module
+        while (lc.hasMoreRequirements()) {
+            callbacks = lc.getRequirements();
+            if (callbacks != null) {
+                addLoginCallbackMessage(callbacks);
+                lc.submitRequirements(callbacks);
+            }
+        }
+        
+        if (lc.getStatus() == AuthContext.Status.SUCCESS) {
+            System.out.println("Login succeeded.");
+            succeed = true;
+        } else if (lc.getStatus() == AuthContext.Status.FAILED) {
+            System.out.println("Login failed.");
+        } else {
+            System.out.println("Unknown status: " + lc.getStatus());
+        }
+        
+        return succeed;
+    }
+    
+    protected void logout(AuthContext lc)
+        throws AuthLoginException {
+        lc.logout();
+        System.out.println("Logged Out!!");
+    }
+    
+    static void debugMessage(String msg) {
+        System.out.println(msg);
+    }
+    
+    public static void main(String[] args) {
+        try {
+            System.out.print("Realm (e.g. /): ");
+            String orgName = (new BufferedReader(
+                new InputStreamReader(System.in))).readLine();
+
+            System.out.print("Login module name (e.g. DataStore or LDAP): ");
+            String moduleName = (new BufferedReader(
+                new InputStreamReader(System.in))).readLine();
+            
+            System.out.print("Login locale (e.g. en_US or fr_FR): ");
+            String locale = (new BufferedReader(
+                new InputStreamReader(System.in))).readLine();
+            
+            Login login = new Login(moduleName, orgName, locale);
+            AuthContext lc = login.getAuthContext();
+            if (login.login(lc)) {
+                login.logout(lc);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (AuthLoginException e) {
+            e.printStackTrace();
+        } catch (UnsupportedCallbackException e) {
+            e.printStackTrace();
+        }
+        System.exit(0);
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSample.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSample.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSample.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,305 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: IdRepoSample.java,v 1.1 2006/12/21 00:56:40 bigfatrat Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.clientsdk.idrepo;
+
+import java.io.*;
+import java.util.*;
+import java.lang.Integer;
+
+import com.iplanet.sso.SSOToken;
+import com.iplanet.sso.SSOException;
+
+import com.sun.identity.authentication.spi.AuthLoginException;
+import com.sun.identity.idm.AMIdentity;
+import com.sun.identity.idm.AMIdentityRepository;
+import com.sun.identity.idm.IdRepoException;
+import com.sun.identity.idm.IdSearchControl;
+import com.sun.identity.idm.IdSearchResults;
+import com.sun.identity.idm.IdType;
+import com.sun.identity.sm.SMSException;
+import com.sun.identity.sm.OrganizationConfigManager;
+
+/**
+ * This class 
+ *
+ *
+ * @author 
+ */
+public class IdRepoSample {
+    static final String DEF_USERNAME = "amAdmin";
+    static final String DEF_USERPWD = "openssoxxx";
+    static final String DEF_REALM = "/";
+
+    SSOToken ssoToken = null;
+    String currentRealm = DEF_REALM;    // string rep of current realm
+    Set currentSubRealms = null;        // subrealms of currentRealm
+    AMIdentityRepository idRepo = null;        // idrepo for currentRealm
+
+    IdRepoSampleUtils sampleUtils = null;
+
+    public IdRepoSample() {
+        sampleUtils = new IdRepoSampleUtils();
+    }
+
+    private int printIdRepoMenu() {
+        System.out.println ("\nCurrently in realm '" + currentRealm + "'.");
+        sampleUtils.printResultsRealm ("Realm '" + currentRealm + "'",
+            currentSubRealms, "subrealms");
+        System.out.println (
+            "  AMIdentityRepository operations\n" +
+            "\t0:  Select (sub)Realm           1:  Create Identity\n" +
+            "\t2:  Delete Identity             3:  Get Allowed Operations\n" +
+            "\t4:  Get Supported IdTypes       5:  Search/Select Identities\n" +
+            "\t6:  Return to / realm           7:  Exit\n");
+        String sval = sampleUtils.getLine ("Enter selection: ");
+        return (sampleUtils.getIntValue(sval));
+    }
+
+    /*
+     *  for the current Realm, get:
+     *    1. its AMIdentityRepository object
+     *    2. its AMIdentity (via getRealmIdentity())
+     *    3. realm for the AMIdentity (via getRealm())
+     *    4. name for the AMIdentity (via getName())
+     *    5. its subrealms (via
+     *         OrganizationConfigManager.getSubOrganizationNames())
+     */
+
+    private void doCurrentRealm () {
+        String currentAMIdName = null;
+        String currentRealmAMIdName = null;
+        try {
+            idRepo = new AMIdentityRepository(ssoToken, currentRealm);
+            AMIdentity currentRealmAMId = idRepo.getRealmIdentity();
+            currentRealmAMIdName = currentRealmAMId.getRealm();
+            currentAMIdName = currentRealmAMId.getName();
+        } catch (IdRepoException ire) {
+            System.err.println(
+                "doCurrentRealm:IdRepoException getting AMIdentityRepository" +
+                " object for '" + currentRealm + "': " + ire.getMessage());
+            System.exit(7);
+        } catch (SSOException sse) {
+            System.err.println(
+                "doCurrentRealm: SSOException getting AMIdentityRepository" +
+                " object for '" + currentRealm + "': " + sse.getMessage());
+            System.exit(8);
+        }
+
+        System.out.println ("AMIdentity realm name for realm '" +
+            currentRealm + "' is '" + currentRealmAMIdName + "'");
+
+        System.out.println ("getting subrealms");
+        try {
+            currentSubRealms = (idRepo.searchIdentities(IdType.REALM,
+                "*", new IdSearchControl())).getSearchResults();
+        } catch (SSOException ssoe) {
+            System.err.println (
+                "doCurrentRealm: SSOException getting subrealms for '" +
+                currentRealm + "': " + ssoe.getMessage());
+        } catch (IdRepoException ire) {
+            System.err.println (
+                "doCurrentRealm: IdRepoException getting subrealms for '" +
+                currentRealm + "': " + ire.getMessage());
+        }
+
+        sampleUtils.printResultsRealm("Realm '" + currentRealm + "'",
+            currentSubRealms, "subrealms");
+    }
+
+    /*
+     *  start of IdRepo processing.  have the starting realm name.
+     *  get an SSOToken, and start processing requests.
+     */
+
+    private void idRepoProcessing()
+    {
+        /*
+         *  get:
+         *    1. userid (default "amadmin")
+         *    2. userid password (default "openssoxxx")
+         *    3. starting realm (default "/")
+         */
+        String userSID = sampleUtils.getLine("Userid", DEF_USERNAME);
+        String userPWD = sampleUtils.getLine("Userid " + userSID +
+            "'s password", DEF_USERPWD);
+        String realmName = sampleUtils.getLine("Realm", DEF_REALM);
+
+        //  login and get the SSOToken
+
+        try {
+            ssoToken = sampleUtils.realmLogin(userSID, userPWD, realmName);
+        } catch (SSOException ssoe) {
+            System.err.println ("idRepoProcessing: could not get SSOToken: " +
+                ssoe.getMessage());
+            System.exit(3);
+        } catch (AuthLoginException ale) {
+            System.err.println ("idRepoProcessing: could not authenticate: " +
+                ale.getMessage());
+            System.exit(4);
+        } catch (Exception e) {
+            System.err.println (
+                "idRepoProcessing: exception getting SSOToken: " +
+                e.getMessage());
+            System.exit(5);
+        }
+
+        /*
+         *  retrieve some information about the current realm, if
+         *  we can as the userid specified.
+         */
+
+        currentRealm = realmName;
+        doCurrentRealm();
+
+        int i = -1;
+        boolean doMore = true;
+        String ans = null;
+        int ians = -1;
+
+        while (doMore) {
+            i = printIdRepoMenu();
+            switch (i) {
+                case 0:  // select (sub)realm
+                    IdRepoSampleSubRealm issr =
+                        new IdRepoSampleSubRealm (currentRealm);
+                    String nextSubRealm =
+                        issr.selectSubRealm (currentSubRealms);
+                    if (nextSubRealm != currentRealm) {
+                        currentRealm = nextSubRealm;
+                        try {
+                            idRepo = new AMIdentityRepository(ssoToken,
+                                currentRealm);
+                        } catch (IdRepoException ire) {
+                            System.err.println(
+                                "idRepoProcessing: IdRepoException getting " +
+                                "AMIdentityRepository object for '" +
+                                currentRealm + "': " +
+                                ire.getMessage());
+                            break;
+                        } catch (SSOException ssoe) {
+                            System.err.println(
+                                "idRepoProcessing: SSOException getting " +
+                                "AMIdentityRepository object for '" +
+                                currentRealm + "': " +
+                                ssoe.getMessage());
+                        }
+                        doCurrentRealm();
+                    }
+                    break;
+
+                case 1:  // create identity
+                    IdRepoSampleCreateId isci =
+                        new IdRepoSampleCreateId (idRepo);
+                    isci.createAMId();
+                    break;
+
+                case 2:  // delete identity
+                    IdRepoSampleDeleteId isdi =
+                        new IdRepoSampleDeleteId (idRepo);
+                    isdi.deleteAMId();
+                    break;
+
+                case 3:  // get allowed id operations
+                    try {
+                        Set types = idRepo.getSupportedIdTypes();
+                        IdType itype = null;
+                        Set ops = null;
+                        for (Iterator it = types.iterator(); it.hasNext(); ) {
+                            itype = (IdType)it.next();
+                            ops = idRepo.getAllowedIdOperations (itype);
+                            sampleUtils.printResults ("IdType '" +
+                                itype.getName() + "'",
+                                ops, "allowed Identity Operations");
+                        }
+                    } catch (IdRepoException ire) {
+                        System.err.println (
+                            "idRepoProcessing:IdRepoException: " +
+                                ire.getMessage());
+                    } catch (SSOException ssoe) {
+                        System.err.println (
+                            "idRepoProcessing:SSOException: " +
+                                ssoe.getMessage());
+                    }
+                    break;
+
+                case 4:  // get supported IdTypes
+                    try {
+                        Set types = idRepo.getSupportedIdTypes();
+                        sampleUtils.printIdTypeResults("This deployment",
+                            types, "supported IdTypes");
+                    } catch (IdRepoException ire) {
+                        System.err.println (
+                            "idRepoProcessing:IdRepoException: " +
+                                ire.getMessage());
+                    } catch (SSOException ssoe) {
+                        System.err.println (
+                            "idRepoProcessing:SSOException: " +
+                                ssoe.getMessage());
+                    }
+                    break;
+
+                case 5:  // search/select Identities
+                    IdRepoSampleSearchIds issi =
+                        new IdRepoSampleSearchIds (idRepo);
+                    issi.searchAMIds();
+                    break;
+
+                case 6:  // return to '/' realm
+                    currentRealm = DEF_REALM;
+                    doCurrentRealm();
+                    break;
+
+                case 7:  // exit
+                    doMore = false;
+                    break;
+
+                default:
+                    System.err.println ("Invalid selection; try again.");
+            }
+        }
+
+        try {
+            sampleUtils.logout();
+        } catch (AuthLoginException alexc) {
+            System.err.println ("idRepoProcessing: logout failed for user '" +
+                userSID + "'");
+            alexc.printStackTrace();
+            System.exit(10);
+        }
+        System.out.println ("idRepoProcessing: user '" + userSID +
+            "' logged out");
+    }
+
+    public static void main(String[] args) {
+        IdRepoSample idRS = new IdRepoSample();
+        idRS.idRepoProcessing();
+
+        System.exit(0);
+    }
+}
+
+
+
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleCreateId.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleCreateId.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleCreateId.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,349 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: IdRepoSampleCreateId.java,v 1.11 2008/06/04 06:13:03 goodearth Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.clientsdk.idrepo;
+
+
+import java.io.*;
+import java.util.*;
+
+import com.iplanet.sso.SSOException;
+
+import com.sun.identity.idm.AMIdentity;
+import com.sun.identity.idm.AMIdentityRepository;
+import com.sun.identity.idm.IdRepoException;
+import com.sun.identity.idm.IdSearchControl;
+import com.sun.identity.idm.IdSearchOpModifier;
+import com.sun.identity.idm.IdSearchResults;
+import com.sun.identity.idm.IdType;
+
+
+/**
+ * This class 
+ *
+ *
+ * @author 
+ */
+public class IdRepoSampleCreateId {
+
+    IdRepoSampleUtils sampleUtils = null;
+    AMIdentityRepository idRepo = null;
+    private static final String AGENT_TYPE_ATTR = "AgentType"; 
+    private static final String WSP_ENDPOINT = "WSPEndpoint"; 
+
+    public IdRepoSampleCreateId (AMIdentityRepository idrepo) {
+        sampleUtils = new IdRepoSampleUtils();
+        idRepo = idrepo;
+    }
+
+    public void createAMId () {
+        /*
+         *  just create the identities with this selection.
+         *  to "exercise" identities, use the
+         *  "search identities" selection to find one to
+         *  exercise.
+         */
+        IdType idtype = sampleUtils.getIdTypeToCreateOrDelete();
+        if (idtype == null) {
+            return;
+        }
+
+        IdType tmpIdtype = idtype;
+        if (idtype.equals(IdType.AGENT)) {
+            tmpIdtype = IdType.AGENTONLY;
+        }
+
+        try {
+            /*
+             * get and display list of identities of idtype
+             * for reference...
+             */
+            IdSearchResults adRes =
+                idRepo.searchIdentities(tmpIdtype, "*", new IdSearchControl());
+            Set adResSet = adRes.getSearchResults();
+            if (!adResSet.isEmpty()) {
+                System.out.println("    Current list of " +
+                    idtype.getName() + "s:");
+                for (Iterator it = adResSet.iterator(); it.hasNext(); ) {
+                    System.out.println("\t" +
+                        ((AMIdentity)it.next()).getName());
+                }
+            } else {
+                System.out.println("    No " + idtype.getName() + "s found.");
+            }
+
+            String idName = sampleUtils.getLine("Enter idName to create: ");
+            Map attrs = new HashMap();
+            Set vals = new HashSet();
+            AMIdentity tmpId = null;
+
+            if (idtype.equals(IdType.AGENT)) {
+                String tmpS = sampleUtils.getLine(idName + "'s password: ");
+                vals = new HashSet();
+                vals.add(tmpS);
+                attrs.put("userpassword", vals);
+
+                tmpId = idRepo.createIdentity(IdType.AGENTONLY, idName, attrs);
+                idtype = IdType.AGENTONLY;
+            } else if (idtype.equals(IdType.AGENTONLY) || 
+                idtype.equals(IdType.AGENTGROUP)) { 
+
+                String tmpS = sampleUtils.getLine(idName + "'s agentType: ");
+                vals.add(tmpS);
+                attrs.put(AGENT_TYPE_ATTR, vals);
+                if (tmpS.equalsIgnoreCase("webagent")) {
+                    tmpS = sampleUtils.getLine(idName +"'s log size(def:10): ");
+                    vals = new HashSet();
+                    vals.add(tmpS);
+                    attrs.put("com.sun.identity.agents.config.local.log.size", 
+                        vals);
+                }
+                tmpS = sampleUtils.getLine(idName + "'s password: ");
+                vals = new HashSet();
+                vals.add(tmpS);
+                attrs.put("userpassword", vals);
+
+                tmpId = idRepo.createIdentity(idtype, idName, attrs);
+            } else if (idtype.equals(IdType.USER)) {
+                String tmpS = sampleUtils.getLine(idName + "'s password: ");
+                vals.add(tmpS);
+                attrs.put("userpassword", vals);
+                vals = new HashSet();
+                tmpS =  sampleUtils.getLine(idName + "'s last name: ");
+                vals.add(tmpS);
+                attrs.put("sn", vals);
+                vals = new HashSet();
+                vals.add(idName + " " + tmpS);
+                attrs.put("cn", vals);
+                vals = new HashSet();
+                vals.add(idName);
+                attrs.put("givenname", vals); // "full name"
+                tmpId = idRepo.createIdentity(IdType.USER, idName, attrs);
+            } else if (idtype.equals(IdType.REALM)) {
+                String tmpS = sampleUtils.getLine(
+                                idName + " active/inactive [a,i]: ");
+                String actVal = "Active";
+                if (tmpS.startsWith("i")) {
+                    actVal = "Inactive";
+                }
+                vals.add(actVal);
+                attrs.put("sunOrganizationStatus", vals);
+                tmpId = idRepo.createIdentity(IdType.REALM, idName, attrs);
+            }
+
+            //  identity should exist, since it was just created
+            if (tmpId != null) {
+                System.out.println("    Created " +
+                idtype.getName() + " identity '" +
+                idName + "' isExists = " + tmpId.isExists());
+
+                //  now show list of the identities of type created
+                adRes = idRepo.searchIdentities(
+                        idtype, "*", new IdSearchControl());
+                adResSet = adRes.getSearchResults();
+
+                if (!adResSet.isEmpty()) {
+                    System.out.println("    Current list of " +
+                        idtype.getName() + "s:");
+                    for (Iterator it = adResSet.iterator(); it.hasNext(); ) {
+                        System.out.println("\t" +
+                            ((AMIdentity)it.next()).getName());
+                    }
+                } else {
+                    System.out.println("    Odd, no " +
+                        idtype.getName() + "s found.");
+                }
+                IdSearchControl WSCcontrol = new IdSearchControl();
+                String providerName = idName;
+                WSCcontrol.setAllReturnAttributes(true);
+                IdSearchResults WSCresults = idRepo.searchIdentities(
+                    IdType.AGENTONLY, providerName, WSCcontrol);
+                Set agents = WSCresults.getSearchResults();
+                System.out.println("WSC Agents before removeMember: " + agents); 
+                if (idtype.equals(IdType.AGENTONLY) || 
+                    idtype.equals(IdType.AGENTGROUP)) {
+                    String POLLINT = "com.sun.am.policy.am.polling.interval";
+                    //  now get the attributes of the identities of type created
+                    Map attrMap = null;
+                    String name = null;
+                    String type = null;
+                    name = tmpId.getName();
+                    attrMap = tmpId.getAttributes();
+                    if (!attrMap.isEmpty()) {
+                        Set keySet = attrMap.keySet();
+                        for (Iterator it = keySet.iterator(); it.hasNext(); ) {
+                            String key = (String)it.next();
+                            if (key.equalsIgnoreCase(POLLINT)) { 
+                                System.out.println("Value before " +
+                                    "removeAttribute: "
+                                    + POLLINT + "=" + attrMap.get(POLLINT));
+                                Set attrNameSet = null;
+                                attrNameSet = new HashSet();
+                                attrNameSet.add(key);
+                                System.out.println("Attribute to remove :"+key);
+                                tmpId.removeAttributes(attrNameSet);
+                            }
+                            if (key.equalsIgnoreCase("userpassword")) { 
+                                System.out.println("Value check for pwd " +
+                                    "userpassword =" + 
+                                    attrMap.get("userpassword"));
+                            }
+                        }
+                    } else {
+                        System.out.println (name + " has no attributes.");
+                    }
+
+                    // get/check after remove
+                    attrMap = tmpId.getAttributes();
+                    if (!attrMap.isEmpty()) {
+                        System.out.println ("Has key after removeAttribute : "+
+                            POLLINT + " : true/false :" +
+                                attrMap.keySet().contains(POLLINT));
+                        if (attrMap.keySet().contains(POLLINT)) {
+                            System.out.println ("Value after removeAttribute : "+
+                                POLLINT + "=" + attrMap.get(POLLINT));
+                        }
+                    }
+
+                    vals = new HashSet();
+                    vals.add("WebAgent");
+                    attrs.put(AGENT_TYPE_ATTR, vals);
+                    AMIdentity agroupIdentity = null; 
+
+                    System.out.println("\nChecking membership operations");
+                    IdSearchResults res = 
+                        idRepo.searchIdentities(IdType.AGENTGROUP,
+                            "myagrp", new IdSearchControl());
+                    Set resSet = res.getSearchResults();
+                    if (!resSet.isEmpty()) {
+                        Iterator iter = resSet.iterator();
+                        if (iter.hasNext()) {
+                            agroupIdentity = (AMIdentity) iter.next();
+                        }
+                    } else {
+                        agroupIdentity = 
+                            idRepo.createIdentity(IdType.AGENTGROUP, "myagrp", 
+                                attrs);
+                    }
+
+                    // Test for getMembers()
+                    System.out.println("Obtained agent group =" + 
+                        agroupIdentity.getName());
+                    System.out.println("\nAdding member to agent group: " + 
+                        tmpId.getName());
+                    agroupIdentity.addMember(tmpId);
+                    System.out.println("\nGetting member from agent group: " + 
+                        agroupIdentity.getMembers(IdType.AGENTONLY));
+
+                    // Test for getMemberships()
+                    Set agentgroupsOfAgent = 
+                        tmpId.getMemberships(IdType.AGENTGROUP);
+                    System.out.println("Agent's agentGroup memberships = ");
+                    Iterator agiter = agentgroupsOfAgent.iterator();
+                    while (agiter.hasNext() ){
+                        AMIdentity id = (AMIdentity) agiter.next();
+                        System.out.println("AgentGroup of agent = " + 
+                            id.getName());
+                        System.out.println("AgentGroup of agent isExists: " + 
+                            id.isExists());
+                    }
+
+                    System.out.println("\nRemoving member from agent group: " + 
+                        tmpId.getName());
+                    agroupIdentity.removeMember(tmpId);
+                    System.out.println("\nAfter removeMember : Getting member " +
+                        "from agent group: " + 
+                        agroupIdentity.getMembers(IdType.AGENTONLY));
+
+                }
+                IdSearchControl WSCcnt = new IdSearchControl();
+                WSCcnt.setAllReturnAttributes(true);
+                IdSearchResults WSCres = idRepo.searchIdentities(
+                    IdType.AGENTONLY, providerName, WSCcnt);
+                Set wscagents = WSCres.getSearchResults();
+                System.out.println("WSC Agents after removeMember: " + 
+                    wscagents); 
+
+                // Test for avpairs filter while searching..
+                IdSearchControl avcontrol = new IdSearchControl();
+                avcontrol.setAllReturnAttributes(true);
+                avcontrol.setTimeOut(0);           
+                Map kvPairMap = new HashMap();
+                Set avset = new HashSet();
+                avset.add("WSCAgent");           
+                kvPairMap.put(AGENT_TYPE_ATTR, avset);
+
+                avcontrol.setSearchModifiers(IdSearchOpModifier.OR, kvPairMap);
+
+                IdSearchResults avresults = 
+                    idRepo.searchIdentities(IdType.AGENTONLY,
+                        "*", avcontrol);
+                Set avagents = avresults.getSearchResults();
+                System.out.println("WSC Agents with avpairs as filter: " + 
+                    avagents); 
+
+                // Test : Search for WSPAgent type with its WSP End point 
+                // attribute value known. This search should not return 
+                // multiple WSP profies instead should return just one that 
+                // has given WSP end point attribute value.
+
+                IdSearchControl wspcontrol = new IdSearchControl();
+                wspcontrol.setAllReturnAttributes(true);
+                wspcontrol.setTimeOut(0);
+
+                Map wspkvPairMap = new HashMap();
+                Set wspset = new HashSet();
+                wspset.add("WSPAgent");
+                wspkvPairMap.put(AGENT_TYPE_ATTR, wspset);
+
+                wspset = new HashSet();
+                //String endpoint = "default";
+                String endpoint = "testendpoint1";
+                wspset.add(endpoint);
+                wspkvPairMap.put(WSP_ENDPOINT, wspset);
+
+                wspcontrol.setSearchModifiers(IdSearchOpModifier.OR, 
+                    wspkvPairMap);
+                IdSearchResults wspresults = 
+                    idRepo.searchIdentities(IdType.AGENTONLY,"*", wspcontrol);
+               
+                Set wspagents = wspresults.getSearchResults();
+                System.out.println("WSP Agents with avpairs as filter: " + 
+                    wspagents); 
+            }
+        } catch (IdRepoException ire) {
+            System.err.println("idRepoProcessing IdRepoException " +
+                "creating '" + idtype + "': " + ire.getMessage());
+            System.err.println("SUJATHA ire "+ ire);
+        } catch (SSOException ssoe) {
+            System.err.println("idRepoProcessing: SSOException " +
+                "creating '" + idtype + "': " + ssoe.getMessage());
+        }
+
+        return;
+    }
+
+}
+
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleDeleteId.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleDeleteId.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleDeleteId.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,165 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: IdRepoSampleDeleteId.java,v 1.2 2007/10/22 23:18:16 goodearth Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.clientsdk.idrepo;
+
+import java.io.*;
+import java.util.*;
+
+import com.iplanet.sso.SSOException;
+
+import com.sun.identity.idm.AMIdentity;
+import com.sun.identity.idm.AMIdentityRepository;
+import com.sun.identity.idm.IdType;
+import com.sun.identity.idm.IdSearchControl;
+import com.sun.identity.idm.IdSearchResults;
+import com.sun.identity.idm.IdRepoException;
+
+
+/**
+ * This class 
+ *
+ *
+ * @author 
+ */
+public class IdRepoSampleDeleteId {
+
+    IdRepoSampleUtils sampleUtils = null;
+    AMIdentityRepository idRepo = null;
+
+    public IdRepoSampleDeleteId (AMIdentityRepository idrepo) {
+        sampleUtils = new IdRepoSampleUtils();
+        idRepo = idrepo;
+    }
+
+    public void deleteAMId () {
+        IdType idtype = sampleUtils.getIdTypeToCreateOrDelete();
+        if (idtype == null) {
+            return;
+        }
+
+        if (idtype.equals(IdType.AGENT)) {
+            System.out.println("Use IdType 'agentonly' for deletion of "+
+                "agents.\nOnly operation supported for IdType 'agent' is "+
+                "READ");
+            return;
+        }
+
+        try {
+            /*
+             *  get and display list of identities of idtype
+             *  for reference...
+             */
+            IdSearchResults adRes = idRepo.searchIdentities(
+                 idtype, "*", new IdSearchControl());
+            Set adResSet = adRes.getSearchResults();
+            System.out.println("Found " + adResSet.size() +
+                " entries of type " + idtype.getName() + ".");
+            AMIdentity amid = null;
+            if (adResSet.size() > 0) {
+                int i;
+                String ans = null;
+                    Object[] ids = adResSet.toArray();
+                    System.out.println("AMIdentities:");
+                    for (i = 0; i < ids.length; i++) {
+                    amid = (AMIdentity)ids[i];
+                    System.out.println("\t" + i + ": " + amid.getName());
+                    }
+                System.out.println("\t" + i + ": No selection");
+                ans = sampleUtils.getLine (
+                    "Select id: [0.." + ids.length + "]: ");
+                i = sampleUtils.getIntValue(ans);
+                if (i == ids.length) {
+                    // no selection
+                    return;
+                } else if ((i < 0) || (i > ids.length)) {
+                    System.err.println (ans + " is an invalid selection.");
+                    return;
+                }
+                amid = (AMIdentity)ids[i];
+
+                boolean doAnyway = false;
+                String tmpS = amid.getName().toLowerCase();
+                if (amid.getType().equals(IdType.USER)) {
+                    if (tmpS.equals("dsameuser") ||
+                        tmpS.equals("amldapuser") ||
+                        tmpS.equals("amadmin") ||
+                        tmpS.equals("amservice-urlaccessagent") ||
+                        tmpS.equals("anonymous"))
+                    {
+                        System.out.println ("VERY BAD idea deleting user "
+                            + amid.getName());
+                    } else {
+                        doAnyway = true;
+                    }
+                } else if (amid.getType().equals(IdType.REALM)) {
+                    // need to select from returned set
+                    // but not "/"!
+                    doAnyway = true;
+                } else {
+                    //  no (default) AGENTs to worry about.
+                    doAnyway = true;
+                }
+                if (doAnyway) {
+                    Set tmpSet = new HashSet();
+                    tmpSet.add(amid);
+                    idRepo.deleteIdentities(tmpSet);
+                } else {
+                    System.out.println ("Not deleting " + amid.getName());
+                }
+            } else {
+                System.out.println ("No identities of type " +
+                    idtype.getName() + " found.");
+            }
+
+            /*
+             *  now show the (updated) list of the
+             *  identities of type idtype
+             */
+            adRes = idRepo.searchIdentities(
+                idtype, "*", new IdSearchControl());
+            adResSet = adRes.getSearchResults();
+
+            System.out.print("    Current list of " + idtype.getName() + "s");
+            if (!adResSet.isEmpty()) {
+                System.out.println (":");
+                for (Iterator it = adResSet.iterator(); it.hasNext(); ) {
+                    System.out.println("\t" +
+                        ((AMIdentity)it.next()).getName());
+                }
+            } else {
+                System.out.println (" is empty");
+            }
+        } catch (IdRepoException ire) {
+            System.err.println("idRepoProcessing: IdRepoException" +
+                " Deleting Identity: " + ire.getMessage());
+        } catch (SSOException ssoe) {
+            System.err.println("idRepoProcessing: SSOException" +
+                " Deleting Identity: " + ssoe.getMessage());
+        }
+        return;
+    }
+}
+
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleGetSpecialIds.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleGetSpecialIds.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleGetSpecialIds.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,240 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: IdRepoSampleGetSpecialIds.java,v 1.1 2006/12/21 00:56:39 bigfatrat Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.clientsdk.idrepo;
+
+import java.io.*;
+import java.util.*;
+
+import com.iplanet.sso.SSOException;
+
+import com.sun.identity.idm.AMIdentity;
+import com.sun.identity.idm.AMIdentityRepository;
+import com.sun.identity.idm.IdType;
+import com.sun.identity.idm.IdSearchResults;
+import com.sun.identity.idm.IdRepoException;
+
+
+/**
+ * This class 
+ *
+ *
+ * @author 
+ */
+public class IdRepoSampleGetSpecialIds {
+
+    IdRepoSampleUtils sampleUtils = null;
+    AMIdentityRepository idRepo = null;
+
+    public IdRepoSampleGetSpecialIds (AMIdentityRepository idrepo) {
+        sampleUtils = new IdRepoSampleUtils();
+        idRepo = idrepo;
+    }
+
+    /*
+     *  The special AMIdentities are for internal use only.
+     */
+    public void getSpecialIds () {
+        try {
+            IdSearchResults isr = null;
+            Set isrSet = null;
+            Map isrMap = null;
+            /*
+             * get special role identities
+             */
+
+            isr = idRepo.getSpecialIdentities(IdType.ROLE);
+            isrSet = isr.getSearchResults();
+            isrMap = isr.getResultAttributes();
+
+                processSpecialIdentity (isrMap, isrSet, "Special Roles");
+
+            /*
+             * get special user identities
+             */
+
+            sampleUtils.waitForReturn("Hit <return> to get special users: ");
+            isr = idRepo.getSpecialIdentities(IdType.USER);
+            isrSet = isr.getSearchResults();
+            isrMap = isr.getResultAttributes();
+
+                processSpecialIdentity (isrMap, isrSet, "Special Users");
+
+            /*
+             * get special group identities
+             */
+
+            sampleUtils.waitForReturn("Hit <return> to get special groups: ");
+            isr = idRepo.getSpecialIdentities(IdType.GROUP);
+            isrSet = isr.getSearchResults();
+            isrMap = isr.getResultAttributes();
+
+                processSpecialIdentity (isrMap, isrSet, "Special Groups");
+
+                /*
+             * get special agent identities
+             */
+
+            sampleUtils.waitForReturn("Hit <return> to get special agents: ");
+            isr = idRepo.getSpecialIdentities(IdType.AGENT);
+            isrSet = isr.getSearchResults();
+            isrMap = isr.getResultAttributes();
+
+                processSpecialIdentity (isrMap, isrSet, "Special Agents");
+
+            /*
+             * get special realm identities
+             */
+
+            sampleUtils.waitForReturn("Hit <return> to get special realms: ");
+            isr = idRepo.getSpecialIdentities(IdType.REALM);
+            isrSet = isr.getSearchResults();
+            isrMap = isr.getResultAttributes();
+
+                processSpecialIdentity (isrMap, isrSet, "Special Realms");
+
+            /*
+             * get special Filtered Role identities
+             */
+
+            sampleUtils.waitForReturn(
+                "Hit <return> to get special filtered roles: ");
+            isr = idRepo.getSpecialIdentities(IdType.FILTEREDROLE);
+            isrSet = isr.getSearchResults();
+            isrMap = isr.getResultAttributes();
+
+                processSpecialIdentity (isrMap, isrSet, "Special Filtered Roles");
+
+        } catch (IdRepoException ire) {
+            System.err.println ("idRepoProcessing:IdRepoException: " +
+                ire.getMessage());
+        } catch (SSOException ssoe) {
+            System.err.println ("idRepoProcessing:SSOException: " +
+                ssoe.getMessage());
+        }
+        return;
+    }
+
+    /*
+     *  print the Map (from IdSearchResults.getResultAttributes()) and
+     *  the Set (from IdSearchResults.getSearchResults()) resulting from
+     *  the AMIdentityRepository.getSpecialIdentities(IdType.xxx) call.
+     */
+    private void processSpecialIdentity (Map isrMap, Set isrSet, String title)
+    {
+        printMap (isrMap, title + " (" + isrMap.size() +")");
+        System.out.println("");
+        sampleUtils.waitForReturn(
+            "Hit <return> to continue display of " + title + ": ");
+
+        if (!isrSet.isEmpty()) {
+            System.out.println (title + ":");
+            AMIdentity am_id = null;
+            for(Iterator it=isrSet.iterator(); it.hasNext();) {
+                try {
+                    am_id = (AMIdentity)it.next();
+                    System.out.println("  For '" + am_id.getName() + "':");
+                    System.out.println(
+                        "    realm: " + am_id.getRealm() +
+                        "\n    type: "  + am_id.getType() +
+                        "\n    universalId: " + am_id.getUniversalId() +
+                        "\n    active: " + am_id.isActive() +
+                        "\n    exists: " + am_id.isExists() +
+                        "\n");
+                    } catch (IdRepoException ire) {
+                        System.err.println (
+                            "processSpecialIdentity:IdRepoException: " +
+                                ire.getMessage());
+                    } catch (SSOException ssoe) {
+                        System.err.println (
+                            "processSpecialIdentity:SSOException: " +
+                                ssoe.getMessage());
+                    }
+            }
+        } else {
+            System.out.println ("No " + title);
+        }
+    }
+
+
+    /*
+     *  theMap:
+     *    AMIdentity, Map of:
+     *                String, Set of:
+     *                        String
+     */
+
+    private void printMap (Map theMap, String title)
+    {
+        if (theMap == null) {
+            System.out.println ("Null Map of " + title);
+        } else if (theMap.isEmpty()) {
+            System.out.println ("Map of " + title + " is empty");
+        } else {
+            Set keySet = theMap.keySet();
+            System.out.println (title);
+            Object obj = null;
+            Object val = null;
+            AMIdentity ami = null;
+            Map vMap = null;
+            Set vSet = null;
+            for (Iterator it=keySet.iterator(); it.hasNext(); ) {
+                obj = it.next();
+                ami = (AMIdentity)obj;
+                System.out.println ("  " + ami.getName());
+                val = theMap.get(ami);
+                if (val != null) {
+                    vMap = (Map)val;
+                    vSet = vMap.keySet();
+                    System.out.println ("    Attributes for " +
+                        ami.getName() + ":");
+
+                    Object obj2 = null;
+                    Object obj3 = null;
+                    Object obj4 = null;
+                    Set o3Set = null;
+                    for (Iterator it2=vSet.iterator(); it2.hasNext(); ) {
+                        obj2 = it2.next();
+                        System.out.println ("    " + obj2);
+                        obj3 = vMap.get(obj2);
+                        o3Set = (Set)obj3;
+                        System.out.println ("      Value(s) for " + obj2
+                            + ":");
+                        if (o3Set.isEmpty()) {
+                            System.out.println("      [NONE]");
+                        }
+                        for (Iterator it3=o3Set.iterator(); it3.hasNext(); ) {
+                            obj4 = it3.next();
+                            System.out.println("      " + obj4);
+                        }
+                    }
+                } else {
+                    System.out.println("theMap.get(ami) rtns null");
+                }
+            }
+        }
+    }
+}
+
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSearchIds.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSearchIds.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSearchIds.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,543 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: IdRepoSampleSearchIds.java,v 1.3 2008/02/21 23:59:18 goodearth Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.clientsdk.idrepo;
+
+import java.io.*;
+import java.util.*;
+
+import com.iplanet.sso.SSOException;
+
+import com.sun.identity.idm.AMIdentity;
+import com.sun.identity.idm.AMIdentityRepository;
+import com.sun.identity.idm.IdType;
+import com.sun.identity.idm.IdSearchControl;
+import com.sun.identity.idm.IdSearchOpModifier;
+import com.sun.identity.idm.IdSearchResults;
+import com.sun.identity.idm.IdRepoException;
+
+
+/**
+ * This class 
+ *
+ *
+ * @author 
+ */
+public class IdRepoSampleSearchIds {
+
+    IdRepoSampleUtils sampleUtils = null;
+    AMIdentityRepository idRepo = null;
+
+    public IdRepoSampleSearchIds (AMIdentityRepository idrepo) {
+        sampleUtils = new IdRepoSampleUtils();
+        idRepo = idrepo;
+    }
+
+    public void searchAMIds () {
+        IdType idtype = sampleUtils.getIdType(idRepo);
+        if (idtype == null) {
+            return;
+        }
+        IdSearchControl isc = new IdSearchControl();
+        isc.setAllReturnAttributes(true);
+        //  recursive setting is done via the data store config
+
+        String pattern = sampleUtils.getLine("    Enter search pattern", "*");
+        try {
+            IdSearchResults adRes = idRepo.searchIdentities(
+                idtype, pattern, isc);
+            Set adResSet = adRes.getSearchResults();
+            processType(idtype, adResSet);
+        IdSearchControl control = new IdSearchControl();           
+        control.setAllReturnAttributes(true);
+        control.setTimeOut(0);          
+        Map kvPairMap = new HashMap();
+        Set set = new HashSet();
+        set.add("STSAgent");           
+        kvPairMap.put("AgentType", set);
+        control.setSearchModifiers(IdSearchOpModifier.OR, kvPairMap);
+        IdSearchResults results = idRepo.searchIdentities(IdType.AGENTONLY,
+            "*", control);
+        Set agents = results.getSearchResults();      
+        System.out.println("Listing agents for STSAgent "+agents);
+        } catch (IdRepoException ire) {
+            System.err.println("idRepoProcessing: IdRepoException" +
+                " Searching Identities for '" +
+                idtype + "' and pattern '" + pattern + "': " +
+                ire.getMessage());
+        } catch (SSOException ssoe) {
+            System.err.println("idRepoProcessing: SSOException" +
+                " Searching Identities for '" +
+                idtype + "' and pattern '" + pattern + "': " +
+                ssoe.getMessage());
+        }
+
+        return;
+    }
+
+    /*
+     *  given a set of AMIdentities of IdType idtype, see
+     *  if any AMIdentity operations are to be performed
+     *  on/with them.
+     */
+    private void processType(IdType idtype, Set idSet)
+    {
+        Object[] objs = idSet.toArray();
+        AMIdentity amid = null;
+        AMIdentity amid2 = null;
+        int setsize = idSet.size();
+
+        int i;
+        if (setsize > 0) {
+            System.out.println("Search returns " + setsize +
+                " entries of type " + idtype.getName() + ".");
+
+            for (i = 0; i < setsize; i++) {
+                amid = (AMIdentity)objs[i];
+                System.out.println("\t" + i + ": " + amid.getName());
+            }
+            System.out.println ("\t" + i + ": No selection");
+
+            String answer = sampleUtils.getLine("Select identity: [0.." +
+                setsize + "]: ");
+
+            int ians = sampleUtils.getIntValue(answer);
+            try {
+                if ((ians >= 0) && (ians < setsize)) {
+                    amid = (AMIdentity)objs[ians];
+                } else if (ians == setsize) {
+                    return;
+                } else {
+                    System.err.println ("'" + answer +
+                        "' is invalid.");
+                    return;
+                }
+
+                System.out.println (" universalId for " +
+                    amid.getName() + " of IdType " + idtype.getName() +
+                    " = " + amid.getUniversalId());
+
+                /*
+                 * have the AMIdentity to work with in amid
+                 *
+                 * for IdType given, the operations allowed:
+                 *
+                 *  GROUP 
+                 */
+                if (idtype.equals(IdType.GROUP)) {
+                    /*
+                     * can:
+                     *   get attributes
+                     *   get attribute
+                     *   get members (of type User)
+                     */
+                    System.out.println (
+                        "Members of IdType User of Group '" +
+                        amid.getName() + "':");
+                    printMembers(amid, IdType.USER);
+                    printAttrs(amid);
+                } else if (idtype.equals(IdType.ROLE)) {
+                    /*
+                     * can:
+                     *  get attributes
+                     *  get attribute
+                     *  get members
+                     */
+                    printAttrs(amid);
+                } else if (idtype.equals(IdType.USER)) {
+                    String thisUser = amid.getName();
+                    /*
+                     * can:
+                     *   see if active
+                     *   set active status
+                     *   get attributes
+                     *   get attribute
+                     *   set attributes
+                     *   remove attributes
+                     *   store
+                     *   get memberships
+                     *   see if exists
+                     */
+                    
+                    System.out.println("User '" + thisUser +
+                        "' is active: " + amid.isActive());
+                    if (thisUser.equalsIgnoreCase("amadmin") ||
+                        thisUser.equalsIgnoreCase("amldapuser") ||
+                        thisUser.equalsIgnoreCase("dsameuser") ||
+                        thisUser.equalsIgnoreCase("amService-URLAccessAgent"))
+                    {
+                        // don't want to mess too much with these users
+                        // in particular
+                        System.out.println("User '" + amid.getName() +
+                            "' exists: " + amid.isExists());
+
+                        Set idtypes = amid.getType().canBeMemberOf();
+                        System.out.println (amid.getName() +
+                            " can have (and has) membership in identities of " +
+                            "the following types:");
+                        IdType idTypeToUse = null;
+                        Set memberships = null;
+                        for (Iterator it = idtypes.iterator(); it.hasNext(); ) {
+                            idTypeToUse = (IdType)it.next();
+                            System.out.println ("  can be member of " + 
+                                idTypeToUse.getName());
+                            memberships = amid.getMemberships(idTypeToUse);
+                            printMemberships(amid, idTypeToUse, memberships);
+                        }
+                        printAttrs(amid);
+
+                    } else {
+                        answer = sampleUtils.getLine (
+                            "Set user active, inactive, or cancel [a,i,c]: ");
+                        if (answer.startsWith("a")) {
+                            if (amid.isActive()) {
+                                System.out.println("User '" + thisUser +
+                                    "' already active");
+                            } else {
+                                amid.setActiveStatus(true);
+                                System.out.println("User '" + thisUser +
+                                    "' is active: " + amid.isActive());
+                            }
+                        } else if (answer.startsWith("i")) {
+                            if (!amid.isActive()) {
+                                System.out.println("User '" + thisUser +
+                                    "' already inactive");
+                            } else {
+                                amid.setActiveStatus(false);
+                                System.out.println("User '" + thisUser +
+                                    "' is active: " + amid.isActive());
+                            }
+                        }
+
+                        System.out.println("User '" + amid.getName() +
+                            "' exists: " + amid.isExists());
+
+                        Set idtypes = amid.getType().canBeMemberOf();
+                        System.out.println (amid.getName() +
+                            " can have (and has) membership in identities of " +
+                            "the following types:");
+                        IdType idTypeToUse = null;
+                        Set memberships = null;
+                        for (Iterator it = idtypes.iterator(); it.hasNext(); ) {
+                            idTypeToUse = (IdType)it.next();
+                            System.out.println ("  can be member of " + 
+                                idTypeToUse.getName());
+                            memberships = amid.getMemberships(idTypeToUse);
+                            printMemberships(amid, idTypeToUse, memberships);
+                        }
+                        printAttrs(amid);
+
+                        System.out.println ("Operations available on User '" +
+                            amid.getName() + "':");
+                        System.out.println (
+                            "\tl: List groups or roles\n" +
+                            "\td: Display attributes\n" +
+                            "\ts: Set attribute\n" +
+                            "\te: No selection");
+                        answer = sampleUtils.getLine(
+                            "Enter selection [l, d, s, e]: ");
+                        if (answer.toLowerCase().startsWith("d")) {
+                            printAttrs(amid);
+                        } else if (answer.toLowerCase().startsWith("s")) {
+                            setAttribute(amid);
+                        } else if (answer.toLowerCase().startsWith("l")) {
+                            listGrpOrRoleOfUser(amid);
+                        } else if (answer.toLowerCase().startsWith("e")) {
+                        } else {
+                            System.err.println ("'" + answer + "' is invalid.");
+                        }
+                    }
+                } else if (idtype.equals(IdType.AGENT) ||
+                    idtype.equals(IdType.AGENTONLY)) {
+                    /*
+                     * can:
+                     *   see if exists
+                     *   see if active
+                     *   set active status
+                     *   get attributes
+                     *   get attribute
+                     *   set attributes
+                     *   remove attributes
+                     *   store
+                     *   
+                     */
+
+                    String thisAgent = amid.getName();
+                    System.out.println("Agent '" + thisAgent +
+                        "' exists: " + amid.isExists());
+
+                    System.out.println("Agent '" + thisAgent +
+                        "' is active: " + amid.isActive());
+                    answer = sampleUtils.getLine (
+                        "Set agent active, inactive, or cancel [a,i,c]: ");
+                    if (answer.startsWith("a")) {
+                        if (amid.isActive()) {
+                            System.out.println("Agent '" + thisAgent +
+                                "' already active");
+                        } else {
+                            amid.setActiveStatus(true);
+                            System.out.println("Agent '" + thisAgent +
+                                "' is active: " + amid.isActive());
+                        }
+                    } else if (answer.startsWith("i")) {
+                        if (!amid.isActive()) {
+                            System.out.println("Agent '" + thisAgent +
+                                "' already inactive");
+                        } else {
+                            amid.setActiveStatus(false);
+                            System.out.println("Agent '" + thisAgent +
+                                "' is active: " + amid.isActive());
+                        }
+                    }
+
+                    printAttrs(amid);
+                    setAttribute(amid);
+                }
+            } catch (IdRepoException ire) {
+                System.err.println ("processType:IdRepoException: " +
+                    ire.getMessage());
+            } catch (SSOException ssoe) {
+                System.err.println ("processType:SSOException: " +
+                    ssoe.getMessage());
+            }
+        } else {
+            System.out.println ("No identities of type '" +
+                idtype.getName() + "' found to process.");
+        }
+    }
+
+
+    /*
+     *  get and print the attributes for the AMIdentity specified.
+     */
+    private void printAttrs (AMIdentity amid) {
+        Map attrMap = null;
+        String name = null;
+        String type = null;
+        try {
+            name = amid.getName();
+            type = amid.getType().getName();
+            attrMap = amid.getAttributes();
+            if (!attrMap.isEmpty()) {
+                Set keySet = attrMap.keySet();
+                Set valSet = null;
+                System.out.println(type + ":" + name + "'s Attributes:");
+                for (Iterator it = keySet.iterator(); it.hasNext(); ) {
+                    String key = (String)it.next();
+                    System.out.print ("    attr '" + key + "' ");
+                    valSet = (Set)attrMap.get(key);
+                    if (valSet.size() > 0) {
+                        System.out.println ("=");
+                        for (Iterator it2=valSet.iterator(); it2.hasNext(); ) {
+                            System.out.println ("\t" + (String)it2.next());
+                        }
+                    } else {
+                        System.out.println ("has no values.");
+                    }
+                }
+            } else {
+                System.out.println (name + " has no attributes.");
+            }
+        } catch (IdRepoException ire) {
+            System.err.println("printAttrs:IdRepoException: " +
+                ire.getMessage());
+        } catch (SSOException ssoe) {
+            System.err.println("printAttrs:SSOException: " +
+                ssoe.getMessage());
+        }
+    }
+
+
+    /*
+     *  print members of the specified IdType in the AMIdentity object
+     *  specified.
+     */
+    private void printMembers (AMIdentity amid, IdType typeToGet)
+    {
+        try {
+            IdType amidType = amid.getType();
+            String amidTypeName = amidType.getName(); 
+            Iterator it = amid.getMembers(typeToGet).iterator();
+            if (it.hasNext()) {
+                System.out.println(amidTypeName + " " + amid.getName() +
+                    "'s members:");
+                while (it.hasNext()) {
+                    System.out.println("   " +
+                        ((AMIdentity)it.next()).getName());
+                }
+            } else {
+                System.out.println(amidType + " " + amid.getName() +
+                    " has no members.");
+            }
+        } catch (IdRepoException ire) {
+            System.err.println("printMembers:IdRepoException: " +
+                ire.getMessage());
+        } catch (SSOException ssoe) {
+            System.err.println("printMembers:SSOException: " +
+                ssoe.getMessage());
+        }
+    }
+
+
+    /*
+     *  print memberships of IdType specified in the Set provided.
+     */
+    private void printMemberships(AMIdentity amid, IdType idTypeToUse,
+        Set memberships)
+    {
+        if ((memberships == null) || (memberships.size() == 0)) {
+            System.out.println("  " + amid.getName() +
+                " has no memberships in identities of IdType " +
+                idTypeToUse.getName());
+            return;
+        }
+
+        Iterator it = memberships.iterator();
+        if (it.hasNext()) {
+            System.out.println("  " + amid.getName() +
+                " has membership in identities of IdType " +
+                idTypeToUse.getName() + " named: ");
+            while (it.hasNext()) {
+                System.out.println("   " +
+                    ((AMIdentity)it.next()).getName());
+            }
+        } else {
+            System.out.println("  " + amid.getName() +
+                " has no memberships in identities of IdType " +
+                idTypeToUse.getName());
+        }
+    }
+
+    /*
+     *  get and print the attributes for the specified AMIdentity object.
+     *  select the attribute to set, and value to which to set it, set it,
+     *  then retrieve and print its value for verification.
+     */
+    private void setAttribute (AMIdentity amid)
+    {
+        Map attrMap = null;
+        String name = null;
+        String type = null;
+        try {
+            name = amid.getName();
+            type = amid.getType().getName();
+            attrMap = amid.getAttributes();
+            if (!attrMap.isEmpty()) {
+                Set keySet = attrMap.keySet();
+                Object[] attrArray = keySet.toArray();
+
+                int i = sampleUtils.selectFromArray (attrArray, type + ":" +
+                    name + "'s Attributes",
+                    "Select attribute to set");
+
+                String attrToSet = null;
+                if ((i >= 0) && (i < keySet.size())) {
+                    attrToSet = (String)attrArray[i];
+                    System.out.println("To set attribute " + attrToSet);
+                    Set oldVal = amid.getAttribute(attrToSet);
+                    System.out.print("  Current value = [");
+                    if (oldVal.isEmpty()) {
+                        System.out.println ("Empty]");
+                    } else {
+                        for (Iterator it=oldVal.iterator(); it.hasNext(); ) {
+                            System.out.print((String)it.next());
+                            if (it.hasNext()) {
+                                System.out.print(" ");
+                            }
+                        }
+                        System.out.println ("]");
+                    }
+                    String newVal = sampleUtils.getLine(
+                        "New value for " + attrToSet + ": ");
+                    Map nattrs = new HashMap();
+                    Set valSet = new HashSet();
+                    valSet.add(newVal);
+                    nattrs.put(attrToSet, valSet);
+                    amid.setAttributes(nattrs);
+                    amid.store();
+
+                    /*
+                     *  get attr value again to verify it changed
+                     */
+                    oldVal = amid.getAttribute(attrToSet);
+                    System.out.print ("  Updated value = [");
+                    if (oldVal.isEmpty()) {
+                        System.out.println ("Empty]");
+                    } else {
+                        for (Iterator it=oldVal.iterator(); it.hasNext(); ) {
+                            System.out.print((String)it.next());
+                            if (it.hasNext()) {
+                                System.out.print (" ");
+                            }
+                        }
+                        System.out.println ("]");
+                    }
+                }
+            } else {
+                System.out.println (name + " has no attributes.");
+            }
+        } catch (IdRepoException ire) {
+            System.err.println("setAttrs:IdRepoException: " +
+                ire.getMessage());
+        } catch (SSOException ssoe) {
+            System.err.println("setAttrs:SSOException: " +
+                ssoe.getMessage());
+        }
+    }
+
+    /*
+     *  list groups or roles for the specified user
+     */
+    private void listGrpOrRoleOfUser (AMIdentity amid)
+    {
+        IdType typeToGet = null;
+        Set tSet = null;
+        String hdr = null;
+
+        String ans = sampleUtils.getLine(
+            "Groups, or Roles to list [g, r]: ");
+        String ans2 = ans.toLowerCase();
+
+        try {
+            String trlr = null;
+            hdr = "User " + amid.getName();
+            if (ans2.startsWith("g")) {  // list groups
+                tSet = amid.getMemberships(IdType.GROUP);
+                trlr = "group memberships";
+            } else if (ans2.startsWith("r")) {  // list roles
+                tSet = amid.getMemberships(IdType.ROLE);
+                trlr = "role memberships";
+            }
+            sampleUtils.printResults (hdr, tSet, trlr);
+        } catch (IdRepoException ire) {
+            System.err.println("listGrpOrRoleOfUser:IdRepoException: " +
+                ire.getMessage());
+        } catch (SSOException ssoe) {
+            System.err.println("listGrpOrRoleOfUser:SSOException: " +
+                ssoe.getMessage());
+        }
+    }
+}
+
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSubRealm.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSubRealm.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleSubRealm.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,72 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: IdRepoSampleSubRealm.java,v 1.1 2006/12/21 00:56:40 bigfatrat Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.clientsdk.idrepo;
+
+import java.io.*;
+import java.util.*;
+
+import com.sun.identity.idm.AMIdentity;
+
+/**
+ * This class 
+ *
+ *
+ * @author 
+ */
+public class IdRepoSampleSubRealm {
+
+    IdRepoSampleUtils sampleUtils = null;
+    String currentRealm = null;
+    static final String startingRealm = "/";
+
+    public IdRepoSampleSubRealm (String curRealm) {
+        sampleUtils = new IdRepoSampleUtils();
+        currentRealm = curRealm;
+    }
+
+    public String selectSubRealm (Set currentSubRealms) {
+        int i2;
+        Object[] srs = currentSubRealms.toArray();
+        System.out.println("SubRealms of " + currentRealm + ":");
+        for (i2 = 0; i2 < srs.length; i2++) {
+            System.out.println("    " + i2 + ": " +
+                ((AMIdentity)srs[i2]).getRealm());
+        }
+        System.out.println ("    " + i2 + ": No selection");
+        String ans =
+            sampleUtils.getLine("Select subrealm: [0.." + srs.length + "]: ");
+        int ians = sampleUtils.getIntValue(ans);
+        if ((ians >= 0) && (ians < srs.length)) {
+            currentRealm = (String)((AMIdentity)srs[ians]).getRealm();
+        } else if (ians == srs.length) { // no selection
+        } else {  // invalid selection
+            System.err.println ("'" + ans + "' is invalid.");
+        }
+        return currentRealm;
+    }
+
+}
+
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleUtils.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/idrepo/IdRepoSampleUtils.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,500 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: IdRepoSampleUtils.java,v 1.3 2007/10/31 04:51:28 goodearth Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.clientsdk.idrepo;
+
+import java.io.*;
+import java.util.*;
+import java.lang.Integer;
+import java.security.Principal;
+import javax.security.auth.callback.*;
+
+import com.iplanet.sso.SSOTokenManager;
+import com.iplanet.sso.SSOToken;
+import com.iplanet.sso.SSOException;
+
+import com.sun.identity.authentication.AuthContext;
+import com.sun.identity.authentication.spi.AuthLoginException;
+import com.sun.identity.authentication.share.AuthXMLTags;
+import com.sun.identity.authentication.util.ISAuthConstants;
+import com.sun.identity.idm.AMIdentity;
+import com.sun.identity.idm.AMIdentityRepository;
+import com.sun.identity.idm.IdRepoException;
+import com.sun.identity.idm.IdType;
+
+
+/**
+ * This class 
+ *
+ *
+ * @author 
+ */
+public class IdRepoSampleUtils {
+
+    AuthContext lc = null;
+    String userID = null;
+
+    public IdRepoSampleUtils() {
+    }
+
+    public SSOToken realmLogin (String userid, String password, String realm)
+        throws SSOException, AuthLoginException, Exception
+    {
+        SSOTokenManager mgr;
+        String adminDN;
+        String adminPassword;
+        SSOToken ssoToken = null;
+        AuthContext.IndexType authType = AuthContext.IndexType.MODULE_INSTANCE;
+
+        try {
+            lc = new AuthContext(realm);
+        } catch (AuthLoginException le) {
+            System.err.println(
+                "IdRepoSampleUtils: could not get AuthContext for realm " +
+                realm);
+            throw le;
+        }
+
+        try {
+            lc.login();
+        } catch (AuthLoginException le) {
+            System.err.println("IdRepoSampleUtils: Failed to start login " +
+            "for default authmodule");
+            throw le;
+        }
+
+        userID = userid;
+        Callback[]  callbacks = null;
+        Hashtable values = new Hashtable();
+        values.put(AuthXMLTags.NAME_CALLBACK, userid);
+        values.put(AuthXMLTags.PASSWORD_CALLBACK, password);
+
+        while (lc.hasMoreRequirements()) {
+            callbacks = lc.getRequirements();
+            try {
+                fillCallbacks(callbacks, values);
+                lc.submitRequirements(callbacks);
+            } catch (Exception e) {
+                System.err.println( "Failed to submit callbacks!"); 
+                e.printStackTrace();
+                return null;
+            }
+        }
+
+        AuthContext.Status istat = lc.getStatus();
+        if (istat == AuthContext.Status.SUCCESS) {
+            System.out.println("==>Authentication SUCCESSFUL for user " +
+                userid);
+        } else if (istat == AuthContext.Status.COMPLETED) {
+            System.out.println("==>Authentication Status for user " +
+                userid+ " = " + istat);
+            return null;
+        }
+
+        try {
+            ssoToken = lc.getSSOToken();
+        } catch (Exception e) {
+            System.err.println( "Failed to get SSO token!  " + e.getMessage()); 
+            throw e;
+        }
+
+        return ssoToken;
+    }
+
+    public void logout () throws AuthLoginException {
+        try {
+            lc.logout();
+        } catch (AuthLoginException alexc) {
+            System.err.println ("IdRepoSampleUtils: logout failed for user '" +
+                userID + "'");
+            throw alexc;
+        }
+    }
+
+    
+    protected void fillCallbacks(Callback[] callbacks, Hashtable values) 
+        throws Exception
+    {
+        for (int i = 0; i < callbacks.length; i++) {
+            if (callbacks[i] instanceof NameCallback) {
+                NameCallback nc = (NameCallback) callbacks[i];
+                nc.setName((String)values.get(AuthXMLTags.NAME_CALLBACK));
+            } else if (callbacks[i] instanceof PasswordCallback) {
+                PasswordCallback pc = (PasswordCallback) callbacks[i];
+                pc.setPassword(((String)values.get(
+                    AuthXMLTags.PASSWORD_CALLBACK)).toCharArray());
+            } else if (callbacks[i] instanceof TextInputCallback) {
+                TextInputCallback tic = (TextInputCallback) callbacks[i];
+                tic.setText((String)values.get(
+                    AuthXMLTags.TEXT_INPUT_CALLBACK));
+            } else if (callbacks[i] instanceof ChoiceCallback) {
+                ChoiceCallback cc = (ChoiceCallback) callbacks[i];
+                cc.setSelectedIndex(Integer.parseInt((String)values.get(
+                    AuthXMLTags.CHOICE_CALLBACK)));
+            }
+        }
+    }
+
+    public String getLine() {
+        StringBuffer buf = new StringBuffer(80);
+        int c;
+
+        try {
+            while ((c = System.in.read()) != -1) {
+                char ch = (char)c;
+                if (ch == '\n') {
+                    break;
+                }
+                buf.append(ch);
+            }
+        } catch (IOException e) {
+            System.err.println ("getLine: " + e.getMessage());
+        }
+        return (buf.toString());
+    }
+
+    public String getLine (String prompt) {
+        System.out.print (prompt);
+        return (getLine());
+    }
+
+    public String getLine (String prompt, String defaultVal) {
+        System.out.print (prompt + " [" + defaultVal + "]: ");
+        String tmp = getLine();
+        if (tmp.length() == 0) {
+            tmp = defaultVal;
+        }
+        return (tmp);
+    }
+
+    /*
+     *  return integer value of String sVal; -1 if error
+     */
+    public int getIntValue (String sVal) {
+        int i = -1;
+        try {
+            i = Integer.parseInt (sVal);
+        } catch (NumberFormatException e) {
+            System.err.println ("'" + sVal +
+                "' does not appear to be an integer.");
+        }
+        return i;
+    }
+
+    /*
+     *  can only create or delete AMIdentities of IdType user, agentgroup,
+     *  agentonly
+     */
+    public IdType getIdTypeToCreateOrDelete()
+    {
+        IdType tType = null;
+        System.out.println ("    Supported IdTypes:\n" +
+            "\t0: user\n\t1: agent\n\t2: agentonly\n\t3: agentgroup\n\t4: realm\n\t5: No selection");
+        String answer = getLine ("Select type: [0..3]: ");
+        int i = getIntValue(answer);
+        switch (i) {
+            case 0:  // user
+                tType = IdType.USER;
+                break;
+            case 1:  // agent
+                tType = IdType.AGENT;
+                break;
+            case 2:  // agentonly
+                tType = IdType.AGENTONLY;
+                break;
+            case 3:  // agentgroup
+                tType = IdType.AGENTGROUP;
+                break;
+            case 4:  // realm
+                tType = IdType.REALM;
+                break;
+            case 5:  // no selection
+                break;
+            default:  // invalid selection
+                System.err.println(answer + " is an invalid selection.");
+        }
+        return tType;
+    }
+
+    /*
+     *  get the IdType selected from the list of supported IdTypes for
+     *  this AMIdentityRepository object.  can be "null" if no selection
+     *  made.
+     */
+    public IdType getIdType(AMIdentityRepository idRepo) {
+        IdType tType = null;
+        String realmName = null;
+        try {
+            realmName = idRepo.getRealmIdentity().getRealm();
+            Set types = idRepo.getSupportedIdTypes();
+            Object[] idtypes = types.toArray();
+            System.out.println("    Supported IdTypes:");
+            int i = 0;
+            for (i = 0; i < idtypes.length; i++) {
+                tType = (IdType)idtypes[i];
+                System.out.println("\t" + i + ": " + tType.getName());
+            }
+            System.out.println ("\t" + i + ": No selection");
+
+            String answer = getLine ("Select type: [0.." +
+                idtypes.length + "]: ");
+            i = getIntValue(answer);
+
+            tType = (IdType)idtypes[0];
+            if (i == idtypes.length) {
+                return (null);
+            } else if ((i >= 0) && (i < idtypes.length)) {
+                tType = (IdType)idtypes[i];
+            } else {
+                System.err.println(answer + " is an invalid selection.");
+                return (null);
+            }
+        } catch (IdRepoException ire) {
+            System.err.println("getIdType: IdRepoException" +
+                " getting Supported IdTypes for '" + realmName + "': " +
+                ire.getMessage());
+        } catch (SSOException ssoe) {
+            System.err.println("getIdType: SSOException" +
+                " getting Supported IdTypes for '" + realmName + "': " +
+                ssoe.getMessage());
+        }
+        return (tType);
+    }
+
+    /*
+     *  print out elements in the Set "results".  header and trailer
+     *  titling Strings.  more generic (i.e., usually expecting Strings)
+     *  than other printResults(String, Set).
+     */
+    public void printResults (
+        String header,
+        Set results,
+        String trailer)
+    {
+        if (results.isEmpty()) {
+            System.out.println(header + " has no " + trailer);
+        } else {
+            System.out.println (header + " has " + results.size() + " " +
+                trailer + ":");
+            for (Iterator it = results.iterator(); it.hasNext(); ) {
+                System.out.println ("    " + it.next()); 
+            }
+        }
+        System.out.println("");
+        return;
+    }
+
+    /*
+     *  print out elements in the Set "results".  header and trailer
+     *  titling Strings.  more generic (i.e., usually expecting Strings)
+     *  than other printResults(String, Set).
+     */
+    public void printResultsRealm (
+        String header,
+        Set results,
+        String trailer)
+    {
+        if (results.isEmpty()) {
+            System.out.println(header + " has no " + trailer);
+        } else {
+            System.out.println (header + " has " + results.size() + " " +
+                trailer + ":");
+            for (Iterator it = results.iterator(); it.hasNext(); ) {
+                AMIdentity amid = (AMIdentity)it.next();
+                System.out.println ("    " + amid.getRealm()); 
+            }
+        }
+        System.out.println("");
+        return;
+    }
+
+    /*
+     *  for the Set of IdTypes specified in "results", get and print
+     *    1. the IdTypes it can be a member of
+     *    2. the IdTypes it can have as members
+     *    3. the IdTypes it can add to itself
+     */
+    public void printIdTypeResults(
+        String header,
+        Set results,
+        String trailer)
+    {
+        if (results.isEmpty()) {
+            System.out.println(header + " has no " + trailer);
+        } else {
+            System.out.println(header + " has " + results.size() + " " +
+                trailer + ":");
+            IdType itype = null;
+            Set idSet = null;
+            for (Iterator it = results.iterator(); it.hasNext(); ) {
+                itype = (IdType)it.next();
+                System.out.println ("    IdType " + itype.getName());
+                idSet = itype.canBeMemberOf();
+                printIdTypeSet("BE a member of IdType(s):", idSet);
+
+                idSet = itype.canHaveMembers();
+                printIdTypeSet("HAVE a member of IdType(s):", idSet);
+
+                idSet = itype.canAddMembers();
+                printIdTypeSet("ADD members of IdType(s):", idSet);
+            }
+        }
+        System.out.println("");
+        return;
+    }
+
+    /*
+     *  used by printIdTypeResults(), above, to print out
+     *  AMIdentity names of elements in the Set.
+     */
+    private void printIdTypeSet (
+        String header,
+        Set idSet)
+    {
+        System.out.print ("\tcan " + header);
+        if (idSet.size() > 0) {
+            for (Iterator it = idSet.iterator(); it.hasNext(); ) {
+                System.out.print (" " + ((IdType)it.next()).getName());
+            }
+            System.out.print("\n");
+        } else {
+            System.out.println (" [NONE]");
+        }
+    }
+
+    /*
+     *  print the objects (String or AMIdentity.getName()) in the
+     *  specified Array, and return the index of the one selected.
+     *  -1 if none selected.
+     */
+
+    public int selectFromArray (
+        Object[] objs,
+        String hdr,
+        String prompt)
+    {
+        AMIdentity amid = null;
+        String ans = null;
+        boolean isIdType = false;
+        boolean isString = false;
+
+        if (objs.length <= 0) {
+            return (-1);
+        }
+
+            System.out.println(hdr);
+        int i = -1;
+
+        String objclass = objs[0].getClass().getName();
+        if (objclass.indexOf("AMIdentity") >= 0) {
+            isIdType = true;
+        } else if (objclass.indexOf("String") >= 0) {
+            isString = true;
+        }
+
+        for (i = 0; i < objs.length; i++) {
+            if (isIdType) {
+                amid = (AMIdentity)objs[i];
+                System.out.println("\t" + i + ": " + amid.getName());
+            } else if (isString) {
+                System.out.println("\t" + i + ": " + (String)objs[i]);
+            } else {
+                System.out.println("\t" + i + ": Class = " + objclass);
+            }
+        }
+        System.out.println("\t" + i + ": No Selection");
+        ans = getLine (prompt + ": [0.." + objs.length + "]: ");
+        i = getIntValue(ans);
+
+        return i;
+    }
+
+
+    /*
+     *  print the objects (String or AMIdentity.getName()) in the
+     *  specified Set, and return the object of the one selected.
+     *  null if none selected.
+     */
+    public Object selectFromSet (Set itemSet)
+    {
+        Object[] objs = itemSet.toArray();
+        AMIdentity amid = null;
+        AMIdentity amid2 = null;
+        int setsize = itemSet.size();
+        int i;
+        boolean isAMId = false;
+        boolean isString = false;
+        String str =  null;
+
+        if (setsize <= 0) {
+            return null;
+        }
+
+        String objclass = objs[0].getClass().getName();
+        if (objclass.indexOf("AMIdentity") >= 0) {
+            isAMId = true;
+        } else if (objclass.indexOf("String") >= 0) {
+            isString = true;
+        }
+
+        if (setsize > 0) {
+            System.out.println("Available selections:");
+            for (i = 0; i < setsize; i++) {
+                if (isAMId) {
+                    amid = (AMIdentity)objs[i];
+                    System.out.println("\t" + i + ": " + amid.getName());
+                } else if (isString) {
+                    System.out.println("\t" + i + ": " + (String)objs[i]);
+                } else {
+                    System.out.println("\t" + i + ": Class = " + objclass);
+                }
+            }
+            System.out.println ("\t" + i + ": No selection");
+
+            String answer = getLine("Select identity: [0.." + setsize + "]: ");
+            int ians = getIntValue(answer); 
+            if ((ians >= 0) && (ians < setsize)) {
+                return (objs[ians]);
+            } else if (ians == setsize) {
+            } else {
+                System.err.println ("'" + answer +
+                    "' is invalid.");
+            }
+        }
+        return null;
+    }
+
+
+    public void waitForReturn() {
+        waitForReturn("Hit <return> when ready: ");
+        String answer = getLine();
+    }
+
+    public void waitForReturn(String prompt) {
+        System.out.print (prompt);
+        String answer = getLine();
+    }
+}
+
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/logging/LogSample.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/logging/LogSample.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/logging/LogSample.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,173 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: LogSample.java,v 1.3 2007/03/16 18:42:04 bigfatrat Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.clientsdk.logging;
+
+
+import java.io.*;
+import java.util.*;
+import java.security.Principal;
+import javax.security.auth.Subject;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+import javax.security.auth.login.LoginException;
+
+import com.iplanet.sso.SSOException;
+import com.iplanet.sso.SSOToken;
+import com.iplanet.sso.SSOTokenManager;
+import com.sun.identity.authentication.AuthContext;
+import com.sun.identity.authentication.spi.AuthLoginException;
+import com.sun.identity.log.AMLogException;
+import com.sun.identity.log.Logger;
+import com.sun.identity.log.LogRecord;
+
+/**
+ * This sample demonstrates use of the log writing portion of
+ * the Logging API.  It also demonstrates the login process and
+ * retrieving of the SSOTokens.  Two users are necessary for this
+ * sample:
+ *  1. the "subject" userid to which the LogRecord refers
+ *     (shown in the "LoginID" field); and
+ *  2. the "logging" userid (shown in the "LoggedBy" field).
+ * The "logging" userid, if not "amAdmin", must have explicit
+ * log writing privileges as provided by being a member of a group
+ * or role with that privilege.
+ *
+ * @see com.sun.identity.log.LogRecord
+ * @see com.sun.identity.log.Logger
+ */
+public class LogSample {
+    static final String DEF_REALM = "/";
+    static final String DEF_USERNAME = "user1";
+    static final String DEF_USERPSWD = "user1password";
+    static final String DEF_LOGNAME = "TestLog";
+    static final String DEF_LOGMSG = "Test Log Record";
+    static final String DEF_LOGGEDBY = "amadmin";
+    static final String DEF_LOGGEDBYPSWD = "amadminpswd";
+    static final String DEF_MODULENAME = "MyModule";
+
+    LogSampleUtils sampleUtils = null;
+    SSOToken userSSOToken = null;
+    SSOToken loggerSSOToken = null;
+    AuthContext userAC = null;
+    AuthContext loggerAC = null;
+
+    public LogSample () {
+        sampleUtils = new LogSampleUtils();
+    }
+
+    public static void main(String[] args) {
+        
+        LogSample ls = new LogSample();
+        ls.logWriteProcessing();
+
+        System.exit(0);
+
+    }
+
+    private void logWriteProcessing() {
+        /*
+         *  get:
+         *    1. subject userid (subject of the LogRecord)
+	 *    2. subject userid's password
+         *    3. Log filename to log to
+         *    4. LogRecord's "data"
+         *    5. LoggedBy userid (who's doing the logging)
+         *    6. LoggedBy userid's password
+         *    7. Realm (for both subject userid and LoggedBy userid
+         *       in this sample)
+         */
+
+        String userSID = sampleUtils.getLine("Subject Userid", DEF_USERNAME);
+        String userPWD = sampleUtils.getLine("Subject Userid " + userSID +
+            "'s password", DEF_USERPSWD);
+        String logName = sampleUtils.getLine("Log file", DEF_LOGNAME);
+        String message = sampleUtils.getLine("Log message", DEF_LOGMSG);;
+        String loggedBySID = sampleUtils.getLine("LoggedBy Userid",
+            DEF_LOGGEDBY);
+        String loggedByPWD = sampleUtils.getLine("LoggedBy Userid's password",
+            DEF_LOGGEDBYPSWD);
+        String realmName = sampleUtils.getLine("Realm", DEF_REALM);
+
+        // get AuthContexts for subject userid and loggedby userid
+        try {
+            userAC = new AuthContext(realmName);
+            loggerAC = new AuthContext(realmName);
+        } catch (AuthLoginException le) {
+            System.err.println(
+                "LogSampleUtils: could not get AuthContext for realm " +
+                realmName);
+            System.exit(2);
+        }
+
+
+        // do user and loggedby login and get the SSOToken
+        try {
+            userSSOToken = sampleUtils.realmLogin(userSID, userPWD, userAC);
+            loggerSSOToken =
+                sampleUtils.realmLogin(loggedBySID, loggedByPWD, loggerAC);
+        } catch (SSOException ssoe) {
+            System.err.println (
+                "logWriteProcessing: could not get SSOToken: " +
+                ssoe.getMessage());
+            System.exit(3);
+        } catch (AuthLoginException ale) {
+            System.err.println (
+                "logWriteProcessing: could not authenticate: " +
+                ale.getMessage());
+            System.exit(4);
+        } catch (Exception e) {
+            System.err.println (
+                "logWriteProcessing: exception getting SSOToken: " +
+                e.getMessage());
+            System.exit(5);
+        }
+
+        try {
+            LogRecord logRecord = 
+                new LogRecord(java.util.logging.Level.INFO, message,
+                    userSSOToken);
+            logRecord.addLogInfo("ModuleName", DEF_MODULENAME);
+
+            Logger logger = (Logger)Logger.getLogger(logName);
+            logger.log(logRecord, loggerSSOToken);
+
+            System.out.println("LogSample: Logging Successful !!!");
+
+            userAC.logout();
+            loggerAC.logout();
+        } catch (AMLogException amex) {
+            System.err.println("LogSample: AMLogException: " +
+                amex.getMessage());
+            System.err.println("LogSample: Logging Failed; " +
+                "Is user '" + loggedBySID +
+                "' a member of a Role or Group with log writing privileges?");
+        } catch (Exception ssoe) {
+            System.err.println("LogSample: Exception: " + ssoe.getMessage());
+            System.err.println("LogSample: Logging Failed !!!");
+        }
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/logging/LogSampleUtils.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/logging/LogSampleUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/clientsdk/logging/LogSampleUtils.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,179 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: LogSampleUtils.java,v 1.1 2006/12/21 00:57:42 bigfatrat Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.clientsdk.logging;
+
+
+import java.io.*;
+import java.lang.Integer;
+import java.util.*;
+import javax.security.auth.callback.*;
+
+import com.iplanet.sso.SSOToken;
+import com.iplanet.sso.SSOException;
+
+import com.sun.identity.authentication.AuthContext;
+import com.sun.identity.authentication.spi.AuthLoginException;
+import com.sun.identity.authentication.share.AuthXMLTags;
+import com.sun.identity.log.Logger;
+import com.sun.identity.log.LogRecord;
+
+
+/**
+ * This class 
+ *
+ *
+ * @author 
+ */
+public class LogSampleUtils {
+
+    public LogSampleUtils() {
+    }
+
+    public SSOToken realmLogin (String userid, String password, AuthContext ac)
+        throws SSOException, AuthLoginException, Exception
+    {
+        String adminDN;
+        String adminPassword;
+        SSOToken ssoToken = null;
+        String userID = null;
+
+        try {
+            ac.login();
+        } catch (AuthLoginException le) {
+            System.err.println("LogSampleUtils: Failed to start login " +
+                "for default auth module.");
+            throw le;
+        }
+
+        userID = userid;
+        Callback[]  callbacks = null;
+        Hashtable values = new Hashtable();
+        values.put(AuthXMLTags.NAME_CALLBACK, userid);
+        values.put(AuthXMLTags.PASSWORD_CALLBACK, password);
+
+        while (ac.hasMoreRequirements()) {
+            callbacks = ac.getRequirements();
+            try {
+                fillCallbacks(callbacks, values);
+                ac.submitRequirements(callbacks);
+            } catch (Exception e) {
+                System.err.println( "Failed to submit callbacks!"); 
+                e.printStackTrace();
+                return null;
+            }
+        }
+
+        AuthContext.Status istat = ac.getStatus();
+        if (istat == AuthContext.Status.SUCCESS) {
+            System.out.println("==>Authentication SUCCESSFUL for user " +
+                userid);
+        } else if (istat == AuthContext.Status.COMPLETED) {
+            System.out.println("==>Authentication Status for user " +
+                userid+ " = " + istat);
+            return null;
+        }
+
+        try {
+            ssoToken = ac.getSSOToken();
+        } catch (Exception e) {
+            System.err.println( "Failed to get SSO token!"); 
+            throw e;
+        }
+
+        return ssoToken;
+    }
+
+    protected void fillCallbacks(Callback[] callbacks, Hashtable values) 
+        throws Exception
+    {
+        for (int i = 0; i < callbacks.length; i++) {
+            if (callbacks[i] instanceof NameCallback) {
+                NameCallback nc = (NameCallback) callbacks[i];
+                nc.setName((String)values.get(AuthXMLTags.NAME_CALLBACK));
+            } else if (callbacks[i] instanceof PasswordCallback) {
+                PasswordCallback pc = (PasswordCallback) callbacks[i];
+                pc.setPassword(((String)values.get(
+                    AuthXMLTags.PASSWORD_CALLBACK)).toCharArray());
+            } else if (callbacks[i] instanceof TextInputCallback) {
+                TextInputCallback tic = (TextInputCallback) callbacks[i];
+                tic.setText((String)values.get(
+                    AuthXMLTags.TEXT_INPUT_CALLBACK));
+            } else if (callbacks[i] instanceof ChoiceCallback) {
+                ChoiceCallback cc = (ChoiceCallback) callbacks[i];
+                cc.setSelectedIndex(Integer.parseInt((String)values.get(
+                    AuthXMLTags.CHOICE_CALLBACK)));
+            }
+        }
+    }
+
+    public String getLine() {
+        StringBuffer buf = new StringBuffer(80);
+        int c;
+
+        try {
+            while ((c = System.in.read()) != -1) {
+                char ch = (char)c;
+                if (ch == '\n') {
+                    break;
+                }
+                buf.append(ch);
+            }
+        } catch (IOException e) {
+            System.err.println ("getLine: " + e.getMessage());
+        }
+        return (buf.toString());
+    }
+
+    public String getLine (String prompt) {
+        System.out.print (prompt);
+        return (getLine());
+    }
+
+    public String getLine (String prompt, String defaultVal) {
+        System.out.print (prompt + " [" + defaultVal + "]: ");
+        String tmp = getLine();
+        if (tmp.length() == 0) {
+            tmp = defaultVal;
+        }
+        return (tmp);
+    }
+
+    /*
+     *  return integer value of String sVal; -1 if error
+     */
+    public int getIntValue (String sVal) {
+        int i = -1;
+        try {
+            i = Integer.parseInt (sVal);
+        } catch (NumberFormatException e) {
+            System.err.println ("'" + sVal +
+                "' does not appear to be an integer.");
+        }
+        return i;
+    }
+
+}
+
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/sso/CommandLineSSO.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/sso/CommandLineSSO.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/sso/CommandLineSSO.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,118 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: CommandLineSSO.java,v 1.2 2008/02/29 18:30:46 ww203982 Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.sso;
+
+import com.iplanet.sso.SSOToken;
+import com.iplanet.sso.SSOTokenManager;
+import com.sun.identity.idm.AMIdentity;
+import com.sun.identity.idm.IdRepoException;
+import com.sun.identity.idm.IdUtils;
+import com.sun.identity.authentication.AuthContext;
+import com.sun.identity.authentication.spi.AuthLoginException;
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.io.PushbackInputStream;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+
+/**
+ * This sample demonstrates the use of retrieving user profile from the correct
+ * user credential.
+ */
+public class CommandLineSSO {
+    
+    public static void main(String args[]) throws Exception {
+        String orgName = args[0];
+        System.out.println("Organization: " + orgName);
+
+        SSOTokenManager manager = SSOTokenManager.getInstance();
+        AuthContext lc = getAuthcontext(orgName);
+        
+        if (lc.getStatus() == AuthContext.Status.SUCCESS) {
+            System.out.println("Successful authentication ...");
+            SSOToken token = lc.getSSOToken();
+
+            String userDN = token.getPrincipal().getName();
+            System.out.println("User Name: " + userDN);
+
+            try {
+                AMIdentity userIdentity = IdUtils.getIdentity(token);
+                Map attrs = userIdentity.getAttributes();
+                System.out.println("User Attributes: ");
+
+                for (Iterator i = attrs.keySet().iterator(); i.hasNext(); ) {
+                    String attrName = (String)i.next();
+                    Set values = (Set)attrs.get(attrName);
+                    System.out.println(attrName + "=" + values);
+                }
+            } catch (IdRepoException e) {
+                e.printStackTrace();
+            } finally {
+                manager.destroyToken(token);
+            }
+        } else {
+             System.out.println("Authentication Failed ....... ");
+        }
+        System.exit(0);
+    }
+
+    // Creates AuthContext and submits requirements
+    private static AuthContext getAuthcontext(String orgName)
+        throws AuthLoginException, IOException
+    {
+        AuthContext lc = new AuthContext(orgName);
+        AuthContext.IndexType indexType = AuthContext.IndexType.MODULE_INSTANCE;
+        String indexName = "DataStore";
+        System.out.println("DataStore: Obtained login context");
+        lc.login(indexType, indexName);
+
+        Callback[] callback = lc.getRequirements();
+        
+        for (int i =0 ; i< callback.length ; i++) {
+            if (callback[i] instanceof NameCallback) {
+                NameCallback name = (NameCallback) callback[i];
+                System.out.print(name.getPrompt());
+                name.setName((new BufferedReader(
+                    new InputStreamReader(System.in))).readLine());
+            } else if (callback[i] instanceof PasswordCallback) {
+                PasswordCallback pass = (PasswordCallback) callback[i];
+                System.out.print(pass.getPrompt());
+                String password = (new BufferedReader(
+                    new InputStreamReader(System.in))).readLine();
+                pass.setPassword(password.toCharArray());
+            }
+        }
+
+        lc.submitRequirements(callback);
+        return lc;
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/sso/SSOTokenSample.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/sso/SSOTokenSample.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/com/sun/identity/samples/sso/SSOTokenSample.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,130 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: SSOTokenSample.java,v 1.2 2008/02/29 18:30:46 ww203982 Exp $
+ *
+ * Copyright 2006 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package com.sun.identity.samples.sso;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.net.InetAddress;
+import com.iplanet.sso.SSOException;
+import com.iplanet.sso.SSOToken;
+import com.iplanet.sso.SSOTokenID;
+import com.iplanet.sso.SSOTokenManager;
+
+/**
+ * This sample serves as a basis for using SSO API. It demonstrates creating
+ * a SSO Token, calling various methods from the token, setting up event 
+ * listeners and getting called on event listeners. Refer to the Readme.txt for 
+ * detailed info on how to use this sample.
+ *
+ * @see com.iplanet.sso.SSOToken
+ * @see com.iplanet.sso.SSOTokenID
+ * @see com.iplanet.sso.SSOTokenManager
+ * @see com.iplanet.sso.SSOTokenEvent
+ * @see com.iplanet.sso.SSOTokenListener
+ */
+public class SSOTokenSample {
+    private SSOTokenManager manager;
+    private SSOToken token;
+
+    private SSOTokenSample(String tokenID)
+        throws SSOException
+    {
+        if (validateToken(tokenID)) {
+            setGetProperties(token);
+        }
+    }
+
+    private boolean validateToken(String tokenID)
+        throws SSOException
+    {
+        boolean validated = false;
+        manager = SSOTokenManager.getInstance();
+        token = manager.createSSOToken(tokenID);
+
+        // isValid method returns true for valid token.
+        if (manager.isValidToken(token)) {
+                // let us get all the values from the token
+            String host = token.getHostName();
+            java.security.Principal principal = token.getPrincipal();
+            String authType = token.getAuthType();
+            int level = token.getAuthLevel();
+            InetAddress ipAddress = token.getIPAddress();
+            long maxTime = token.getMaxSessionTime();
+            long idleTime = token.getIdleTime();
+            long maxIdleTime = token.getMaxIdleTime();
+                
+            System.out.println("SSOToken host name: " + host);
+            System.out.println("SSOToken Principal name: " +
+                principal.getName());
+            System.out.println("Authentication type used: " + authType);
+            System.out.println("IPAddress of the host: " +
+                ipAddress.getHostAddress());
+            validated = true;
+        }
+
+        return validated;
+    }
+
+    private void setGetProperties(SSOToken token)
+        throws SSOException
+    {
+        /*
+         * Validate the token again, with another method
+         * if token is invalid, this method throws an exception
+         */
+        manager.validateToken(token);
+        System.out.println("SSO Token validation test Succeeded.");
+            
+        // Get the SSOTokenID associated with the token and print it.
+        SSOTokenID id = token.getTokenID();
+        String tokenId = id.toString();
+        System.out.println("Token ID: " + tokenId);
+
+        // Set and get properties in the token.
+        token.setProperty("TimeZone", "PST");
+        token.setProperty("County", "SantaClara");
+        String tZone = token.getProperty("TimeZone");
+        String county = token.getProperty("County");
+
+        System.out.println("Property: TimeZone: " + tZone); 
+        System.out.println("Property: County: " + county); 
+    }
+
+    public static void main(String[] args) {
+        try {
+            System.out.print("Enter SSOToken ID: ");
+            String ssoTokenID = (new BufferedReader(
+                new InputStreamReader(System.in))).readLine();
+            new SSOTokenSample(ssoTokenID.trim());
+        } catch (SSOException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        System.exit(0);
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/policy/PolicyEvaluationSample.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/policy/PolicyEvaluationSample.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/policy/PolicyEvaluationSample.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,128 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: PolicyEvaluationSample.java,v 1.2 2008/02/29 18:30:46 ww203982 Exp $
+ *
+ * Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package samples.policy;
+
+import com.iplanet.sso.SSOToken;
+import com.iplanet.sso.SSOTokenManager;
+
+import com.sun.identity.policy.PolicyDecision;
+import com.sun.identity.policy.client.PolicyEvaluator;
+import com.sun.identity.policy.client.PolicyEvaluatorFactory;
+
+import samples.policy.TokenUtils;
+
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.HashSet;
+import java.util.Properties;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.Set;
+
+/** Policy evaluation sample using FAM client sdk */
+public class PolicyEvaluationSample {
+
+
+    public PolicyEvaluationSample() {
+    }
+
+    public static void main(String[] args) throws Exception {
+        PolicyEvaluationSample clientSample = new PolicyEvaluationSample();
+        clientSample.runSample(args);
+        System.exit(0);
+    }
+
+    public void runSample(String[] args) throws Exception {
+        if (args.length == 0 || args.length > 1) {
+            System.out.println("Missing argument:"
+                    + "properties file name not specified");
+        } else {
+            System.out.println("Using properties file:" + args[0]);
+            Properties sampleProperties = getProperties(args[0]);
+            SSOToken ssoToken = getSSOToken(
+                (String)sampleProperties.get("user.name"),
+                (String)sampleProperties.get("user.password")
+            );
+            getPolicyDecision(
+                ssoToken,
+                (String)sampleProperties.get("service.name"),
+                (String)sampleProperties.get("resource.name"),
+                (String)sampleProperties.get("action.name")
+            );
+        }
+    }
+
+    private SSOToken getSSOToken(
+            String userName, String password) throws Exception {
+        System.out.println("Entering getSSOToken():"
+                + "userName=" + userName + ","
+                + "password=" + password);
+        SSOToken ssoToken = TokenUtils.getSessionToken("/",
+                userName, password);
+        System.out.println("TokenID:" + ssoToken.getTokenID().toString());
+        System.out.println("returning from getSSOToken()");
+        return ssoToken;
+    }
+
+    private void getPolicyDecision(
+            SSOToken ssoToken,
+            String serviceName, String resourceName,
+            String actionName)
+            throws Exception {
+
+        System.out.println("Entering getPolicyDecision():"
+                + "resourceName=" + resourceName + ","
+                + "serviceName=" + serviceName + ","
+                + "actionName=" + actionName);
+        PolicyEvaluator pe = PolicyEvaluatorFactory.getInstance().
+                    getPolicyEvaluator(serviceName);
+
+        Map env = new HashMap();
+        Set attrSet = new HashSet();
+        Set actions = new HashSet();
+        actions.add(actionName);
+        PolicyDecision pd = pe.getPolicyDecision(ssoToken, resourceName, 
+                actions, env);
+        System.out.println("policyDecision:" + pd.toXML());
+
+        System.out.println("returning from getPolicyDecision()");
+    }
+
+    private Properties getProperties(String file) throws MissingResourceException {
+        Properties properties = new Properties();
+        ResourceBundle bundle = ResourceBundle.getBundle(file);
+        Enumeration e = bundle.getKeys();
+        System.out.println("sample properties:");
+        while (e.hasMoreElements()) {
+            String key = (String) e.nextElement();
+            String value = bundle.getString(key);
+            properties.put(key, value);
+            System.out.println(key + ":" + value);
+        }
+        return properties;
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/policy/TokenUtils.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/policy/TokenUtils.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/policy/TokenUtils.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,143 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: TokenUtils.java,v 1.1 2007/11/17 00:12:05 dillidorai Exp $
+ *
+ * Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package samples.policy;
+
+import com.iplanet.sso.SSOToken;
+import com.iplanet.sso.SSOTokenManager;
+import com.sun.identity.authentication.AuthContext;
+
+import java.util.Iterator;
+import java.security.Principal;
+import javax.security.auth.Subject;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+import javax.security.auth.login.LoginException;
+
+public class TokenUtils {
+
+    public static SSOToken getToken(String orgName, String userId, 
+            String password) throws Exception {
+        return getSessionToken(orgName, userId, password); 
+    }
+
+    public static SSOToken getSessionToken(String orgName, String userId, 
+            String password) throws Exception {
+        return getSessionToken(orgName,userId, password, null, -1);
+    }
+
+    public static SSOToken getSessionToken(String orgName, String userId, 
+            String password, String module, int level) 
+            throws Exception 
+    {
+        AuthContext ac = null;
+        try {
+            //System.out.println("TokenUtils:orgName=" + orgName);
+            ac = new AuthContext(orgName);
+            if (module != null) {
+                ac.login(AuthContext.IndexType.MODULE_INSTANCE, module);
+            } else if (level != -1) {
+                ac.login(AuthContext.IndexType.LEVEL, String.valueOf(level));
+            } else {
+		//System.out.println("TokenUtils:calling login()");
+                ac.login();
+            }
+            //System.out.println("TokenUtils:after ac.login()");
+        } catch (LoginException le) {
+            le.printStackTrace();
+            return null;
+        }
+       
+        try { 
+            Callback[] callbacks = null;
+            // Get the information requested by the plug-ins
+            if (ac.hasMoreRequirements()) {
+                callbacks = ac.getRequirements();
+                
+                if (callbacks != null) {
+                    addLoginCallbackMessage(callbacks, userId, password);
+                    ac.submitRequirements(callbacks);
+                    
+                    if (ac.getStatus() == AuthContext.Status.SUCCESS) {
+                        //System.out.println("Auth success");
+                        Subject authSubject = ac.getSubject();
+                        if ( authSubject != null) {
+                            Iterator principals =
+                            (authSubject.getPrincipals()).iterator();
+                            Principal principal;
+                            while (principals.hasNext()) {
+                                principal = (Principal) principals.next();
+                            }
+                        }
+                    } else if (ac.getStatus() == AuthContext.Status.FAILED) {
+                        //System.out.println("Authentication has FAILED");
+                    } else {
+                    }
+                } else {
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        //SSOTokenManager.getInstance().validateToken(ac.getSSOToken());
+        //System.out.println(ac.getSSOToken().getPrincipal().getName());
+        return ac.getSSOToken();
+    }
+    
+    
+    static void addLoginCallbackMessage(Callback[] callbacks, String userId,
+        String password) 
+         throws UnsupportedCallbackException 
+    {
+        int i = 0;
+        try {
+            for (i = 0; i < callbacks.length; i++) {
+                if (callbacks[i] instanceof NameCallback) {
+
+                    // prompt the user for a username
+                    NameCallback nc = (NameCallback) callbacks[i];
+
+                    //System.out.println("userName=" + userId);
+                    nc.setName(userId);
+                    
+                } else if (callbacks[i] instanceof PasswordCallback) {
+
+                    // prompt the user for sensitive information
+                    PasswordCallback pc = (PasswordCallback) callbacks[i];
+
+                    //System.out.println("password=" + password);
+                    pc.setPassword(password.toCharArray());
+                    
+                } else {
+                }
+            }
+        } catch (Exception e) {
+                    //throw new UnsupportedCallbackException(callbacks[i], 
+                    //"Callback exception: " + e);
+        }
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/xacml/XACMLClientSample.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/xacml/XACMLClientSample.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso-sdk/source/samples/xacml/XACMLClientSample.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,211 @@
+/* The contents of this file are subject to the terms
+ * of the Common Development and Distribution License
+ * (the License). You may not use this file except in
+ * compliance with the License.
+ *
+ * You can obtain a copy of the License at
+ * https://opensso.dev.java.net/public/CDDLv1.0.html or
+ * opensso/legal/CDDLv1.0.txt
+ * See the License for the specific language governing
+ * permission and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL
+ * Header Notice in each file and include the License file
+ * at opensso/legal/CDDLv1.0.txt.
+ * If applicable, add the following below the CDDL Header,
+ * with the fields enclosed by brackets [] replaced by
+ * your own identifying information:
+ * "Portions Copyrighted [year] [name of copyright owner]"
+ *
+ * $Id: XACMLClientSample.java,v 1.3 2008/03/27 06:08:32 dillidorai Exp $
+ *
+ * Copyright 2007 Sun Microsystems Inc. All Rights Reserved
+ */
+
+package samples.xacml;
+
+import com.sun.identity.saml2.common.SAML2Exception;
+
+import com.sun.identity.xacml.client.XACMLRequestProcessor;
+import com.sun.identity.xacml.common.XACMLConstants;
+import com.sun.identity.xacml.common.XACMLException;
+import com.sun.identity.xacml.context.ContextFactory;
+import com.sun.identity.xacml.context.Action;
+import com.sun.identity.xacml.context.Attribute;
+import com.sun.identity.xacml.context.Environment;
+import com.sun.identity.xacml.context.Request;
+import com.sun.identity.xacml.context.Resource;
+import com.sun.identity.xacml.context.Response;
+import com.sun.identity.xacml.context.Subject;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import java.io.PrintWriter;
+
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.MissingResourceException;
+import java.util.Properties;
+import java.util.ResourceBundle;
+
+public class XACMLClientSample {
+
+
+    public XACMLClientSample() {
+    }
+
+    public static void main(String[] args) throws Exception {
+        XACMLClientSample clientSample = new XACMLClientSample();
+        clientSample.runSample(args);
+        System.exit(0);
+    }
+
+    public void runSample(String[] args) throws Exception {
+        if (args.length == 0 || args.length > 1) {
+            System.out.println("Missing argument:"
+                    + "properties file name not specified");
+        } else {
+            System.out.println("Using properties file:" + args[0]);
+            Properties sampleProperties = getProperties(args[0]);
+            testProcessRequest(
+                (String)sampleProperties.get("pdp.entityId"),
+                (String)sampleProperties.get("pep.entityId"),
+                (String)sampleProperties.get("subject.id"),
+                (String)sampleProperties.get("subject.id.datatype"),
+                (String)sampleProperties.get("subject.category"),
+                (String)sampleProperties.get("resource.id"),
+                (String)sampleProperties.get("resource.id.datatype"),
+                (String)sampleProperties.get("resource.servicename"),
+                (String)sampleProperties.get("resource.servicename.datatype"),
+                (String)sampleProperties.get("action.id"),
+                (String)sampleProperties.get("action.id.datatype")
+            );
+        }
+    }
+
+    private void testProcessRequest(
+            String pdpEntityId, String pepEntityId,
+            String subjectId, String subjectIdType,
+            String subjectCategory,
+            String resourceId, String resourceIdType,
+            String serviceName, String serviceNameType,
+            String actionId, String actionIdType) 
+            throws XACMLException, SAML2Exception, 
+            URISyntaxException, Exception {
+
+        Request xacmlRequest = createSampleXacmlRequest(
+            subjectId, subjectIdType,
+            subjectCategory,
+            resourceId, resourceIdType,
+            serviceName, serviceNameType,
+            actionId, actionIdType); 
+
+        System.out.println("\ntestProcessRequest():xacmlRequest:\n" 
+                + xacmlRequest.toXMLString(true, true));
+
+        Response xacmlResponse = XACMLRequestProcessor.getInstance()
+                .processRequest(xacmlRequest, pdpEntityId, pepEntityId);
+
+        System.out.println("testProcessRequest():xacmlResponse:\n"
+                + xacmlResponse.toXMLString(true, true));
+    }
+
+    private Request createSampleXacmlRequest(
+            String subjectId, String subjectIdType,
+            String subjectCategory,
+            String resourceId, String resourceIdType,
+            String serviceName, String serviceNameType,
+            String actionId, String actionIdType) 
+            throws XACMLException, URISyntaxException {
+
+        Request request = ContextFactory.getInstance().createRequest();
+
+        //Subject
+        Subject subject = ContextFactory.getInstance().createSubject();
+        subject.setSubjectCategory(new URI(subjectCategory));
+
+        //set subject id
+        Attribute attribute = ContextFactory.getInstance().createAttribute();
+        attribute.setAttributeId(new URI(XACMLConstants.SUBJECT_ID));
+        attribute.setDataType(new URI(subjectIdType));
+        List valueList = new ArrayList();
+        valueList.add(subjectId); 
+        attribute.setAttributeStringValues(valueList);
+        List attributeList = new ArrayList();
+        attributeList.add(attribute);
+        subject.setAttributes(attributeList);
+
+
+        //set Subject in Request
+        List subjectList = new ArrayList();
+        subjectList.add(subject);
+        request.setSubjects(subjectList);
+
+        //Resource
+        Resource resource = ContextFactory.getInstance().createResource();
+
+        //set resource id
+        attribute = ContextFactory.getInstance().createAttribute();
+        attribute.setAttributeId(new URI(XACMLConstants.RESOURCE_ID));
+        attribute.setDataType( new URI(resourceIdType));
+        valueList = new ArrayList();
+        valueList.add(resourceId);
+        attribute.setAttributeStringValues(valueList);
+        attributeList = new ArrayList();
+        attributeList.add(attribute);
+
+        //set serviceName
+        attribute = ContextFactory.getInstance().createAttribute();
+        attribute.setAttributeId(new URI(XACMLConstants.TARGET_SERVICE));
+        attribute.setDataType(new URI(serviceNameType));
+        valueList = new ArrayList();
+        valueList.add(serviceName);
+        attribute.setAttributeStringValues(valueList);
+        attributeList.add(attribute);
+        resource.setAttributes(attributeList);
+
+        //set Resource in Request
+        List resourceList = new ArrayList();
+        resourceList.add(resource);
+        request.setResources(resourceList);
+
+        //Action
+        Action action = ContextFactory.getInstance().createAction();
+        attribute = ContextFactory.getInstance().createAttribute();
+        attribute.setAttributeId(new URI(XACMLConstants.ACTION_ID));
+        attribute.setDataType(new URI(actionIdType));
+
+        //set actionId
+        valueList = new ArrayList();
+        valueList.add(actionId);
+        attribute.setAttributeStringValues(valueList);
+        attributeList = new ArrayList();
+        attributeList.add(attribute);
+        action.setAttributes(attributeList);
+
+        //set Action in Request
+        request.setAction(action);
+
+        //Enviornment, our PDP does not use environment now
+        Environment environment = ContextFactory.getInstance().createEnvironment();
+        request.setEnvironment(environment);
+        return request;
+    }
+
+    private Properties getProperties(String file) throws MissingResourceException {
+        Properties properties = new Properties();
+        ResourceBundle bundle = ResourceBundle.getBundle(file);
+        Enumeration e = bundle.getKeys();
+        System.out.println("sample properties:");
+        while (e.hasMoreElements()) {
+            String key = (String) e.nextElement();
+            String value = bundle.getString(key);
+            properties.put(key, value);
+            System.out.println(key + ":" + value);
+        }
+        return properties;
+    }
+
+}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso.war
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/opensso.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/readme.txt
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/readme.txt	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/readme.txt	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,59 @@
+Overview:
+=========
+  The purpose of the opensso quickstart demonstrate integration with OpenSSO (Single Sign On) and WS Security.
+  There are two services in this quickstart and a jBPM process to orchestrate these service. In this example, we are deploying OpenSSO into a separate Tomcat. 
+
+  All of the services print the Subject instance information to show the security Principals.
+  
+Running this quickstart:
+========================
+  Please refer to 'ant help-quickstarts' for prerequisites about the quickstarts
+  and a more detailed descripton of the different ways to run the quickstarts.
+
+Install and configure OpenSSO in Tomcat:
+=======================================
+  Install and configure OpenSSO:
+  1. Download the Tomcat 6.0.14 from apache site. http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.tar.gz
+  2. Unzip it to a diectory. (such as /opt/tomcat6.0.14). Open cof.server.xml and change the Connector port from 8080 to 18080.
+  3. Open up /opt/tomcat6.0.14/bin/catalina.sh (catalina.bat for windows) Add max size to the JAVA_OPTS.
+	   Before Editing:
+	      JAVA_OPTS="$JAVA_OPTS "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
+	   After Editing:
+	      JAVA_OPTS="$JAVA_OPTS "-Xmx1G" "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
+  4. Copy the opensso.war to /opt/tomcat6.0.14/webapps/
+  5. Start the tomcat by running /opt/tomcat6.0.14/bin/startup.sh (startup.bat for windows)
+  6. Open http://tomcatHost.example.com:18080/opensso in a browser.
+  7. Click on "Create Default Configuration".
+  8. Enter 'adminpass' for the "Default User[amAdmin]" and 'ldappass'for "Default Agent [amldapuser]"
+  9. Click on "Create Configuration". This is cause OpenSSO to configure itself
+ 10. Visit http://tomcatHost.example.com:8080/opensso again. Log in using the proper credentials. User Name is amAdmin and Password is the password you chose to go with amAdmin.
+  
+  * Detail you can refer to this blog entry: http://blogs.sun.com/JohnD/entry/how_to_install_tomcat_6
+
+Configure the AMConfig.properties.
+=================================
+  1. Go to opensso-sdk. run "scripts/setup.sh", it will be like (please provide your own value for these parameters): 
+  	Debug directory (make sure this directory exists): /var/local/tmp 
+	Password of the server application: opensso1 
+	Protocol of the server: http
+	Host name of the server: putian.nay.redhat.com
+	Port of the server: 8080
+	Server's deployment URI: opensso
+	Naming URL (hit enter to accept default value, http://putian.nay.redhat.com:8080/opensso/namingservice): 
+  2. Copy the 'opensso-sdk/resources/AMConfig.properties' to $JBossESB/server/config (e.g. default)/conf/props.
+
+To Run '.esb' archive mode with jbossesb-server:
+===========================
+  0. Make sure you have installed the Tomcat & configured the AMConfig.properties as above properly.
+  1. Deploy the HelloWorld processdefinition.
+  2. Type 'ant deploy'.
+  3. Start the server.
+  4. Type 'ant runtest'.
+
+
+What to look for in this quickstart
+===================================
+	Open the jBPM Admin Console and check that the process instance completed. View the process diagram. Examine the process variables, in particular the securityContext.	
+
+	Changing the opensso username and password in the soap-userpass-message.xml to see how an unsuccessful login attemt in handled.
+

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/request.xsd
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/request.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/request.xsd	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,8 @@
+<xs:schema version="1.0" targetNamespace="http://www.jboss.org/sayHi" xmlns:x1="http://www.jboss.org/sayHi"  xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+  <xs:element name="sayHi" type="x1:sayHi"/>
+  <xs:complexType name="sayHi">
+    <xs:sequence>
+      <xs:element name="arg0" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/response.xsd
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/response.xsd	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/response.xsd	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,8 @@
+<xs:schema version="1.0" targetNamespace="http://www.jboss.org/sayHi" xmlns:x1="http://www.jboss.org/sayHi"  xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+  <xs:element name="sayHiResponse" type="x1:sayHiResponse"/>
+  <xs:complexType name="sayHiResponse">
+    <xs:sequence>
+      <xs:element name="arg0" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/soap-userpass-message.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/soap-userpass-message.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/soap-userpass-message.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,19 @@
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
+			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+			xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+			xmlns:say="http://www.jboss.org/sayHi">
+					
+  <soap:Header>
+    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+      <wsse:UsernameToken>
+        <wsse:Username>amAdmin</wsse:Username>
+        <wsse:Password>adminpass</wsse:Password>
+      </wsse:UsernameToken>
+    </wsse:Security>
+  </soap:Header>
+
+  <soap:Body>
+      <say:sayHi><say:HelloWorld>HelloWorld</say:HelloWorld></say:sayHi>"
+  </soap:Body>
+
+</soap:Envelope> 

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/gpd.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/gpd.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/gpd.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<root-container name="helloWorld" width="1044" height="584">
+  <node name="start-state1" x="242" y="37" width="146" height="50">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="HelloWorld" x="239" y="175" width="152" height="45">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="HelloWorld2" x="236" y="318" width="159" height="41">
+    <edge>
+      <label x="5" y="-10"/>
+    </edge>
+  </node>
+  <node name="end-state1" x="241" y="467" width="146" height="48"/>
+</root-container>

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/processdefinition.xml
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/processdefinition.xml	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/processdefinition.xml	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition  xmlns="urn:jbpm.org:jpdl-3.2"  name="helloWorld">
+
+
+	<start-state name="start-state1">
+		<transition to="HelloWorld"></transition>
+	</start-state>
+
+
+	<node name="HelloWorld">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				HelloWorldPubService1
+			</esbServiceName>
+			<esbCategoryName>
+				ESBServiceSample
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="request" esb="BODY_CONTENT"></mapping>
+				<mapping bpm="securityContext" esb="properties.'org.jboss.soa.esb.services.security.context'"></mapping>
+			</bpmToEsbVars>
+			<esbToBpmVars>
+				<mapping bpm="response" esb="BODY_CONTENT"></mapping>
+			</esbToBpmVars>
+		</action>
+		<transition to="HelloWorld2"></transition>
+	</node>
+
+	<node name="HelloWorld2">
+		<action class="org.jboss.soa.esb.services.jbpm.actionhandlers.EsbActionHandler">
+			<esbServiceName>
+				HelloWorldPubService2
+			</esbServiceName>
+			<esbCategoryName>
+				ESBServiceSample
+			</esbCategoryName>
+			<bpmToEsbVars>
+				<mapping bpm="request" esb="BODY_CONTENT"></mapping>
+				<mapping bpm="securityContext" esb="properties.'org.jboss.soa.esb.services.security.context'"></mapping>
+			</bpmToEsbVars>
+			<esbToBpmVars>
+				<mapping bpm="response" esb="BODY_CONTENT"></mapping>
+			</esbToBpmVars>
+			
+		</action>
+		<transition to="end-state1"></transition>
+	</node>
+
+
+	<end-state name="end-state1"></end-state>
+
+
+</process-definition>
\ No newline at end of file

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/processimage.jpg
===================================================================
(Binary files differ)


Property changes on: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/jpdl/helloWorld/processimage.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/MyJMSListenerAction.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/MyJMSListenerAction.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/MyJMSListenerAction.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.wssecurityopensso;
+
+import javax.xml.namespace.QName;
+
+import org.jboss.soa.esb.actions.AbstractActionLifecycle;
+import org.jboss.soa.esb.actions.ActionProcessingDetailFaultException;
+import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.message.Message;
+
+import java.io.FilePermission;
+import java.security.AccessControlContext;
+import java.security.AccessController;
+import java.security.CodeSource;
+import java.security.Permissions;
+import java.security.PermissionCollection;
+import java.security.Policy;
+import javax.security.auth.Subject;
+
+public class MyJMSListenerAction extends AbstractActionLifecycle
+{
+    protected ConfigTree _config;
+    
+    public MyJMSListenerAction(ConfigTree config)
+    {
+        _config = config;
+    }
+    
+    public Message displayMessage(Message message) throws Exception
+    {
+        final String request = (String)message.getBody().get() ;
+        if (request.contains("Error")) {
+            final String detail = "<say:sayFault xmlns:say=\"http://www.jboss.org/sayHi\"><say:code>" +
+                "myErrorCode" + "</say:code><say:faultString>" + "myDescription" +
+                "</say:faultString></say:sayFault>" ;
+            throw new ActionProcessingDetailFaultException(new QName("http://www.jboss.org/sayHi", "myErrorCode"), "myDescription", detail) ;
+        }
+        
+        System.out.println("Received request: " + request) ;
+  	System.out.println("Subject in MyJMSListenerAction : " + Subject.getSubject(AccessController.getContext()));
+        final String responseMsg = "<say:sayHiResponse xmlns:say=\"http://www.jboss.org/sayHi\"><say:arg0>" +
+            "Response from ESB Service" + "</say:arg0></say:sayHiResponse>" ;
+        message.getBody().add(responseMsg);
+        return message;
+    }
+}

Added: labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/test/SOAPTest.java
===================================================================
--- labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/test/SOAPTest.java	                        (rev 0)
+++ labs/jbossesb/workspace/jdelong/wssecurity/wssecurity_opensso/src/org/jboss/soa/esb/samples/quickstart/wssecurityopensso/test/SOAPTest.java	2008-09-05 05:14:11 UTC (rev 22426)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated 
+ * by the @authors tag. All rights reserved. 
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors. 
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A 
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA  02110-1301, USA.
+ * 
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+package org.jboss.soa.esb.samples.quickstart.wssecurityopensso.test;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.methods.StringRequestEntity;
+import org.jboss.internal.soa.esb.util.StreamUtils;
+import org.jboss.soa.esb.ConfigurationException;
+
+public class SOAPTest  {
+
+	public static void main(String args[]) throws ConfigurationException, UnsupportedEncodingException {
+ 
+		final String soap = StreamUtils.getResourceAsString(args[0], "UTF-8");
+		HttpClient client = new HttpClient();
+		PostMethod postMethod = new PostMethod(
+				"http://127.0.0.1:8080/Quickstart_wssecurity_opensso/ESBServiceSample/HelloWorldPubServiceProcess?wsdl");
+
+		StringRequestEntity requestEntity = new StringRequestEntity(soap);
+		postMethod.setRequestEntity(requestEntity);
+		try {
+			client.executeMethod(postMethod);
+			System.out.println("Response from web service");
+			System.out.println(postMethod.getResponseBodyAsString());
+		} catch (HttpException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		System.exit(0);
+
+	}
+
+}




More information about the jboss-svn-commits mailing list