- Статьи и примеры
- | Веб сервисы
- | Сравнение скорости работы четырех клиентов веб сервисов
- | Сравнение скорости работы четырех клиентов веб сервисов страница 2.
Сравнение скорости работы четырех клиентов веб сервисов Страница 2.
Клиент AXIS
В тесте использовалась версия 1.4. Скачать её можно тут. Кладем в папку lib1.4 следующие файлы:
- lib1.4
- axis.jar
- axis-ant.jar
- commons-discovery-0.2.jar
- commons-logging-1.0.4.jar
- jaxrpc.jar
- log4j-1.2.8.jar
- saaj.jar
- wsdl4j-1.5.1.jar
Для чистоты эксперимента берем WSDL прямо с сервера, назовем файл Joker.wsdl, и пишем простой сценарий для запуска gen.bat:
@echo off set CLASSPATH=./lib1.4/axis-ant.jar set CLASSPATH=%CLASSPATH%;./lib1.4/axis.jar set CLASSPATH=%CLASSPATH%;./lib1.4/commons-discovery-0.2.jar set CLASSPATH=%CLASSPATH%;./lib1.4/commons-logging-1.0.4.jar set CLASSPATH=%CLASSPATH%;./lib1.4/jaxrpc.jar set CLASSPATH=%CLASSPATH%;./lib1.4/log4j-1.2.8.jar set CLASSPATH=%CLASSPATH%;./lib1.4/saaj.jar set CLASSPATH=%CLASSPATH%;./lib1.4/wsdl4j-1.5.1.jar set PACKAGE=com.axis.client.wsdl echo CLASSPATH: %CLASSPATH% echo Generating Java files from WSDL, package: %PACKAGE%... java org.apache.axis.wsdl.WSDL2Java ./Joker.wsdl -p %PACKAGE% pause
Готовые файлы добавляем в проект. Для тестирования создадим один на всех файл Client.java. В качестве тестовой строки для всех будет выступать строчка из новостей "Республика островов Фиджи, расположенная в южной части Тихого океана, против того, чтобы следующая версия Microsoft Windows называлась ее именем." с одного из новостных порталов. Создадим порт и напишем метод для запроса к сервису:
com.axis.client.wsdl.Joker_PortType axisJoker = new com.axis.client.wsdl.Joker_ServiceLocator().getJokerPort(); private String axisTest() throws RemoteException, UnsupportedEncodingException{ com.axis.client.wsdl.MethodRequest axisReq = new com.axis.client.wsdl.MethodRequest(); axisReq.setReqString(testString); com.axis.client.wsdl.MethodResponse response = axisJoker.shift(axisReq); return java.net.URLDecoder.decode(response.getResString(),"UTF-8"); }
Готово. На очереди...
Клиент JAX-WS (wsimport)
Тут все настолько просто, что и снова писать о том, как получить из WSDL объекты и интерфейс не станем. Напомним только что WSDL взяли из сервера. Тестовый метод похож на предыдущий:
Joker wsImportJoker = new Joker_Service().getJokerPort(); private String wSImportTest() throws UnsupportedEncodingException{ MethodRequest request = new MethodRequest(); request.setReqString(testString); MethodResponse response = wsImportJoker.shift(request); return java.net.URLDecoder.decode(response.getResString(),"UTF-8"); }
Следующий..