micronaut HttpResponse reading body text
Trying to capture the response.body() text which is actually xml.
@Get(uri="/testxml")
public String testxml() {
System.out.println("Reading Response body test");
HttpResponse response = streamClient.test();
CompositeByteBuf content = (CompositeByteBuf) response.body();
byte bytes = new byte[content.readableBytes()];
int readerIndex = content.readerIndex();
content.getBytes(readerIndex, bytes);
String read = new String(bytes).trim();
//System.out.println("RES"+ read);
return read;
}
I have the above code in this java micronaut application and again in this groovy application. and it appears when I hit the Java application http://localhost:8081/orders/testxml for the very first time I see:
<?xml version="1.0" encoding="utf-8"?><current_orders><order><name>a1</name><description>a1</description><price>12.2200000000000006394884621840901672840118408203125</price></order></current_orders>
but any additional attempts on the java results in
{"message":"Internal Server Error: refCnt: 0"}
and trace shows:
Reading Response body test
09:32:04.799 [nioEventLoopGroup-1-8] ERROR i.m.h.s.netty.RoutingInBoundHandler - Unexpected error occurred: refCnt: 0
io.netty.util.IllegalReferenceCountException: refCnt: 0
at io.netty.buffer.AbstractByteBuf.ensureAccessible(AbstractByteBuf.java:1446)
at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1376)
at io.netty.buffer.AbstractByteBuf.checkDstIndex(AbstractByteBuf.java:1401)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:854)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:44)
at io.netty.buffer.AbstractByteBuf.getBytes(AbstractByteBuf.java:487)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:1744)
at comparison.java.groovy.controller.OrdersController.testxml(OrdersController.java:71)
at comparison.java.groovy.controller.$OrdersControllerDefinition$$exec4.invokeInternal(Unknown Source)
at io.micronaut.context.AbstractExecutableMethod.invoke(AbstractExecutableMethod.java:145)
at io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.invoke(DefaultBeanContext.java:2401)
at io.micronaut.web.router.AbstractRouteMatch.execute(AbstractRouteMatch.java:237)
at io.micronaut.web.router.RouteMatch.execute(RouteMatch.java:123)
at io.micronaut.http.server.netty.RoutingInBoundHandler.lambda$buildResultEmitter$13(RoutingInBoundHandler.java:1255)
at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:71)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:37)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableSwitchIfEmpty.subscribeActual(FlowableSwitchIfEmpty.java:32)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.Flowable.subscribe(Flowable.java:14429)
at io.micronaut.http.context.ServerRequestTracingPublisher.lambda$subscribe$0(ServerRequestTracingPublisher.java:53)
at io.micronaut.http.context.ServerRequestContext.with(ServerRequestContext.java:53)
at io.micronaut.http.context.ServerRequestTracingPublisher.subscribe(ServerRequestTracingPublisher.java:53)
at io.reactivex.internal.operators.flowable.FlowableFromPublisher.subscribeActual(FlowableFromPublisher.java:29)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.Flowable.subscribe(Flowable.java:14426)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.run(ExecutorScheduler.java:260)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.run(ExecutorScheduler.java:225)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
The Groovy application doesn't appear to ever actually load anything up and upon further inspection I noticed that in Java the raw representation of:
byte bytes = new byte[content.readableBytes()];
System.out.println("Bytes = "+bytes);
Comes out something like [h87aa..
where as groovy version shows [00 11 00 ]
a long array of numbers.
Ultimately I am trying to send xml from 1 app and parse it on the other and perhaps there is a much much easier way. Currently stuck as to why this odd behaviour is happening
java groovy httpresponse micronaut
add a comment |
Trying to capture the response.body() text which is actually xml.
@Get(uri="/testxml")
public String testxml() {
System.out.println("Reading Response body test");
HttpResponse response = streamClient.test();
CompositeByteBuf content = (CompositeByteBuf) response.body();
byte bytes = new byte[content.readableBytes()];
int readerIndex = content.readerIndex();
content.getBytes(readerIndex, bytes);
String read = new String(bytes).trim();
//System.out.println("RES"+ read);
return read;
}
I have the above code in this java micronaut application and again in this groovy application. and it appears when I hit the Java application http://localhost:8081/orders/testxml for the very first time I see:
<?xml version="1.0" encoding="utf-8"?><current_orders><order><name>a1</name><description>a1</description><price>12.2200000000000006394884621840901672840118408203125</price></order></current_orders>
but any additional attempts on the java results in
{"message":"Internal Server Error: refCnt: 0"}
and trace shows:
Reading Response body test
09:32:04.799 [nioEventLoopGroup-1-8] ERROR i.m.h.s.netty.RoutingInBoundHandler - Unexpected error occurred: refCnt: 0
io.netty.util.IllegalReferenceCountException: refCnt: 0
at io.netty.buffer.AbstractByteBuf.ensureAccessible(AbstractByteBuf.java:1446)
at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1376)
at io.netty.buffer.AbstractByteBuf.checkDstIndex(AbstractByteBuf.java:1401)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:854)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:44)
at io.netty.buffer.AbstractByteBuf.getBytes(AbstractByteBuf.java:487)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:1744)
at comparison.java.groovy.controller.OrdersController.testxml(OrdersController.java:71)
at comparison.java.groovy.controller.$OrdersControllerDefinition$$exec4.invokeInternal(Unknown Source)
at io.micronaut.context.AbstractExecutableMethod.invoke(AbstractExecutableMethod.java:145)
at io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.invoke(DefaultBeanContext.java:2401)
at io.micronaut.web.router.AbstractRouteMatch.execute(AbstractRouteMatch.java:237)
at io.micronaut.web.router.RouteMatch.execute(RouteMatch.java:123)
at io.micronaut.http.server.netty.RoutingInBoundHandler.lambda$buildResultEmitter$13(RoutingInBoundHandler.java:1255)
at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:71)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:37)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableSwitchIfEmpty.subscribeActual(FlowableSwitchIfEmpty.java:32)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.Flowable.subscribe(Flowable.java:14429)
at io.micronaut.http.context.ServerRequestTracingPublisher.lambda$subscribe$0(ServerRequestTracingPublisher.java:53)
at io.micronaut.http.context.ServerRequestContext.with(ServerRequestContext.java:53)
at io.micronaut.http.context.ServerRequestTracingPublisher.subscribe(ServerRequestTracingPublisher.java:53)
at io.reactivex.internal.operators.flowable.FlowableFromPublisher.subscribeActual(FlowableFromPublisher.java:29)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.Flowable.subscribe(Flowable.java:14426)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.run(ExecutorScheduler.java:260)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.run(ExecutorScheduler.java:225)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
The Groovy application doesn't appear to ever actually load anything up and upon further inspection I noticed that in Java the raw representation of:
byte bytes = new byte[content.readableBytes()];
System.out.println("Bytes = "+bytes);
Comes out something like [h87aa..
where as groovy version shows [00 11 00 ]
a long array of numbers.
Ultimately I am trying to send xml from 1 app and parse it on the other and perhaps there is a much much easier way. Currently stuck as to why this odd behaviour is happening
java groovy httpresponse micronaut
I have answered the first question, It appears wrapping it around a Single has now made it work every single time. github.com/vahidhedayati/micronaut-java-groovy-comparison/… this check in has fixed the java app issue - it always now works
– Vahid
Nov 23 '18 at 10:07
The Groovy issue is also now resolved the actual issue turned out that whilst the stream client wasSingle<HttpResponse<?>> test()
on Java this worked but under the groovy project this producedOptional.empty
when asking forresponse.body()
after changing the client and controller to callSingle<HttpResponse<CompositeByteBuf>> test();
this has now fixed the groovy issue as well. under this check in github.com/vahidhedayati/micronaut-java-groovy-comparison/… - nothing to be answered now sorry can close
– Vahid
Nov 23 '18 at 11:46
add a comment |
Trying to capture the response.body() text which is actually xml.
@Get(uri="/testxml")
public String testxml() {
System.out.println("Reading Response body test");
HttpResponse response = streamClient.test();
CompositeByteBuf content = (CompositeByteBuf) response.body();
byte bytes = new byte[content.readableBytes()];
int readerIndex = content.readerIndex();
content.getBytes(readerIndex, bytes);
String read = new String(bytes).trim();
//System.out.println("RES"+ read);
return read;
}
I have the above code in this java micronaut application and again in this groovy application. and it appears when I hit the Java application http://localhost:8081/orders/testxml for the very first time I see:
<?xml version="1.0" encoding="utf-8"?><current_orders><order><name>a1</name><description>a1</description><price>12.2200000000000006394884621840901672840118408203125</price></order></current_orders>
but any additional attempts on the java results in
{"message":"Internal Server Error: refCnt: 0"}
and trace shows:
Reading Response body test
09:32:04.799 [nioEventLoopGroup-1-8] ERROR i.m.h.s.netty.RoutingInBoundHandler - Unexpected error occurred: refCnt: 0
io.netty.util.IllegalReferenceCountException: refCnt: 0
at io.netty.buffer.AbstractByteBuf.ensureAccessible(AbstractByteBuf.java:1446)
at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1376)
at io.netty.buffer.AbstractByteBuf.checkDstIndex(AbstractByteBuf.java:1401)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:854)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:44)
at io.netty.buffer.AbstractByteBuf.getBytes(AbstractByteBuf.java:487)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:1744)
at comparison.java.groovy.controller.OrdersController.testxml(OrdersController.java:71)
at comparison.java.groovy.controller.$OrdersControllerDefinition$$exec4.invokeInternal(Unknown Source)
at io.micronaut.context.AbstractExecutableMethod.invoke(AbstractExecutableMethod.java:145)
at io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.invoke(DefaultBeanContext.java:2401)
at io.micronaut.web.router.AbstractRouteMatch.execute(AbstractRouteMatch.java:237)
at io.micronaut.web.router.RouteMatch.execute(RouteMatch.java:123)
at io.micronaut.http.server.netty.RoutingInBoundHandler.lambda$buildResultEmitter$13(RoutingInBoundHandler.java:1255)
at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:71)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:37)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableSwitchIfEmpty.subscribeActual(FlowableSwitchIfEmpty.java:32)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.Flowable.subscribe(Flowable.java:14429)
at io.micronaut.http.context.ServerRequestTracingPublisher.lambda$subscribe$0(ServerRequestTracingPublisher.java:53)
at io.micronaut.http.context.ServerRequestContext.with(ServerRequestContext.java:53)
at io.micronaut.http.context.ServerRequestTracingPublisher.subscribe(ServerRequestTracingPublisher.java:53)
at io.reactivex.internal.operators.flowable.FlowableFromPublisher.subscribeActual(FlowableFromPublisher.java:29)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.Flowable.subscribe(Flowable.java:14426)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.run(ExecutorScheduler.java:260)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.run(ExecutorScheduler.java:225)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
The Groovy application doesn't appear to ever actually load anything up and upon further inspection I noticed that in Java the raw representation of:
byte bytes = new byte[content.readableBytes()];
System.out.println("Bytes = "+bytes);
Comes out something like [h87aa..
where as groovy version shows [00 11 00 ]
a long array of numbers.
Ultimately I am trying to send xml from 1 app and parse it on the other and perhaps there is a much much easier way. Currently stuck as to why this odd behaviour is happening
java groovy httpresponse micronaut
Trying to capture the response.body() text which is actually xml.
@Get(uri="/testxml")
public String testxml() {
System.out.println("Reading Response body test");
HttpResponse response = streamClient.test();
CompositeByteBuf content = (CompositeByteBuf) response.body();
byte bytes = new byte[content.readableBytes()];
int readerIndex = content.readerIndex();
content.getBytes(readerIndex, bytes);
String read = new String(bytes).trim();
//System.out.println("RES"+ read);
return read;
}
I have the above code in this java micronaut application and again in this groovy application. and it appears when I hit the Java application http://localhost:8081/orders/testxml for the very first time I see:
<?xml version="1.0" encoding="utf-8"?><current_orders><order><name>a1</name><description>a1</description><price>12.2200000000000006394884621840901672840118408203125</price></order></current_orders>
but any additional attempts on the java results in
{"message":"Internal Server Error: refCnt: 0"}
and trace shows:
Reading Response body test
09:32:04.799 [nioEventLoopGroup-1-8] ERROR i.m.h.s.netty.RoutingInBoundHandler - Unexpected error occurred: refCnt: 0
io.netty.util.IllegalReferenceCountException: refCnt: 0
at io.netty.buffer.AbstractByteBuf.ensureAccessible(AbstractByteBuf.java:1446)
at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1376)
at io.netty.buffer.AbstractByteBuf.checkDstIndex(AbstractByteBuf.java:1401)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:854)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:44)
at io.netty.buffer.AbstractByteBuf.getBytes(AbstractByteBuf.java:487)
at io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:1744)
at comparison.java.groovy.controller.OrdersController.testxml(OrdersController.java:71)
at comparison.java.groovy.controller.$OrdersControllerDefinition$$exec4.invokeInternal(Unknown Source)
at io.micronaut.context.AbstractExecutableMethod.invoke(AbstractExecutableMethod.java:145)
at io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.invoke(DefaultBeanContext.java:2401)
at io.micronaut.web.router.AbstractRouteMatch.execute(AbstractRouteMatch.java:237)
at io.micronaut.web.router.RouteMatch.execute(RouteMatch.java:123)
at io.micronaut.http.server.netty.RoutingInBoundHandler.lambda$buildResultEmitter$13(RoutingInBoundHandler.java:1255)
at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:71)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:37)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableSwitchIfEmpty.subscribeActual(FlowableSwitchIfEmpty.java:32)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.Flowable.subscribe(Flowable.java:14429)
at io.micronaut.http.context.ServerRequestTracingPublisher.lambda$subscribe$0(ServerRequestTracingPublisher.java:53)
at io.micronaut.http.context.ServerRequestContext.with(ServerRequestContext.java:53)
at io.micronaut.http.context.ServerRequestTracingPublisher.subscribe(ServerRequestTracingPublisher.java:53)
at io.reactivex.internal.operators.flowable.FlowableFromPublisher.subscribeActual(FlowableFromPublisher.java:29)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.Flowable.subscribe(Flowable.java:14426)
at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.run(ExecutorScheduler.java:260)
at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.run(ExecutorScheduler.java:225)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
The Groovy application doesn't appear to ever actually load anything up and upon further inspection I noticed that in Java the raw representation of:
byte bytes = new byte[content.readableBytes()];
System.out.println("Bytes = "+bytes);
Comes out something like [h87aa..
where as groovy version shows [00 11 00 ]
a long array of numbers.
Ultimately I am trying to send xml from 1 app and parse it on the other and perhaps there is a much much easier way. Currently stuck as to why this odd behaviour is happening
java groovy httpresponse micronaut
java groovy httpresponse micronaut
asked Nov 23 '18 at 9:36
VahidVahid
6,34421839
6,34421839
I have answered the first question, It appears wrapping it around a Single has now made it work every single time. github.com/vahidhedayati/micronaut-java-groovy-comparison/… this check in has fixed the java app issue - it always now works
– Vahid
Nov 23 '18 at 10:07
The Groovy issue is also now resolved the actual issue turned out that whilst the stream client wasSingle<HttpResponse<?>> test()
on Java this worked but under the groovy project this producedOptional.empty
when asking forresponse.body()
after changing the client and controller to callSingle<HttpResponse<CompositeByteBuf>> test();
this has now fixed the groovy issue as well. under this check in github.com/vahidhedayati/micronaut-java-groovy-comparison/… - nothing to be answered now sorry can close
– Vahid
Nov 23 '18 at 11:46
add a comment |
I have answered the first question, It appears wrapping it around a Single has now made it work every single time. github.com/vahidhedayati/micronaut-java-groovy-comparison/… this check in has fixed the java app issue - it always now works
– Vahid
Nov 23 '18 at 10:07
The Groovy issue is also now resolved the actual issue turned out that whilst the stream client wasSingle<HttpResponse<?>> test()
on Java this worked but under the groovy project this producedOptional.empty
when asking forresponse.body()
after changing the client and controller to callSingle<HttpResponse<CompositeByteBuf>> test();
this has now fixed the groovy issue as well. under this check in github.com/vahidhedayati/micronaut-java-groovy-comparison/… - nothing to be answered now sorry can close
– Vahid
Nov 23 '18 at 11:46
I have answered the first question, It appears wrapping it around a Single has now made it work every single time. github.com/vahidhedayati/micronaut-java-groovy-comparison/… this check in has fixed the java app issue - it always now works
– Vahid
Nov 23 '18 at 10:07
I have answered the first question, It appears wrapping it around a Single has now made it work every single time. github.com/vahidhedayati/micronaut-java-groovy-comparison/… this check in has fixed the java app issue - it always now works
– Vahid
Nov 23 '18 at 10:07
The Groovy issue is also now resolved the actual issue turned out that whilst the stream client was
Single<HttpResponse<?>> test()
on Java this worked but under the groovy project this produced Optional.empty
when asking for response.body()
after changing the client and controller to call Single<HttpResponse<CompositeByteBuf>> test();
this has now fixed the groovy issue as well. under this check in github.com/vahidhedayati/micronaut-java-groovy-comparison/… - nothing to be answered now sorry can close– Vahid
Nov 23 '18 at 11:46
The Groovy issue is also now resolved the actual issue turned out that whilst the stream client was
Single<HttpResponse<?>> test()
on Java this worked but under the groovy project this produced Optional.empty
when asking for response.body()
after changing the client and controller to call Single<HttpResponse<CompositeByteBuf>> test();
this has now fixed the groovy issue as well. under this check in github.com/vahidhedayati/micronaut-java-groovy-comparison/… - nothing to be answered now sorry can close– Vahid
Nov 23 '18 at 11:46
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53444014%2fmicronaut-httpresponse-reading-body-text%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53444014%2fmicronaut-httpresponse-reading-body-text%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I have answered the first question, It appears wrapping it around a Single has now made it work every single time. github.com/vahidhedayati/micronaut-java-groovy-comparison/… this check in has fixed the java app issue - it always now works
– Vahid
Nov 23 '18 at 10:07
The Groovy issue is also now resolved the actual issue turned out that whilst the stream client was
Single<HttpResponse<?>> test()
on Java this worked but under the groovy project this producedOptional.empty
when asking forresponse.body()
after changing the client and controller to callSingle<HttpResponse<CompositeByteBuf>> test();
this has now fixed the groovy issue as well. under this check in github.com/vahidhedayati/micronaut-java-groovy-comparison/… - nothing to be answered now sorry can close– Vahid
Nov 23 '18 at 11:46