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#のList<Transaction>
がTransaction[]
またはかなり同等のものに変更される可能性があります。右のバインディングタイプも選択する必要があります。通常、BasichttpBindingは相互運用性の最良の結果を持っています。
所属していません StackOverflow