2011-09-12 88 views
1

我們正在與JAXB(2.1)一起使用JAX-WS。WebParam的JAX-WS更改命名空間

首先,我們創建了鏈接到XSD類型的Java類。

然後利用CXF(2.1.3),春季(2.0.8)和JAX-WS,我們已經公佈從JAXB類型的web服務(實際上是一個@XmlType),像這樣:

@WebMethod(operationName = "addExample") 
public @WebResult void addExample(
     @WebParam(name = "EXAMPLE") EXAMPLETYPE exemple); 

我們知道webservice是使用接口的包名稱(反向)或使用@WebService註釋來發布我們可以定義的「targetNamespace」。事實上,我們喜歡的東西做到了:

@WebService(targetNamespace = "http://blablabla") 

在這個時候,我們需要保持的WebService的整體目標名稱,但我們需要改變@ java.jws.WebParam的命名空間(即,實例PARAM在我們的例子中)。

有可能嗎?註釋從來沒有爲我們工作,做這樣的事情:

@WebMethod(operationName = "addExample") 
public @WebResult void addExample(
     @WebParam(name = "EXAMPLE", targetNamespace = "http://thats.all.folks") EXAMPLETYPE exemple); 

我們真的失去了......

謝謝

回答

2

我認爲你需要升級到較新的(和支持)版本的CXF。我相信這是一個很久以前修復的bug。

+0

Yees ???我的天啊!!!你不知道我花了多少時間在這上面!我會嘗試將它更新到最新版本(2.4.0)! 非常感謝Daniel! –

+0

丹尼爾它的作品!我們將CXF升級到最新的2.2.12版本(因爲使用Spring 3 :-(),所有東西都像魅力一樣工作,所以我們無法升級! 謝謝! –

+0

我在2.2.10中遇到了這個問題。升級並看到... –