我想使用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>
答案 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