你好,我需要从java 8升级到java 17,也需要升级到apache camel的最新版本,我有一段代码,其中包含了setFault方法,但在apache camel的最新版本中已经不存在了。有人知道我可以用什么来替换它吗?
protected void process(Exchange exchange, RequestContext<?, ?> ctx, Exception e, AlarmType alarm) throws Exception {
int errorCode = getErrorCode(exchange);
ctx.setResponseErrorCode(errorCode);
Message message = exchange.getMessage();
message.setHeader(Exchange.HTTP_METHOD, HttpMethods.POST);
message.setHeader(Exchange.HTTP_PROTOCOL_VERSION, "1.1");
message.setHeader(Exchange.HTTP_RESPONSE_CODE, getErrorCode(exchange));
message.setHeader("httpReasonPhrase", getErrorMessage(exchange));
message.setBody(getErrorBody(exchange));
message.setFault(ctx.isCXF());
}
1条答案
按热度按时间8nuwlpux1#
从Camel 3.x及更高版本(《Camel 2.x到3.0迁移指南》):
fault API已从org.apache.camel.Message中删除,因为它仅用于SOAP-WS错误消息。SOAP-WS的camel-cxf和camel-spring-ws组件已修改为支持来自其组件的错误消息。handleFault选项也已删除,您现在需要将其作为camel-cxf或camel-spring-ws上的端点或组件选项打开
所以你应该可以安全地把这条线去掉。