【问题标题】:WSO2 IS 5.1.0 - Error while updating Service Provider using SoapWSO2 IS 5.1.0 - 使用 Soap 更新服务提供者时出错
【发布时间】:2018-09-17 15:21:08
【问题描述】:

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

例如,

Service Provider 中存在以下权限,

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

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

【问题讨论】:

    标签: wso2 wso2is wso2carbon


    【解决方案1】:

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

    例如应用示例,

    SOAP API 网址:

    /services/ResourceAdminService.ResourceAdminServiceHttpsSoap12Endpoint/

    添加资源:

    <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>
    

    【讨论】:

      猜你喜欢
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 2016-12-08
      相关资源
      最近更新 更多