2010-03-24 75 views
2

我試圖建立有一個共同的基類的Java EE Web服務,但孩子類是實際@WebService類(和暴露的父類的方法爲@的WebMethod的)@WebService繼承Java的

篩選:

public abstract class Parent { 
@WebMethod 
public void doSomething(){//...does stuff} 
} 

@WebService 
public class Child extends Parent {} 

我試過(和失敗):
- 註釋父類的web服務以及
- 確保所有父方法與@WebMethod

註釋0

這是可能的,如果是這樣,怎麼樣?

回答

4

註解不會繼承這樣的方法,所以它在技術上是不可能的。該子類將不得不重寫,調用super並具有webmethod註釋。

另一種選擇(可能是更好的選擇)是將註釋放在一個接口上,並使用@WebService註釋的endpointInterface方法來引用方法,並讓超類實現該接口(只是爲了清除所有內容) 。

+0

有了第二個選項,我仍然必須讓子類明確地覆蓋父項方法才能使其正常工作,對嗎? – javamonkey79 2010-03-24 01:48:54

+0

@ javamonkey:不,只要方法簽名匹配,容器就會算出來。你甚至不需要實現這個接口。 – Yishai 2010-03-24 01:53:02

+0

明天我會試試這個,謝謝! – javamonkey79 2010-03-24 01:57:49