Помощь с Web сервисом #691433


#0 by Bloood
Всем доброго времени суток. Помогите, пожалуйста, найти ошибку в wsdl файле. Есть веб сервис При создании ws ссылки. 1С ка падает с ошибкой "Неверный формат" Через soapui все работает нормально. Все методы определяются. Заранее спасибо.
#1 by kiruha
Напиши
#2 by Bloood
То будет формат wsdl -  rpc/encoded. И в нем вообще не описаны входные и выходные схемы методов.   используется формат document/literal. Все веб серверы созданные на 1С используют именно этот формат. Возникает вопрос. Что именно не нравиться 1Ске в первой wsdlке?
#3 by kiruha
Вообще у 1С много ограничений по работе с внешними веб сервисами - например авторизация только Basic и т.п. Я в таких случаях использую HTTP = Новый COMОбъект("MSXML2.XMLHTTP")
#4 by Bloood
Используя COM обьект и MSSOAPtolkit удалось получить данные с веб сервиса. Хочется использовать стандартные средства 1С. Может быть есть у кого нибудь документация по созданию WSDL именно для 1С?
#5 by Serginio1
Можешь сохранить файл WSDL и попробовать подключиться через ОпределениеТ=Новый WSОпределения(Файл_wsdl);
#6 by Serginio1
Или
#7 by kiruha
Он не признает wsdl ))
#8 by Bloood
Самое интересное, что данным методом подгружается фабрика XDTO в которой описаны все комплексные типы данных и описаны вход и исход. сообщения. Но при вызове. Прокси.getCatalog("ALL") выскакивает ошибка "Метод не обнаружен". Тут проблема не в сертификатах. Это 100%. Тут проблема в что 1ска некорректно считывает методы, описанные в WSDL.
#9 by Apokalipsec
а отладчик что говорит?
#10 by SUA
POST запросом еще можно, типовым методом если хоть и через ж
#11 by Bloood
Отладчик пишет "Метод объекта не обнаружен (getCatalog)"
#12 by Bloood
Создал свой веб сервис в 1С. Метод возвращает комплексный тип данных(массив), который состоит из простых типов.   На первый взгляд структура wsdl одинакова. Но почему одну wsdl ку 1с ка открывает, а другую нет. Ниже wsdl ка созданная в 1с. <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns=";         xmlns:soapbind=";         xmlns:tns=";         xmlns:xsd=";         xmlns:xsd1=";                 xmlns:xs=";                 xmlns:xs1=";                 xmlns:xs2=";                 targetNamespace=";
#13 by Serginio1
А к можешь подключиться?
#14 by Bloood
Как именно проверить подключение? Если просто вставить в браузер, эту адскую ссылку)). То все норм. Авторизацию прохожу.
#15 by Serginio1
Не разобрал он wsdl прокси.ТочкаПодключения.Интерфейс.Операции пустой
#16 by Serginio1
Попрбуй подсунуть свой WSDL только в секции -<service name="MLService">-<port name="MLPort" binding="tns:MLBinding"><soap:address location="; укжи этот адрес
#17 by Serginio1
Можешь записать Пакеты из фабрики
#18 by Serginio1
А потом в свой вэб сервис добавляй нужные тебе методы
#19 by Bloood
Адрес поменял. Возникает ошибка при считывании WSDL неверный формат. У меня такое ощущение что ошибка в пространстве имен. Из за этого 1ска и не видит методы. Кстати, почему то сообщение на форуме перекодировалось в вид ; target="_blank" rel="nofollow" class="extralink">;; На самом деле там </service> Никаких extralink нет.
#20 by Bloood
Опять extralinkи отображаются... Там просто адрес ;
#21 by Serginio1
Это беда этого форума. Но Фабрику то она считывает. А методы нет.
#22 by Serginio1
Попробуй импортировать Пакет выгруженный через 17. А потом дописывать методы и править WSDL на реальный адрес как в 16 так и поймешь в чем проблема
#23 by Bloood
Спасибо) Попробую. Самое интересное если использовать другую WSDL(стиль  rpc/encoded) То методы все подгружаются.... Но в этой wsdl ке нет схем входящих и исходящих запросов....
#24 by Bloood
Ребят, а из за чего может возникать ошибка. Несоответствие типов XDTO: Свойство является списковым В wsdl ке описан этот тип вот так: <xsd:complexType name="CatalogResult"> Поменял </xsd:all> на </xs:sequence> ситуация не изменилась((( Заранее всем спасибо.
#25 by Bloood
Вот такую xml возвращает сервер <SOAP-ENV:Envelope xmlns:SOAP-ENV="; xmlns:ns1=";
#26 by Bloood
А вот такую xml 1с ка нормально воспринимает <soap:Envelope xmlns:soap=";    <soap:Body>       <m:ObmenResponse xmlns:m=";          <m:return xmlns:xs="; xmlns:xsi="; Может быть в 1с ке перед каждым типом нужно обязательно проставлять пространства имен??
#27 by Bloood
У кого нибудь есть идеи, по поводу обязательной простановки пространства имен у типов данных??
#28 by Bloood
Если кому интересно, то wsdl ку удалось исправить. 1с ка падала на строке <operation name="HelloWorld"> <soap:operation soapAction="; <input> <soap:body use="literal" namespace="; namespace="; удалил везде эту строку. Методы определяются.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С