Просматривая документацию WSO2 и несколько блогов, я обнаружил три разных типа механизмов реестра для добавления новых утверждений в модуль Java PIP:
С помощью установочного файла с именем
entitlement.properties
и путем добавления статических свойств Java для каждой переменной, как описано в примере из руководства WSO2, см.: Написание пользовательской информационной точки политики;С помощью
supportedAttributesIds.add
, как описано в ссылке Как написать точку PIP для WSO2 IS;С помощью метода установки:
public Set getSupportedIds() { Set<String> ids = new HashSet<String>(); ids.add("http://kmarket.com/id/role"); return ids; }
как описано в сообщении Stackoverflow Как добавить пользовательский атрибут в хранилище атрибутов PIP
Укажите, какой из трех вариантов является обновленным и рекомендуемым решением для добавления новых полей, созданных при поиске внешних источников данных, выполняемых Balana PIP в качестве расширения класса «AttributeFinderModule».
Я также протестировал код, опубликованный в этом примере, и скомпилировал его с помощью Java 6 JDK, см. ссылку на источник Как добавить определяемый пользователем атрибут в пользовательское хранилище атрибутов PIP После перезапуска сервер WSO2 продолжает отображать следующую ошибку:
Error while loading entitlement policies. Exception occurred while trying to invoke service method getAllPolicies
The following error details are available. Please refer logs for more details.
org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method getAllPolicies
at org.wso2.carbon.identity.entitlement.ui.client.EntitlementPolicyAdminServiceClient.handleException(EntitlementPolicyAdminServiceClient.java:478)
at org.wso2.carbon.identity.entitlement.ui.client.EntitlementPolicyAdminServiceClient.getAllPolicies(EntitlementPolicyAdminServiceClient.java:81)
at org.apache.jsp.entitlement.index_jsp._jspService(org.apache.jsp.entitlement.index_jsp:183)
при добавлении расширенного расширения Java AttributeFinder. Это известная ошибка на сервере WSO2?