8.х WEB Создание web-сервис на 1С

Тема в разделе ""1C:Web-Сервер"", создана пользователем Tronen, 20 сен 2012.

  1. TopicStarter Overlay
    Tronen
    Offline

    Tronen Опытный в 1С

    Регистрация:
    16 ноя 2011
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    Привет всем!

    Встала задача организации web-сервиса. Сам с ними никогда не работал, поэтому решил начать с изучения азов.
    Что-то почитал, скачал кое-какие примеры, начал сам - ничего не выходит.

    По порядку:
    1. Платформа 8.2.16.362, ОС Windows 7
    2. Веб-сервер: либо IIS 7, либо Apache 2.2 (результаты везде одинаковые, далее писать буду по Apache).
    3. Создал конфигурацию по примеру http://habrahabr.ru/post/127998/
    4. Опубликовал web-сервис через Администрирование - Публикация на веб-сервере... Успешно.
    Веб-серверы были настроены удачно, просто веб-доступ к базам работает на ура (в обоих версиях сервера).
    В файле httpd.conf имеется:

    Код:
    LoadModule _1cws_module "C:/Program Files/1cv82/8.2.16.362/bin/wsap22.dll"
    # 1c publication
    Alias "/ws" "D:/WSTest/"
    <Directory "D:/WSTest/">
    AllowOverride All
    Options None
    Order allow,deny
    Allow from all
    SetHandler 1c-application
    ManagedApplicationDescriptor "D:/WSTest/default.vrd"
    </Directory>
    
    Содержимое файла default.vrd
    Код:
    <?xml version="1.0" encoding="UTF-8"?>
    <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    base="/ws"
    ib="File=&quot;D:\WSTest\db&quot;;"
    enable="false">
    <ws>
    <point name="FileStorageService"
    alias="FileStorageService.1cws"/>
    </ws>
    </point>
    
    5. Пытаюсь подключить ссылку на службу в Visual Studio 2012
    Сначала пишу ссылку на сервис http://localhost/ws/...rvice.1cws?wsdl
    Результат:
    Код:
    Возникла ошибка при загрузке "http://localhost/ws/FileStorageService.1cws?wsdl".
    Сбой запроса с состоянием HTTP 404: Not Found.
    Метаданные содержат неразрешимую ссылку: "http://localhost/ws/FileStorageService.1cws?wsdl".
    Прослушивание на http://localhost/ws/...rvice.1cws?wsdl не выполняла ни одна конечная точка, которая могла бы принять сообщение. Среди прочих причин это могло быть вызвано неправильным адресом или действием SOAP. Подробнее см. в описании InnerException (если имеется).
    Удаленный сервер возвратил ошибку: (404) Не найден.
    Если служба определена в текущем решении, попробуйте построить решение и добавить ссылку на службу еще раз.
    
    Пытаюсь по ссылке http://localhost/ws
    Результат:
    Код:
    Документ HTML не содержит информации обнаружения веб-служб.
    Метаданные содержат неразрешимую ссылку: "http://localhost/ws".
    Тип содержимого text/html; charset=utf-8 ответного сообщения не соответствует типу содержимого привязки (application/soap+xml; charset=utf-8). При использовании особого кодировщика необходимо правильно реализовать метод IsContentTypeSupported. Первые 1024 байтов ответного сообщения: "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>1С:Предприятие</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >
    <link rel="shortcut icon" href="e1csys/mngsrv/favicon.ico" />
    <style type="text/css">
    BODY
    {
    margin: 0px;
    padding: 0px;
    border: 0px;
    font-family:'MS Sans Serif';
    color:#594304;
    }
    </style>
    <script language="javascript" type="text/javascript">
    var iPad = (/iPad/i).test(navigator.userAgent);
    var iPhone = (/iPhone/i).test(navigator.userAgent);
    var iOS = iPhone || iPad;
    var BaseUrl = window.location.href.substr(
    0, window.location.href.lastIndexOf("/")) + "/";
    var isIE = (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent));
    var isIE6 = (isIE && (/msie 6\.0/i).test(navigator.userAgent));
    var isIE7 = (isIE && ".
    Если служба определена в текущем решении, попробуйте построить решение и добавить ссылку на службу еще раз.
    
    Скачал SOAP-клиент для отладки (нашел тут http://infostart.ru/public/120728/)
    При попытке использовать "полную" ссылку опять получаю Not found
    При попытке получать "сокращенную" ссылку получаю:
    Код:
    Ошибка при вызове конструктора (WSОпределения): Ошибка разбора XML:  - [1,47]
    Фатальная ошибка:
    Space required after the Public Identifier
    SystemId: http://localhost/ws: Ошибка разбора XML:  - [1,47]
    Фатальная ошибка:
    Space required after the Public Identifier
    SystemId: http://localhost/ws
    
    Вопрос - что я не так сделал?
  2. TopicStarter Overlay
    Tronen
    Offline

    Tronen Опытный в 1С

    Регистрация:
    16 ноя 2011
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26
    Тему закрываю. В ссылке необходимо было добавить к алиасу сервиса ws/. Т.е. конечная ссылка должна была бы выглядеть так http://localhost/ws/ws/...rvice.1cws?wsdl (не удачная была идея назвать сервис ws)
  3. uza
    Offline

    uza 1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29
    :)))
    В тему, но не по теме:
    Мне нужно было забирать данные с чужого сервиса в 1С.
    А в пакетах того сервиса среди типов объектов был типок с полями id и ID

    1С - ругается и не хотит такой сервис подключать.
    VB материться и тоже нихрена не хочет работать.
    Контора, предоставляющая сервис - ничего не знает (легион менеджеров, че). Связи с разрабами сервиса нет (и по косвенным признакам связи нет и у предоставляющей сервис конторы).
    !!!!

    Пришлось выкручиваться и писать говно-код на С# (который я не знаю) который забирал данные с сервиса, и отдавал в промежуточную БД.

    P.S.
    Щас проверил - да, все так же живут там и id и ID, хотя багрепортов по теме было минимум 3 штуки, и прошел уже почти что год.
  4. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    Tronen
    Друзья, помогите чем сможете, а именно:
    Дайте ссылки на более ле менее адекватную литературу по работе с web-сервисами....
    может какие-нибудь пошаговые простейшие инструкции существуют...
    Есть достаточно не сложная задача, но за отсутствием знаний в этой области я на это убью недели... а это непозволительная роскошь для меня...
Похожие темы
  1. _Oleg_
    Ответов:
    0
    Просмотров:
    2.167
  2. AlexFF
    Ответов:
    0
    Просмотров:
    2.179
  3. vgv8
    Ответов:
    2
    Просмотров:
    1.299
  4. tiht
    Ответов:
    3
    Просмотров:
    1.525
  5. unevier
    Ответов:
    0
    Просмотров:
    469
Загрузка...

Поделиться этой страницей