0голос

Ошибка валидации

Ошибка валидации XSD. Строка:1, cvc-elt.1: Cannot find the declaration of element 'push_data_request'.

подскажите, в чем может быть проблема?

6 ответов

1голос

У нас эта проблема решилась, когда мы в шапку XML принудительно добавили кодировку

1голос

пример можете шапки выложить? т.к. у нас кодировака стоит (UTF-8) но проблема осталась

0голос

.... Ошибка снова вернулась. Правда теперь она в самом конце файла с ошибками, и не сразу ее увидел.

0голос

Вы передаете:
<push_data_request xmlns="http://eo.edu.ru/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://eo.edu.ru/gisdo_types_v3.xsd">

В схеме:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://Fed.edu.segment/gisdo" targetNamespace="http://Fed.edu.segment/gisdo" elementFormDefault="qualified">

В примере xml:
<push_data_request xmlns="http://Fed.edu.segment/gisdo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://Fed.edu.segment/gisdo http://eo.edu.ru/gisdo_types_v3.xsd">

0голос

Добрый день!
отправляем Вам файл вот с таким заголовком (как в примере):
<?xml version="1.0" encoding="UTF-8"?>
<push_data_request
xmlns="http://Fed.edu.segment/gisdo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Fed.edu.segment/gisdo http://eo.edu.ru/gisdo_types_v3.xsd">
<schema_version>3.0</schema_version>
в ответ получаем
[Result] => [Message] => Проблема при авторизации: Authentication SOAP header should be specified. )

Уже поднимали этот вопрос
http://fedproekt.ru/126/prosba-predostavit-aktualnoe-opisanie-struktury-xml-dlya-vygruzki-soglasno-versii-3-0
при отправке вот с таким заголовком
<?xml version="1.0" encoding="UTF-8"?>
<push_data_request
xmlns="http://eo.edu.ru"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Fed.edu.segment/gisdo http://eo.edu.ru/gisdo_types_v3.xsd">
<schema_version>3.0</schema_version>

Выгрузка проходит НО есть ошибка
Cannot find the declaration of element 'push_data_request

0голос

И так, проблема решена опытным путем - в хеадере
ставим как в примере
<push_data_request
xmlns="http://Fed.edu.segment/gisdo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://Fed.edu.segment/gisdo http://eo.edu.ru/gisdo_types_v3.xsd">

а вот в коннекторе http://eo.edu.ru. Пример для php:

$client = new SoapClient ("http://autov3.do.edu.ru:8080/services/pushData?wsdl",array("soap_version" => 1, "trace"=> 1, "exceptions" => 0)); // Подключаем WSDL
$ns_s = 'http://eo.edu.ru';
$node1 = new SoapVar('логин', XSD_STRING, null, null, 'Login', $ns_s);
$node2 = new SoapVar('пароль', XSD_STRING, null, null, 'Password', $ns_s);
$security = new SoapVar(array($node1,$node2), SOAP_ENC_OBJECT, null, null, 'Authentication', $ns_s);
$header[] = new SOAPHeader($ns_s, 'Authentication', $security, false);
...

Портал поддержки федеральных систем в сфере образования является информационным ресурсом для руководителей органов государственной власти в сфере образования, подведомственных специалистов в области ИКТ и поставщиков автоматизированных информационных ресурсов в образовательном сегменте. Весь материал, размещенный на данном портале, предназначен только для информационной поддержки и носит лишь ознакомительный характер..

Статистика