Hi Fyodor,
I ran it in IntelliJ thru 3.20.4

after submitting page - i got

json: null, and string:login=usrename&password=password


ચિરાગ/चिराग/Chirag
------------------------------------------
Sent from My Gmail Account

On Mon, Jun 12, 2023 at 7:35 AM Fyodor Kravchenko <feddkr...@hotmail.com> wrote:
>
> Hello people,
>
> any ideas how to fix the issue below?
>
> -- fedd
>
> On 09.06.2023 18:15, Fyodor Kravchenko wrote:
> > Hello,
> >
> > I've used to rely on this function in older Camel, when I was able to
> > deserialize a regular web form POST stream into a generic
> > java.util.Map, I mean, this used to parse the form data (not
> > multipart, just regular) and convert into a Map:
> >
> > Map map = http.getBody(Map.class);
> >
> > This is my test code snippet that I compile and run on Java 19 of
> > GraalVM:
> >
> > ```
> >
> >                         HttpMessage http =
> > exchange.getIn(HttpMessage.class);
> >                         HttpServletRequest request = http.getRequest();
> >                         String method = request.getMethod();
> >                         if ("POST".equals(method) ||
> > "PUT".equals(method)) {
> >                             Map map = http.getBody(Map.class);
> >                             String string = http.getBody(String.class);
> >                             http.setHeader(Exchange.CONTENT_TYPE,
> > "text/plain");
> >                             http.setBody("json: " +
> > mapper.writeValueAsString(map) + ", and string:" + string);
> >                         } else {
> >                             http.setHeader(Exchange.CONTENT_TYPE,
> > "text/html");
> > http.setBody(this.getClass().getResourceAsStream("form.html"));
> >                         }
> > ```
> >
> > I've created a test project to make sure it works on Camel 2.24 and
> > doesn't in 3.20.4:
> >
> > https://github.com/fedd/cameljettyformmap/tree/main/cameljettyformmap
> >
> > I had to add `javax.activation` for the 2.24 version to run, but
> > unfortunately that didn't fix the 3.20.4 (See the pom.xml in the
> > github link)
> >
> > What do I have to do to make it work in 3.20.4?
> >
> > $ java --version
> > openjdk 19.0.1 2022-10-18
> > OpenJDK Runtime Environment GraalVM CE 22.3.0 (build
> > 19.0.1+10-jvmci-22.3-b08)
> > OpenJDK 64-Bit Server VM GraalVM CE 22.3.0 (build
> > 19.0.1+10-jvmci-22.3-b08, mixed mode, sharing)
> >

Reply via email to