【发布时间】:2016-06-27 19:03:06
【问题描述】:
我正在对 Camel - CXf 集成进行一些研究,但对以下场景感到困惑。
所以我实现了一个 Rest Endpoint
@Path("/authenticate")
public interface Sample {
@GET
@Path("/handshake")
@Produces(MediaType.TEXT_PLAIN)
public Response handshake();
@POST
@Path("/login")
@Consumes({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})
@Produces(MediaType.APPLICATION_JSON)
public Response login(LoginRequest request) throws JsonGenerationException, JsonMappingException, IOException;
}
实现如下
public class SampleImpl implements Sample{
@Context
private HttpHeaders headers;
@Autowired
CamelContext context;
public Response handshake()
{
System.out.println("HandShake Executed Successfully");
return Response.status(Status.OK).entity("This is a Message after Routing").build();
}
public Response login(LoginRequest request) throws JsonGenerationException, JsonMappingException, IOException {
System.out.println("The Rquest objecr is Received "+request);
return Response.status(Status.OK).entity(mapper.writeValueAsString(request)).build();
}
}
路线
<camel:from uri="cxfrs:bean:SampleRestEndPoint?bindingStyle=SimpleConsumer"></camel:from>
将其路由到实现中。但是由于实现返回一个响应对象,我很困惑如何围绕这个构建路由。
- 一旦调用进入实现,我该如何执行 其他路由并返回响应?在这种情况下,实现返回一个自定义对象。
- 其他路由如何附加到 CXF 路由?。
- 我的 CXF 实现是否应该始终返回 void 类型?如我所见 也就是说,要访问 Exchange 对象骆驼需要返回类型 作废
- 我是否完全忽略了实现并执行“to”步骤 并修改它以交换正文以获得所需的响应?。
任何指针将不胜感激。
【问题讨论】:
标签: java routes apache-camel cxf