WSO2身份- XACML PIP扩展抛出org.apache.axis2.AxisFault:异常发生



由Java程序添加Java PIP扩展时,打包为.jar文件并使用权限。属性配置行:

PIP.AttributeDesignators.Designator.2=com.ibm.carbon.pip.RedAttributeFinder

服务器重新启动后,服务器抛出如下错误消息,并在Web Entitlement屏幕上可见:

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)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
... 

我对示例和源代码进行了回顾,尝试了几个,并使用了本文https://stackoverflow.com/questions/21521796/how-to-add-user-defined-attribute-in-pip-attribute-user-store上发布的最新示例代码。在所有的测试条件下,结果错误总是完全相同的,不管扩展添加了什么代码。

是否有一种技术可以调试PIP引擎上的内部错误消息,并找到抑制Axis服务的问题的根源错误?

状态更新:

然而,我在PIP扩展测试方面没有取得进展。定义的WSO2服务器无法获取和加载名为"RedAttributeFinder"的Java扩展类,该类按照http://xacmlinfo.org/2011/12/18/writing-jdbc-pip-module/上的说明注册。我们也不在服务器启动和日志中查看任何类装入器错误消息,只有上面描述的"AxisFault"错误消息。包名被修改为"com.red.carbon.pip"。

使用下列定义激活类:

PIP.AttributeDesignators.Designator.2=com.red.carbon.pip.RedAttributeFinder 

我们的代码将使用默认的"subjectid"作为输入参数,并创建一个包含六个字段的列表作为输出。是否需要定义字段,这些字段是在模式.xsd或.xml文件中添加并定义的,如果是,是否有可用的文档?在我们的测试中,我们没有使用XML的"数据源"定义,因为此时不需要使用数据库服务。

问题:要激活WSO2服务器上的配置并加载PIP扩展代码并使其对PDP扩展控制台显示可见,或者纠正"AxisFault"错误,需要哪些定义?

我已经将KmarketPIPAttributeFinder程序模块替换为svn源存储库(参见下面的链接)的最新版本,并对其进行了编译。这解决了WSO2 Identity Server Version 5下的问题,例程开始注册PIP属性,现在在PDP扩展中可见。

下载模块:https://svn.wso2.org/repos/wso2/carbon/platform/trunk/components/identity/org.wso2.carbon.identity.samples.entitlement.pip/src/main/java/org/wso2/carbon/identity/samples/entitlement/pip/KmarketPIPAttributeFinder.java

最新更新