Domanda

In realtà dovrebbe esserci una risposta diretta a questa domanda (riguarda la proprietà "Object" di seguito):

Avere il seguente contratto di dati:

    [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 il seguente contratto di assistenza:

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

sarà interoperabile?Dire da Java, Gsoap?In caso contrario, come posso renderlo interoperabile?

Grazie.

Modifica: Voglio solo sapere se WCF sa come serializzare / deserializzare l'oggetto da / nei tipi noti definiti.

È stato utile?

Soluzione

Dovrebbe andare bene finché il client può generare correttamente i tipi dal WSDL.Ad esempio, a seconda del client, potrebbe modificare il List<Transaction> di C # s in un Transaction[] o qualcosa di abbastanza equivalente.Dovrai anche selezionare il tipo di rilegatura destro.Di solito Basichttpbinding ha i migliori risultati per l'interoperabilità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top