Thanks, Sergey!  You're right.  Adding the proper @PathParam to the method
fixed the problem.

-Matt


On Mon, Jul 30, 2012 at 12:53 PM, Sergey Beryozkin <[email protected]>wrote:

> Hi Matt
>
>
> On 30/07/12 19:00, Matt Massie wrote:
>
>> Let me start by thanking your team for writing such a good piece of code.
>> CXF has worked well for us.
>>
>> For one project, we used CXF to create a JAX-RS service that uses nested
>> subresources. Originally, we only provided a Python client to REST
>> interface. I'm in the process of using the CXF JAXRSClientFactory to
>> create
>> a Java client for customers as well.  Unfortunately, the way we've
>> annotated the code is causing errors in the client code and I'm at a loss
>> to understand exactly why.
>>
>> I've distilled the problem down to a simple test case and posted it as a
>> gist.
>>
>>        https://gist.github.com/**3207745<https://gist.github.com/3207745>
>>
>
> Thanks for making this code available, helped me reproduce the issue
> immediately.
>
>
>
>> Whenever I run the above test case, I get the following exception:
>>
>> java.lang.**IllegalArgumentException: Unresolved variables; only 0
>> value(s)
>> given for 1 unique variable(s)
>>   at
>> org.apache.cxf.jaxrs.impl.**UriBuilderImpl.**substituteVarargs(**
>> UriBuilderImpl.java:185)
>> at org.apache.cxf.jaxrs.impl.**UriBuilderImpl.doBuild(**
>> UriBuilderImpl.java:82)
>>   at
>> org.apache.cxf.jaxrs.impl.**UriBuilderImpl.**buildFromEncoded(**
>> UriBuilderImpl.java:218)
>> at
>> org.apache.cxf.jaxrs.client.**ClientProxyImpl.invoke(**
>> ClientProxyImpl.java:152)
>>   at $Proxy15.**getGrandchildResource(Unknown Source)
>> at com.cloudera.api.v1.impl.**TestClass.testCase(TestClass.**java:92)
>>
>> It appears that the client code is unable to generate a request URI from
>> the @Path annotation we're providing.
>>
>> Is there anything obviously wrong with the code in the gist that you can
>> see?  Any guidance you can provide would be very appreciated.
>>
>>
> ChildResource has
> @Path("/{childName}/**grandChildren")
>
> on one of its methods,
> but no @PathParam("childName") is avaialble
>
> I've updated the method and the test passed
>
> Cheers, Sergey
>
>  -Matt
>>
>>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com
>

Reply via email to