Web Service RPC/Encoded (IsNullable Attribute)
En utilisant le code suivant dans un type complexe par un web service
Code:
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:
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:
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