Доброго всем времени!
Вопрос такой. Есть ссылка на WSDL стороннего вебсервиса. В схеме есть загвоздка, уже задавал вопрос тут ранее. В схеме есть поля с типом дата, но принимающая сторона требует формат с таймзоной, а тип dateTime (http://www.w3.org/2001/XMLSchema) хоть и описан с форматом \d{4}-\d\d-\d\dT\d\d:\d\d:\d\d\+\d\d:\d\d - но таймзону проглатывает.
Выход только менять его на строку в схеме.
Площадка ЭТП естественно этого делать не будет, у них и так всё работает.
Как вариант, если использовать статическую схему из конфигурации, но с корректированными полями этой даты в строку.
Вопрос:
Как скачать схему от поставщика, имея ссылку, в файл? Скорректировать его я уже разберусь как) И примет ли WS-ссылка путь не к УРЛ, а к файлу. В некоторых форумах видел пишут так можно файл загрузить вместо УРЛ.
Либо второй вариант решения - возможно ли в полученной динамически схеме изменить тип поля с даты на стринг? Скорее понимаю возможно и так, но пока не разобрался как...
(7)Там далеко не всё открывается по ссылке.
Сама схема очень большая, 21 процедура с описанием структуры различных документов.
По ссылке на WSDL открывается только описание самих методов без описаний типов. Там дальше копать надо ещё.
В приложенном скрине видно, что помимо файла с WSDL есть ещё папка XSD и на скрине на первом плане содержание этой папки, там два файлика. Вот для создания WS-ссылки нужно всё это получить в таком вот виде. Только получив архивчик с этой схемой уже понял как достать по ссылкам недостающие части с описанием Свойств и Типов. В Вашем случае схема простая, у меня обмен с ЭТП и сложная схема.
По основной ссылке в первых строках вижу ссылку на продолжение схемы: schemaLocation="xsd/Procurement.xsd"/>
И там же файлик ещё с типами лежит. Вот в первом вижу путь к второму: <xsd:import namespace="http://etpgpb.ru/223fz/types/1"
schemaLocation="DataTypes.xsd" />
В итоге в этом вот я изменил нужные мне типы дат на строку и всё у меня взлетело!
Может кому пригодится данное описание сберечь время.
(2)Ну скажем так, уже после Вашего ответа таки прислали схему. Но как её в WS-ссылку загрузить?
Видел писали из файла можно. Но не дает.
WSDL должен содержать элемент definitions
Такую ошибку пишет
Так, вот надо было спустя пару дней боёв написать вопрос и таки добил поставщика вебсервиса дать в файле схему WSDL.
Несколько разных присылали и то, что я сам через СоапУИ себе выгружал. Всё не то сначала было. Потом таки прислали файл wsdl и папку с описанием типов.
Получилось в фале заменить дату на строку, после обеда вернусь - буду тестить.
Пока вопрос снят!)
(6) http://srv/UT10/ws/InterfaceVersion.1cws?wsdl - это в локальной сети я открывал wsdl веб-сервиса опубликованной 1С базы. Опера нормально показывает его содержание, даже разворачивать-сворачивать структуру умеет.
(7)Там далеко не всё открывается по ссылке.
Сама схема очень большая, 21 процедура с описанием структуры различных документов.
По ссылке на WSDL открывается только описание самих методов без описаний типов. Там дальше копать надо ещё.
В приложенном скрине видно, что помимо файла с WSDL есть ещё папка XSD и на скрине на первом плане содержание этой папки, там два файлика. Вот для создания WS-ссылки нужно всё это получить в таком вот виде. Только получив архивчик с этой схемой уже понял как достать по ссылкам недостающие части с описанием Свойств и Типов. В Вашем случае схема простая, у меня обмен с ЭТП и сложная схема.
По основной ссылке в первых строках вижу ссылку на продолжение схемы: schemaLocation="xsd/Procurement.xsd"/>
И там же файлик ещё с типами лежит. Вот в первом вижу путь к второму: <xsd:import namespace="http://etpgpb.ru/223fz/types/1"
schemaLocation="DataTypes.xsd" />
В итоге в этом вот я изменил нужные мне типы дат на строку и всё у меня взлетело!
Может кому пригодится данное описание сберечь время.