2010-08-19 51 views

回答

4

相當簡單:

  • 避免任何.NET細節像例外(把它們變成SOAP錯誤)

  • 不使用任何綁定與net像開始netTcp,netNamedPipes,netMsmq和等等 - 使用wsHttpBinding作爲安全的WS- *服務,並使用basicHttpBinding來達到最大範圍甚至是最奇怪的客戶端平臺的兼容性

  • 不使用Ne tDataContractSerializer

+0

1)如何改變例外任何提示到SOAP錯誤? - 我不確定這到底意味着什麼。 2)關於不使用NetDataContractSerializer:我在我的數據合同上使用System.Xml.Serialization,是互操作性的更好選擇嗎? – VoodooChild 2012-12-07 07:34:30

3

我推薦WCF REST暴露多種序列化格式,對於初學者來說肯定是xml。

3

一般的互操作性:

  • 只有HTTP和HTTPS傳輸信道的安全憑證可互操作的
  • 談判是不能互通的(negotiateServiceCredential在信息安全)。它使用TLSNego或SPNego協議,這些協議並不總是受其他平臺的支持。
  • HTTP流可引起麻煩以及
  • 通過HTTP信道的二進制編碼不是可互操作的
  • OleTransactions不能互操作
  • 小心使用服務的安全上下文(estabilishSecurityContext在消息安全性)。它使用WS-安全對話協議,該協議不適用於某些平臺

編輯:

  • WSDualHttpBinding和CompositeDuplexBindingElement不能互操作