Привет всем!
Предлагаю обсудить технические стороны реализации web-сервиса в 1с 8.1. Возможно кто то уже работал с объектами платформы веб-сервисы и пакеты XDTO.
Проблемы:
1. как это делается (описать общую последовательность действий, что делаем на сервере, что делаем на клиенте), в чем связь пакетов XDTO и web-сервисов?
Клиент - в данном случае, это тоже 1С 8.1.
2. файлы с расширением *.wsdl и *.1cws - это одно и тоже? если нет, то как получить wsdl файл? если да, то как добится того, чтобы информация, выгруженная из пакета XDTO в виде файла *.xsd попала в содержание файла *.1cws?
По поводу последнего (включение инфы из *.xsd в *.1cws), возможно этого делать не нужно?
ЯТогда, на стороне клиента не прокатывает следующий код:
ИмяТочкиПодключения = "MyWebServise" + "SOAP";
Определения = Новый WSОпределения("http://127.0.0.1:8080/ws1.1cws");
// создание прокси
Прокси = Новый WSПрокси(Определения, "http://www.sample-package.org", "MyWebServise", ИмяТочкиПодключения);
На строке Прокси - падает, выдает ошибку Сервис не найден.
Погоди, а хелп 1С дается следующее описание параметров, для создания объекта прокси
Новый WSПрокси(<Определение>, <URI пространства имен сервиса>, <Имя сервиса>, <Имя точки подключения>)
второй параметр не прокси сервер, а пространство имен сервиса.... я когда пакет XDTO создавал, тоже использовал этот пакет http://www.sample-package.org
на счёт второго вопроса: файл .1cws -- это 1с-овский файл, который (при грамотной настройке веб-сервера) обрабатывается 1с-овской длл-кой. чтобы получить wsdl добавьте ?wsdl в конце:
http://127.0.0.1:8080/ws1.1cws?wsdl (если вы не видите wsdl, значит не настроили веб-сервер)
Из приведенного примера, пытался реализовать самый простой вариант "ЗдоровенькиБулы".
Настройку сервера сделал, wsdl-файл (preved.1cws?wsdl) опубликовал ... захожу через Internet Explorer - все работает.
Проблемы на стороне клиента. Определение ссылки создает, а при создании прокси, пишет что ошибка... такого веб-сервиса нет... в чем засада? Повторю программный код клиента:
Определения = Новый WSОпределения("http://127.0.0.1:8080/preved.1cws" + "?wsdl");
Прокси = Новый WSПрокси(Определения, "http://www.sample-package.org", "ЗдоровенькиБулы", "ЗдоровенькиБулы" + "SOAP");
P.S. В предложенном описании, клиентом является Internet Explorer - в виде кнопочки... все написано на JavaScript. Это конечно хорошо, но у меня другая задача... надо организовать Сервер на 1C и Клиент на 1С.
Тут я мало что могу посоветовать. Апач не настраивал.
Советую для начала попробовать сделать на встроенном в винды IIS.
Там все очевидно и работает с первого раза.
Снес короче я Apache, и установил IIS 5.0
ты знаешь, ошибка изменилась ))))))))))))))))))))
падает на той же строке, только теперь пишет ошибку "не верный порт"...
Хотя в явной форме написан 80 порт!
Определения = Новый WSОпределения("http://localhost:80/iis1c/preved.1cws" + "?wsdl");
Прокси = Новый WSПрокси(Определения, "http://www.sample-package.org", "ЗдоровенькиБулы", "ЗдоровенькиБулы" + "SOAP");
Заработало! )))) хоть она (платформа 1с) выводит сообщение о том, что "не верный порт"... не стоит менять порт на сервере IIS, или прописывать его в определении
http://localhost:80/iis1c/preved.1cws
проблема в последнем параметре - Точка подключения.
в моем случае ошибка следующая.. надо было писать не SOAP, а Soap
если изменить код вот так:
Определения = Новый WSОпределения("http://localhost/iis1c/preved.1cws" + "?wsdl");
Прокси = Новый WSПрокси(Определения, "http://www.sample-package.org", "ЗдоровенькиБулы", "ЗдоровенькиБулы" + "Soap");
а почему ни кто не написал что в IIS в настройках виртуальной папки по мимо всего нужно:
1) В Application settings нажать Create
2) потом кнопку Configuration
3) там добавить 2 расширения .1cws и .1crs и назначить им Executable - "C:\Program Files\1cv81\bin\wsisapi.dll"
и 1совцы промолчали цуки и тут нигде нет. я голову сломал пока туда догодался заглянуть...