Я унаследовал приложение BizTalk 2006, которое использует несколько портов SOAP для запроса данных от стороннего веб-сервиса. Веб-сервис защищен «базовой» аутентификацией - именем пользователя / паролем. После внесения нескольких улучшений в приложение я развернул его на сервере тестирования интеграции, который имеет доступ к стороннему веб-сервису. Приложению BizTalk не удалось получить данные, и вскоре я понял, что забыл установить имя пользователя / пароль на портах отправки SOAP. Я хотел, чтобы макетное развертывание приложения BizTalk было максимально автоматизированным, потому что я могу не присутствовать при его развертывании на работающем сервере. Я открыл файл привязки, нашел 1-й из проблемных портов отправки SOAP и искал *, который BizTalk использует для замены пароля - за исключением того, что это не так! Похоже, что пароль для портов SOAP установлен на NULL, а не на *, подробнее см. Здесь:
http://msdn.microsoft.com/en-us/library/aa547319.aspx
Я продолжил обновлять привязку, но когда я пришел на тестирование, после импорта измененного файла привязки я обнаружил, что у меня та же проблема, что и раньше. Я дважды проверил и могу подтвердить, что правильный пароль теперь присутствует в файле привязки, но, хотя BizTalk не жалуется во время импорта, при запуске приложения я получаю следующее исключение:
Подробности: "ArgumentNullException: ссылка на строку не установлена для экземпляра строки.
Имя параметра: s
».
Если я потом вручную изменю пароль через консоль администратора BizTalk, все будет нормально.
У кого-нибудь еще была похожая проблема с привязками для порта SOAP - у кого-нибудь есть решение?