Aktualnie używam cxf 2.4.0, a mój kod wywołuje usługę internetową. Udało mi się wygenerować pliki java po stronie klienta przy użyciu wtyczki cxf w Maven. Moje pytanie brzmi: jaka jest najlepsza praktyka dla wygenerowanych plików? Czy powinienem skompilować wygenerowane pliki i spakować wygenerowane pliki klas do pojedynczego pliku JAR, czy też powinienem uwzględnić wszystkie wygenerowane pliki java w ścieżce budowania?CXF Wsdl2Java Najlepsze praktyki
Odpowiedz
Dla wygenerowanego kodu, zwykle tworzę "wygenerowany" folder pod "głównym" (main/src/java - main/generated/java) i mam CXF do generowania tam klas. Następnie dodaję "wygenerowany" folder do ścieżki źródłowej kompilatora.
uzyskać CXF do generowania kodu pod cel, to wybiera TARGET/generowane-sources/CXF domyślnie, co jest dobre przeze mnie. (Jeśli używasz xjc do obsługi schematu, używa podobnego schematu Maven jest świetny na konwencje!)
Co czasami robię, to umieszczam wygenerowany kod we własnym module maven, co może czasem uprościć rzeczy; Eclipse nie jest w pełni zadowolony z wygenerowanego kodu źródłowego (nie podoba mu się to, że czyszczenie wyrywa kod źródłowy spod nóg), tak więc znikając poza zasięgiem wzroku, sprawy stają się znacznie prostsze. W końcu jest to po prostu biblioteka, która jest generowana z dokumentu WSDL ...
UWAGA: To działa dobrze bez względu na to, czy umieścisz dokument WSDL w projekcie, czy pobierzesz go z zewnętrznego źródła podczas kompilacji; Najczęściej preferuję ten pierwszy, który redukuje liczbę rzeczy, które mogą pójść nie tak (szczególnie w przypadku zależności XSD od twoich zależności WSDL, które czasami mogą skończyć się na serwerze, który nie lubi automatycznych klientów). –
Utwórz zadanie kompilacji (ant/maven), które generuje kod i pakuje skompilowany kod do pliku jar. Po zmianie klucza wsdl wystarczy ponownie uruchomić zadanie kompilacji.
Jeśli zdecydujesz się na wygenerowanie źródła, użyj adnotacji Generated. Większość narzędzi generujących WSDL ma tę opcję.
- 1. Korzystanie z wiązań xmlbeans dla cxf wsdl2java
- 2. Niestandardowy pakiet w pliku wsdl2java (CXF)
- 3. Ustaw poziom zgodności Java w CXF wsdl2java
- 4. DTO: najlepsze praktyki
- 5. Najlepsze praktyki ASP.NET Security
- 6. Transakcje NHibernate Najlepsze praktyki
- 7. Najlepsze praktyki ActionListener
- 8. Najlepsze praktyki asynchronicznego Webrequestu
- 9. Najlepsze praktyki scalania SVN
- 10. CSS Outline najlepsze praktyki
- 11. Najlepsze praktyki modelowania LDAP
- 12. Najlepsze praktyki testowania integracji
- 13. IBOutlet najlepsze praktyki
- 14. Najlepsze praktyki LDAP
- 15. Shared NSDateFormatter - najlepsze praktyki?
- 16. C#: Najlepsze praktyki Debug.Print
- 17. Swagger Najlepsze praktyki
- 18. Najlepsze praktyki fragmentów
- 19. Najlepsze praktyki wtrysku zależnego
- 20. Najlepsze praktyki LinqToSql
- 21. Najlepsze praktyki HttpRuntime.Cache
- 22. Android strings.xml Najlepsze praktyki?
- 23. Najlepsze praktyki CoreData
- 24. Najlepsze praktyki anulowania zadań:
- 25. OpenGL vào najlepsze praktyki
- 26. Najlepsze praktyki dotyczące debugowania
- 27. Gulpfile.js oglądać najlepsze praktyki
- 28. WSDL2Java. Apache CXF. ArrayOf {Type} do listy <Type>
- 29. Standardy jQuery i najlepsze praktyki
- 30. Konwencje i najlepsze praktyki Jira
Dzięki! Jaki jest powód, aby nie słoić wygenerowanych plików klas? Czy jest to spowodowane problemem zarządzania zależnościami w twojej technologii usług sieciowych? Że wygenerowane pliki są blokowane do konkretnej wersji CXF i ciężko jest aktualizować i utrzymywać –
Nie, to tylko kwestia preferencji. Jeśli twój klucz wsdl zmienia się często, musisz zregenerować źródła i odtworzyć słoik. Jeśli twój wsdl jest "statyczny", możesz bardzo dobrze utworzyć słoik z wygenerowanego kodu. Nie sądzę, że tutaj jest naprawdę najlepsza praktyka. –