我正在 CXF 中创建一个基于 JAX-RS 的 Web 服务,我想获取传递给RequestHandler
注册为<jaxrs:provider>
.
我想要处理程序中的参数名称和相应的值,这是我的代码:
public class SampleRequestHandler implements RequestHandler {
@Override
public Response handleRequest(Message arg0, ClassResourceInfo arg1) {
OperationResourceInfo resourceInfo = arg0.getExchange().get(OperationResourceInfo.class);
String name = resourceInfo.getMethodToInvoke().getName();
return null;
}
}
我的基于 JAX-RS 的服务:
@Service("bookService")
@Path("/bookstore")
public class BookStore {
@POST
@Path("/books")
@Produces({ "application/xml" })
@Consumes({ "application/xml" })
public Book addBook(Book book) {
return book;
}
}
以及我beans.xml
注册处理程序和宁静服务的地方:
<context:component-scan base-package="com.tutorial.cxf.jaxrs.service"/>
<bean id="sampleHandler" class="com.tutorial.cxf.jaxrs.interceptors.SampleRequestHandler"/>
<jaxrs:server id="restContainer" address="/">
<jaxrs:serviceBeans>
<ref bean="bookService"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="sampleHandler"/>
</jaxrs:providers>
</jaxrs:server>
有人已经处理过这个案子了吗?