|
v8: Ошибка при создании "WSОписание" Extra content at the end of the document | ☑ | ||
---|---|---|---|---|
0
Kastello
15.01.14
✎
13:15
|
При попытке получить определения из файлика, вот такая тема:
по причине: Ошибка разбора XML: - [1,1] Фатальная ошибка: Extra content at the end of the document SystemId: https://192.168.0.111/Service1.svc?xsd=xsd0 Причем - если просто рУками в WS-Ссылку, то заходит... |
|||
1
Kastello
15.01.14
✎
13:22
|
Сервис поднят на ИИСе, через ССЛ. При поднятом SSL IIS цепляет в WSDL одну неприятную штуку, а именно:
<wsp: Policy> Если пытаться взять определения с этим тэгом, то 1цэ пишет "Неверный формат" |
|||
2
Kastello
15.01.14
✎
13:23
|
(1) Ну с этим наверное все успели посталкиваться
|
|||
3
Kastello
15.01.14
✎
13:25
|
Поэтому я решил пойти через другой проход, дёрнуть WSDL, **нуть ненужный тэг, и полученный файлик использовать для определения.
|
|||
4
Kastello
15.01.14
✎
13:29
|
Вот так вот:
HTTP = Новый HTTPСоединение("192.168.0.111",,,,,,SSL); HTTP.Получить("/Service1.svc?wsdl", КаталогВременныхФайлов() + "TMP.XML"); Чтение = Новый ЧтениеXML; Чтение.ОткрытьФайл(КаталогВременныхФайлов() + "TMP.XML"); ПостроительDOM = Новый ПостроительDOM; ДокументDOM = ПостроительDOM.Прочитать(Чтение); СтрокаXPath="/wsdl:definitions"; ВыражениеXPath = ДокументDOM.СоздатьВыражениеXPath(СтрокаXPath, Новый РазыменовательПространствИменDOM(ДокументDOM)); РезультатXPath = ВыражениеXPath.Вычислить(ДокументDOM); КорневойУзелDOM = РезультатXPath.ПолучитьСледующий(); СтрокаXPath="/wsdl:definitions/wsp:Policy"; ВыражениеXPath = ДокументDOM.СоздатьВыражениеXPath(СтрокаXPath, Новый РазыменовательПространствИменDOM(ДокументDOM)); РезультатXPath = ВыражениеXPath.Вычислить(ДокументDOM); УзелDOM = РезультатXPath.ПолучитьСледующий(); КорневойУзелDOM.УдалитьДочерний(УзелDOM); ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(КаталогВременныхФайлов() + "DAOS.xml"); ЗаписьDOM = Новый ЗаписьDOM; ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML); |
|||
5
Kastello
15.01.14
✎
13:36
|
Полученный файлик, нормально загружается в объект метаданных WS-Ссылка, но при попытке:
Определение = Новый WSОпределения(КаталогВременныхФайлов() + "DAOS.xml"); Выдаёт сообщение (0) |
|||
6
Kastello
15.01.14
✎
13:50
|
Что то по ходу - веб-сервисы совсем не ПОПУлярная тема...
|
|||
7
Kastello
15.01.14
✎
14:13
|
Люди?
|
|||
8
Kastello
15.01.14
✎
14:27
|
Люди!
|
|||
9
MaxisUssr
15.01.14
✎
14:32
|
(0)
Видимо в WSDL в конце лишние строки или еще чего |
|||
10
Kastello
15.01.14
✎
14:45
|
(9) Нее - в объект МД то пролазит.
|
|||
11
Serginio1
15.01.14
✎
14:52
|
Ну ну навряд ли стоит убирать
http://www.ibm.com/developerworks/ru/library/j-jws18/index.html?ca=dat попробуй это решение Помощь с Web сервисом |
|||
12
Kastello
15.01.14
✎
15:12
|
(11) Ну, если не убирать то - "Неверный формат", если убрать SSL он исчезает сам и всё работает, но тогда без SSL...
|
|||
13
Serginio1
15.01.14
✎
15:20
|
(12) Если Вэб сервис поддерживает. Там не только SSL это безопасность транспорта, но может быть шифрование сообщений итд.
|
|||
14
Kastello
15.01.14
✎
15:30
|
(13) О чем и речь, без него низя
|
|||
15
Kastello
15.01.14
✎
15:32
|
<wsdl:types>
<xsd:schema targetNamespace="http://tempuri.org/Imports"> <xsd:import schemaLocation="https://192.168.0.111/Service1.svc?xsd=xsd0" namespace="http://tempuri.org/"/> <xsd:import schemaLocation="https://192.168.0.111/Service1.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/> <xsd:import schemaLocation="https://192.168.0.111/Service1.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/DAOS"/> </xsd:schema> </wsdl:types> Если убрать все тэги <xsd:import schemaLocation, то работает, но там ссылки на пространства имён... |
|||
16
George Wheels
15.01.14
✎
15:33
|
Сертификат.
|
|||
17
George Wheels
15.01.14
✎
15:34
|
+(16) cacert.pem
|
|||
18
Kastello
15.01.14
✎
15:35
|
(16,17) Причем сертификат? Я получаю ХМЛ!
|
|||
19
George Wheels
15.01.14
✎
15:36
|
(18) Сертификат при SSL.
|
|||
20
Serginio1
15.01.14
✎
15:38
|
(15) Что работает?
Rcnfnb можно смотреть еще точки подключения (binding) и к каим можно подключиться |
|||
21
Infsams654
15.01.14
✎
15:40
|
(15) сохрани ="https://192.168.0.111/Service1.svc в файл и ссылайся на него (можно запихнуть в макет).
(19) - это не в тему |
|||
22
Kastello
15.01.14
✎
15:40
|
(15) Но при этом перестаёт грузиться в объект МД - "Неверный формат"
|
|||
23
Serginio1
15.01.14
✎
15:41
|
||||
24
George Wheels
15.01.14
✎
15:43
|
(21) Почему не в тему?
Сегодня у меня было то же самое. Сначала забыл про SSL. Потом добавил сертификат в cacert.pem и проблема пропала. |
|||
25
Kastello
15.01.14
✎
15:43
|
(24) Я понял, братан - это ВАЖНО! Но не для 1цэ!
|
|||
26
George Wheels
15.01.14
✎
15:44
|
(25) Я именно из 1С подключаюсь к сервису.
|
|||
27
Kastello
15.01.14
✎
15:44
|
(24) Забуть про ССЛ, я тя умоляю
|
|||
28
Kastello
15.01.14
✎
15:44
|
(24) Забудь!
|
|||
29
George Wheels
15.01.14
✎
15:45
|
(27) (28) Как хочешь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |