Finding the replacement of the SOAP APIs for WSO2 identity server for 6.0.0 version in that Self Sign-Up and Challenge Questions API are not working

Viewed 32

As part of WSO2 identity server 6.0.0, SOAP APIs are deprecated and recommended to use REST-based APIs. We are using RemoteUserStoreManagerService.wsdl and UserIdentityManagementAdminService.wsdl SOAP APIs in our project, want to replace the SOAP APIs with recommended REST APIs. Can you help us to find the list of REST APIs to replace RemoteUserStoreManagerService.wsdl and UserIdentityManagementAdminService.wsdl SOAP APIs. The APIs document is not clear.

1.Under Self Sign-Up API https://is.docs.wso2.com/en/6.0.0/apis/restapis/self-sign-up.yaml we are using /pi-info and /pi-info/{userId} . For pi-info/{userId} when we are hitting the API with the UserId we are getting response as success but it is not fetching user information we are getting 1 as response, and in /pi-info when we are hitting the API by passing user name we are getting error as 501 not implemented. Can you please explain what is causing this error.

2.Under Challenge Questions API https://is.docs.wso2.com/en/6.0.0/apis/restapis/challenge.yaml we are calling/{user-id}/challenges and /{user-id}/challenge-answers GET APIs with user-id and we are getting response as No message body writer has been found for class java.util.ArrayList, ContentType: / , 500 Internal error. Can you please suggest what is going wrong here what is causing this error.

1 Answers

As mentioned in https://github.com/wso2/product-is/issues/10720, /pi-info?username= API is not implemented. Therefore returning 501 is expected. https://github.com/wso2/product-is/issues/10720 issue will track the documentation updates.

In order to use the /pi-info/{userId} API, you have to use the base64 encoded username as the userId here (not the UUID generated as the user id for the user) Refer to the docs: https://is.docs.wso2.com/en/latest/apis/use-the-self-sign-up-rest-apis/#/User%20Export/getUserById

userId param description has:

Unique Identifier of user. First encode the user's username using the Base64 Encoder. Then encode the Base64 Encoded username using the URL Encoder. Use the result you get as the user ID.

You have to pass 'Accept: application/json' header in the REST API request. Similar question: GET ChallengeQuestion API in version 6.0 is not working

Related