Rozwijamy platformę MDA, która obsługuje usługi WWW. Użytkownik może dostarczyć WSDL w środowisku wykonawczym i wygenerować wszystkie artefakty (interfejs usługi i implementacja dla serwera oraz konsument dla klienta), używając wewnętrznie JAX-WS.Sprawdzanie czasu wykonywania WSDL za pomocą JAX-WS
Chcemy dodać sprawdzanie poprawności do dokumentu WSDL dostarczonego przez użytkownika. Teraz użytkownik musi sprawdzić to za pomocą zewnętrznego narzędzia, takiego jak Oxygen, XMLSpy lub narzędzie internetowe, ale chcemy to dodać jako część naszego systemu. Dobrą funkcją będzie również sprawdzanie poprawności schematu, w tym osadzone schematy WSDL.
W JAX-WS (RI) jest wsparcie dla sprawdzania poprawności schematu w czasie pracy (przy użyciu adnotacji @SchemaValidation), ale nie znalazłem żadnego wsparcia dla walidacji WSDL.
Próbowaliśmy zintegrować Eclipse's WSDL validator, ale wygląda na to, że nie działa dla nas.
Czy jest jakiś sposób zrobienia tego z JAX-WS? Jeśli nie, czy istnieją inne ramy weryfikacji, które możemy zintegrować?
Dzięki
Wspomniałem o @SchemaValidation tylko po to, aby uniknąć nieporozumień pomiędzy sprawdzaniem poprawności instancji i schematu/wsdl. Pytałem, jak powiedziałeś, o walidację artefaktów w czasie projektowania. O stronie WS-I, rzuciłem okiem na narzędzia i to może zadziałać, ale nie jestem pewien co do licencji. O XSD, już oddzielamy te od WSDL i obsługujemy wiele osadzonych schematów. Zbadam, jak sprawdzić te z XSOM. Co do twojego ostatniego punktu, generujemy również serwery i sprawdzanie poprawności tych nagłówków może być interesujące. Dzięki za odpowiedź! – Denian
Z jakiegoś powodu i po krótkim przejrzeniu pliku licencji wydaje mi się, że stos narzędzi WS-I nie jest przyjazny dla zamkniętych lub komercyjnych narzędzi. Chciałem to podkreślić, aby upewnić się, że spojrzysz również na te aspekty. W przypadku sprawdzania poprawności nagłówków, widziałem przypadki, w których klient przesyła prawidłowe ciało Soap bez poprawnej SOAPAction. Również dziękuję za wyjaśnienie, pomyślałem o @SchemaValidation. –
Tak, masz rację: http://netzooid.com/blog/2006/11/26/is-ws-i-open-look-at-their-test-license/ Myślę, że będziemy musieli znaleźć inne rozwiązanie lub framework. O sprawdzaniu poprawności XSD, próbowałem z XSOMParser tworzenie ErrorHandler i działa dobrze. Myślę, że powinienem zostawić to pytanie otwarte, ponieważ głównym problemem była walidacja WSDL, ale w każdym razie wielkie dzięki za twoje odpowiedzi. – Denian