我正在在 CXF 中创建基于 JAX-RS 的网络服务, 我想将参数传送到 < code> requestHandler 中注册为 < code@lt; jaxrs: superr> 的方法中 。
我要处理器中的参数名称和相应值, 这是我的代码:
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>
谁已经处理过这个案子了?