簡體   English   中英

從Web服務返回單個結果,但是返回多種類型? 在Java中?

[英]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中是否存在帶有CXFAegis和Annotations的類似內容?

JAXB中有一個名為@XmlSeeAlso的注釋。 這可用於用子孫類型裝飾Employee基類。 不幸的是,宙斯盾數據綁定沒有利用該注釋。 但是,CXF中的默認JAXB數據綁定確實遵守此注釋。 這解決了上面的SalariedEmployee方案。 等效於.NET的KnownType屬性。

不幸的是,在第一個用例中,我們返回一個Object並需要確保從Web服務返回的所有有效類型都在WSDL中表示,這對於代碼優先開發似乎不太可能。 在.NET中,您可以使用ServiceKnownType屬性公開這些類型。 不幸的是,這在使用代碼優先開發的Java中似乎是不可能的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM