Как использовать HTTP Получить GET сообщение в оркестровке?
Я настроил адаптер HTTP Receive (req-response), и сообщение, похоже, попадает в окно сообщения. Когда я создаю оркестровку с использованием логического порта с прямой связью, я получаю сообщение, но все, что я пытался прочитать тело сообщения, не удалось (с использованием проходящего конвейера, XML-конвейер с разрешением нераспознанных файлов = true), но я получаю исключения каждый раз, когда я попробуйте использовать входящее сообщение (назначение сообщений, отправка сообщения в пользовательский модуль, чтобы попытаться прочитать часть (и)).
Вместо того, чтобы вдаваться в подробности об исключениях, может ли кто-нибудь указать на инструкции о том, как правильно обращаться к телу сообщений HTTP Get / использовать его в оркестровке? Чтобы объяснить, что я пытаюсь сделать, я хочу взять строку запроса (тело) и дословно отправить ее в другую оркестровку для обработки, поэтому я просто хочу извлечь тело (строку запроса) из сообщения.
2 ответа
Для запроса GET без тела вам нужно использовать адаптер WCF-WebHttp, а не устаревший BTSHTTPReceive.dll
С помощью WCF-WebHttp вы можете использовать отображение переменных, чтобы заполнить свойства контекста сообщения параметрами URI.
Поэтому ответом было НЕ использовать HTTP-адаптер для запросов GET. Я не понял, что HTTP-адаптер фактически устарел. Для базовых запросов GET мне пришлось переключиться на адаптер WCF-WebHTTP и убедиться, что свойство включено в схему свойств, а затем установить схему отображения переменных как схему свойств, а не схему типа сообщения входящей сообщение. Хотелось бы, чтобы документация Microsoft была более понятной, что адаптер HTTP нельзя использовать для очень простых запросов GET, в которых тело не указано в запросе.