J'ai créé une référence Web (également essayé le service de référence) à un WSDL qui avait le noeud suivant dans un xsd:VB.NET cas Insensible Web énumération Référence Problème
<xs:element name="filter">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" ref="condition" />
<xs:element minOccurs="0" maxOccurs="unbounded" ref="filter" />
</xs:choice>
<xs:attribute default="and" name="type">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="and" />
<xs:enumeration value="or" />
<xs:enumeration value="AND" />
<xs:enumeration value="OR" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute default="false" name="not" type="xs:boolean" />
</xs:complexType>
</xs:element>
Lorsque la classe proxy client est créé produit ceci:
'''<remarks/>
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.225"), _
System.SerializableAttribute(), _
System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=true, [Namespace]:="urn://wsc.acme.com/dm/2010/02/02")> _
Public Enum filterType
'''<remarks/>
[and]
'''<remarks/>
[or]
'''<remarks/>
[AND]
'''<remarks/>
[OR]
End Enum
Ceci ne se construirait pas dans un projet VB car VB.NET est insensible à la casse. J'ai essayé de supprimer un ensemble de et/ou, mais quand le XML est créé, il ignore simplement la valeur sélectionnée. J'ai également essayé d'ajouter un X à la fin de l'un des jeux qui a également échoué.
Existe-t-il un moyen de faire fonctionner ce système? J'ai également essayé de mettre à jour le XSD donc il avait juste deux valeurs sans succès. La chose intéressante à noter est que la valeur par défaut est "et" et, pendant le débogage, elle la mettra à "et", elle ne produira pas l'attribut "node" généré.