Mateusz Mikołajczyk

Mateusz Mikołajczyk Programista, Mobica
Ltd

Temat: WSDL -> Java.

Hej,

poprawcie mnie jeśli się mylę. Mając WSDL danej usługi sieciowej, mogę uzyskać szkielet klas klienckich korzystających z tej usługi. Korzystam np. z Axisa. A czy mogę w jakiś zautomatyzowany sposób uzyskać interfejsy samej usługi? Czyli na podstawie WSDLa stworzyć interfejsy serwera?
Irek Słonina

Irek Słonina programowanie, bazy
danych i linuksy

Bartosz Borowiec

Bartosz Borowiec Salesforce and Java
backend/integration
developer at Inde...

Temat: WSDL -> Java.

Mateusz Mikołajczyk:
Hej,

poprawcie mnie jeśli się mylę. Mając WSDL danej usługi sieciowej, mogę uzyskać szkielet klas klienckich korzystających z tej usługi. Korzystam np. z Axisa. A czy mogę w jakiś zautomatyzowany sposób uzyskać interfejsy samej usługi? Czyli na podstawie WSDLa stworzyć interfejsy serwera?

Tez uzywalem axisa. nawet dziala toto ale z tego co wiem spring ma teraz wsparcie do webserwisow i jest o wiele lepsze:)
Krzysztof T.

Krzysztof T. Architekt systemów,
Wspólnik,
INFINITEPROGRESS SP.
Z O.O....

Temat: WSDL -> Java.

Ja np. korzystałem z JAX-WS i narzędzia wsimport:
https://metro.dev.java.net/nonav/1.3/docs/wsimport.html
Jakub Grabowski

Jakub Grabowski Tworzenie aplikacji,
integracja SOA,
outsourcing,
szkolen...

Temat: WSDL -> Java.

A, żeby "zautomatyzować" polecam skorzystać z maven jax-ws plugin. Goal wsimport generuje zarówno klienta jak i interfejs usługi.

Wygenerowane interfejsy mogą zostać użyte jako interfejs session bean'a z adnotacją @WebService, który zrealizuje interfejs opisany w wsdl.
Krzysztof T.:
Ja np. korzystałem z JAX-WS i narzędzia wsimport:
https://metro.dev.java.net/nonav/1.3/docs/wsimport.html
Piotr Boho

Piotr Boho Software Engineer in
Test (Java)

Temat: WSDL -> Java.

Z axis.jar użyj klasy org.apache.axis.wsdl.toJava.Emitter
Emitter emitter = new Emitter();
emitter.setServerSide(true);//mysle ze to jest to, czego szukasz
emitter.run(url);Piotr Boho edytował(a) ten post dnia 28.07.09 o godzinie 21:18
Mateusz Mikołajczyk

Mateusz Mikołajczyk Programista, Mobica
Ltd

Temat: WSDL -> Java.

Rany boskie, dzięki wszystkim! Nie spodziewałem się, że będzie taki odzew. :) W wolnej chwili wypróbuję te rozwiązania i dam znać jak poszło.

--

Super, wypróbowałem wsimport i właśnie o coś takiego mi chodziło. Przyjrzałem się również samemu WSDL2Java i faktycznie można tym wygenerować kod serwera.Mateusz Mikołajczyk edytował(a) ten post dnia 31.07.09 o godzinie 21:13
Łukasz Koniecki

Łukasz Koniecki Software Architect,
Dynatrace

Temat: WSDL -> Java.

możesz skorzystać także z CXF'a

http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html

konto usunięte

Temat: WSDL -> Java.

To ja jeszcze dorzucę wtyczkę do Eclipse dla Axis (http://ws.apache.org/axis2/0_94/CodegenTools-EclipsePl...
Karol Z.

Karol Z. Programista,
elektronik

Temat: WSDL -> Java.

Witam, chciałbym podłączyć się pod ten temat dla rozwiązania własnego problemu. Jestem nowy w temacie WebServices, więc nie bijcie za mocno ;)

Od dwóch dni wojuję z połączeniem z WebAPI - Allegro. Przekopałem tony dokumentacji, na temat WebServices wiem teoretycznie prawie wszystko :D, jednak do pełni szczęścia brakuje mi możliwości wygenerowania klasy na podstawie pliku WSDL, który udostępnia samo Allegro (link tutaj).

Póbowałem zaimportować odpowiednie klasy za pomocą narzędzia wsimport (dostępnego, na przykład, w używanym przeze mnie JDK_1.6.0_18). Jednak wywołanie:

wsimport -keep uploader.php.xml


kończy się ok. 30-50 błędami typu:

[ERROR] undefined simple or complex type 'SOAP-ENC:Array'


lub

[ERROR] undefined attribute 'SOAP-ENC:arrayType'


W akcie desperacji próbowałem również użyć nawet wscompile w następującej konfiguracji:
wscompile -gen -cldc1.1 -d ../classes/ uploader.php.xml

(ale to ostatnie to chyba pomyłka... ;)

Za wszelkie sugestie będę Wam niezwykle wdzięczny. Gdyby ktoś zechciał mnie nakierować na właściwy trop byłoby mi bardzo miło. :) Google non stop odsyła do tych samych tematów, które właściwie odsyłają z powrotem do wujka Gugla. (najlepszy przykład rekurencji pośredniej, właśnie próbuję znaleźć warunek wyjścia z tejże ;) ). Proszę, jeśli to możliwe, wskazać mi błędy w moim rozumieniu tematu (bo i takowych nie wykluczam - podejrzewam że to co podesłałem jako WSDL nie jest tym, czym powinienem nakarmić wsimport)

Dziękuję!

konto usunięte

Temat: WSDL -> Java.

Karol

JAX-WS 2.0 nie wspiera stylu RPC/Encoded. A takiego właśnie używa Allegro. To trochę dziwne, że taki duży serwis wystawia swoje usługi w czymś, co jest od dawna uznane za pomyłkę powstałą we wczesnej fazie prac nad standardem SOAP. Nawet Don Box (jeden z autorów tego pomysłu) stwierdził, że to była pomyłka i źródło wszelkiego co najgorsze jeśli chodzi o kompatybilność i 'interoperability'. RPC/Encoded jest explicite oznaczone jako nie wspierane przez WS-I Basic Profile i jako takie nie jest bezpośrednio wspierane przez JAX-WS 2.0, w tym metro (dystrybuowane z JDK). Oczywiście brak bezpośredniego wsparcia nie znaczy, że się nie da - niemniej jest to karkołomne, vide: http://www.jroller.com/gmazza/entry/calling_rpc_encode.... Możesz również spróbować z Axis 1.

Swoją drogą dziwne, że Allegro inwestuje w tak przestarzałą technologię. Aż mi się nie chce wierzyć, że nie dostarczają REST API. W ich przypadku aż się o to prosi. Poczynając od wydajności i skalowalności (oni są idealnym przykładem tego jak dobrze mogłoby się skalować rozwiązanie REST vs. SOAP) a kończąc właśnie na prostocie i wsparciu narzędzi.

Przydatne linki:
http://bitkickers.blogspot.com/2008/12/rpcencoded-web-...

http://www.allegro.pl/phorum/read.php?f=327&i=6264&t=6...

pozdrawiam
ArturArtur Karazniewicz edytował(a) ten post dnia 21.02.10 o godzinie 14:10
Karol Z.

Karol Z. Programista,
elektronik

Temat: WSDL -> Java.

Artur Karazniewicz:
Karol

JAX-WS 2.0 nie wspiera stylu RPC/Encoded. A takiego właśnie używa Allegro. To trochę dziwne, że taki duży serwis wystawia swoje usługi w czymś, co jest od dawna uznane za pomyłkę powstałą we wczesnej fazie prac nad standardem SOAP. (...)
Arturze, dziękuję za wyczerpujące info. Chciałem uniknąć walki z AXIS, ale czuję, że to jedyny sposób do osiągnięcia satysfakcjonującego efektu. :-)
Przemysław Wardowski

Przemysław Wardowski Technology driven HR
solutions / CTO w IT
Systems sp. z o.o.

Temat: WSDL -> Java.

Karol Z.:
Artur Karazniewicz:
Karol

JAX-WS 2.0 nie wspiera stylu RPC/Encoded. A takiego właśnie używa Allegro. To trochę dziwne, że taki duży serwis wystawia swoje usługi w czymś, co jest od dawna uznane za pomyłkę powstałą we wczesnej fazie prac nad standardem SOAP. (...)
Arturze, dziękuję za wyczerpujące info. Chciałem uniknąć walki z AXIS, ale czuję, że to jedyny sposób do osiągnięcia satysfakcjonującego efektu. :-)

...aby bitwa poszła szybko i sprawnie : http://jdn.pl/node/1822
Karol Z.

Karol Z. Programista,
elektronik

Temat: WSDL -> Java.

Przemysław Wardowski:

...aby bitwa poszła szybko i sprawnie : http://jdn.pl/node/1822
Hej,

To znaczy że nie mam żadnych przeszkód, dzięki!:-)
Karol Z.

Karol Z. Programista,
elektronik

Temat: WSDL -> Java.

Przemysław Wardowski:

...aby bitwa poszła szybko i sprawnie : http://jdn.pl/node/1822
Działa! :)
Jeszcze raz dzięki!

konto usunięte

Temat: WSDL -> Java.

Hey,

A ja miałbym pytanie z innej strony. Mam dokument WSDL gdzie brakuje schemy dla metod. Tzn. w sekcji <types> jest tylko definicja typów danych z których owe metody korzystają, zaś schemy dla samych metod brak.

Czy to jest poprawny dokument WSDL?

Pozdrawiam
--
Mateusz

konto usunięte

Temat: WSDL -> Java.

Scheme dostarcza sie tylko dla struktur komunikatow in/out.
Po co schema do "metod"? To jest jeden standard.

Następna dyskusja:

Programista JAVA pilnie pos...




Wyślij zaproszenie do