-->

понедельник, 22 февраля 2016 г.

Тестирование WCF через SoapUI

Обращение через SoapUI к веб-сервису WCF с привязкой WSHttpBinding и авторизацией оказалось не самой очевидной задачей. Вот привязка:
<wsHttpBinding>
   <binding name="FooBinding" >
      <security mode="TransportWithMessageCredential">
         <transport clientCredentialType="None"> </transport>
         <message clientCredentialType="UserName"
                        algorithmSuite="Default"
                        negotiateServiceCredential="false"
                        establishSecurityContext="false"/>
      </security>
   </binding>
</wsHttpBinding>

Прежде всего создаем SOAP-проект и скармливаем ему WSDL. Открываем созданный SOAP Request для нужного метода. Добавляем авторизацию HTTP Basic:

 Там же включаем WS-A Adressing:


В свойствах запроса устанавливаем WSS-Password Type: Password Text:


А в настройках SoapUI (Tools -> Preferences -> HTTP Settings) ставим
Authenticate Preemptively: true.


Этого должно быть достаточно, чтобы обращение к веб-сервису было успешным.

Полезные советы:
1. В SoapUI любой элемент от реквеста до проекта можно склонировать.

2. Для задания логина/пароля и любых других свойств на уровне проекта достаточно создать для проекта Custom Property, к примеру PASSWORD. Обращение к свойству:
${#Project#PASSWORD}
Вбиваем в поле Password вкладки Auth, и готово!

3. Формат проекта SoapUI - обычный XML-файл. К примеру тот же самый пароль сохраняется в проекте как plain text, пригодный для редактирования через Find/Replace. Только не забудьте после сохранения файла во внешнем редакторе перезагрузить проект в SoapUI через клавишу F5.



Комментариев нет:

Отправить комментарий