You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Jürgen Happe (Jira)" <ji...@apache.org> on 2021/08/03 11:06:00 UTC

[jira] [Created] (CXF-8574) Rest call on jax-rs interface with long @Path and 3 pathparams causes error since cxf-rt-rs-mp-client 3.3.3

Jürgen Happe created CXF-8574:
---------------------------------

             Summary: Rest call on jax-rs interface with long @Path and 3 pathparams causes error since cxf-rt-rs-mp-client 3.3.3
                 Key: CXF-8574
                 URL: https://issues.apache.org/jira/browse/CXF-8574
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS, MicroProfile
            Reporter: Jürgen Happe


We have a jax-rs interface in our backend application that has a very long @Path Annotation with 3 "pathparams".

Since we switched to cxf-rt-rs-mp-client in the lastest version (3.4.4) i am are getting the following error, wenn calling this interface from a UI-Client:

 
{code:java}
[INFO] java.lang.IllegalArgumentException: Unresolved variables; only 2 value(s) given for 3 unique variable(s)[INFO] java.lang.IllegalArgumentException: Unresolved variables; only 2 value(s) given for 3 unique variable(s)[INFO]  at org.apache.cxf.jaxrs.impl.UriBuilderImpl.substituteVarargs(UriBuilderImpl.java:301) ~[cxf-rt-frontend-jaxrs-3.4.4.jar:3.4.4][INFO]  at org.apache.cxf.jaxrs.impl.UriBuilderImpl.doBuildUriParts(UriBuilderImpl.java:136) ~[cxf-rt-frontend-jaxrs-3.4.4.jar:3.4.4][INFO]  at org.apache.cxf.jaxrs.impl.UriBuilderImpl.doBuild(UriBuilderImpl.java:116) ~[cxf-rt-frontend-jaxrs-3.4.4.jar:3.4.4][INFO]  at org.apache.cxf.jaxrs.impl.UriBuilderImpl.buildFromEncoded(UriBuilderImpl.java:245) ~[cxf-rt-frontend-jaxrs-3.4.4.jar:3.4.4][INFO]  at org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:298) ~[cxf-rt-rs-client-3.4.4.jar:3.4.4][INFO]  at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.invokeActual(MicroProfileClientProxyImpl.java:491) ~[cxf-rt-rs-mp-client-3.4.4.jar:3.4.4][INFO]  at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.access$000(MicroProfileClientProxyImpl.java:76) ~[cxf-rt-rs-mp-client-3.4.4.jar:3.4.4][INFO]  at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl$Invoker.call(MicroProfileClientProxyImpl.java:510) ~[cxf-rt-rs-mp-client-3.4.4.jar:3.4.4][INFO]  at org.apache.cxf.microprofile.client.cdi.CDIInterceptorWrapper$BasicCDIInterceptorWrapper.invoke(CDIInterceptorWrapper.java:43) ~[cxf-rt-rs-mp-client-3.4.4.jar:3.4.4][INFO]  at org.apache.cxf.microprofile.client.proxy.MicroProfileClientProxyImpl.invoke(MicroProfileClientProxyImpl.java:487) ~[cxf-rt-rs-mp-client-3.4.4.jar:3.4.4][INFO]  at com.sun.proxy.$Proxy84.read(Unknown Source) ~[?:?][INFO]  at
...{code}
 

The error is caused when calling an interface similar to this one:

 
{code:java}
@Path("v2/foobar/wkxnkxd/{pkmrvQocwkxnkxdXewwob}/kudsyxckxqolyd/{kudkxqolydEesn}/kudsyxckbdsuov/{kudkbdsuovEesn}/jsovwoxqox")
public interface Foobar {    
    @POST
    @Path(":boknLiZycd")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public ZielmengenKopfComposedDto read(
        @PathParam("pkmrvQocwkxnkxdXewwob") int pkmrvQocwkxnkxdXewwob,
        @PathParam("kudkxqolydEesn") String kudkxqolydEesn,
        @PathParam("kudkbdsuovEesn") String kudkbdsuovEesn,
        @QueryParam("sxnecdbsozkbdxob") KluywwoxUoiNdy  sxnecdbsozkbdxobUoi,
        GosmroMywzyconBoaeocdNdy request);}
}{code}
I could figure out that this happens since version 3.3.3. Version 3.3.2 still works.

I hope this is enough information to reproduce and fix the problem. I can't give you all the original code because i don't own it.

Thank you.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)