我正在使用BizTalk 2006 R2從WSDL文件生成Web引用。BizTalk Web引用 - 生成的XSD具有來自WSDL的「丟失」信息
將生成的XSD與WSDL進行比較,很明顯很多信息已經丟失。
考慮以下摘自WSDL:
<s:element form="unqualified" minOccurs="0" maxOccurs="4" name="Applicant">
<s:complexType>
<s:sequence>
<s:element form="unqualified" minOccurs="1" maxOccurs="1" name="ApplicantIdentifier">
<s:simpleType>
<s:restriction base="s:string" />
</s:simpleType>
</s:element>
<s:element form="unqualified" minOccurs="0" maxOccurs="1" name="Name">
<s:complexType>
<s:sequence>
<s:element form="unqualified" minOccurs="0" maxOccurs="1" name="Title">
<s:simpleType>
<s:restriction base="s:string">
<s:maxLength value="10" />
</s:restriction>
</s:simpleType>
</s:element>
<s:element form="unqualified" minOccurs="0" maxOccurs="1" name="Forename">
<s:simpleType>
<s:restriction base="s:string">
<s:pattern value="[0-9A-Za-z \-]*" />
<s:maxLength value="15" />
<s:minLength value="1" />
</s:restriction>
</s:simpleType>
</s:element>
<!-- more -->
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
其中的BizTalk已經產生的等效XSD是:
<xs:element minOccurs="0" maxOccurs="unbounded" form="unqualified" name="Applicant">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="ApplicantIdentifier" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="Name">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="Title" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" form="unqualified" name="Forename" type="xs:string" />
<!-- more -->
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
因此,XSD已經失去了約束的模式,並已建立了自己的價值爲minOccurs和maxOccurs。
我需要從另一個源映射到XSD,我希望在該階段捕獲不符合WSDL的數據。
有誰知道爲什麼BizTalk沒有保留XSD中的限制;或者我如何生成無損XSD?
使用Xsd.exe會產生相同的結果嗎? – TEEKAY 2010-06-16 14:07:47
謝謝你的建議,TEEKAY。 當我在WSDL文件中指出xsd.exe時: xsd.exe「C:\ Demos \ MyProblem.wsdl」/ o:「C:\ Demos」 我收到錯誤「Error:invalid command line argument:' 「C:\ Demos \ MyProblem.xsd」/ o:「C:\ Demos」 我得到了錯誤:「錯誤:只能生成一個類或數據集。」 無論如何感謝您的建議。 – 2010-06-17 09:30:47