Delphi 2009: ошибка «XML-документ должен содержать элемент верхнего уровня» при использовании TIdHttpWebBrokerBridge - PullRequest
0 голосов
/ 03 июня 2009

У нас есть приложение, которое использует HttpWebBrokerBridge, оно отлично работает в Delphi2006, но когда я перекомпилирую с использованием Delphi2009, я получаю исключение EDOMParserError с сообщением «XML-документ должен иметь элемент верхнего уровня».

У меня нет никаких сведений о том, что является причиной этой ошибки.

Какие-нибудь подсказки относительно того, что я должен сделать?

Sandeep

Ответы [ 2 ]

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

Убедитесь, что вы используете последний 10.5.5 снимок Indy 10 из ветки SVN Tiburon. Изменения TIdCustomHTTPServer и TIdHTTPWebBrokerBridge были объединены в эту кодовую базу некоторое время назад.

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

См. Как создавать автономные веб-службы SOAP с использованием Delphi?

В частности,

Люди в Инди 10 и IdHTTPWebBrokerBridge с CBuilder 2009 выложил модифицированную версию. За пример, IdHTTPWebBrokerBridge.pas по Йоханан ван дер Ниет.

Согласно Роберт Петек ,

Я использовал Delphi 2009 с Indy 10 и модифицированный IdHTTPWebBrokerBridge.pas a немного. Похоже, проблема в TIdHTTPAppRequest.GetStringVariable функция, где свойство Content наполненный FRequestInfo.UnparsedParams. Это пусто, когда он получает команду POST. Я отладил код и увидел содержимое находится в FRequestInfo.PostStream.

Попробуйте установить результат для содержимого свойство содержимого PostStream когда FRequestInfo.CommandType является hcPOST. Вам также нужно будет исправить значение результата для ContentLength имущество. У меня это сработало.

...