Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Ошибка 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.068 c
2-1343746048
jacksotnik
2012-07-31 18:47
2013.03.22
In в фильтре


2-1332009690
теркин
2012-03-17 22:41
2013.03.22
Использование полиморфных объектов


15-1346305970
ZeroDivide
2012-08-30 09:52
2013.03.22
Современный смартфон с долгой батарейкой. Есть такие?


15-1331584202
Юрий
2012-03-13 00:30
2013.03.22
С днем рождения ! 13 марта 2012 вторник


15-1330983917
osoed
2012-03-06 01:45
2013.03.22
Из DLL Visual Studio в DLL Delphi7





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский