0

我有一个 Yii 网络服务。WSDL 是自动生成的,但在使用 SoapUI 测试它们时出现错误。

这是我得到的错误示例:

Mon Sep 02 17:24:53 CEST 2013:ERROR:org.apache.xmlbeans.XmlException: union value 'unbounded' does not match any members of 'type of maxOccurs attribute in xs:narrowMaxMin'

我确实有这样的 1-N 关系:

/**
 * @var Foo[]  Foos {nillable=true, minOccurs=0, maxOccurs=unbounded}
 * @soap
 */
public $foos;

据我所知maxOccurs=unbounded应该是正确的,那有什么问题呢?

干杯!

4

2 回答 2

2

您能否提供生成的 wsdl 的更详细示例?您可能会收到此错误,例如,如果“foo”元素位于 xs:all 标记内 - 它指定每个子元素可以出现 0 次或 1 次,因此 maxOccurs 值必须为 1。通过将元素放入 xs 来解决此问题:序列标签而不是 xs:all,它为 maxOccurs 启用“无界”值。

于 2013-09-03T04:52:08.057 回答
0

好的,明白了!

该属性$foos实际上不是unbounded:它是 的数组Foo,但作为一个属性,它只出现 0 或 1 次......所以不是unbounded,而是1maxOccurs

/**
 * @var Foo[]  Foos {nillable=true, minOccurs=0, maxOccurs=1}
 * @soap
 */
public $foos;

耶!

于 2013-09-03T07:57:04.540 回答