在SOA中我认为wsdl不支持递归数据类型,但我看到了代理实际工作的一些例子。有谁知道更多这个?
答案 0 :(得分:2)
允许递归类型定义,甚至允许循环对象图和可序列化。但是,为了防止在序列化和反序列化时耗尽堆栈空间,您需要创建一个自定义行为来覆盖CreateSerializer方法,并在创建DataContractSerializer时将preserveObjectReferences参数设置为true。请参阅James Kovacs'blog了解更多信息。
答案 1 :(得分:0)
请通过递归来定义你的意思。以下是用于WSDL的有效XML模式:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Node" type="NodeType"/>
<xs:complexType name="NodeType">
<xs:sequence>
<xs:element name="Node" type="NodeType"/>
</xs:sequence>
</xs:complexType>
</xs:schema>