Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

problems with Crowds Get User [GET] rest endpoint

Sven Orbitz January 7, 2021

When trying to request a user in groovy through the endpoint

{crowd host}/crowd/rest/usermanagement/1/user?username={username} via GET

i can't manage to get the endpoint working for me. Doing the same request using postman works though.

Documented here

Error Message:

{"message":"No content to map to Object due to end of input","status-code":500,"stack-trace":"java.io.EOFException: No content to map to Object due to end of input\n\tat org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2775)\n\tat org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2691)

Things i tried:

Adding a body containing:

{ "name": "{username}" }
//username or user are unrecognized fields

This body leaves me with:

{"reason":"ILLEGAL_ARGUMENT","message":"An unencrypted or encrypted password must be provided exclusively."}

When adding the password into the body like so

{ "name": "{username}", "password": "{password}" }

i get:

"message":"Can not instantiate value of type [simple type, class com.atlassian.crowd.plugin.rest.entity.PasswordEntity] from JSON String; no single-String constructor/factory method (through reference chain: com.atlassian.crowd.plugin.rest.entity.UserEntity[\"password\"])","status-code":500,"stack-trace":"org.codehaus.jackson.map.JsonMappingException: Can not instantiate value of type [simple type, class com.atlassian.crowd.plugin.rest.entity.PasswordEntity] 

 

But all of this is no where near what's documented in the link above. Changing around the header fields "Content-Type" and "Accept" also doesn't work. Thought it might be a xml/json problem.

 

But the same code with other parameters works on other endpoints fine.

I've experienced similar problems with Get direct groups

but i haven't tried as many things as on this endpoint.

 

P.S.: all the error messages are shortened. If you want the full error message I will post them too.

1 answer

1 accepted

1 vote
Answer accepted
Sven Orbitz January 8, 2021

Alright, so after some more trial and error i found out, that on get requests to those endpoints i shall not

connection.setDoOutput(true)

and

OutputStream outStream = connection.getOutputStream()
outStream.close()

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events