[英]Returning Single Result, But Multiple Types From Web Service? In Java?
我需要從Web服務返回多個值,因為...
Object GetResults(){}
對象可以是幾種不同的類型。 如何將這些已知類型添加到Web服務合同中? 有沒有可以用來裝飾界面的注釋?
注意:我將Java與CXF,Aegis和Annotations一起使用。
相同問題的另一個變體是返回抽象類,但需要發送具體類型。
Employee getEmployee(string name) {}
abstract class Employee {}
class SalariedEmployee extends Employee {}
在WCF和.NET中,有一個稱為KnownTypes的功能可以處理這些情況。
Java中是否存在帶有CXF , Aegis和Annotations的類似內容?
JAXB中有一個名為@XmlSeeAlso的注釋。 這可用於用子孫類型裝飾Employee基類。 不幸的是,宙斯盾數據綁定沒有利用該注釋。 但是,CXF中的默認JAXB數據綁定確實遵守此注釋。 這解決了上面的SalariedEmployee方案。 等效於.NET的KnownType屬性。
不幸的是,在第一個用例中,我們返回一個Object並需要確保從Web服務返回的所有有效類型都在WSDL中表示,這對於代碼優先開發似乎不太可能。 在.NET中,您可以使用ServiceKnownType屬性公開這些類型。 不幸的是,這在使用代碼優先開發的Java中似乎是不可能的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.