這不是Java特定的問題,但讓我們舉一個Java示例:在Java世界中將xmime:expectedContentTypes="*/*
添加到base64元素以啓用服務器上的MTOM處理是標準做法這樣做會導致@XmlMimeType
批註,使用DataHandler
而不是字節數組等等。儘管這個描述當然被大大簡化了,但xmime:expectedContentTypes="*/*
通常被開發人員認爲是'MTOM ready'(更重要的是也被實現的庫)當在模式中看到時。從我從例子中得到的結果來看,C#世界的情況是一樣的。如何標記SOAP服務「啓用MTOM」
但它對我來說確實沒有意義 - 該屬性指定了我們在XML中實際期望的數據類型,而不是它可以與MTOM一起使用。在任何RFC或類似的SOAP 1.1文檔中,我也沒有發現預期的內容類型和MTOM之間有任何直接聯繫。
我的問題可以從兩個方面來表述:
- 如何服務明確表示它接受/在請求/響應提供二進制數據作爲MTOM附件?
- 客戶端如何正確識別可以通過使用給定服務的MTOM附件發送/獲取二進制數據?