2012-11-29 10 views
7

Tworzę usługę internetową w Java EE 6, opisując komponent korporacyjny z @WebService. Muszę ujawnić tylko niektóre z metod bean, więc mam adnotacji z @WebMethod tylko te wymagane. Niestety JAX-WS ignoruje adnotacje i próbuje ujawnić wszystkie metody. Problem polega na tym, że istnieje jedna metoda, która nie ma być używana jako operacja usługi internetowej, która zwraca interfejs i nie może być zarządzana przez JAX-WS, więc usługa WWW nie jest wdrożona. Czy jest to oczekiwane zachowanie, czy też coś mi brakuje?Nie można wykluczyć, że metoda nie zostanie ujawniona przez JAX-WS jako działanie usługi WWW.

+0

Możesz ustawić widoczność metody na chronioną (lub równoważny językowo) JAX-WS domyślnie eksponuje wszystkie publiczne metody (z czym się całkowicie zgadzam). – Anthony

Odpowiedz

13

Możesz dodać atrybut "wyklucz" do adnotacji i ustawić go na wartość true. Javadoc stwierdza: Zaznacza metodę, której NIE można ujawnić jako metody internetowej.

+0

Po prostu musiałem nacisnąć ctrl + spacja, aby uzyskać parametry adnotacji i rozwiązanie było! Wielkie dzięki. – remigio

+0

ale to nie jest możliwe w CXF, zgłasza wyjątek - https://issues.apache.org/jira/browse/CXF-3128?focusedCommentId=12932648&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel # comment-12932648 – Betlista

Powiązane problemy