publishToPDP。发送SOAP请求时发生异常

时间:2014-04-15 11:42:34

标签: wso2is

我已成功向PAP添加了一项政策。 enter image description here

我现在尝试使用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

2 个答案:

答案 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的所有元素:

&#13;
&#13;
<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;
&#13;
&#13;