Возникла необходимость пользоваться методом ChangeCard. Оказалось, что он вызывается совсем по другому адресу, нежели RegisterCard, а именно http://eaisto.gibdd.ru/common/ws/arm_operator.php?wsdl
Но дело даже не в этом, а в том, что типы данных Card в этих WSDL-описаниях различны. То что бросается сразу в глаза, это отсутствие IsArchive и Operator в arm_operator.php?wsdl.
Понятно, что их можно не передавать через XML, присвоив им NULL значения. Однако, тревожат смутные сомнения, никто не сталкивался ни с какими проблемами при использованиия метода ChangeCard?
victor16 писал(а):Возникла необходимость пользоваться методом ChangeCard. Оказалось, что он вызывается совсем по другому адресу, нежели RegisterCard, а именно http://eaisto.gibdd.ru/common/ws/arm_operator.php?wsdl
Но дело даже не в этом, а в том, что типы данных Card в этих WSDL-описаниях различны. То что бросается сразу в глаза, это отсутствие IsArchive и Operator в arm_operator.php?wsdl.
Понятно, что их можно не передавать через XML, присвоив им NULL значения. Однако, тревожат смутные сомнения, никто не сталкивался ни с какими проблемами при использованиия метода ChangeCard?
На тестовом сервере отрабатывает нормально уже давно...
victor16 писал(а):Возникла необходимость пользоваться методом ChangeCard. Оказалось, что он вызывается совсем по другому адресу, нежели RegisterCard, а именно http://eaisto.gibdd.ru/common/ws/arm_operator.php?wsdl
Но дело даже не в этом, а в том, что типы данных Card в этих WSDL-описаниях различны. То что бросается сразу в глаза, это отсутствие IsArchive и Operator в arm_operator.php?wsdl.
Понятно, что их можно не передавать через XML, присвоив им NULL значения. Однако, тревожат смутные сомнения, никто не сталкивался ни с какими проблемами при использованиия метода ChangeCard?
Коллеги из ЕАИСТО, подскажите, пожалуйста, а в чем смысл было делать эти методы в разных сервисах и как следствие с различными описаниями типов Card?
Тоже возникла необходимость пользоваться методом ChangeCard. Импортировала http://eaisto.gibdd.ru/common/ws/arm_operator.php?wsdl и по этому описанию написала на Delphi клиента.
ChService:= arm_operator.GetIInspection(false, '', HTTPRIO1);
resWEbChCardResp :=ChService.ChangeCard(ChCard);
на втором операторе ошибка "Procedure 'RegisterCard' not present"
Может кто подскажет что не так?
У HTTPRIO1.WSDLLocation=http://84.47.186.195/TechInspect/Services/Inspection.svc?wsdl
Народ, помогите!
Как-то же вы делаете изменение карты?!
Если я делаю разные приложения для регистрации и изменения карты, оба нормально отрабатывают.
Если у меня в одном приложении подключены оба модуля (arm_expert и arm_operator) то в не зависимости от того как создается HTTPRIO (даже при run time)- после запуска приложения происходит "When an application casts THTTPRIO to a registered invokable interface, it dynamically generates an in-memory method table, providing an implementation to that invokable interface. "
и потом IInspection ассоциируется только с версией arm_expert.
При вызове метода ChangeCard THTTPRIO подменяет(! по-моему!) имя метода с "ChangeCard" на '' RegisterCard" в SOAPRequest, но обращается по правильному сервису 'http://eaisto.gibdd.ru/common/ws/arm_operator.php'.
Там метода '' RegisterCard" нет сервис справедливо выдает ошибку "Procedure 'RegisterCard' not present".
Можно ли как-то в delphi отключить кеширование invokable interface сразу после запуска приложения?
Кто как смог отрабатывать изменение карты?
Добрый день.
Никак не могу сообразить простейший запрос к базе (например, получение списка вида топлива) на PHP с помощью WSDL.
Может, кто-нибудь может предоставить работающий пример для этого? Никогда раньше не имел дела с WSDL и SOAP.
Кстати, в технической спецификации ЕАИСТО указаны некоторые XML-скрипты, которые, как я понял, и нужно отправлять серверу.
Заранее огромное спасибо.
Я долгое время работал с программированием графики, в которой одна технология - твои знания математики.
С сетевыми технологиями я знаком пока мало, согласен.
Просто подскажите мне, а я, при удобном обстоятельстве, подскажу Вам.
Ошибку, описанну вами в первом посте последнее время выдает и Е-ТО. Техподдержка Е-ТО ссылается на ЕАИСТО, а техподдержка ЕАИСТО не отвечает. Чувак из Е-ТО говорит, что они к ЕАИСТО отношения не имеют... о.О Также подтверждаю, что дубликатов карт нет. И попытки с 10-й карты таки отправляются.
К тому же очень интересует, что случилось с тестовым сервером -- уже месяц бедняга подняться не может...
linux_fan писал(а):Всем добрый день!
Помогите понять из-за чего ошибка вываливается с таким текстом "Сведения о данном ТС уже были переданы сегодня". Соединяемся вроде верно, поиск по вину работает, справочники работают а вот запись карты никак.
Такая ошибка "прилетает" на все, что не нравится ЕАИСТО, и что не прописано ее программистами.
На первый взгляд с кодом все хорошо, ищите ошибку в передаваемых данных (не все обязательные поля отправляете, либо формат данных не нравится ЕАИСТО).
linux_fan писал(а):Всем добрый день!
Помогите понять из-за чего ошибка вываливается с таким текстом "Сведения о данном ТС уже были переданы сегодня". Соединяемся вроде верно, поиск по вину работает, справочники работают а вот запись карты никак.
Такая ошибка "прилетает" на все, что не нравится ЕАИСТО, и что не прописано ее программистами.
На первый взгляд с кодом все хорошо, ищите ошибку в передаваемых данных (не все обязательные поля отправляете, либо формат данных не нравится ЕАИСТО).
подтверждаю подводные камни там заложены много где
Всем спасибо за ответы, интересная штука нашлась. При регистрации написано что передавать не надо параметр DateOfDiagnosis, но если совсем не передавать то посылает, и если что-то передавать посылает, в итоге надо передавать но пустое значение. Такой документации я ещё нигде не встречал=)
А по поводу тестового доступа это вобще подстава. В итоге пишем сразу на промышленную версию.