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)