Какие программы я могу использовать для тестирования моего веб-сервиса ASP.NET, для которого требуется SOAP HEADER?

Мне дали это унаследованное приложение для тестирования на ошибки. Радость:(Это простой веб-сервис, написанный на C# -> api.asmx.

Теперь уловка для его тестирования заключается в том, что для аутентификации требуется SOAP HEADER. Я знаю, что могу просто перейти на страницу asmx, и она дает мне все методы API, которые выставлены. Нажатие на эти методы дает мне страницу, где я могу увидеть все вещи GET/POST/SOAP. Если я отредактирую свой web.config, я смогу активировать POST-тестирование. Kewl. Все это работает. Конечно, я не могу добавить SOAP HEADER, поэтому он не работает.

Вот материал определения XML SOAP:

POST /services/api.asmx HTTP/1.1
Host: www.<snip>.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://webservice.<snip>.com/GetStuff"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <ApiAuthentication xmlns="http://webservice.<snip>.com/">
      <DeveloperKey>string</DeveloperKey>
    </ApiAuthentication>
  </soap:Header>
  <soap:Body>
    <GetStuff xmlns="http://webservice.<snip>.com/">
      <StuffId>int</StuffId>
    </GetStuff >
  </soap:Body>
</soap:Envelope>

Итак, какую программу я могу скачать, чтобы проверить это? Я попробовал FIDDLER, но безуспешно:(Если я не использовал это неправильно.

Ура!

Изменить 1 и 2 (добавлено зачеркивание):

В предыдущем вопросе SO предлагался SoapUI, но это java, и я отказываюсь устанавливать java на мою коробку.... и я бы предпочел, чтобы мне не приходилось извлекать VirtualPC и выбрасывать его там... пожалуйста?

Решение:

SoapUI (бесплатное приложение), установленное на виртуальном ПК, с инструкциями для новичков, которым нужно следовать:)

2 ответа

Решение

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

Вот несколько вещей, которые нужно иметь в виду:

  • Помимо прочего, soapUI имеет функцию, позволяющую легко определять параметры веб-службы. Это может помочь в тестировании этих устаревших веб-сервисов. Кроме того, вы можете использовать Property Expansion, который позволяет вам представлять значения, которые (могут) изменяться между различными (тестовыми) запросами веб-службы или которые вы хотите программно контролировать изнутри ваших тестов soapUI (т. Е. Используя скрипты Groovy).
  • На данный момент soapUI - самый мощный инструмент с открытым исходным кодом для тестирования веб-сервисов. Вы можете скачать автономную версию soapUI, которая объединяет JRE, чтобы установленная Java не мешала остальному программному обеспечению, установленному на вашем компьютере (то есть, исключая эту ксенофобную часть Java вашего мозга;-)).
  • Независимо от двух вышеприведенных моментов, вам действительно не нужна виртуальная машина для запуска приложения Java в песочнице. Все, что вам нужно, это установить JRE или Java SDK, чтобы запустить приложение Java. Когда вы закончите тестирование, вы всегда можете удалить Java (JRE/SDK) и / или soapUI.

Как только вы начнете использовать soapUI, вы скоро поймете, что это действительно мощный инструмент, и тот факт, что он реализован на Java, станет неактуальным.

Ура!
Shonzilla

ps JRE - среда выполнения Java, и она необходима для запуска приложений Java. Это похоже на распространяемый пакет.NET Framework, который необходим для запуска приложений.NET.

Если вы действительно не можете использовать SoapUI, есть "корпоративный" инструмент под названием SOAP Sonar. Я понятия не имею, на что это похоже, но это может сделать работу.

Другие вопросы по тегам