none
WCF out parameter list RRS feed

  • Discussion générale

  • Bonjour,


    Je suis en train d'implémenter un service qui doit respecter un WSDL bien précis à l'aide de WCF.


    J'ai une méthode dans mon interface dont la signature est comme ceci (J'ai mis la même chose dans la classe qui implémente mon interface) :

    void GetWebServiceInformation(out GetWebServiceInformationResponseGetWebServiceInformationVersion GetWebServiceInformationVersion,
                [XmlArray("GetWebServiceInformationSupportedOperations"), XmlArrayItem("Operation")] out GetWebServiceInformationSupportedOperations GetWebServiceInformationSupportedOperations);

    J'ai également mis les tag qui vont bien sur cette classe :

    [CollectionDataContract(ItemName = "Operation", Name = "GetWebServiceInformationSupportedOperations")]
        public class GetWebServiceInformationSupportedOperations : List<string> { }

    Le problème est que, lorsque je lance un appel à cette méthode, l'objet GetWebServiceInformationSupportedOperations qui hérite de List<string> ne respecte pas l'annotation XmlArrayItem.

    <GetWebServiceInformationResponse xmlns="***">
          <GetWebServiceInformationVersion>
            <MajorVersion>1</MajorVersion>
            <MinorVersion>1</MinorVersion>
            <UsedNameSpace>***</UsedNameSpace>
          </GetWebServiceInformationVersion>
          <GetWebServiceInformationSupportedOperations>
            <string>GetWebServiceInformation</string>
            ...
            <string>***</string>
          </GetWebServiceInformationSupportedOperations>
        </GetWebServiceInformationResponse>

    Alors que j'aurai voulu :

    <GetWebServiceInformationSupportedOperations>
            <Operation>GetWebServiceInformation</Operation>
            ...
            <Operation>***</Operation>
          </GetWebServiceInformationSupportedOperations>

    Quelqu'un aurait-il une piste ?

    Merci d'avance


    • Modifié drbarton76 mercredi 31 octobre 2012 15:43
    • Type modifié Aurel Bera mardi 6 novembre 2012 14:25 Pas de reponse
    mercredi 31 octobre 2012 15:42

Toutes les réponses