Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Ошибка SOAP: Тег конца "head" не соответствует тегу начала "meta"   Найти похожие ветки 

 
Сергей Р.   (2011-01-28 09:28) [0]

Добрый день!
Столкнулся с трудностью при разработке веб службы и клиента для нее (Win32). Разработку вел по книжке Марко Кэнту.
Для построения веб службы создал проект типа SOAP Server Application (подтип CGI Stand-alone Executable), в проект включил Soap Server Data Module, в котором поместил компоненты: TDataSetProvider, TSQLConnection, TSQLDataSet. Проверил работоспособность соединения с MySQL.

Со стороны клиента поместил на форму TSoapConnection и TClientDataset, в SoapConnection.URL указал путь к интерфейсу сервера. Далее, на клиенте по кнопке делаю запрос cdataset.DataRequest("SELECT * FROM table");
Со стороны сервера у компонента TDataSetProvider обрабатываю событие DataRequest:

function TSOAPOrderDM.myDSPDataRequest(Sender: TObject;
   Input: OleVariant): OleVariant;
 begin
   with (Sender as TDataSetProvider)  do
   begin
     sqlDS.Open;
     Result := Data;
   end;
 end;

Сервер лежит в папке cgi-bin апача. Запускаю клиента, жму кнопку, получаю ошибку:
Тег конца "head" не соответствует тегу начала "meta"... и вместе с ней какой то недоделанный XML. То есть передача на сервер происходит, ответ от сервера приходит, но имеет неверный формат. Делал все по книжке, в качестве IDE - RAD Studio XE. Подскажите, куда дальше копать, чтобы решить проблему. Спасибо!


 
Cobalt ©   (2011-01-28 13:56) [1]

а что в этом самом XML-е?


 
Сергей Р.   (2011-01-28 14:01) [2]

Полный текст ошибки:
--------------------------------------------------------
Тег конца "head" не соответствует тегу начала "META".

Line: 22
</head><body><table class="MainBkgnd" bo.

Описание ошибки в интернете искал, судя по всему формат передаваемого клиенту XML неверный, сейчас я ищу способы debug, чтобы просмотреть ответ полностью.

Я так понимаю, что указанный XML это и есть SOAP ответ сервера клиенту, точнее его часть...


 
Медвежонок ХМЛ ©   (2011-01-28 16:41) [3]

ошибка в том, что там, где должен быть xml у тебя находится банальный html.

например:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="dan.css" rel="stylesheet" type="text/css">
</head>

все, что внутри head  - невалидный xml (потому что это и не он, а html)


 
Сергей Р.   (2011-01-31 09:22) [4]

А почему такое может быть? Я использую компоненты в стандартной палитре VCL. Свой код не добавляю.


 
Cobalt ©   (2011-01-31 11:00) [5]

я как бы намекаю - выложи полный текст этого "xml-я"
ну и собственно, откуда ты получаешь это текст (xml)?


 
Cobalt ©   (2011-01-31 11:02) [6]

Возможно тебе придется поправить настройки апача: сделать какое-нибудь расширение для отправляющегося ответа, например четко задавать тип ".xml" а не ".cgi" (как я подозреваю)


 
Ega23 ©   (2011-02-01 13:26) [7]


>  например четко задавать тип ".xml" а не ".cgi"

Что такое "тип cgi"?


> куда дальше копать, чтобы решить проблему. Спасибо!

Смотри, какой конкретно ответ идёт от сервера к клиенту. Т.е. тупо залоггируй его на стороне твоего сервера и посмотри блокнотом обычным.


 
Palladin ©   (2011-02-01 14:00) [8]

можно и winsniff"ом ,или любым другим снифом, перехватить и посмотреть


 
Дмитрий Белькевич   (2011-02-03 00:17) [9]

Логи - наше всё :)



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.053 c
2-1344515069
Demo
2012-08-09 16:24
2013.03.22
Hint-ы


15-1312895393
Kerk
2011-08-09 17:09
2013.03.22
Шахматный турнир


2-1328946359
Виктор77
2012-02-11 11:45
2013.03.22
Проверка подмены IP-адреса


15-1347364691
Baks
2012-09-11 15:58
2013.03.22
Бесплатный антивирус


15-1352739879
Куку
2012-11-12 21:04
2013.03.22
Combobox с разным наполнением для разных строк в cxGrid