Робимо заглушку для Веб-сервісу на JAVA

Після численних пошуків матеріалів на цю тему я, на жаль, не знайшов ясного, короткого і зрозумілого матеріалу. Тому, з думкою про те, що мені це стане в нагоді в майбутньому, і володіючи властивістю забувати через деякий час будь-які програмістські нюанси, я вирішив написати про це тут, а заразом і Вам допомогти, шановний читачу. Якщо перед Вами постало завдання написати клієнта під Windows для веб-сервісу на JAVA, то зараз я спробую розповісти, як за пару хвилин без зайвого головного болю зробити заглушку для віддаленого Веб-сервісу.

Для цієї мети існує утилітаWSDL2Java, що поставляється у складіApache Axis - реалізації протоколу SOAP від ​​компанії Apache. Насамперед йдемо на сторінку проекту Axis, де можна ознайомитися з документацією та отримати останню версію релізу бібліотеки: http://ws.apache.org/axis/java/. На момент написання цієї замітки це версія1.4. Завантажуємо бібліотеку звідси: http://apache.rinet.ru/dist/ws/axis/1_4/axis-bin-1_4.tar.gz. Розпаковуємо вміст архіву і заходимо в каталог.\axis-1_4\lib\. Бачимо такі бібліотеки Axis:

Якщо спробувати розпакувати вміст бібліотекиaxis.jar (можна скористатися звичайним WinRAR), серед величезної кількості розміщених там класів можна знайти нашу безцінну утиліту WSDL2Java. Вона являє собою скомпільований Java-клас, розташований у каталозіaxis\org\apache\axis\wsdl\. Але вистачить лірики, перейдемо до справи :-) Створюємо прямо в папці.\axis-1_4\lib\ командний bat-файл, і називаємо його, наприклад,MakeStub.bat. Відмінно, вже половина справи зроблено :-)

Копіюємо ці два файли в директорію\axis-1_4\lib\ з бібліотеками Axis та нашим файлом описуMyWebService.wsdl.

Тепер лишилосязробити зовсім зовсім небагато. Відкриваємо створений нами файлMakeStub.bat і прописуємо туди рядки:

Якщо все було зроблено правильно, ми не повинні побачити помилок. Після прогону bat-файлу отримаємо в нашому каталозі.\axis-1_4\lib\ структуру каталогів з вихідними файлами довгоочікуваної заглушки. Що з ними робити далі? Оскільки це лише заглушка, тобто. інтерфейс для доступу до віддаленого веб-сервісу, ці файли навряд чи змінюватимуться. Тому можна створити для них новий проект (я використовую IDE NetBeans), скомпілювати у jar-бібліотеку, а потім підключити до Вашого проекту клієнта. Ось і все, що було потрібне :-)