2012-11-29 33 views
7

我在Java EE 6中創建了一個Web服務,它使用@WebService註釋了一個企業bean。 我只需要公開一些bean方法,所以我只用@WebMethod註解了所需的方法。 不幸的是,JAX-WS忽略註釋並嘗試公開所有方法。麻煩的是,有一種方法並不打算用作Web服務操作,它返回一個接口,並且這不能由JAX-WS管理,因此Web服務未部署。 這是一個預期的行爲還是我錯過了什麼?無法排除JAX-WS作爲Web服務操作公開的方法

+0

您可以設置要保護的方法的可見性(或等效語言)JAX-WS默認公開所有公共方法(我完全同意)。 – Anthony

回答

13

您可以將屬性'exclude'添加到註釋中並將其設置爲true。 Javadoc指出:標記一種方法不作爲Web方法公開。

+0

我只需按Ctrl +空格來獲取註釋參數,解決方案就在那裏!非常感謝。 – remigio

+0

但這在CXF中是不可能的,它會拋出異常 - https://issues.apache.org/jira/browse/CXF-3128?focusedCommentId=12932648&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel #評論-12932648 – Betlista