我正在Oracle SOA Suite 12c中开发一个组合。作为设计的一部分,我们有一个带有文件适配器的BPEL流程,该文件适配器轮询传入的xml有效负载。该过程将根据本机模式验证XML文件。一旦BPEL流程在有效负载中发现第一个验证问题,就会出错。
我想检查是否有任何方法可以获取传入有效负载中所有架构验证问题的列表,以便我可以通过所有字段的列表通知发件人,它们以不正确的格式填充数据。我很欣赏如何解决问题的方向。
谢谢!
答案 0 :(得分:0)
我假设您正在使用本机格式生成器向导针对提供给您的文件生成nXSD架构,而该文件又由文件适配器使用。我不确定是否有办法在一次通过中获取所有架构验证问题的列表,但您可能能够利用命令行工具验证nXSD Translations,直到找到一个清洁解决方案
我可以通过以下几种方式看到它:
通过BPEL流程中的Java标注,您可以使用Oracle XDK库(由nxsd转换器命令行工具使用)来解析XML并以这种方式执行验证。
在将文件移动到文件适配器用于测试XML文件的“入站目录”之前,请先进行“卫生过程”(shell脚本或类似的操作)。如果存在任何验证问题,您的脚本可以生成一封回复给供应商的电子邮件,其中包含详细信息。
Oracle提供了一些有关使用NXSD Translator命令行工具详细信息的文档here。
为了避免链接损坏,我所指的文档位于“ Oracle融合中间件理解技术适配器”文档的“本机格式生成器向导”一节中强>”。
答案 1 :(得分:0)
您可以尝试将所有逻辑放在作用域中,并添加异常处理程序以捕获并向用户抛出异常。我创建了一个xsd,用于向用户发送错误响应,错误代码和描述