Index: org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSAuthorizationManager.java
===================================================================
--- org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSAuthorizationManager.java	(revision 85154)
+++ org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSAuthorizationManager.java	Sat Feb 19 20:38:59 IST 2011
@@ -39,11 +39,10 @@
     
     public WSAuthorizationManager(RealmConfiguration realmConfig,
 			WSRealm wsRealm) throws UserStoreException {
-		ConfigurationContext configCtxt = (ConfigurationContext) UserMgtWSAPIDSComponent
-        .getCcServiceInstance().getClientConfigContext();
+
 		try {
 			stub = new RemoteAuthorizationManagerServiceStub(
-					configCtxt,
+					wsRealm.getConfigurationContext(),
 					realmConfig
 							.getRealmProperty(WSRemoteUserMgtConstants.SERVER_URL)
 							+ "RemoteAuthorizationManagerService");
Index: org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSClaimManager.java
===================================================================
--- org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSClaimManager.java	(revision 85154)
+++ org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSClaimManager.java	Sat Feb 19 20:38:59 IST 2011
@@ -45,8 +45,7 @@
 				.getRealmProperty(WSRemoteUserMgtConstants.SERVER_URL);
 		String cookie = realmConfig
 				.getRealmProperty(WSRemoteUserMgtConstants.COOKIE_STRING);
-		ConfigurationContext configCtxt = (ConfigurationContext) UserMgtWSAPIDSComponent
-        .getCcServiceInstance().getClientConfigContext();
+		ConfigurationContext configCtxt = wsRealm.getConfigurationContext();
 		try {
 			stub = new RemoteClaimManagerServiceStub(configCtxt, url
 					+ "RemoteClaimManagerService");
Index: org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSProfileConfigurationManager.java
===================================================================
--- org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSProfileConfigurationManager.java	(revision 85154)
+++ org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSProfileConfigurationManager.java	Sat Feb 19 20:38:59 IST 2011
@@ -42,8 +42,7 @@
 			WSRealm wsRealm) throws UserStoreException {
 		String url = realmConfig
 				.getRealmProperty(WSRemoteUserMgtConstants.SERVER_URL);
-		ConfigurationContext configCtxt = (ConfigurationContext) UserMgtWSAPIDSComponent
-        .getCcServiceInstance().getClientConfigContext();
+		ConfigurationContext configCtxt = wsRealm.getConfigurationContext();
 		try {
 			stub = new RemoteProfileConfigurationManagerServiceStub(configCtxt,
 					url + "RemoteProfileConfigurationManagerService");
@@ -51,8 +50,7 @@
 			ServiceClient client = stub._getServiceClient();
 			Options option = client.getOptions();
 			option.setManageSession(true);
-			option
-					.setProperty(
+			option.setProperty(
 							org.apache.axis2.transport.http.HTTPConstants.COOKIE_STRING,
 							wsRealm.getSessionCookie());
 			if ("true".equals(realmConfig
Index: org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSRealm.java
===================================================================
--- org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSRealm.java	(revision 87714)
+++ org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSRealm.java	Sat Feb 19 20:38:59 IST 2011
@@ -37,7 +37,6 @@
 import org.wso2.carbon.user.core.claim.ClaimManager;
 import org.wso2.carbon.user.core.claim.ClaimMapping;
 import org.wso2.carbon.user.api.RealmConfiguration;
-import org.wso2.carbon.user.core.config.multitenancy.MultiTenantRealmConfigBuilder;
 import org.wso2.carbon.user.core.profile.ProfileConfiguration;
 import org.wso2.carbon.user.core.profile.ProfileConfigurationManager;
 
@@ -53,6 +52,7 @@
     private static String sessionCookie = null;
     private int tenantId = -1;
     private RemoteUserRealmServiceStub stub = null;
+    private ConfigurationContext configurationContext;
 
     public WSRealm() {
 
@@ -61,7 +61,7 @@
     public void init(RealmConfiguration configBean, Map<String, Object> properties, int tenantId)
             throws UserStoreException {
         this.realmConfig = configBean;
-
+        this.configurationContext = UserMgtWSAPIDSComponent.getCcServiceInstance().getClientConfigContext();
         if (sessionCookie == null) {
             synchronized (WSRealm.class) {
                 if (sessionCookie == null) {
@@ -77,10 +77,8 @@
         this.tenantId = tenantId;
 
         String url = realmConfig.getRealmProperty(WSRemoteUserMgtConstants.SERVER_URL);
-        ConfigurationContext configCtxt = (ConfigurationContext) UserMgtWSAPIDSComponent
-                .getCcServiceInstance().getClientConfigContext();
         try {
-            stub = new RemoteUserRealmServiceStub(configCtxt, url + "RemoteUserRealmService");
+            stub = new RemoteUserRealmServiceStub(configurationContext, url + "RemoteUserRealmService");
 
             ServiceClient client = stub._getServiceClient();
             Options option = client.getOptions();
@@ -90,7 +88,7 @@
             if ("true".equals(realmConfig
                     .getRealmProperty(WSRemoteUserMgtConstants.SINGLE_USER_AUTHENTICATION))) {
                 client.addStringHeader(new QName("http://wso2.org/ns/2010/03/carbon", "TenantId"),
-                                       Integer.toString(this.getTenantId()));
+                        Integer.toString(this.getTenantId()));
             }
         } catch (AxisFault e) {
             throw new UserStoreException();
@@ -114,7 +112,9 @@
      *
      * @param configBean
      */
-    public void init(RealmConfiguration configBean) throws UserStoreException {
+    public void init(RealmConfiguration configBean, ConfigurationContext configurationContext) throws UserStoreException {
+        this.realmConfig = configBean;
+        this.configurationContext = configurationContext;
         if (sessionCookie == null) {
             synchronized (WSRealm.class) {
                 if (sessionCookie == null) {
@@ -128,10 +128,8 @@
         }
 
         String url = realmConfig.getRealmProperty(WSRemoteUserMgtConstants.SERVER_URL);
-        ConfigurationContext configCtxt = (ConfigurationContext) UserMgtWSAPIDSComponent
-                .getCcServiceInstance().getClientConfigContext();
         try {
-            stub = new RemoteUserRealmServiceStub(configCtxt, url + "RemoteUserRealmService");
+            stub = new RemoteUserRealmServiceStub(configurationContext, url + "RemoteUserRealmService");
 
             ServiceClient client = stub._getServiceClient();
             Options option = client.getOptions();
@@ -183,11 +181,9 @@
         String userName = realmConfig.getRealmProperty(WSRemoteUserMgtConstants.USER_NAME);
         String password = realmConfig.getRealmProperty(WSRemoteUserMgtConstants.PASSWORD);
         try {
-            ConfigurationContext configContext = (ConfigurationContext) UserMgtWSAPIDSComponent
-                    .getCcServiceInstance().getClientConfigContext();
-            AuthenticationAdminClient client = new AuthenticationAdminClient(configContext,
+            AuthenticationAdminClient client = new AuthenticationAdminClient(configurationContext,
-                                                                             realmConfig.getRealmProperty(WSRemoteUserMgtConstants.SERVER_URL),
-                                                                             sessionCookie, null, false);
+                    realmConfig.getRealmProperty(WSRemoteUserMgtConstants.SERVER_URL),
+                    sessionCookie, null, false);
             boolean isLogin = client.login(userName, password, "127.0.0.1"); // TODO
             if (isLogin) {
                 sessionCookie = client.getAdminCookie();
@@ -207,4 +203,8 @@
     protected int getTenantId() {
         return tenantId;
     }
+
+    public ConfigurationContext getConfigurationContext() {
+        return configurationContext;
-}
+    }
+}
Index: org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSUserStoreManager.java
===================================================================
--- org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSUserStoreManager.java	(revision 86041)
+++ org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSUserStoreManager.java	Sat Feb 19 20:38:59 IST 2011
@@ -64,10 +64,9 @@
 			throws UserStoreException {
 		String url = realmConfig
 				.getRealmProperty(WSRemoteUserMgtConstants.SERVER_URL);
-		ConfigurationContext configCtxt = (ConfigurationContext) UserMgtWSAPIDSComponent
-        .getCcServiceInstance().getClientConfigContext();
+
 		try {
-			stub = new RemoteUserStoreManagerServiceStub(configCtxt, url
+			stub = new RemoteUserStoreManagerServiceStub(wsRealm.getConfigurationContext(), url
 					+ "RemoteUserStoreManagerService");
 
 			ServiceClient client = stub._getServiceClient();
Index: org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSRealmBuilder.java
===================================================================
--- org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSRealmBuilder.java	(revision 87714)
+++ org.wso2.carbon.um.ws.api/src/main/java/org/wso2/carbon/um/ws/api/WSRealmBuilder.java	Sat Feb 19 20:23:56 IST 2011
@@ -54,13 +54,13 @@
      * @param realmProperties
      * @return
      */
-    public static UserRealm createWSRealm(Map<String, String> realmProperties)
+    public static UserRealm createWSRealm(Map<String, String> realmProperties, ConfigurationContext configurationContext)
             throws UserStoreException {
         RealmConfiguration realmConfig = new RealmConfiguration();
         realmConfig.setRealmProperties(realmProperties);
         WSRealm realm = new WSRealm();
         try {
-            realm.init(realmConfig);
+            realm.init(realmConfig, configurationContext);
         } catch (UserStoreException e) {
             String errorMessage = "Cannot initialize the realm.";
             logger.error(errorMessage, e);
