Xsd 自定义OSB 12c中的验证节点错误消息

Xsd 自定义OSB 12c中的验证节点错误消息,xsd,osb,Xsd,Osb,当我们在OSB 12c中添加Validate节点以验证针对XSD的传入请求时,如果验证失败, 在某些故障消息中,会显示导致验证错误的字段名。但仅针对十进制值,错误消息只是说十进制值无效,并且没有提到引发错误的字段。我们能克服这个问题吗?我不确定这是不是直接的解决办法。但有一种变通方法可能适合您的需要 创建一个XQuery,用于验证负载并抛出自定义错误消息 例如:对于应该包含十进制值abc的xml元素 if($xs:long的实例) 然后() else(fn:error(xs:QName(“您的错

当我们在OSB 12c中添加Validate节点以验证针对XSD的传入请求时,如果验证失败,
在某些故障消息中,会显示导致验证错误的字段名。但仅针对十进制值,错误消息只是说十进制值无效,并且没有提到引发错误的字段。我们能克服这个问题吗?我不确定这是不是直接的解决办法。但有一种变通方法可能适合您的需要

创建一个XQuery,用于验证负载并抛出自定义错误消息

例如:对于应该包含十进制值abc的xml元素

if($xs:long的实例)
然后()
else(fn:error(xs:QName(“您的错误代码”),“您的错误消息”))
如果有效载荷很小,这是一种合适的方法

如果有效载荷很大

  • 确定应该存在此类问题的字段
  • 创建一个XQuery,用于验证带有错误消息的这些字段
  • 在stage中使用validate节点并使用stage错误处理程序
  • 使用xquery内部阶段错误处理程序验证有效负载