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

Мне дали это устаревшее приложение для тестирования ошибок. Радость :( Это простой веб-сервис, написанный на 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 (добавлено зачеркивание):

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

Решение:

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


person Pure.Krome    schedule 23.06.2009    source источник
comment
Используйте SoapUI и перестаньте игнорировать Java. Наличие Java-приложения, запущенного в вашей системе, ничему не повредит, и вам будет не хватать одного из лучших инструментов в отрасли без уважительной причины, если вы этого не сделаете. В противном случае создайте свою собственную клиентскую программу для тестирования службы.   -  person John Saunders    schedule 23.06.2009
comment
Pwn - это жаргонный термин ... ... Этот термин подразумевает доминирование или унижение соперника ... (en.wikipedia.org/wiki/Pwn)   -  person Colin Pickard    schedule 23.06.2009
comment
@John - я закончил тем, что использовал SoapUI - есть время и место, чтобы быть невежественным (невежество - это блаженство, иногда!), И это не одно из них :)   -  person Pure.Krome    schedule 23.06.2009


Ответы (2)


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

Вот пара вещей, о которых нужно помнить:

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

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

Ура!
Шонзилла

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

person Shonzilla    schedule 23.06.2009
comment
Я установил его на виртуальный компьютер ... теперь, чтобы понять, как его использовать ... egads! - person Pure.Krome; 23.06.2009

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

person Colin Pickard    schedule 23.06.2009