'dan "kayıp" bilgiye sahiptir. WSDL dosyasından bir web referansı oluşturmak için BizTalk 2006 R2 kullanıyorum.BizTalk Web Başvurusu - oluşturulan XSD, WSDL
Oluşturulan XSD'nin WSDL ile karşılaştırılması, birçok bilginin kaybolduğu aşikardır.
WSDL aşağıdaki özü düşünün:
<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 üretti eşdeğer XSD geçerli:
<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>
Yani, XSD kısıtlama desenleri kaybetti ve kendi değerlerini belirledi minOccurs ve maxOccurs için.
Başka bir kaynaktan XSD'ye eşlemeliyim ve WSDL'ye uygun olmayan verileri bu aşamada yakalamak istiyorum.
BizTalk'un neden XSD'deki kısıtlamaları korumamış olduğunu bilen var mı; veya kayıpsız XSD nasıl üretebilirim?
Xsd.exe aynı sonuçları kullanıyor mu? – TEEKAY
Öneri için teşekkürler TEEKAY. WSDL dosyasında xsd.exe'yi işaret ettiğimde: xsd.exe "C: \ Demos \ MyProblem.wsdl"/o: "C: \ Demolar" "Hata: geçersiz komut satırı argümanı:" hatası aldım C: \ Demos \ MyProblem.wsdl '" Daha sonra dosya uzantısını xsd.exe'yi kandırmaya çalıştım: xsd.exe" C: \ Demos \ MyProblem.xsd "/ o:" C: \ Demolar " Ve hatayı aldım: "Hata: Sadece sınıflardan veya veri kümelerinden birini oluşturabilir." Öneriniz için zaten teşekkürler. –