Размещение конечной точки в процессе BizTalk с использованием кодировки не UTF-8 - PullRequest
0 голосов
/ 07 января 2019

Существует проблема с кодированием с использованием WCF, подробно описанная здесь: запись в блоге WCF: кодировка текстовых сообщений и кодировка ISO-8859-1

Я получаю похожую ошибку в ответе:

Сообщение, отправленное адаптеру "WCF-BasicHttp" на порт отправки "XXXX" с URI "http://XXXXXXXX:8080/index.php", приостановлено.

Сведения об ошибке: System.ServiceModel.ProtocolException: тип содержимого text / xml; charset = ISO-8859-1 ответного сообщения не соответствует типу содержимого привязки (text / xml; charset = utf-8). При использовании пользовательского кодировщика убедитесь, что метод IsContentTypeSupported реализован правильно.

Я хотел бы создать простой прокси-сервер WS в среде BizTalk. Я создал 1 Место получения с помощью адаптера WCF-BasicHttp / WCF-Custom (не работал) и порта отправки (SOAP WCF-BasicHttp). Порт отправки подписывается Получать местоположение, как указано здесь:

Лучший подход к простому прокси на BIZTALK

Я создал конечную точку в процессе BizTalk, упомянутом здесь: Блог Codit Размещение местоположения получения WCF HTTP внутри BizTalk, без использования IIS.

Я не могу установить другое textEncoding, кроме UTF-8, при попытке установить ISO-8859-1 я получаю ошибку:

"Текстовая кодировка ISO-8859-1, используемая в формате текстового сообщения, не поддерживается. Имя параметра: кодировка"

Есть ли способ запустить это с помощью некоторых пользовательских кодеров в среде BizTalk?

1 Ответ

0 голосов
/ 08 января 2019

Мне удалось сделать это самому. Я удалил привязку textMessageEncoding из адаптера получения и отправки WCF-Custom

textMessageEncoding

и вместо него я поставил привязку customMessageEncoder с soap11 и правильную кодировку iso. Обратите внимание, что httpTransport должен быть последним в списке привязок.

customMessageEncoding

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