通过Wso2 EntitlementPolicyAdminService发布策略

时间:2017-11-15 12:35:02

标签: soap wso2is wso2carbon policies

所以我试图在wso2的PDP中添加一些策略。我确实设法使用此代码添加策略

 public function addPolicy($policy, $policyId = '')
    {
        $this->soapClient->__soapCall(
            'addPolicy',
            [
                'parameters' => [
                    'policyDTO' => [
                        'policyId' => $policyId,
                        'policy' => $policy
                        ]
                    ]
            ]
        );
    }

然后我想发布我刚刚使用此代码添加到PDP的策略

public function publishPolicy($policyId)
    {
        $this->soapClient->__soapCall(
            'publishToPDP',
            [
                'parameters' => [
                    'verificationCode' => $policyId,
                    'enabled' => true,
                    'order' => 1
                ]
            ]
        );
    }

但是该政策未发布到PDP。服务器似乎收到请求但什么都不做。难道我做错了什么?该请求应如何形成?

我也尝试了publishPolicies SoapCall,但没有运气......

1 个答案:

答案 0 :(得分:0)

似乎publishToPDP并非真正活跃。实际工作的是使用addPolicypromote等其他属性。

这是一个如何为我工作的例子

$this->soapClient->__soapCall(
            'addPolicy',
            [
                'parameters' => [
                    'policyDTO' => [
                        'policyId' => $policyId,
                        'policy' => $policy,
                        'version' => $version,
                        'policyOrder' => $policyOrder,
                        'active' =>  true,
                        'promote' => true
                        ]
                    ]
            ]
        );

使用这些属性,政策将被添加并发布到PDP。