WCF - 对象作为已知类型 - >可互操作?
-
12-11-2019 - |
题
实际上应该有一个直接回答这个问题(关于下面的“对象”属性):
具有以下数据合同:
[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{}
}
.
和以下服务合同:
public interface IService
{
[OperationContract(Name = "GetData")]
List<Transaction> GetTransact();
}
.
这将是可互操作的吗?从java,gsoap说?如果没有,我如何使其互操作?
谢谢。
编辑: 我只是想知道wcf是否知道如何将对象序列化/反序列化为已知类型所定义的已知类型。
解决方案
只要客户端可以从WSDL正确地生成类型,就要很好。例如,取决于客户端,它可能会将C#的FlainodiceTagcode更改为List<Transaction>
或相当等效的内容。您还需要选择正确的绑定类型。通常basichttpbinding为互操作性具有最佳结果。
不隶属于 StackOverflow