【问题标题】:How can we achive dynamic schema validation in DataPower?我们如何在 DataPower 中实现动态模式验证?
【发布时间】:2015-12-09 11:28:15
【问题描述】:

要求: 动态架构验证。

请求 URL 将包含查询字符串中的函数名称。

http://DataPowerIP:Port/CD_HTML/AOL.jsp?function_id=YY_TD_ICT_CER_CREATE

DataPower 将在其文件管理中包含多个 XSD。需要一个 XSLT 来帮助 t0 从 URL 中获取查询字符串并提取函数 idYY_TD_ICT_CER_CREATE

接下来,它会将函数 id 名称与 XSD 文件名 YY_TD_ICT_CER_CREATE.xsd 匹配,如果找到匹配项,则会进行 scema 验证。

【问题讨论】:

    标签: validation xsd-validation ibm-datapower


    【解决方案1】:

    在您的 XSL 中,您可以通过 dp:variable('var://service/URI') 获取您的 URI。编写代码以将 function_id 解析为 xsl:variable。然后使用要用于验证的模式文件的名称设置 DataPower 上下文变量:

    <dp:set-variable name="'var://context/this/schema-file'"
        value="concat('local:///my-schemas/', $function-id-value, '.xsd')"/>
    

    此 XSL 转换步骤之后策略中的下一步将是验证步骤。在您通常指定静态本地 XSD 的地方,改为指定上下文变量:

    【讨论】:

    • 让我试试这个。将与您联系结果。
    • 试过了,我能做我想做的事。感谢您的领导。干杯!!
    【解决方案2】:

    或者,您可以在样式表处理 URL-in 中直接通过 dp:schema-validate() 扩展函数进行模式验证。

    但我并没有真正看到允许对客户端指定的模式进行模式验证的价值,至少在一般情况下是这样。模式验证应确保输入数据有效。如果客户端可以指向任何架构(例如,通过架构的“http://...”URL)错误的输入不会被拒绝。

    赫尔曼。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-03
      • 1970-01-01
      • 2022-11-15
      • 1970-01-01
      • 2018-01-25
      • 2011-03-26
      • 1970-01-01
      相关资源
      最近更新 更多