WCF - Objeto como tipo -> interoperables?
-
12-11-2019 - |
Pregunta
En realidad debería haber una directa respuesta a esta pregunta (es sobre el "Objeto" de la propiedad de abajo):
Tener los siguientes datos en el contrato:
[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{}
}
y el siguiente contrato de servicio:
public interface IService
{
[OperationContract(Name = "GetData")]
List<Transaction> GetTransact();
}
Será esto interoperables?Diciendo de Java, gSoap?Si no, ¿cómo puedo hacer interoperables?
Gracias.
EDITAR: Sólo quiero saber si WCF sabe cómo serializar/deserializar el Objeto de/en la conocida definición de los tipos.
Solución
Debería ser un problema siempre y cuando el cliente puede generar los tipos correctamente a partir del WSDL.Por ejemplo, según el cliente, esto podría cambiar la C#'s List<Transaction>
en un Transaction[]
o algo equivalente.Usted también tendrá que seleccionar el tipo de enlace.Generalmente basicHttpBinding tiene los mejores resultados para la interoperabilidad.