Comment spécifier un paramètre d'un OperationContract comme l'exige
Je me demande comment je peux spécifier un paramètre d'un OperationContract méthode dans WCF, ce qui l'a généré xsd contient minOccurs="1" au lieu de minOccurs="0".
Exemple:
[ServiceContract(Namespace = "http://myUrl.com")]
public interface IMyWebService
{
[OperationContract]
string DoSomething(string param1, string param2, string param3);
}
génère cette xsd:
<xs:element name="DoSomething">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="param1" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="param2" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="param3" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
Mais je veux définir minOccurs="1" dans le code sans la nécessité de corriger manuellement dans le fichier xsd.
OriginalL'auteur Jan-Patrick Ahnen | 2010-08-04
Vous devez vous connecter pour publier un commentaire.
Vous pourriez avoir besoin pour emballer vos paramètres dans une classe, vous pouvez utiliser le
DataMember
attribut et spécifierIsRequired=true
:Ne ce juste faire de la "demande", l'argumentation dans la OperationContract marqué comme minOccurs="0" dans le générés xsd?
Je vois que tu n'a jamais reçu une réponse ici. Vous apportez un point fort. Je pense que vous avez raison. L'exécution d'une OperationContract paramètre exigence dans WCF (comme ce que j'ai lu) ne peut pas être fait sur "Nullable" sans entrer contrat de message. Voici un lien que j'ai trouvé: social.msdn.microsoft.com/Forums/vstudio/en-US/... ... je pense que vous avez raison sur votre point de vue.
OriginalL'auteur Graham Clark
Cette mise en œuvre est gentil avec moi:
http://thorarin.net/blog/post/2010/08/08/Controlling-WSDL-minOccurs-with-WCF.aspx
OriginalL'auteur Pit Ming