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

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

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

Вот описание определения SOAP xml: -

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 (добавлено зачеркивание):

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

Решение:

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

Ответы [ 2 ]

3 голосов
/ 23 июня 2009

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

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

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

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

Ура!
Shonzilla

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

0 голосов
/ 23 июня 2009

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

...