Попытка создать SOAP-пакет, который выглядит следующим образом: - PullRequest
0 голосов
/ 18 июня 2009

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

До этого я не работал с SOAP и не уверен, какие инструменты использовать для выполнения этой задачи, и даже какие ключевые слова я должен искать. Мне нужно создать сообщение SOAP, которое выглядит так:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/1999/XMLSchema"
> <SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <GetSpecialList xmlns="SpecialManagerAPI"/> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

И мне нужно отправить его через TCP на локальный IP (127.0.0.1) порт 1234 и получить от него ответы. Как создать вышеуказанное сообщение и как его легко отправить?

Ответы [ 3 ]

1 голос
/ 18 июня 2009

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

Один хороший ресурс - Начало работы с Windows Communication Foundation . Также см. Веб-трансляцию Обзор (Уровень 100) .

0 голосов
/ 19 декабря 2009

У вас есть три основных варианта:

  1. Если у службы есть описание службы WSDL или DISCO, к ней можно подключиться с помощью Добавить ссылку на службу (VS 2008 и VS 2005 с некоторыми дополнениями WCF) или Добавить веб-ссылку (VS 2005). Эквивалентами этих инструментов для создания классов мыльного клиента в командной строке являются svcutil.exe и wsdl.exe соответственно.
  2. Вы можете сделать как C. Росс предложил в своем ответе и использовать HttpRequestClass , используя пользовательскую строку.
  3. Вы можете использовать класс XmlDocument , чтобы создать сообщение xml и использовать класс HttpRequest для его отправки. Я предлагаю вам сделать шаблон XML-документа и сохранить его как встроенный ресурс в вашем исполняемом файле. Затем вы можете выполнять запросы xpath для изменения параметров.
0 голосов
/ 18 июня 2009

System.Web.HttpRequestClass - это простой способ сделать это. Вам нужно будет правильно установить заголовки (особенно заголовок «SOAPAction»). Однако я бы посоветовал вам не делать этого! Найдите wsdl для службы и используйте его для создания классов с помощью AddWebReference в Visual Studio или Wsdl.exe . Это создаст хорошо сформированный класс для вас (или нескольких) для работы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...