En utilisant le code suivant dans un type complexe par un web service
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 [System.Xml.Serialization.XmlElementAttribute(IsNullable=false)] public string CorporateName; /// <remarks/> [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)] public string Type; /// <remarks/> [System.Xml.Serialization.XmlElementAttribute(IsNullable=false)] public string ID;
Le résultat de ces champs dans le WSDL sera :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <s:element minOccurs="0" maxOccurs="1" name="CorporateName" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="Type" nillable="true" type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="ID" type="s:string" />
Avec nillable=true pour les champs ayant IsNullable=true,
Et minOccurs= pour les champs ayant IsNullable=false
Mais au mode RPC/Encoded , le WSDL est :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <s:element minOccurs="1" maxOccurs="1" name="CorporateName" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="Type" type="s:string" /> <s:element minOccurs="1" maxOccurs="1" name="ID" type="s:string" />
Pas de minOccurs=0 et pas de nillable=”true”, donc la propriété XmlElementAttribute n’est pas prise en compte dans le mode WSDL.
Pourriez vous m’aider a résoudre ce problème.
Merci
Partager