【问题标题】:Validate Order against XSD in Camel在 Camel 中针对 XSD 验证订单
【发布时间】:2014-06-18 03:09:57
【问题描述】:

我正在尝试使用 Camel 路由配置针对 XSD 验证传入的请求顺序(xml 格式)。但是我不断收到以下错误。谁能帮忙,我的代码如下。

@Override
public void configure() {

//Other code

 onException(ValidationException.class)
            .to("{{jms.queue.invalidRequestQueue}}");

       from("{{jms.queue.fulfilmentRequest}}")
        .routeId(ROUTE_ID)
            .to("validation:src/main/resources/xml/OrderCanonical.xsd", "{{jms.queue.fulfilmentRequest}}")
        .transacted(PROPAGATION_REQUIRED)
            .setHeader(ORDER_ID, xpath(XPATH_FOR_ORDERLINE).namespaces(nm).stringResult())
            .beanRef("indiciaService", "getIndicias")
            .choice()
                .when(header(BOLPMessageHeaders.STATUS).isEqualTo(BOLPFulfilmentStatuses.FAILED))
                    .log(LoggingLevel.DEBUG, "Indicia call failed. Skipping call to Adobe.")
                    .to("{{jms.queue.fulfilmentResponse}}")
                .otherwise()
                    .beanRef("adobePostageService", "generatePdf")
                    .setHeader(BOLPMessageHeaders.STATUS, simple(BOLPFulfilmentStatuses.FULFILLED))
                    .convertBodyTo(String.class)
                    .log(LoggingLevel.DEBUG, PRINT_HEADERS)
                    .log(LoggingLevel.DEBUG, PRINT_BODY)
                    .to("{{jms.queue.fulfilmentResponse}}");
}

这是错误:

Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route BOLPFulfilmentRoute at: >>> To[validator:src/main/resources/xml/OrderCanonical.xsd] <<< in route: Route(BOLPFulfilmentRoute)[[From[{{jms.queue.fulfilmentReque... because of Failed to resolve endpoint: validator://src/main/resources/xml/OrderCanonical.xsd due to: Cannot find resource: src/main/resources/xml/OrderCanonical.xsd in classpath for URI: src/main/resources/xml/OrderCanonical.xsd

【问题讨论】:

    标签: java xml spring xsd apache-camel


    【解决方案1】:

    我猜应该是validator 而不是validation,对吧?

    根据错误信息,未找到 XSD 文件。请尝试以下文件路径:

    from("{{jms.queue.fulfilmentRequest}}")
        .routeId(ROUTE_ID)
        .to("validator:xml/OrderCanonical.xsd")
    

    【讨论】:

    • 效果很好的菜鸟错误:) 非常感谢您的帮助!
    • @dStudios 也许你会接受这个答案,这样问题就很明显了。
    猜你喜欢
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 2012-09-20
    • 2011-10-12
    相关资源
    最近更新 更多