# Example usage of GetSourceRequest

**URL:** https://discuss.elastic.co/t/example-usage-of-getsourcerequest/351923
**Category:** Elasticsearch
**Tags:** language-clients
**Created:** [January 28, 2024, 12:59am UTC](https://discuss.elastic.co/t/example-usage-of-getsourcerequest/351923 "2024-01-28T00:59:34Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Tony\_Clarke](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tony_clarke/32/122336_2.png) [@Tony\_Clarke](https://discuss.elastic.co/u/Tony_Clarke)
#### Post date: [January 28, 2024, 12:59am UTC](https://discuss.elastic.co/t/example-usage-of-getsourcerequest/351923/1 "2024-01-28T00:59:34Z")

</div>

Trying to use ElasticsearchClient to get the source of a document. No problem getting the document but when I use GetSourceRequest as below it results in an error during deserialization. I couldn't find any unit tests or examples. Any suggetions?

```auto
GetSourceRequest getRequest = new GetSourceRequest.Builder().index(indexName).id(id).build();
GetSourceResponse<ObjectNode> getResponse = elasticsearchClient.getSource(getRequest, ObjectNode.class);

```

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [January 28, 2024, 8:52am UTC](https://discuss.elastic.co/t/example-usage-of-getsourcerequest/351923/2 "2024-01-28T08:52:19Z")

</div>

Welcome!

What's the full stacktrace?

---

<div class="post-metadata">

### Author: ![Tony\_Clarke](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tony_clarke/32/122336_2.png) [@Tony\_Clarke](https://discuss.elastic.co/u/Tony_Clarke)
#### Post date: [January 28, 2024, 4:44pm UTC](https://discuss.elastic.co/t/example-usage-of-getsourcerequest/351923/4 "2024-01-28T16:44:39Z")

</div>

Java client version is 8.8.2

Stack trace is

```auto
deserialize:113, JsonpDeserializer$1 (co.elastic.clients.json)
deserialize:73, NamedDeserializer (co.elastic.clients.json)
lambda$createGetSourceResponseDeserializer$0:165, GetSourceResponse (co.elastic.clients.elasticsearch.core)
apply:-1, GetSourceResponse$$Lambda$1147/0x000000080120c9c8 (co.elastic.clients.elasticsearch.core)
deserialize:136, JsonpDeserializer$3 (co.elastic.clients.json)
deserialize:77, JsonpDeserializer (co.elastic.clients.json)
deserialize:43, DelegatingDeserializer$SameType (co.elastic.clients.json)
deserialize:56, EndpointWithResponseMapperAttr$1 (co.elastic.clients.transport.endpoints)
decodeResponse:384, RestClientTransport (co.elastic.clients.transport.rest_client)
getHighLevelResponse:353, RestClientTransport (co.elastic.clients.transport.rest_client)
performRequest:155, RestClientTransport (co.elastic.clients.transport.rest_client)
getSource:1005, ElasticsearchClient (co.elastic.clients.elasticsearch)
getSourceById:243, ElasticProviderV2 (com.amdocs.msbase.persistence.elastic.implementation)
whenPerformingSourceById_givenSpecificId_thenReturnOneResult:113, ElasticProviderRealTest (com.amdocs.msbase.persistence.elastic.test.real)
invoke0:-1, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:77, NativeMethodAccessorImpl (jdk.internal.reflect)
invoke:43, DelegatingMethodAccessorImpl (jdk.internal.reflect)
invoke:568, Method (java.lang.reflect)
invokeMethod:727, ReflectionUtils (org.junit.platform.commons.util)
proceed:60, MethodInvocation (org.junit.jupiter.engine.execution)
proceed:131, InvocationInterceptorChain$ValidatingInvocation (org.junit.jupiter.engine.execution)
intercept:156, TimeoutExtension (org.junit.jupiter.engine.extension)
interceptTestableMethod:147, TimeoutExtension (org.junit.jupiter.engine.extension)
interceptTestMethod:86, TimeoutExtension (org.junit.jupiter.engine.extension)
apply:-1, TestMethodTestDescriptor$$Lambda$167/0x0000000800c879a8 (org.junit.jupiter.engine.descriptor)
lambda$ofVoidMethod$0:103, InterceptingExecutableInvoker$ReflectiveInterceptorCall (org.junit.jupiter.engine.execution)
apply:-1, InterceptingExecutableInvoker$ReflectiveInterceptorCall$$Lambda$168/0x0000000800c87dc8 (org.junit.jupiter.engine.execution)
lambda$invoke$0:93, InterceptingExecutableInvoker (org.junit.jupiter.engine.execution)
apply:-1, InterceptingExecutableInvoker$$Lambda$332/0x0000000800cb68a0 (org.junit.jupiter.engine.execution)
proceed:106, InvocationInterceptorChain$InterceptedInvocation (org.junit.jupiter.engine.execution)
proceed:64, InvocationInterceptorChain (org.junit.jupiter.engine.execution)
chainAndInvoke:45, InvocationInterceptorChain (org.junit.jupiter.engine.execution)
invoke:37, InvocationInterceptorChain (org.junit.jupiter.engine.execution)
invoke:92, InterceptingExecutableInvoker (org.junit.jupiter.engine.execution)
invoke:86, InterceptingExecutableInvoker (org.junit.jupiter.engine.execution)
lambda$invokeTestMethod$7:217, TestMethodTestDescriptor (org.junit.jupiter.engine.descriptor)
execute:-1, TestMethodTestDescriptor$$Lambda$1138/0x0000000801207c20 (org.junit.jupiter.engine.descriptor)
execute:73, ThrowableCollector (org.junit.platform.engine.support.hierarchical)
invokeTestMethod:213, TestMethodTestDescriptor (org.junit.jupiter.engine.descriptor)
execute:138, TestMethodTestDescriptor (org.junit.jupiter.engine.descriptor)
execute:68, TestMethodTestDescriptor (org.junit.jupiter.engine.descriptor)
lambda$executeRecursively$6:151, NodeTestTask (org.junit.platform.engine.support.hierarchical)
execute:-1, NodeTestTask$$Lambda$272/0x0000000800ca56e0 (org.junit.platform.engine.support.hierarchical)
execute:73, ThrowableCollector (org.junit.platform.engine.support.hierarchical)
lambda$executeRecursively$8:141, NodeTestTask (org.junit.platform.engine.support.hierarchical)
invoke:-1, NodeTestTask$$Lambda$271/0x0000000800ca54b8 (org.junit.platform.engine.support.hierarchical)
around:137, Node (org.junit.platform.engine.support.hierarchical)
lambda$executeRecursively$9:139, NodeTestTask (org.junit.platform.engine.support.hierarchical)
execute:-1, NodeTestTask$$Lambda$270/0x0000000800ca5090 (org.junit.platform.engine.support.hierarchical)
execute:73, ThrowableCollector (org.junit.platform.engine.support.hierarchical)
executeRecursively:138, NodeTestTask (org.junit.platform.engine.support.hierarchical)
execute:95, NodeTestTask (org.junit.platform.engine.support.hierarchical)
accept:-1, SameThreadHierarchicalTestExecutorService$$Lambda$276/0x0000000800ca61f8 (org.junit.platform.engine.support.hierarchical)
forEach:1511, ArrayList (java.util)
invokeAll:41, SameThreadHierarchicalTestExecutorService (org.junit.platform.engine.support.hierarchical)
lambda$executeRecursively$6:155, NodeTestTask (org.junit.platform.engine.support.hierarchical)
execute:-1, NodeTestTask$$Lambda$272/0x0000000800ca56e0 (org.junit.platform.engine.support.hierarchical)
execute:73, ThrowableCollector (org.junit.platform.engine.support.hierarchical)
lambda$executeRecursively$8:141, NodeTestTask (org.junit.platform.engine.support.hierarchical)
invoke:-1, NodeTestTask$$Lambda$271/0x0000000800ca54b8 (org.junit.platform.engine.support.hierarchical)
around:137, Node (org.junit.platform.engine.support.hierarchical)
lambda$executeRecursively$9:139, NodeTestTask (org.junit.platform.engine.support.hierarchical)
execute:-1, NodeTestTask$$Lambda$270/0x0000000800ca5090 (org.junit.platform.engine.support.hierarchical)
execute:73, ThrowableCollector (org.junit.platform.engine.support.hierarchical)
executeRecursively:138, NodeTestTask (org.junit.platform.engine.support.hierarchical)
execute:95, NodeTestTask (org.junit.platform.engine.support.hierarchical)
accept:-1, SameThreadHierarchicalTestExecutorService$$Lambda$276/0x0000000800ca61f8 (org.junit.platform.engine.support.hierarchical)
forEach:1511, ArrayList (java.util)
invokeAll:41, SameThreadHierarchicalTestExecutorService (org.junit.platform.engine.support.hierarchical)
lambda$executeRecursively$6:155, NodeTestTask (org.junit.platform.engine.support.hierarchical)
execute:-1, NodeTestTask$$Lambda$272/0x0000000800ca56e0 (org.junit.platform.engine.support.hierarchical)
execute:73, ThrowableCollector (org.junit.platform.engine.support.hierarchical)
lambda$executeRecursively$8:141, NodeTestTask (org.junit.platform.engine.support.hierarchical)
invoke:-1, NodeTestTask$$Lambda$271/0x0000000800ca54b8 (org.junit.platform.engine.support.hierarchical)
around:137, Node (org.junit.platform.engine.support.hierarchical)
lambda$executeRecursively$9:139, NodeTestTask (org.junit.platform.engine.support.hierarchical)
execute:-1, NodeTestTask$$Lambda$270/0x0000000800ca5090 (org.junit.platform.engine.support.hierarchical)
execute:73, ThrowableCollector (org.junit.platform.engine.support.hierarchical)
executeRecursively:138, NodeTestTask (org.junit.platform.engine.support.hierarchical)
execute:95, NodeTestTask (org.junit.platform.engine.support.hierarchical)
submit:35, SameThreadHierarchicalTestExecutorService (org.junit.platform.engine.support.hierarchical)
execute:57, HierarchicalTestExecutor (org.junit.platform.engine.support.hierarchical)
execute:54, HierarchicalTestEngine (org.junit.platform.engine.support.hierarchical)
execute:147, EngineExecutionOrchestrator (org.junit.platform.launcher.core)
execute:127, EngineExecutionOrchestrator (org.junit.platform.launcher.core)
execute:90, EngineExecutionOrchestrator (org.junit.platform.launcher.core)
lambda$execute$0:55, EngineExecutionOrchestrator (org.junit.platform.launcher.core)
accept:-1, EngineExecutionOrchestrator$$Lambda$212/0x0000000800c8d8f0 (org.junit.platform.launcher.core)
withInterceptedStreams:102, EngineExecutionOrchestrator (org.junit.platform.launcher.core)
execute:54, EngineExecutionOrchestrator (org.junit.platform.launcher.core)
execute:114, DefaultLauncher (org.junit.platform.launcher.core)
execute:86, DefaultLauncher (org.junit.platform.launcher.core)
execute:86, DefaultLauncherSession$DelegatingLauncher (org.junit.platform.launcher.core)
execute:53, SessionPerRequestLauncher (org.junit.platform.launcher.core)
startRunnerWithArgs:57, JUnit5IdeaTestRunner (com.intellij.junit5)
execute:38, IdeaTestRunner$Repeater$1 (com.intellij.rt.junit)
repeat:11, TestsRepeater (com.intellij.rt.execution.junit)
startRunnerWithArgs:35, IdeaTestRunner$Repeater (com.intellij.rt.junit)
prepareStreamsAndStart:232, JUnitStarter (com.intellij.rt.junit)
main:55, JUnitStarter (com.intellij.rt.junit)

```

UnsuppportedOperationException was thrown from co.elastic.clients.json.JsonpDeserializer

```auto
    /**
     * Creates a deserializer for a type that delegates to the mapper provided to
     * {@link #deserialize(JsonParser, JsonpMapper)}.
     */
    static <T>JsonpDeserializer<T> of(Type type) {
        return new JsonpDeserializerBase<T>(EnumSet.allOf(JsonParser.Event.class)) {
            @Override
            public T deserialize(JsonParser parser, JsonpMapper mapper) {
                return mapper.deserialize(parser, type);
            }

            @Override
            public T deserialize(JsonParser parser, JsonpMapper mapper, JsonParser.Event event) {
                throw new UnsupportedOperationException();
            }
        };
    }

```

I should note that when I tried to get the document using GetRequest.Builder() everything was fine. Following was ok

```auto
GetRequest getRequest = new GetRequest.Builder().index(indexName).id(id).build();
GetResponse<ObjectNode> getResponse = elasticsearchClient.get(getRequest, ObjectNode.class);

```

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [February 6, 2024, 9:39am UTC](https://discuss.elastic.co/t/example-usage-of-getsourcerequest/351923/5 "2024-02-06T09:39:37Z")

</div>

I can reproduce this. Let me check a bit more what is happening.

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [February 6, 2024, 12:39pm UTC](https://discuss.elastic.co/t/example-usage-of-getsourcerequest/351923/6 "2024-02-06T12:39:37Z")

</div>

I opened [GetSource API throws TransportException · Issue #741 · elastic/elasticsearch-java · GitHub](https://github.com/elastic/elasticsearch-java/issues/741)

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [March 5, 2024, 12:39pm UTC](https://discuss.elastic.co/t/example-usage-of-getsourcerequest/351923/7 "2024-03-05T12:39:53Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
