AXIS i dziwne zachowanie webserwisów

Obecnie jestem w trakcie tworzenia aplikacji, która musi integrować usługi dostarczane przez dwóch różnych dostawców. Niestety – wystawiane WSDLki zmuszają mnie do używania dość antycznej wersji biblioteki AXIS (nie by nowsze wersje były jakoś lepsze). Dziwnym trafem przy strzałach do dostawców za pomocą SoapUI wszystko działało pięknie. Przy wygenerowanym kliencie kodowym – już niekoniecznie.

Co się okazało? AXIS (nie wiem, możliwe, że klienci generowani przez CXF lub  Metro i w specyfikacji zgodnej z JAX-WS robią inaczej) tworzył request w taki sposób, że do adresata wysyłany był request, który zawierał wszystkie elementy XMLa zadeklarowane w WSDLu. Co prawda nie zawierały one wartości, ale i tak właśnie ten fakt był przyczyną dziwnego zachowania usługi. Wystarczyło poprawić ręcznie dostarczonego WSDLa, usuwając z niego niepotrzebne mi elementy (wiem, że delikatnie mówiąc to średnie rozwiązanie). Niestety nie jestem w stanie stwierdzić czy to wina samego dostawcy webserwisu, czy dziwnego zachowania AXISa. Nie wiem i nie chcę wiedzieć.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s