2010-05-19 58 views
0

我想知道是否有可能使一個通用的Web服務方法,在Java中是這樣的:Java的web服務與通用方法

@WebMethod 
public <T extends Foo> void testGeneric(T data){ 

然而,當我試圖用Java客戶端,我得到一個錯誤,說明消費這樣的:

[錯誤]模式描述符消息部分中的testGeneric「參數」未定義,無法綁定到Java。

我知道有可能創建一個方法,它需要一個參數(如List),並且這可以使用JAX-WS正確生成。

我不介意是否有解決方案,意味着我只能使用特定的技術。

謝謝, 丹。

回答

0

我對此表示懷疑。但是你可以定義一個通用超級接口,讓您的實際服務接口參數擴展它:

public interface BaseService<T>{ 
    T doWhackStuff(); 
} 

public interface ExtendedService<T>{ 
    T doMoreWhackStuff(); 
} 

public interface DoubleWhackyService extends BaseService<Whack>, ExtendedService<Whack>{ 
} 

我:

public interface BaseService<T>{ 
    T doWhackStuff(); 
} 

public interface WhackyService extends BaseService<Whack>{ 
} 

public interface EvenMoreWhackyService extends BaseService<Whackier>{ 
} 

這種方法通常只有從多個組件構建您的接口有意義沒有在JAX-WS中測試過這種方法,但我知道它在Spring/GraniteDS/Flex中工作