|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Привет. Появилась задача разбираться со СМЕВ. Я пока еще только на очень дальних подступах, поэтому появляются различные вопросы. Но это лирика. Подскажите пожалуйста, какими средствами вообще формируются такие сложные XSD схемы ? (Даю совершенно левую ссылку, то, что нагуглилось и имеет прямое отношение к СМЭВ) https://github.com/holinov/Orit/blob/master/Orit.Egrul.WebPart/docs/fns/WSDL_????????(SID0003130)/smev.xsd Код: xml 1.
и вот, собственно сам файл, на который ссылка: https://github.com/holinov/Orit/blob/master/Orit.Egrul.WebPart/docs/fns/WSDL_????????(SID0003130)/xmldsig-core-schema.xsd В далекой перспективе, придется создать Web (на C#-WCF) сервис для клиентов. Придется создавать свою объектную модель и, соотвественно, создавать подобные схемы. Как это делается ? Чтобы еще и с разделением на разные файлы. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2015, 20:21 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
ProBiotek Подскажите пожалуйста, какими средствами вообще формируются такие сложные XSD схемы ?Конкретно эти — руками. И нет в них ничего сложного, ты еще не видел формального описания xsl. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 01:13 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Antonariyты еще не видел формального описания xsl.А в нем, что сложного? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 02:33 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
_Vasilisk_Antonariyты еще не видел формального описания xsl.А в нем, что сложного?для начала, оно объемом около 150 кб ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 08:48 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
AntonariyProBiotek Подскажите пожалуйста, какими средствами вообще формируются такие сложные XSD схемы ?Конкретно эти — руками. И нет в них ничего сложного, ты еще не видел формального описания xsl. Думаете руками ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 12:13 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Сразу уж говори, сколько раз нужно написать "руками", чтобы закрыть этот вопрос. Не хочу бессмысленные посты плодить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 12:16 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
AntonariyСразу уж говори, сколько раз нужно написать "руками", чтобы закрыть этот вопрос. Не хочу бессмысленные посты плодить. Нет, просто я думал что эта wsdl была сделана на основе объектного сервиса. И было не ясно, как получилось, что схема была разделена на несколько файлов. Ну, к примеру, когда мы делаем WCF сервис, то потом можно снять с него wsdl. И все будет в одном большом файле. А вы, получается, говорите, что разработчики СМЭВ сначала написали схему xsd а потом по ней делали сервис ? Я просто не знаю такого подхода и он мне очень интересен ! Как это делается ? Мне нужно еще будет сервис пилить для клиентов. Т.е. нужно будет проделывать это. Как это делается подскажите пожалуйста примерно. Как сделать схему xsd а потом по ней WCF службу - никогда еще пока не встречал такого руководства. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 12:29 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Мне приходилось работать с Hl7 стандартном. У него схема - вообще свихнутся можно: https://github.com/CONNECT-Solution/CONNECT-DocumentManager/tree/master/src/main/resources/wsdl/schemas/HL7V3 Там были файлики в которых было по 10 <xs:include schemaLocation> - scvUtils их даже не всегда мог прожевать :) Мне все было интересно, как же ее создавали то :) Все думал блин. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 12:37 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
ProBiotek Ну, к примеру, когда мы делаем WCF сервис, то потом можно снять с него wsdl.Схемы сервисов имеют конкретный вид. ProBiotek А вы, получается, говорите, что разработчики СМЭВ сначала написали схему xsd а потом по ней делали сервис ?Скорее всего это делалось параллельно. Эти xsd не похожи на известные мне стандарты. В принципе сгенерировать можно что угодно, я вот с помощью xml/xsl генерю код js, vb, тот же xsd. Может и эти xsd были сгенерированы, но генератор точно не из стандартных, и они однозначно были допилены руками — русских комментариев генератор придумать не в состоянии. ProBiotek Как это делается подскажите пожалуйста примерно. Как сделать схему xsd а потом по ней WCF службу - никогда еще пока не встречал такого руководства.Так не делается. Смысл WCF в обратном - пишешь чисто функционал, а среда разработки генерирует описание. Я бы мог провернуть обратную операцию, сгенерировать интерфейс сервиса, у меня есть инструмент, но это не описание WCF. Из данного описания можно нагенерить пустых классов с помощью стандартного функционала студии, но сервис, ими манипулирующий, нужно писать самому. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 12:58 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
AntonariyТак не делается. Смысл WCF в обратном - пишешь чисто функционал, а среда разработки генерирует описание. Я бы мог провернуть обратную операцию, сгенерировать интерфейс сервиса, у меня есть инструмент, но это не описание WCF. Из данного описания можно нагенерить пустых классов с помощью стандартного функционала студии, но сервис, ими манипулирующий, нужно писать самому. Ну да. Именно это мне еще и нужно будет потом сделать :) А если конкретней - то мне нужно будет сделать Поставщика Информации для СМЭВ - подключить его к общей сети. Вот и ломаю голову сейчас, как бы сгенерить схемы подобные https://github.com/holinov/Orit/blob/master/Orit.Egrul.WebPart/docs/fns/WSDL_????????(SID0003130)/smev.xsd Не знаете способа ? Чтобы служба WCF отдавала вот такую вот WSDL с такими описаниями, как по ссылке. А может я не прав ? Может нужно делать обычную службу WCF, снимать с нее WSDL, допиливать ее руками - по подобию того, что по ссылке, и вставлять в документацию ? А сама служба будет с минималистичным WSDL. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 13:28 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
ProBiotek Не знаете способа ? Чтобы служба WCF отдавала вот такую вот WSDL с такими описаниями, как по ссылке.Это не WSDL. Это описание сферических классов в вакууме. ProBiotek А может я не прав ? Может нужно делать обычную службу WCFДа. ProBiotek снимать с нее WSDL, допиливать ее руками Нет. Как я понимаю, методы сервиса должны тупо возвращать xml-текст, который должен проходить валидацию этими СМЭВ-схемами. По такому принципу сделан сервис ФИС ЕГЭ, который тоже является WCF-сервисом. Описаний передаваемого xml он соответственно не содержит, схемы выложены на сайте. Соответственно, вот такие случаи: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
нужно обрабатывать вручную, то есть задавать значение только одному из свойств. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 14:16 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Antonariy[/src]нужно обрабатывать вручную, то есть задавать значение только одному из свойств. Объясните пожалуйста, что имелось ввиду ? Я не понял. Что значит обрабатывать вручную, задавать значение только одному из свойств ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 15:18 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Да. Тот пример не очень, вот более наглядный: Код: xml 1. 2. 3. 4. 5. 6. 7.
Этот кусок превращается в класс: Код: vbnet 1. 2. 3. 4.
Если сделать так: Код: vbnet 1. 2. 3.
то после сериализации в xml и отправки вернется ошибка валидации — choice предполагает наличие значения или у DSAKeyValue или у RSAKeyValue, но не у обоих одновременно. VB/C# не могут проконтролировать этот момент, поэтому нужно самому написать код так, чтобы оба значения не были заданы ни при каких обстоятельствах. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 15:32 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Antonariy, Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 15:41 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Antonariy, Еще вопросик разрешите. Как в WCF описать контракт, в котором для свойства, задать условие - чтобы вот в WSDL оно трансформаировалось в это самое "<choice>" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 21:03 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Этот choice не имеет никакого отношения к WSDL. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2015, 22:21 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Antonariy По такому принципу сделан сервис ФИС ЕГЭ, который тоже является WCF-сервисом. Описаний передаваемого xml он соответственно не содержит, схемы выложены на сайте. Можете дать ссылочку на схемы пожалуйста. Гуглингом не нашел. нашел лишь кучу предложений интеграторов по подключению к этой ФИС. Мне очень хочется посмотреть на их схемы - тем более, раз у них сервис написан на WCF, уж очень интересно посмотреть как у них вышло описание форматов сообщений СМЭВ. Или может просто скинете эти схемки - если сайт не доступен ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 21:23 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
ProBiotekМне очень хочется посмотреть на их схемы - тем более, раз у них сервис написан на WCF, уж очень интересно посмотреть как у них вышло описание форматов сообщений СМЭВ. http://priem.edu.ru/Document.aspx?id=292267502335 Только эти схемы не имеют ни малейшего отношения к WCF. И тем более к СМЭВ. Вот сам сервис (тестовый): http://priem.edu.ru:8000/import/ImportService.svc, только публикация контракта (WSDL-схемы) отключена. Ты хронически не догоняешь одной вещи: WSDL описывает методы, типы их аргументов и типы возвращаемых значений. Тип ВСЕХ принимаемых и возвращаемых значений у методов ФИС ЕГЭ - текст. И не важно, текст стихов Бродского это или что еще. Не важно с точки зрения WSDL. Однако внутри метода есть проверка, реализованная руками программиста, что за текст пришел — стихи или xml, в правильном формате этот xml или нет. Формат проверяется с помощью схем, ссылку на которые я дал. Все это происходит за рамками понятий WCF/WSDL. Если бы ты смог подключить к проекту этот сервис как веб-ссылку, то обнаружил бы, что все методы выглядят примерно так: Код: vbnet 1. 2. 3.
и никакого намека на то, что описано в схемах по ссылке. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2015, 10:15 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
Antonariy, Я и сам недавно допер, что общение в смэв происходит XMLками (именно что передача параметров происходит в виде XML. На сайте госуслуг куча документаций на разные сервисы - из них это видно. Как раз думал - а вдруг этот сервис ЕГЭ другой. Ну чтож. Это даже упрощает дело ! Неопределенности нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2015, 12:17 |
|
xsd. Как создаются такие сложные ?
|
|||
---|---|---|---|
#18+
ProBiotekМне приходилось работать с Hl7 стандартном. У него схема - вообще свихнутся можно. Мне все было интересно, как же ее создавали то :) Все думал блин. В HL7v3 схемы создаются с помощью V3Generator на основе моделей созданных в Visio (RMIM Designer). Именно по этой причине нет прямого соответствия между моделью (где, например, пациент указан как subjectOf) и полученной схемой (где тот же пациент сериализован как subjectOf3, к примеру). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2016, 01:16 |
|
|
start [/forum/topic.php?fid=14&msg=38855166&tid=1332139]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 244ms |
total: | 420ms |
0 / 0 |