Pergunta

Na verdade, deveria haver uma resposta direta para esta pergunta (é sobre a propriedade "Object" abaixo):

Tendo o seguinte contrato de dados:

    [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{}
    }

e o seguinte contrato de serviço:

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

Isso será interoperável?Dizendo de Java, gSoap?Se não, como posso torná-lo interoperável?

Obrigado.

EDITAR:Eu só quero saber se o WCF sabe como serializar/desserializar o objeto de/para os tipos conhecidos definidos.

Foi útil?

Solução

Tudo bem, desde que o cliente possa gerar os tipos corretamente a partir do WSDL.Por exemplo, dependendo do cliente, pode alterar o C# List<Transaction> dentro de Transaction[] ou algo bastante equivalente.Você também precisará selecionar o tipo de encadernação correto.Normalmente basicHttpBinding tem os melhores resultados em termos de interoperabilidade.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top