2012-08-31 15 views
7

Mam pytanie odnośnie generowania artefaktów Java z narzędziem wsimport (przez Maven JAX-WS)Kod generowany przez wsimport - najlepsza praktyka dla pakowania kod

Kiedy wygenerować artefakty Java z WSDL, chciałbym pakować projekt usługi sieciowej jako plik WAR, a jego klient jako plik JAR.

Gdzie umieścić wygenerowane artefakty i gdzie umieścić WSDL? Jaka jest najlepsza praktyka w zakresie organizacji projektów usług sieciowych?

Z góry dziękuję!

poważaniem, Jurica Krizanic

Odpowiedz

3

Artefakty będą potrzebne zarówno po stronie klienta i serwera tak zapakować je w trzecim słoiku i ustawić go jako zależność dla obu stron. WSDL powinny przejść do folderu WEB-INF wojny, a atrybut wsdlLocation z @WebService i @WebServiceClient powinien zostać ustawiony tak, aby odzwierciedlał ścieżkę do niego.

+0

Dzięki na odpowiedź. Czy wiesz, gdzie umieścić WSDL w pliku wojennym? Mam pewne problemy z ładowaniem wsdl ... –

+0

@JuricaKrizanic Zmieniono moją odpowiedź. – zeller

+0

Czy kod generowany przez wsimport jest taki sam, który przechodzi na stronę serwera i po stronie klienta? –

1

Opcje opakowań dla usług zarządzanych zostały zdefiniowane w JSR 109: Web Services for Java EE, Version 1.3.

przypadku usług:

5.4.2 EJB Moduł Opakowanie

... lokalizacja deskryptor wdrożenia usługi sieci Web w pliku EJB-JAR jest META-INF/webservices.xml. Katalog WSDL znajduje się pod adresem META-INF/wsdl.

5.4.3 Moduł Web App Packaging

... Web Services deskryptor rozmieszczenia znajduje się w wojnę na WEB-INF/webservices.xml a katalog WSDL znajduje się WEB-INF/wsdl.

Dla klientów:

Klient może być jedną z następujących czynności: Java EE klienta aplikacji WWW, składnik komponentu EJB lub innej usługi internetowej.

Lokalizacja deskryptora wdrażania klienta usług Web Service w module zależy od konkretnego modułu. Pliki WSDL znajdują się w odniesieniu do katalogu głównego modułu i zazwyczaj znajdują się w katalogu wsdl, który jest zlokalizowany razem z deskryptorem wdrażania modułu lub podkatalogu z .

Zauważ, że ta specyfikacja ogranicza się do klientów Java EE; nie oznacza to, że użytkownik nie może uzyskać kodu jawnego WSDL pod numerem unmanaged client.

odsyłaczy te specyfikacje bardziej szczegółowo:

Powiązane problemy