我已成功向PAP添加了一项政策。
我现在尝试使用SOAP接口将其发布到PDP。 这是我的请求,但是我在尝试调用服务方法publishToPDP"时遇到500错误"异常; 我只是将最小参数设置为版本,订单和操作是可选的。
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://org.apache.axis2/xsd">
<soap:Header/>
<soap:Body>
<xsd:publishToPDP>
<!--Zero or more repetitions:-->
<xsd:policyIds>policy-3</xsd:policyIds>
</xsd:publishToPDP>
</soap:Body>
</soap:Envelope>
我曾尝试过和没有&#34;&#34;。同样的错误。
有人能帮帮我吗? 非常感谢您的支持
此致
VPL
答案 0 :(得分:1)
我打开wsoo2上的HTTP端口并运行客户端java示例http://xacmlinfo.org/2013/09/27/xacml-policy-administration/ 通过使用Wireshark嗅探网络跟踪,我能够检索我正在寻找的SOAP请求。 对于PublishToPDP,这里是有效的请求
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body>
<ns3:publishToPDP xmlns:ns3="http://org.apache.axis2/xsd">
<ns3:policyIds>policy-3</ns3:policyIds>
<ns3:version xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="1" />
<ns3:action>CREATE</ns3:action>
<ns3:order>0</ns3:order>
</ns3:publishToPDP>
</soapenv:Body>
</soapenv:Envelope>
我怀疑操作和/或顺序不是如界面中描述的那样可选......
此致 VPL
答案 1 :(得分:0)
你应该像这样设置API的所有元素:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://org.apache.axis2/xsd">
<soap:Header/>
<soap:Body>
<xsd:publishToPDP>
<xsd:policyIds>policy_1</xsd:policyIds>
<xsd:action>PUBLISH_POLICY</xsd:action>
<xsd:version>1</xsd:version>
<xsd:enabled>true</xsd:enabled>
<xsd:order>0</xsd:order>
</xsd:publishToPDP>
</soap:Body>
</soap:Envelope>
then it should return :
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body>
<ns:publishToPDPResponse xmlns:ns="http://org.apache.axis2/xsd">
<ns:return xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns:publishToPDPResponse>
</soapenv:Body>
</soapenv:Envelope>
&#13;