Wiem, jak generować kody pośredniczące klientów za pomocą Apache CXF. Jednak gdy próbuję uruchomić wygenerowane klasy, korzysta z JAXWS. Zauważam również, że klasy importu wygenerowanych klas pochodzą z pakietu javax. Jak używać zestawu generowanych klas do korzystania z bibliotek Apache CXF zamiast bibliotek JAXWS?Jak korzystać z Apache CXF jako klienta?
Poniżej znajduje się kod używam do generowania odcinki klient:
wsdl2java -frontend jaxws21 -wsdlLocation "META-INF/wsdl/WSCustom.wsdl" -client -d C:\Workspace\WSClient\META-INF\wsdl\ "C:\Workspace\WSClient\META-INF\wsdl\WSCustom.wsdl"
Witam, @Ian. Dzięki za odpowiedź. Jeśli zarówno CXF, jak i wbudowana JDK są dostępne w ścieżce klas, co będzie priorytetem? Czy istnieje sposób, aby nie umieścić go w ścieżce klas i po prostu uwzględnić go tylko w folderze lib aplikacji? Jak mogę sprawdzić, czy już korzysta z biblioteki CXF? – Arci
@Arci, gdy mówię "w ścieżce klas", niekoniecznie oznacza, że musisz ustawić zmienną środowiskową, mam na myśli, że słoiki są dostępne dla twojej aplikacji w dowolny sposób (WEB-INF/lib, jeśli jest to sieć application, 'java -cp' dla aplikacji wiersza poleceń, cokolwiek). Wykorzysta to, co zostanie znalezione jako pierwsze - jeśli masz zarówno słoiki CXF, jak i Metro "w ścieżce klas", to będzie to pierwsza z nich, jeśli CXF jest w twojej aplikacji i polegasz na wbudowanej kopii Metro w rt.jar, a następnie CXF powinien wygrać. –
Jeśli chodzi o sprawdzanie, które jest używane w danym momencie, można uruchomić poziom [poziomu logowania] (http://cxf.apache.org/docs/debugging-and-logging.html#DebuggingandLogging-Configurelogginglevels.) (CXF docs, ignoruj bit na górze o przechwytywaczach, to tylko wtedy, gdy chcesz logować nieprzetworzone wiadomości z mydłem, które są wysyłane i odbierane). –