WSO2 从 java 客户端上传策略到 WSO2 IS PDP 时出错

WSO2 getting error while uploading policy to WSO2 IS PDP from java client

我正在尝试从 java 客户端创建 XACML 策略并将其上传到 wso2 IS。一切正常,政策也在 WSO2 IS 中更新,但是当我尝试从 java 客户端将创建的政策发布到 WSO2 PDP 时上传政策后,它给了我这样的错误:

org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method publishToPDP at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531) at org.apache.axis2.description.RobustOutOnlyAxisOperation$RobustOutOnlyOperationClient.handleResponse(RobustOutOnlyAxisOperation.java:91) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421) at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165) at org.wso2.carbon.identity.entitlement.stub.EntitlementPolicyAdminServiceStub.publishToPDP(EntitlementPolicyAdminServiceStub.java:4651) at org.xacmlinfo.xacml.pap.is.PolicyAdminClient.main(PolicyAdminClient.java:177)

我尝试了很多方法来解决这个问题,但是在进行了大量的互联网搜索之后,我仍然找不到问题的解决方案。 我也为 "admin service” webservice and made "<HideAdminServiceWSDLs>false</HideAdminServiceWSDLs>" 更改了 WSO2 IS 的 carbon.xml 文件,但它仍然无法正常工作。

我假设您正在使用 here 中提到的 java 客户端。您需要使用 IS 5.0.0 的更新客户端。请再看一遍上面的博客post。 IS 5.0.0 中有一些 API 更改,因此较旧的客户端可能无法正常工作。此外,您可能需要应用博客 post 中提到的一些修复来完成策略重新排序。但是,通常当您将策略添加到 WSO2IS 时,您可以直接添加到 PAP 和 PDP(作为启用的策略)。因此你不需要为它制作两个 class 。我希望你能在 java 客户端中找到更多详细信息。