WSO2 IS 5.1.0 - 使用Soap更新服务提供程序时出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WSO2 IS 5.1.0 - 使用Soap更新服务提供程序时出错相关的知识,希望对你有一定的参考价值。

在更新服务提供者的权限时,有时叶子节点不会被删除。

例如,

服务提供商中存在以下权限,

BILL/ADD
BILL/REMOVE
REPORT/ADD
REPORT/REMOVE

仅在以下权限的更新,

REPORT/ADD
REPORT/REMOVE

SOAP调用示例:

终点:

服务/ IdentityApplicationManagementService.IdentityApplicationManagementServiceHttpsSoap11Endpoint /

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://org.apache.axis2/xsd" xmlns:xsd1="http://model.common.application.identity.carbon.wso2.org/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <xsd:updateApplication>
         <xsd:serviceProvider>
            <xsd1:applicationID>1</xsd1:applicationID>
            <xsd1:applicationName>SP1</xsd1:applicationName>
            <xsd1:permissionAndRoleConfig>
               <xsd1:permissions>
                  <xsd1:value>REPORT/ADD</xsd1:value>
               </xsd1:permissions>
               <xsd1:permissions>
                  <xsd1:value>REPORT/REMOVE</xsd1:value>
               </xsd1:permissions>
            </xsd1:permissionAndRoleConfig>
            <xsd1:inboundProvisioningConfig>
            </xsd1:inboundProvisioningConfig>
            <xsd1:outboundProvisioningConfig>
            </xsd1:outboundProvisioningConfig>
         </xsd:serviceProvider>
      </xsd:updateApplication>
   </soapenv:Body>
</soapenv:Envelope>

BILL / ADD&BILL / REMOVE已被删除。但成功更新后,“BILL”仍存在于权限列表中。

更新后:

BILL
REPORT/ADD
REPORT/REMOVE

有时,添加/删除多个权限会折叠其他权限节点

答案

在应用程序中添加/删除资源而不是更新应用程序将解决问题。

例如,对于应用样本,

SOAP API URL:

/services/resource admin service.resource admin service HTTPS SOAP12endpoint/

添加资源:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.resource.registry.carbon.wso2.org">
   <soap:Header/>
   <soap:Body>
      <ser:addCollection>
         <!--Optional:-->
         <ser:parentPath>/_system/governance/permission/applications/sample/REPORT</ser:parentPath>
         <!--Optional:-->
         <ser:collectionName>CREATE</ser:collectionName>
         <!--Optional:-->
         <ser:mediaType>?</ser:mediaType>
         <!--Optional:-->
         <ser:description>?</ser:description>
      </ser:addCollection>
   </soap:Body>
</soap:Envelope>

删除资源:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.resource.registry.carbon.wso2.org">
   <soap:Header/>
   <soap:Body>
      <ser:delete>
         <!--Optional:-->
         <ser:pathToDelete>/_system/governance/permission/applications/sample/BILL</ser:pathToDelete>
      </ser:delete>
   </soap:Body>
</soap:Envelope>

以上是关于WSO2 IS 5.1.0 - 使用Soap更新服务提供程序时出错的主要内容,如果未能解决你的问题,请参考以下文章

WSO2 IS 5.1.0 SAML 断言中的空 SignatureValue 和 DigestValue

带有 wso2 IS 的 Spring Security SAML

WSO2 DataMapper 将 XML 转换为 SOAP 时出错

WSO2:wso2中的xml到json数据映射esb:json消息包含在soap信封中

WSO2 ESB调用SOAP端点无法执行操作

在wso2上抛出异常