【发布时间】:2016-01-12 06:57:50
【问题描述】:
我有一个 jax-rs 注释接口
public interface Store {
@Path("/apipath")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Token login(@BeanParam Header header,
@FormParam(value = "type") String type);
}
Token 是一个带有 jaxb 注释的类。
我想将此接口用作客户端代理。
Store s = new ClientResource(url).wrap(Store.class);
Token t = s.login(...);
返回的令牌始终为空。不抛出异常。如果我使用相同的接口但作为 jax-rs 实现我选择 cxf 或 resteasy 该方法返回具有正确数据的非空对象。
我正在使用 org.restlet.ext.jaxrs 2.3.3、org.restlet.ext.jackson 2.3.3、org.restlet.ext.jaxb 2.3.1
【问题讨论】:
-
你好。可以在您的问题中添加
Token的内容吗?所以我可以尝试重现你的问题。谢谢! -
@thierrytemplier 这似乎是restlet 中的一个错误。我改变了我的代码。
JaxRsClientResource resource = new JaxRsClientResource(context, new Reference(apiUrl)); store = resource.wrap(Store.class);现在它返回 409 - 在标头类中有一个用@headerparams注释的字段,它没有在请求中发送。 -
409错误有点奇怪。我不认为这是 Restlet 抛出的东西。你把它扔到哪里了吗?关于标题类,我不确定你的意思。通过标题类,您想到
org.restlet.data.header一个吗?你最后一句话是什么意思?是否可以更新您的问题以向我们提供有关您尝试的更多详细信息?谢谢!