WCF - objet comme type connu -> Interopérable?
-
12-11-2019 - |
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.
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é.