2010-10-13 50 views
1

我正在處理一個.net系統,它將同時暴露和使用web服務與另一個系統來回傳遞數據 - 另一個系統是基於java的。。使用與其他平臺複雜類型的網絡服務Java

我們提出的XSD包含複雜的類型,並且有人對使用複雜類型以及如何更好地堅持簡單類型表達了一些擔憂。我曾想過.net可以支持複雜的類型,所以希望有人能詳細說明我可能面臨的問題。我試過Google搜索,但沒有找到任何具體的東西。

Exposing .NET WebService to Other Platform (Java)計算器問題有一個答案是

「這應該工作開箱即用,但 我建議不要返回 複雜的數據結構或預期 如輸入參數。如果你需要 這種複雜性,我會 建議返回/接受XML 。「

,但並沒有真正解釋爲什麼,所以任何想法/解釋不勝感激

編輯 - 注意,我不打算對這些服務傳遞平臺特定的對象,而不是我想要的商業實體模型一個共享的XSD作爲複雜的類型,由簡單的類型構建而成(這樣它們可以很容易地在其他XSD中進行控制和重用),這些都是引起人們關注的因素。

我打算對此做一些概念驗證,看看我是否可以證明這種工作/表面存在任何問題,但是我認爲我會先得到一些SO用戶的看法。

回答

2

有許多特定於平臺的類型,只要兩個端點是同質的,但不能幹淨地映射到xsd或其他平臺,就可以輕鬆使用。例如.NET中的DataTable是來自其他任何地方的皇家PITA;並且在.NET中實現IXmlSerializable的任何內容都可能完全位於該模式中。

在互操作場景中,通常需要從xsd開始,因爲這給出了所有合理客戶端都應該預期的通用標準。

+0

如果在我的XSD中,我創建了一個新的複雜類型來表示一個業務實體(而不是使用一系列簡單類型),可能兩個平臺都應該能夠解釋這個,因爲它不是「特定」平臺? – 2010-10-13 09:17:04

+0

@Kris - 希望,是的;唯一可以肯定的方法是通過你希望支持的各種平臺來嘗試 – 2010-10-13 09:19:13

+0

是的 - 這將是我的下一步,從一端向另一端發射一些「示蹤子彈」,但是我認爲我會首先到此爲止,看看別人有什麼經歷。 – 2010-10-13 09:30:31