2012-08-13 26 views

Odpowiedz

6

Yes.This metoda API został wprowadzony do magazynu użytkownika API, aby uzyskać nazwy użytkowników związane z atrybutem konkretnego użytkownika. powiedzmy, że chcesz uzyskać użytkowników, których "wartość kraju" ma wartość atrybutu "USA". wtedy możesz użyć tej metody w następujący sposób.

getUserList("http://wso2.org/claims/country", "USA", null);

Można znaleźć tę metodę jako usługa Web API w RemoteUserStoreManagerService z WSO2IS. Wygląda na to, że Twój komunikat SOAP wygląda na podobny.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.ws.um.carbon.wso2.org"> <soapenv:Header/> <soapenv:Body> <ser:getUserList> <ser:claimUri>http://wso2.org/claims/country</ser:claimUri> <ser:claimValue>USA</ser:claimValue> <ser:profile></ser:profile> </ser:getUserList> </soapenv:Body> </soapenv:Envelope>

Tutaj to twierdzenie uri jest nazwą rodzajową, która jest niezależna od sklepu użytkownika. Dzięki serwerowi tożsamości WSO2 możesz odwzorować te roszczenia uri na dowolny atrybut w swoim sklepie użytkownika. Więcej szczegółów od here

+1

Dziękuję za szybką odpowiedź, ale nie widzę takiej metody w pliku org.wso2.carbon.user.core.UserStoreManager.class. Czy powinienem skorzystać z innej klasy? –

+1

W powyższej klasie możesz go znaleźć jako getUserList ("http://wso2.org/claims/country", "USA", "default"). Tutaj trzeci parametr to profil. Domyślnie byłby to profil "domyślny". przepraszam, właściwie tęsknię za nazwą metody ...:) ... – Asela

+0

Próbowałem tego, ale za każdym razem otrzymuję pusty ciąg []. –