0

所以我正在尝试向 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。服务器似乎收到了请求,但什么也不做。难道我做错了什么?这个请求应该如何形成?

我也尝试过publishPoliciesSoapCall 但没有运气......

4

1 回答 1

0

似乎publishToPDP不是很活跃。实际起作用的是使用addPolicy带有一些附加属性的promote.

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

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

使用这些属性添加策略并将其发布到 PDP。

于 2017-11-16T16:17:32.517 回答