Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

401 Unauthorized exception marked as JsonParsingException #563

Closed
Ayush1gupta opened this issue Apr 24, 2023 · 1 comment · Fixed by #579
Closed

401 Unauthorized exception marked as JsonParsingException #563

Ayush1gupta opened this issue Apr 24, 2023 · 1 comment · Fixed by #579

Comments

@Ayush1gupta
Copy link

Java API client version

8.5.2

Java version

11

Elasticsearch Version

8.5.2

Problem description

When indexing a document the api, 401 unauthorized exception is marked as JsonParsingException which hides the actual error.

Error message
Caused by: jakarta.json.stream.JsonParsingException: Jackson exception: Unexpected character ('<' (code 60)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')

Steps to reproduce.
Setup a client with wrong password and index a document.

Full stack trace
Caused by: jakarta.json.stream.JsonParsingException: Jackson exception: Unexpected character ('<' (code 60)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false') at [Source: (ByteArrayInputStream); line: 1, column: 2] at co.elastic.clients.json.jackson.JacksonJsonpParser.convertException(JacksonJsonpParser.java:84) ~[elasticsearch-java-8.5.2.jar:?] at co.elastic.clients.json.jackson.JacksonJsonpParser.fetchNextToken(JacksonJsonpParser.java:91) ~[elasticsearch-java-8.5.2.jar:?] at co.elastic.clients.json.jackson.JacksonJsonpParser.next(JacksonJsonpParser.java:118) ~[elasticsearch-java-8.5.2.jar:?] at co.elastic.clients.json.JsonpDeserializer.deserialize(JsonpDeserializer.java:70) ~[elasticsearch-java-8.5.2.jar:?] at co.elastic.clients.json.ObjectBuilderDeserializer.deserialize(ObjectBuilderDeserializer.java:79) ~[elasticsearch-java-8.5.2.jar:?] at co.elastic.clients.json.DelegatingDeserializer$SameType.deserialize(DelegatingDeserializer.java:43) ~[elasticsearch-java-8.5.2.jar:?] at co.elastic.clients.transport.rest_client.RestClientTransport.getHighLevelResponse(RestClientTransport.java:280) ~[elasticsearch-java-8.5.2.jar:?] at co.elastic.clients.transport.rest_client.RestClientTransport.performRequest(RestClientTransport.java:148) ~[elasticsearch-java-8.5.2.jar:?] at co.elastic.clients.elasticsearch.ElasticsearchClient.index(ElasticsearchClient.java:962) ~[elasticsearch-java-8.5.2.jar:?]

@swallez
Copy link
Member

swallez commented May 23, 2023

The parsing error indicates that the response is most probably XML. Is it produced by an intermediate authenticating proxy?

#579 fixes exception parsing so that this situation will result in a TransportException that wraps a lower level ResponseException that contains the full http response.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants