Как получить заголовки SOAP в виде XML? - PullRequest
1 голос
/ 28 июля 2010

Как получить заголовок SOAP функции веб-службы в формате xml?

Мне нужна XML-версия моего рабочего SOAP-заголовка, чтобы использовать его в качестве примера для кого-то со сломанными SOAP-заголовками.Он использует другой язык программирования, но поскольку заголовки отправляются в XML, мы надеемся, что сможем их легко сравнить.Я использую C # и ToString () просто дает мне имя объекта.После поиска в Google я попробовал Fiddler, но это ничего не уловило, и расширения SOAP выглядят слишком сложными для того, что кажется действительно простой задачей.

Ответы [ 2 ]

4 голосов
/ 28 июля 2010

Нет простого способа сделать это с помощью веб-сервисов ASMX.Если бы вы использовали WCF, было бы тривиально включить ведение журнала сообщений.

Fiddler должен поймать все, и его стоит изучитьОбязательно загляните в онлайн-документацию, чтобы узнать, как перехватывать трафик с локального на локальный.

1 голос
/ 28 июля 2010

В принятом ответе на на этот вопрос упоминается, что вы можете захватывать трафик на веб-сервис с помощью soapUI.Вы можете использовать его в качестве прокси-сервера или HTTP-туннеля для захвата сообщений, отправленных на ваш веб-сервис.Я думаю, что использование его в режиме HTTP Tunnel имеет смысл, потому что тогда вам не нужно будет ничего делать с вашим клиентом, кроме как указывать URL-адрес soapUI вместо вашего фактического сервиса.

Веб-сайт soapUIговорит о функции SOAP Monitor, , хотя я не думаю, что она предлагает хорошее объяснение для настройки HTTP-туннеля.

Вот шаги (основанные на soapUI 3.0.1):

  1. Open Soap UI
  2. создание нового проекта soapUI ... 2.1 Дайте вашему проекту имя 2.2 Введите путь к WSDL вашего сервиса (http://localhost/.../YourService.asmx?WSDL)
  3. Right-нажмите на проект, который вы только что создали
  4. Выберите «Запустить SOAP Monitor»
  5. Выберите «Туннель HTTP»
  6. Укажите номер неиспользуемого порта для «Порт». Вероятно, по умолчанию будетwork.
  7. Введите URL-адрес своей веб-службы в поле «Задать конечную точку для HTTP-туннеля»
  8. Если вы используете SSL, вам может потребоваться заполнить некоторые другие поля, в противном случае,нажмите OK
  9. HTTP-туннель - это ruТеперь просто переконфигурируйте клиент для использования туннеля HTTP вместо реального веб-сервиса.Поэтому, если вы используете «http://localhost:1234/YourService.asmx",», измените настройку вашего клиента на использование »http://localhost:{Port}/YourService.asmx", где {Port} - номер, введенный вами на шаге № 6.
  10. Теперь просто запуститеклиент нормально.Вы увидите трафик, зарегистрированный в интерфейсе soapUI.Выберите сообщение и нажмите кнопку «Содержимое сообщения» в нижней части окна, чтобы просмотреть реальное сообщение SOAP.
...