Проверить работоспособность веб-сервиса RTDM, опубликованного с помощью SAS Data Integration Studio (DIS) можно несколькими способами, но вне зависимости от способа сперва нужно убедиться, что wsdl веб-сервиса доступен.

Для этого необходимо вставить адрес веб-сервиса, созданного вами в SAS DIS, в адресную строку браузера и добавить к нему ?wsdl

Получится что-то вроде http://RTDMws.rtportal.ru:8080/SASBIWS/services/scoring_service?wsdl

Если wsdl доступен, вы увидите его отображение в браузере.

Дальше можно проверять корректность ответа веб-сервиса RTDM. Ниже описано два способа проверки: с использованием SoapUI и с использованием cUrl.

  1. Отправка xml запроса на веб-сервис через SoapUI.

Для этого способа вам потребуется установленный SoapUI, название вашего веб-сервиса и пример request XML (той, которую ожидает веб-сервис для обработки).

a) Создаем новый проект в SoapUI (если у вас уже есть созданный проект для проверки, можно сразу переходить к пункту с)).

b) Указываем wsdl вашего веб-сервиса.

c) Вставляем request XML в проект и нажимаем кнопку «запустить» (в моей версии soapUI это зеленая стрелка в левом верхнем углу).

d) Если сервис работает корректно, вы получите от него ответ в ожидаемой форме (response xml).

e) В случае не корректной работы веб-сервиса вы получите xml ответ, содержащий сообщение об ошибке и код ошибки, либо ответ придет пустой

 

  1. Отправка xml запроса на веб-сервис через cUrl.

Здесь вам потребуется установленный cUrl, название вашего веб-сервиса и пример request XML (той, которую ожидает веб-сервис для обработки).

a) Открываем командную строку и пишем в ней команду:

curl -X POST -d "@c:\rtportal_req_test.xml" -o "c:\rtportal_resp_test.xml" -H "Content-Type: text/xml; charset=utf-8" --connect-timeout 60 --max-time 900 --trace "c:\rtportal_curl_log.log" http://RTDMws.rtportal.ru:8080/SASBIWS/services/scoring_service

 

Часть параметров в команде, конечно, нужно заменить на ваши данные. Для того, чтобы понять что именно, разберем команду детально.

-X POST – указывает тип запроса. В нашем случае это POST (если опцию не указывать, то по умолчанию выполняется GET запрос).

-d "@c:\rtportal_req_test.xml" – указывает то, что мы берем данные (-d) по адресу c:\rtportal_req_test.xml. Это месторасположение request XML. То есть вам нужно указать свой путь до хмл, которой мы будем проверять работоспособность веб-сервиса.

-o "c:\rtportal_resp_test.xml" – указывает на то, что нам нужно вывести (-о) результат работы команды в файл по адресу c:\rtportal_resp_test.xml. Имя и путь до этого файла вы так же выбираете сами.

-H "Content-Type: text/xml; charset=utf-8" – указание заголовка (-H), показывающего веб-сервису что файл request XML отправлен в формате xml и кодировке utf-8. Без заголовка веб-сервис не поймет как интерпретировать данные, которые мы подали ему на вход.

--connect-timeout 60 --max-time 900 – указывают время в секундах выделенное на подключение к веб-сервису (--connect-timeout) и максимальное время ожидания ответа от веб-сервиса в секундах (--max-time).

--trace "c:\rtportal_curl_log.log" – указывает то, что результаты работы cUrl необходимо выводить в отдельный файл по адресу c:\rtportal_curl_log.log. Не обязательная, но полезная опция.

В конце команды указывается сам веб-сервис, на который мы отправляем xml. Вам нужно будет указать свой веб-сервис вместо  http://RTDMws.rtportal.ru:8080/SASBIWS/services/scoring_service

Важно! При указании опций нужно учитывать регистр. –х и –X это не одно и то же для cUrl.

Полный перечень опций cUrl можно посмотреть здесь и на русском языке здесь

b) Если сервис работает корректно, вы получите от него ответ в ожидаемой форме (response xml) по адресу, указанному в опции –o пункта а)

c) В случае не корректной работы веб-сервиса вы получите xml ответ, содержащий сообщение об ошибке и код ошибки, либо ответ придет пустой по адресу, указанному в опции –o пункта а).

Если ваш веб-сервис SAS RTDM не работоспособен придётся проанализировать причину ошибки, устранить её и заново проверить веб-сервис одним из способов, описанных выше.

Способы поиска ошибок и восстановления веб-сервиса SAS RTDM будут описаны в отдельных статьях.