WSO2 IS 5.7 editUserStore与Soap Web服务不起作用

时间:2019-01-09 16:35:12

标签: web-services wso2 wso2is

我想使用wso2提供的soap web服务使用spring boot web服务来编辑用户存储。但是无法在wso2中编辑用户存储。当前,我正在使用WSO2 IS 5.7

这是我遇到的错误

<soapenv:Reason><soapenv:Text xml:lang="en-US">UniqueID property is not provided.</soapenv:Text></soapenv:Reason>

这是我发送的用于编辑用户商店的肥皂请求

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://org.apache.axis2/xsd" xmlns:xsd1="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd">
<soap:Header/>
<soap:Body>
  <xsd:editUserStore>
        <xsd:userStoreDTO>
            <xsd1:className>##LDAP_CLASS##</xsd1:className>
            <xsd1:description>##DESCRIPTION##</xsd1:description>
            <xsd1:disabled>false</xsd1:disabled>
            <xsd1:domainId>##DOMAIN_NAME##</xsd1:domainId>
            <xsd1:properties>
                <xsd1:name>ConnectionName</xsd1:name>
                <xsd1:value>##CONNECTION_NAME##</xsd1:value>
            </xsd1:properties>
            <xsd1:properties>
                <xsd1:name>ConnectionURL</xsd1:name>
                <xsd1:value>##CONNECTION_URL##</xsd1:value>
            </xsd1:properties>
            <xsd1:properties>
                <xsd1:name>ConnectionPassword</xsd1:name>
                <xsd1:value>##PASSWORD##</xsd1:value>
            </xsd1:properties>
            <xsd1:properties>
                <xsd1:name>UserSearchBase</xsd1:name>
                <xsd1:value>##USER_SEARCH_BASE##</xsd1:value>
            </xsd1:properties>
            <xsd1:properties>
                <xsd1:name>UserEntryObjectClass</xsd1:name>
                <xsd1:value>##USER_ENTRY_OBJECT_CLASS##</xsd1:value>
            </xsd1:properties>
            <xsd1:properties>
                <xsd1:name>GroupEntryObjectClass</xsd1:name>
                <xsd1:value>##GROUP_ENTRY_OBJECT_CLASS##</xsd1:value>
            </xsd1:properties>
            <xsd1:properties>
                <xsd1:name>UserNameAttribute</xsd1:name>
                <xsd1:value>##USER_NAME_ATTRIBUTE##</xsd1:value>
            </xsd1:properties>
            <xsd1:properties>
                <xsd1:name>UserNameSearchFilter</xsd1:name>
                <xsd1:value>##USER_NAME_SEARCH_FILTER##</xsd1:value>
            </xsd1:properties>
            <xsd1:properties>
                <xsd1:name>UserNameListFilter</xsd1:name>
                <xsd1:value>##USER_NAME_LIST_FILTER##</xsd1:value>
            </xsd1:properties>
        </xsd:userStoreDTO>
         </xsd:editUserStore>

1 个答案:

答案 0 :(得分:1)

如错误所述,您没有在UniqueID请求中发送editUserStore属性。

要为每个用户商店检索UniqueID,可以使用以下请求。这将列出所有用户存储及其属性,您可以为每个用户存储找到UniqueID

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://org.apache.axis2/xsd">
   <soap:Header/>
   <soap:Body>
      <xsd:getSecondaryRealmConfigurations/>
   </soap:Body>
</soap:Envelope>

然后,可以通过如下向UniqueID请求中添加editUserStore属性来避免此错误。

    <xsd1:properties>
        <xsd1:name>UniqueID</xsd1:name>
        <xsd1:value>751d3a55-5eb3-462b-ad6a-c93fcc444927</xsd1:value>
    </xsd1:properties>

PS:这些管理服务位于UserStoreConfigAdminService