Question

En fait, il devrait y avoir une réponse simple à cette question (concerne la propriété "objet" ci-dessous):

Avoir le contrat de données suivant:

    [KnownType(typeof(bool))]
    [KnownType(typeof(int))]
    [KnownType(typeof(string))]
    [KnownType(typeof(Customer))]
    [KnownType(typeof(Client))]
    public class Transaction
    {    
        // properties
        [DataMember(Name = "UID")]
        public int UID{}

        [DataMember(Name = "Type")]
        public Enums.TransactionType Type{}

        [DataMember(Name = "Data")]
        public Object Data{}
    }

et le contrat de service suivant:

public interface IService
{
      [OperationContract(Name = "GetData")]
      List<Transaction> GetTransact();
}

Est-ce que cela sera interopérable? Dire de Java, GSOAP? Sinon, comment puis-je le rendre interopérable?

Merci.

ÉDITER:Je veux juste savoir si WCF sait comment sérialiser / désérialiser l'objet de / dans les types connus définis.

Était-ce utile?

La solution

Cela devrait être bien tant que le client peut générer correctement les types à partir du WSDL. Par exemple, selon le client, il peut changer C # List<Transaction> dans une Transaction[] ou quelque chose d'assez équivalent. Vous devrez également sélectionner le bon type de liaison. Habituellement, Basichttpbinding a les meilleurs résultats pour l'interopérabilité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top