Bluemix 上业务规则执行的规则集的 XML 响应中的未知元素

unknownElement in XML response for ruleset executed by Business Rules on Bluemix

我在 Bluemix 上的业务规则服务上执行了一个规则集。 XML 响应有一个名为 "unknownElement" 的元素,它不在 WSDL 定义中。

< DecisionServiceResponse xmlns="http://www.ilog.com/rules/DecisionService" >

< ilog.rules.outputString > ... < /ilog.rules.outputString >

< ilog.rules.firedRulesCount>  ... < /ilog.rules.firedRulesCount >

< yourResponse xmlns="..">

      < unknownElement xmlns="" >

       ...

      < /unknownElement >

< /yourResponse >

< /DecisionServiceResponse >

发生这种情况是因为我在 XML 模式 (XSD) 中定义了规则集参数类型,但没有声明该类型的全局元素。

参数的类型 Foo 在 XSD XOM 中定义如下:

< schema xmlns=.. xmlns:tns=.. targetNamespace=.. >

   < complexType name="Foo">

      < attribute name="bar" type="string"></attribute >

   < /complexType >

< /schema >

为了解决这个问题,我在 XSD:

中为该类型添加了一个全局元素
< schema xmlns=.. xmlns:tns=.. targetNamespace=.. >

   < element name="FooElement" type="tns:Foo"></element >

   < complexType name="Foo">

      < attribute name="bar" type="string"></attribute >

   < /complexType >

< /schema >