Наше клиентское приложение Delphi использует THTTPRIO для вызова службы SOAP, защищенной аутентификацией Windows (размещенной на внутреннем IIS-сервере).Код для вызова веб-службы работал нормально с Delphi XE до Delphi 10.3.В Delphi 10.3 и 10.3.1 это больше не работает.
Начиная с 10.3, 401, который сервер отправляет как часть процесса аутентификации, обрабатывается THTTPRIO как окончательный ответ html, вставленный как приглашение для отправки учетных данных, итаким образом возникает исключение (SOAP ожидает, что контент будет xml, а не html).
В примечаниях к выпуску Delphi 10.3 я читал, что реализация SOAP была изменена, но я не смог найти никаких подробностей.
Я рассмотрел публикацию кода, но фактическая публикация является частью исходного кода Delphi, и я не уверен, разрешено ли это.
Эта проблема может быть воспроизведена путем вызова любой службы SOAP при условии, что URI является толькодоступны через проверку подлинности Windows.
Любой, кто знает, как вызвать службу SOAP из приложения Delpi 10.3 с использованием аутентификации Windows?
Редактировать: то же самое клиентское приложение тестирования SOAP работает при компиляции с 10.2.3 и не при компиляциииспользуя 10.3.Поскольку разница в том, что Embarcadero перешел из WinInet в WinHTTP для SOAP, кажется, что встроенная защита не была реализована в Delphi System.Net.HttpClient.Win.pas.
Кто-нибудь, кто добавил это?