Web-сервисы из 1С в PHP или грабли, на которые я наступил.

27.12.09

Интеграция - WEB-интеграция

Наверное ни для кого не секрет, что 1С может создавать свои или использовать сторонние web-сервисы, но как она это делает? И что надо сделать, чтобы оно заработало? Информация к размышлению.

Как это должно быть в 1С (подключение не буду описывать, там надо всего-навсего указать wsdl-файл):

Прокси = WSСсылки.Перл.СоздатьWSПрокси("http://it.selenia.ru/", "AWK", "AWK");
Результат = Прокси.pregMatch(Строка, Шаблон);

И написал я такой нехитрый PHP-код:

class AWKService {
  function pregMatch($str, $tmpl) {
                $res_str = "";
                preg_match($tmpl, $str, $res);
                foreach( $res as $line ) {
                        $res_str .= "" . $line . "";
                }
                $res_str .= "";
                return $res_str;
  }
}
$server = new SoapServer("./services.wsdl");
$server->setClass("AWKService");
$server->handle();
?>

И wsdl:

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmln
<wsdl:types>
<xsd:schema targetNamespace="urn:pregwsdl">
 <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
 <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="pregMatchRequest">
  <wsdl:part name="str" type="xsd:string"/>
  <wsdl:part name="tmpl" type="xsd:sring"/></message>
<wsdl:message name="pregMatchResponse">
  <wsdl:part name="return" type="xsd:string"/></message>
<wsdl:portType name="pregwsdlPortType">
  <wsdl:operation name="pregMatch">
    <wsdl:documentation>see preg_Match</documentation>
    <wsdl:input message="tns:pregMatchRequest"/>
    <wsdl:output message="tns:pregMatchResponse"/>
  </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="pregwsdlBinding" type="tns:pregwsdlPortType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <wsdl:operation name="pregMatch">
    <soap:operation soapAction="urn:pregwsdl#pregMatch" style="rpc"/>
    <wsdl:input><soap:body use="encoded" namespace="urn:pregwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><
    <wsdl:output><soap:body use="encoded" namespace="urn:pregwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  </wsdl:operation>
</binding>
<wsdl:service name="pregwsdl">
  <wsdl:port name="pregwsdlPort" binding="tns:pregwsdlBinding">
    <soap:address location="http://it.selenia.ru/services.php"/>
  </wsdl:port>
</wsdl:service>
</wsdl:definitions>

И получил от 1С при подключении: "Неверный формат", хотя на http://soapclient.com/SoapTest.html  и формат прочитали и запрос выполнили. И пошел я другим путем. Воспользовался nuSOAP (мало ли я wsdl писать не умею):

// Подключаем код NuSOAP
require_once('lib/nusoap.php');
// Создаем экземпляр сервера
$server = new soap_server();
$server->configureWSDL('AWK','http://it.selenia.ru');
$server->register('pregMatch',
    array('str' => 'xsd:string', 'tmpl' => 'xsd:string'),
    array('result' => 'xsd:string'),
    'http://it.selenia.ru',
    'http://it.selenia.ru#pregMatch',
    'rpc',
    'encoded',
    'Уфф...');
// Определяем метод как функцию PHP
function pregMatch($str, $tmpl) {

                $res_str = "";
                preg_match($tmpl, $str, $res);
                foreach( $res as $line ) {
                        $res_str .= "" . $line . "";
                }
                $res_str .= "";
                return $res_str;
}
// Используем HTTP-запрос чтобы вызвать сервис
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>


Но опять, при подключении http://it.selenia.ru/services.php?wsdl - "Неверный формат".

Не буду вас долго мучить и приведу работающий код:

// Подключаем код NuSOAP
require_once('lib/nusoap.php');
// Создаем экземпляр сервера
$server = new soap_server();
$server->configureWSDL('AWK','http://it.selenia.ru');
$server->wsdl->addComplexType(
        'ArrayOfString',
        'complexType',
        'array',
        'all',
        '',
        array(
        'dn' => array('name' => 'dn', 'type' => 'xsd:string',
        'minOccurs' => '0', 'maxOccurs' => 'unbounded')
        )
);
$server->register('pregMatch',
    array('str' => 'xsd:string', 'tmpl' => 'xsd:string'),
    array('result' => 'tns:ArrayOfString'),
    'http://it.selenia.ru',
    'http://it.selenia.ru#pregMatch',
    'rpc',
    'encoded',
    'Уфф...');
// Определяем метод как функцию PHP
function pregMatch($str, $tmpl) {

        preg_match($tmpl, $str, $res);

        return $res;
}
// Используем HTTP-запрос чтобы вызвать сервис
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);

?>

А теперь можно поразмыслить на тему: "Где еще, кроме SQL, напортачил 1С?"

P.S. По мотивам комментариев.

Если вы думаете, что после этого удалось нормально пользоваться web-сервисом, то вы ошибаетесь. Были и еще пляски с бубном.
И огромную благодарность я выражаю всем, кто принял участие в тестировании. Отдельная благодарность Трактор и dushelov за их помощь в получении конечного положительного результата.

Итак, код, который можно нормально использовать:

<?php
// Подключаем код NuSOAP
require_once('lib/nusoap.php');
// Создаем экземпляр сервера
$server = new soap_server();


// Вместо document можно использовать rpc, но у меня не прошло

$server->configureWSDL('AWK','[url]http://it.selenia.ru[/url]','','document');
$server->decode_utf8 = false;
$server->soap_defencoding = 'UTF-8';

//Определяем массив
$server->wsdl->addComplexType(
        'ArrayOfString',
        'complexType',
        'array',
        '',
        'SOAP-ENC:Array',
        array(),
        array(
            array('ref'=>'SOAP-ENC:Array',
                'wsdl:arrayType' => 'SOAP-ENC:string[]',
                'arrayType' => 'SOAP-ENC:string[]',
                'nillable'=>'true'
        )),
        'SOAP-ENC:string'
);
// Регистрируем метод
$server->register('pregMatch',
    array('str' => 'xsd:string', 'tmpl' => 'xsd:string'),
    array('return' => 'tns:ArrayOfString'),
    '',
    '',
    'document',
    'literal');
// Определяем метод как функцию PHP
function pregMatch($str, $tmpl) {
        if (preg_match('@^(.).*\1.?$@i',$tmpl) == 0) {
            return new soap_fault('SERVER', '', 'bad template',$tmpl);
        }
        else {
                preg_match($tmpl, $str, $res);
        }
        return $res;
}
// Используем HTTP-запрос чтобы вызвать сервис
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>

Баги есть в релизе 8.2.9.356 - в 8.2.10.73 они исправлены.

И еще. Если вы при подключении получите 407 ошибку, то скорее всего в этом виноват прокси-сервер. Я из-за него долго не мог получить результат, так как 1С просто вылетала. Спасибо Visual Studio - оно дало и описание ошибки и направление его исправления. Если у вас стоит SQUID, то лечится это добавлением сторочки в squid.conf (ignore_expect_100 on). На этом вроде бы все.

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16076    13    18    

13

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    18146    10    15    

16

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

25200 руб.

28.05.2015    85361    26    51    

50

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    12988    33    8    

12

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16605    43    49    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
101. awk 741 13.11.14 10:51 Сейчас в теме
(98) user_2010,
Насколько я поняла: в 1С я в качестве пространства имен могу указать любую информацию, главное, чтобы было похоже на ссылку.


Пространство имен это произвольная строка. URL - это всего лишь способ сделать эту строку уникальной.

Как понять: почему 1С в одном случае дает префикс xs, а в другом случае уже дает префикс xs1?
Может быть при каком-то условии/настройке можно добиться получения префикса S? Какая тут логика?
xs - это просто удобняшка, для легкости чтения. xs1 перфикс вряд ли 1С создаст, а вот ns1, ns2 ... - вполне. Префикс s можно получить делая xml "руками". В 1С логики префиксации особой нет.
100. user_2010 911 13.11.14 10:49 Сейчас в теме
102. user_2010 911 13.11.14 12:27 Сейчас в теме
А может быть дело в версии IIS?

Дело в том, что я полгода назад делала для шарепоинта тестовый веб-сервис. Он работал в шарепоинте. Потом мой комп накрылся и все пропало. Вот сейчас сделала по новой все и такой результат: работает везде, кроме шарепоинта.
Теперь на это давят, типа я что-то неправильно сделала...

Может быть есть еще какие-нибудь идеи... куда копать...????
103. awk 741 13.11.14 12:38 Сейчас в теме
(102) user_2010, Ну, может что-то и не правильно, но не то о чем они говорят - это точно. Пусть обоснуют по какой причине они требуют неизменный префикс. А точнее ссылку на стандарт где префикс фиксируется. У них просто не правильно написана обработка, а переделывать они ее не хотят.
104. user_2010 911 13.11.14 12:47 Сейчас в теме
А что может быть неправильно? Разве должно иметь значение то, какая программа будет использовать веб-сервис? Ведь это должно быть без разницы. Если веб-сервис работает, то он должен работать во всех программах - так ведь?

У них сейчас работает один старый веб-сервис, который как раз имеет префикс S.
А мой веб-сервис с префиксом xs не работает - типа неправильный синтаксис....
107. awk 741 13.11.14 14:19 Сейчас в теме
(104) user_2010,
1. Значит разбор xml у них основан на префиксе, что НЕПРАВИЛЬНО!!! Разбор должен исходить из пространства имен!!!
2. Ошибка может быть, но может и не быть. То что они описали - не ошибка.
105. user_2010 911 13.11.14 12:48 Сейчас в теме
У них сейчас работает один старый веб-сервис, который как раз имеет префикс S.
Уточню - этот старый веб-сервис не от 1С.
106. user_2010 911 13.11.14 13:03 Сейчас в теме
Вот что мне прислал шарепоинт:

http://msdn.microsoft.com/en-us/magazine/cc188906.aspx

Судя по описанию, должно быть <wsdl:definitions как минимум. Видимо для того, чтобы получатель понял что это именно WSDL, не просто XML.

Кто-нибудь в этом понимает?
108. awk 741 13.11.14 14:22 Сейчас в теме
(106) user_2010, Если есть: xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" то да.
Если xmlns:ВАСЯ.Пупкин="http://schemas.xmlsoap.org/wsdl/", то

<ВАСЯ.Пупкин:definitions ...>...</ВАСЯ.Пупкин:definitions>
109. user_2010 911 13.11.14 14:41 Сейчас в теме
вот мой самый простой веб-сервис, возвращает строку "Здравствуй МИР!"

=<?xml version="1.0" encoding="UTF-8"?>

=-<definitions targetNamespace="78.ru/1C_Bit" name="Web_LST_Test" xmlns:xsd1="78.ru/1C_Bit" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="78.ru/1C_Bit" xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12bind="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns="http://schemas.xmlsoap.org/wsdl/">


=-<types>


=-<xs:schema targetNamespace="78.ru/1C_Bit" elementFormDefault="qualified" xmlns:xs1="78.ru/1C_Bit" xmlns:xs="http://www.w3.org/2001/XMLSchema">


=-<xs:element name="LST_Test">


=-<xs:complexType>

=<xs:sequence/>

=</xs:complexType>

=</xs:element>


=-<xs:element name="LST_TestResponse">


=-<xs:complexType>


=+<xs:sequence>

=</xs:complexType>

=</xs:element>

=</xs:schema>

=</types>


=-<message name="LST_TestRequestMessage">

=<part name="parameters" element="tns:LST_Test"/>

=</message>

=-<message name="LST_TestResponseMessage">

=<part name="parameters" element="tns:LST_TestResponse"/>

=</message>


=-<portType name="Web_LST_TestPortType">


=-<operation name="LST_Test">

=<input message="tns:LST_TestRequestMessage"/>

=<output message="tns:LST_TestResponseMessage"/>

=</operation>

=</portType>

=-<binding name="Web_LST_TestSoapBinding" type="tns:Web_LST_TestPortType">

=<soapbind:binding transport="http://schemas.xmlsoap.org/soap/http" st yle="document"/>


=+<operation name="LST_Test">


=</binding>


=-<binding name="Web_LST_TestSoap12Binding" type="tns:Web_LST_TestPortType">

=<soap12bind:binding transport="http://schemas.xmlsoap.org/soap/http" st yle="document"/>


=-<operation name="LST_Test">

=<soap12bind:operation st yle="document" soapAction="78.ru/1C_Bit#Web_LST_Test:LST_Test"/>


=-<input>

=<soap12bind:body use="literal"/>

=</input>


=-<output>

=<soap12bind:body use="literal"/>

=</output>

=</operation>

=</binding>


=-<service name="Web_LST_Test">


=-<port name="Web_LST_TestSoap" binding="tns:Web_LST_TestSoapBinding">


=-<documentation>

=<wsi:Claim conformsTo="http://ws-i.org/profiles/basic/1.1" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim">

=</documentation>

=<soapbind:address location="http://localhost/LST_Project/ws/Web_LST_test"/>

=</port>


=-<port name="Web_LST_TestSoap12" binding="tns:Web_LST_TestSoap12Binding">

=<soap12bind:address location="http://localhost/LST_Project/ws/Web_LST_test"/>

=</port>

=</service>

=</definitions>

В нем все верно?
112. awk 741 13.11.14 16:13 Сейчас в теме
(109) user_2010, Вроде верно, но я не настолько крут что бы с "листа" wsdl читать.
(111) user_2010,
так и не нашли решения...
И не найдете, т.к. искать надо не вам, а им и не здесь. Я не специалист по SarePoint. Я его ни разу не настраивал. Код на C# могу "поковырять". Но опять же - это проблема специалистов SharePoint. Названая ими причина - это отмазка чистой воды.
113. user_2010 911 13.11.14 17:47 Сейчас в теме
(112) Спасибо и на этом! Вы единственный - кто ведет диалог, рассуждает, пытается помочь!!! Может быть ниточка рассуждений приведет в пониманию и решению...
110. user_2010 911 13.11.14 14:44 Сейчас в теме
Вот такую ошибку выдает веб-сервис
111. user_2010 911 13.11.14 15:32 Сейчас в теме
Появилась новая информация:
Похоже дело не в синтаксисе.
Вот этот сервис -- http://www.part-kom.ru/webservice/search.php?wsdl читает правильно

Нашла вот такую ссылку http://www.sql.ru/forum/705071/c-net-webservice-call-pomogite-pravilno-vyzvat-veb-servis-s-peredachey-hidera-correct
там так и не нашли решения...
114. user_2010 911 14.11.14 12:23 Сейчас в теме
Добрый день! :)
Есть подозрение, что проблема в авторизации. Можно как-то сделать веб-сервис без авторизации?
115. Elisy 948 14.11.14 14:21 Сейчас в теме
(114) user_2010,
В 8.3 добавили REST-сервисы - альтернативу веб-сервисам. По описанию достаточно гибкими получились
116. user_2010 911 14.11.14 14:55 Сейчас в теме
Оказалась проблема в шарике. У него случился глюк со службой SecureStore, которая криво сохраняла адрес ссылки и данные пользователя, соответственно и криво их возвращала при обращении.

Спасибо всем помогавшим и сочувствующим ;) ! Может кому-нибудь пригодится наш опыт...
117. awk 741 14.11.14 18:39 Сейчас в теме
(116) user_2010, Я это и написал.

(115) Elisy, REST не отменит необходимость авторизации.

Вопрос SOAP vs REST возникает у людей не знающих что такое REST или SOAP.
118. Elisy 948 15.11.14 07:34 Сейчас в теме
(117)
Я предложил REST, как альтернативу решения проблемы:
Есть такой вопрос, может быть вы поможете: сделала веб-сервис в 1С, опубликовала, он работает в SoapUI, еще проверяли из других программ - работает... Но нужно его использовать в программе, которая работает на платформе SharePoint. Так вот у них мой веб-сервис не работает.


На стороне 1С делается HTTP-сервис, который возвращает, например, JSON-формат. На стороне SharePoint этот JSON-формат воспринимается. У решения больше шансов на успех, потому что http-сервисы в 1С более гибкие и настраиваемые. Там не так все автоматизировано, как в SOAP.

Elisy, REST не отменит необходимость авторизации.

Какую вы видите проблему с авторизацией? HTTP-сервисы, насколько я понял, по умолчанию не требуют авторизации. Вы можете сами реализовать авторизацию, какую нужно. Хоть basic, хоть через параметры url, хоть в теле post-запроса.

Вопрос SOAP vs REST возникает у людей не знающих что такое REST или SOAP.

Здесь, пожалуйста, подробнее. Судя по https://ru.wikipedia.org/wiki/REST
"Этот способ (REST) является альтернативой более сложным методам, таким как SOAP, CORBA и RPC."
Может вы что-то путаете?
119. awk 741 15.11.14 23:25 Сейчас в теме
(118) Elisy,

"Альтернатива" - Представьте что у вас спустило колесо. Вы приехали в автосервис, а вам говорят: "Колесо? У нас есть отличный БМВ Х5. У него все колеса, отличный пакет..." Как-то не правильно наверно.

На стороне 1С делается HTTP-сервис, который возвращает, например, JSON-формат.
Это не сюда, а в статью. Я знаю про REST достаточно много. И работал с ним в 1С когда ждали еще 8.2.14.

насколько я понял
Видать не понял...

Здесь, пожалуйста, подробнее. ... Может вы что-то путаете?
Может и путаю. Но подробнее можно прочитать здесь например: http://habrahabr.ru/post/131343/

Фраза вики "Этот способ (REST) является альтернативой более сложным методам, таким как SOAP, CORBA и RPC." - вообще чушь. Так как REST не способ, а SOAP, CORBA и RPC не методы.
120. Elisy 948 17.11.14 06:35 Сейчас в теме
(119)
Не понял, к чему демонстрация риторики и искусства изворотливости. Есть проблема user_2010, и есть целый пост не относящегося к решению проблемы отстраненного обсуждения. То в Вики все врут, то все вокруг заблуждаются. Специалистов-то, кроме вас, во всем мире не осталось.
Конкретно по проблеме user_2010: http-сервисы с протоколом JSON решают проблему или нет? Гибче этот способ по настройкам на стороне 1С, чем SOAP, или нет?
122. awk 741 17.11.14 10:31 Сейчас в теме
(120) Elisy, По делу есть что написать?

Я предложил написать вам статью по REST сервисам, т.к. новой (для 1С) технологией владеют не все. Получиться полезно и познавательно. Предложил почитать статью, которая достаточно популярно разжевывает вопрос. Выразил мнение, что ради спустившего колеса автомобиль менять не надо. Чего вас понесло в стиле "Он меня ... назвал"?


Конкретно по проблеме user_2010: http-сервисы с протоколом JSON решают проблему или нет? Гибче этот способ по настройкам на стороне 1С, чем SOAP, или нет?


Проблема решена. Не придумывайте других проблем.
124. Elisy 948 17.11.14 12:13 Сейчас в теме
(122)
Я предложил написать вам статью по REST сервисам, т.к. новой (для 1С) технологией владеют не все. Получиться полезно и познавательно. Предложил почитать статью, которая достаточно популярно разжевывает вопрос. Выразил мнение, что ради спустившего колеса автомобиль менять не надо. Чего вас понесло в стиле "Он меня ... назвал"?

Прошу прощения, если я вас неправильно понял.

Я предложил написать вам статью по REST сервисам, т.к. новой (для 1С) технологией владеют не все. Получиться полезно и познавательно.

Есть уже здесь такие статьи:
http://infostart.ru/public/302876/
http://infostart.ru/public/303477/

Проблема решена. Не придумывайте других проблем.

Если проблема решена, вы правы, обсуждение альтернатив развивать не нужно.
125. awk 741 17.11.14 14:07 Сейчас в теме
(124) Elisy, Есть. На тему: "как сделать". Но на тему: "что это такое" - особо не встречал (в 1С разделах). Вы опытный в этом деле, почему не поделиться знаниями?
121. user_2010 911 17.11.14 09:52 Сейчас в теме
(117) да, спасибо за вашу помощь!
123. awk 741 17.11.14 10:32 Сейчас в теме
(121) user_2010, Не за что обращайтесь...
126. user_2010 911 17.11.14 14:35 Сейчас в теме
Проблемы у Шарика не кончаются... но решить их должна 1С!!! Надо сделать так, чтобы веб-сервис работал без авторизации. Это возможно? Если возможно, то как это сделать?
127. awk 741 17.11.14 14:49 Сейчас в теме
(126) user_2010, Пользователя из IIS завести в 1С (авторизация операционной системы). Шарик авторизовываться не умеет? Удивлен...
128. Трактор 1248 17.11.14 17:51 Сейчас в теме
Надо сделать так, чтобы веб-сервис работал без авторизации

(126) user_2010, а если стоит апач, то можно имя пользователя и пароль прописать в строке подключения к информационной базе в vrd файле.

Как-то так
ib="Srvr="127.0.0.1";Ref="ut10dev";N="SharePoint";P="SharePoison";">
user_2010; +1 Ответить
129. awk 741 17.11.14 18:36 Сейчас в теме
(128) Трактор, Кажется если стоит IIS то же прокатит. Только пароль к базе открытым текстом не хорошо...
130. user_2010 911 18.11.14 11:12 Сейчас в теме
(128) Трактор, :) Да ужжжжжж... Шарик точно - яд!
Мне нравится... если в Шарике что-то не работает - это значит в 1С что-то "нетак"... через неделю выясняется, что все-таки в шарике; теперь следующая проблема в шарике, опять 1С виновата.... Хочется бежать отсюда....
Извините - эмоции... ваш пароль верный!
131. awk 741 18.11.14 14:33 Сейчас в теме
(130) user_2010, Это свойственно не только программистам шариков. У нас так в одной конторе перекидывали задачи по полгода (сишники, на перловиков, перловики на 1С, 1С на обоих).
user_2010; +1 Ответить
132. user_2010 911 05.12.14 09:36 Сейчас в теме
Ну что! Новые грабли... или полтергейст...
Настраиваю теперь веб-сервисы на сервере на SQL-ной базе. Первый раз сделала - все заработало, хоть и не сразу...
Был один веб-сервис с, допустим, тремя методами Метод1, Метод2, Метод3.
Затем взяла в эту базу загрузила dt файл (конфигурация и данные). В загруженной базе веб-сервис тот же, но методы уже немного изменены:
Метод1, Метод2, Метод4, Метод5.

Публикую из новой загруженной базы. Но в браузере все равно отображаются методы от первой публикации: Метод1, Метод2, Метод3.
Уже и каталог с публикацией удаляла, меняла название публикации - все равно веб-сервис показывает методы от первой публикации....

Где-то себе он запомнил и я не могу обновить почему-то...

В чем суть? каких-то прав не хватает? Пути какие-то где-то настроить как-то? Перегрузить IIS?
133. awk 741 05.12.14 10:31 Сейчас в теме
(132) user_2010, Ctrl+F5 в браузере...
134. user_2010 911 05.12.14 10:59 Сейчас в теме
Не помогает... уже чего только не перепробовали...
В SOAPUI - верно грузит веб-сервис - с новыми методами.
В браузерах (IE, FF) - старые методы. (и на сервере и на локальном компе - везде браузеры отображают старые методы)
135. user_2010 911 05.12.14 11:04 Сейчас в теме
Может быть проблема в том, что у меня локально и на сервере этот веб-сервис с одним и тем же именем?

Я сначала веб-сервисы и IIS настроила на своем компе, все отладила.
Потом начала это дело настраивать на сервере. Загрузила на сервер базу, которую делала локально.

Не может быть в этом проблема?
136. user_2010 911 05.12.14 11:09 Сейчас в теме
Извиняюсь... мой глюк.. не туда смотрела...
137. user_2010 911 17.12.14 14:29 Сейчас в теме
Еще вопрос: веб-сервисом выгружаю данные справочника договоры контрагентов.
Весь справочник не выгружается, в SoapUI окно XML остается пустым, а в самой последней строке состояния окна SoapUI написано: Error getting response; java.net.SocketTimeoutException: Read timed out

Суть том, что нужно увеличить время ожидания? А где его увеличить и как? В IIS?
138. awk 741 17.12.14 14:38 Сейчас в теме
(137) user_2010, Задается на клиенте. Сколько будем ждать пока не сочтем, что сервер отвалился...
139. user_2010 911 17.12.14 14:56 Сейчас в теме
web.config - в папке моего веб-сервера - там нужно добавить строки какие-то?

у меня сейчас так выглядит:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<httpRuntime maxRequestLength="102400000" executionTimeout="3600" />
</system.web>
<system.webServer>
<handlers>
<add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files (x86)\1cv82\8.2.19.83\bin\wsisapi.dll" resourceType="Unspecified" requireAccess="None" />
</handlers>
</system.webServer>
</configuration>

Не получается... Помогите - что где и как настроить?
140. awk 741 17.12.14 16:36 Сейчас в теме
(139) user_2010, Настраивается на клиенте. IIS не клиент. Можно попробовать <httpRuntime maxRequestLength="102400000" executionTimeout="3600" /> увеличить, но не думаю, что поможет.
141. user_2010 911 17.12.14 16:41 Сейчас в теме
Да, в SoapUI тоже настроила.... теперь не пишет ошибку, но и не выдает текст XML - видимо уже просто проблемы с отображением...
Спасибо!
142. capitan 2484 27.01.16 16:18 Сейчас в теме
Справочно
На 8.3.7.1845 все варианты NuSOAP сработали
Сам брал код phpclub.ru но на инфостарте интересно было найти
143. user_2010 911 17.05.16 16:37 Сейчас в теме
Добрый день! каждый раз как что-то нужно сделать с веб-сервисами... маята... почему-то... Редко приходится настраивать, но метко...
Давно сделала веб-сервис в ЗУПе. Работает. База SQL.
Теперь нужно доработать - добавить еще функционала в этот веб-сервис.
Делаю копию базы (файловая) на своем компе. Хочу у себя все отладить, потом в рабочую SQL-ную базу перенести...
И вот проблема: В этой своей локальной ЗУП публикую веб-сервис (пока еще никаких изменений в веб-сервис не вносила), пытаюсь открыть его в IE: пишу путь:
http://localhost/LST_ZUP_Test2/ws/Web_LST_ZUP?wsdl
в ответ IE у меня спрашивает: вы хотите открыть или сохранить Web_LST_ZUP?wsdl из localhost?
И дальше хоть открыть, хоть сохранить... чистый экран..

IIS настроен и работает, другой веб-сервис из моей локальной Бухии работает!

В чем может быть проблема?
145. user_2010 911 17.05.16 17:10 Сейчас в теме
(143) user_2010, если я для одного и того же веб-сервиса делаю несколько публикаций с разными именами (в качестве экспериментов) - это ведь не должно мешать ему работать? По сути должно работать из каждой публикации?
146. awk 741 18.05.16 09:45 Сейчас в теме
(143) user_2010, Имя каталога базы и имя каталога публикации базы совпадают?
147. user_2010 911 18.05.16 15:26 Сейчас в теме
(146) не совсем поняла - что с чем должно совпадать???
имя публикации совпадает с именем каталога на IIS.
Рядом стоит еще одна копия базы - в ней веб-севис опубликовался и работает... а с этой базой не могу запустить...
148. awk 741 18.05.16 15:35 Сейчас в теме
(147) user_2010, Допустим база лежит c:\db\base, а расположение файла публикации c:\wwwroot\base - имена совпадают
Допустим база лежит c:\db\base, а расположение файла публикации c:\wwwroot\base_WWW - имена не совпадают
149. user_2010 911 18.05.16 15:43 Сейчас в теме
(148) я же не базу размещаю в веб-сервисе, а только веб-сервис, в каталоге wwwroot у меня созданы каталоги, под которыми опубликованы веб-сервисы, они от разных баз, часть из этих веб-сервисов работает, а с одним мучаюсь...

попробую базу переставить, заново опубликовать....
вопрос: если у меня на компе установлено несколько копий одной и той же рабочей базы с веб-сервисом - не будет проблем - если я опубликую этот веб-сервис из разных баз под разными именами публикаций?
144. Fragster 1139 17.05.16 16:53 Сейчас в теме
Для централизованного обмена результатами многопоточного теста производительности 1с в свое время написал вот такую штуку: http://fragster.ru/wsfor1c/ она достаточно просто интегрируется с имеющимся кодом на PHP и позволяет за пару минут сделать веб-сервис, который можно вызывать из 1с
150. user_2010 911 23.05.16 17:19 Сейчас в теме
Гуру веб-сервисов! помогите, плз!
Опубликовала веб-сервис. При открытии его в IE - ничего, ни ошибок, ничего..
иногда только внизу строчка с вопросом: вы хотите открыть или сохранить Web_LST_ZUP?wsdl из localhost?
чего-то не хватает ей... но вот чего?
права на каталог с базой дала IUSR И IIS_IUSRS.
Обработчики настроены.

Что еще посмотреть?
(ранее опубликованные веб-сервисы - работают, с новой публикацией - беда...)
151. awk 741 23.05.16 18:41 Сейчас в теме
(150) user_2010, Может лучше написать сюда http://infostart.ru/public/275820/ ?
152. user_2010 911 24.05.16 09:29 Сейчас в теме
(151) спасибо - попробую... только у меня 8.2 и IIS 7.5.
153. user_2010 911 24.05.16 10:31 Сейчас в теме
(150) user_2010, Ура! разобралась ... тупанула - не на тот каталог с базой дала права пользователю IIS_IUSRS
Оставьте свое сообщение