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 разных брендов в одной информационной базе в ручном и автоматическом режиме. Без существенных изменений типовой конфигурации. Проверено с брендами: Интеграция 1С и GEELY Интеграция 1С и HAVAL Интеграция 1С и KIA Интеграция 1С и FORD Интеграция 1С и LADA ГАРАНТИЯ 100% ВНЕДРЕНИЯ!

36000 руб.

03.08.2020    15727    10    17    

11

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

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

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

5040 руб.

04.05.2021    17541    6    15    

13

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

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

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

12000 руб.

02.02.2021    16350    42    49    

23

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25736    9    0    

7

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88570    160    215    

318
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
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 871 13.11.14 10:49 Сейчас в теме
102. user_2010 871 13.11.14 12:27 Сейчас в теме
А может быть дело в версии IIS?

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

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

У них сейчас работает один старый веб-сервис, который как раз имеет префикс S.
А мой веб-сервис с префиксом xs не работает - типа неправильный синтаксис....
107. awk 741 13.11.14 14:19 Сейчас в теме
(104) user_2010,
1. Значит разбор xml у них основан на префиксе, что НЕПРАВИЛЬНО!!! Разбор должен исходить из пространства имен!!!
2. Ошибка может быть, но может и не быть. То что они описали - не ошибка.
105. user_2010 871 13.11.14 12:48 Сейчас в теме
У них сейчас работает один старый веб-сервис, который как раз имеет префикс S.
Уточню - этот старый веб-сервис не от 1С.
106. user_2010 871 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 871 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 871 13.11.14 17:47 Сейчас в теме
(112) Спасибо и на этом! Вы единственный - кто ведет диалог, рассуждает, пытается помочь!!! Может быть ниточка рассуждений приведет в пониманию и решению...
110. user_2010 871 13.11.14 14:44 Сейчас в теме
Вот такую ошибку выдает веб-сервис
111. user_2010 871 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 871 14.11.14 12:23 Сейчас в теме
Добрый день! :)
Есть подозрение, что проблема в авторизации. Можно как-то сделать веб-сервис без авторизации?
115. Elisy 948 14.11.14 14:21 Сейчас в теме
(114) user_2010,
В 8.3 добавили REST-сервисы - альтернативу веб-сервисам. По описанию достаточно гибкими получились
116. user_2010 871 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 871 17.11.14 09:52 Сейчас в теме
(117) да, спасибо за вашу помощь!
123. awk 741 17.11.14 10:32 Сейчас в теме
(121) user_2010, Не за что обращайтесь...
126. user_2010 871 17.11.14 14:35 Сейчас в теме
Проблемы у Шарика не кончаются... но решить их должна 1С!!! Надо сделать так, чтобы веб-сервис работал без авторизации. Это возможно? Если возможно, то как это сделать?
127. awk 741 17.11.14 14:49 Сейчас в теме
(126) user_2010, Пользователя из IIS завести в 1С (авторизация операционной системы). Шарик авторизовываться не умеет? Удивлен...
128. Трактор 1246 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 871 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 871 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 871 05.12.14 10:59 Сейчас в теме
Не помогает... уже чего только не перепробовали...
В SOAPUI - верно грузит веб-сервис - с новыми методами.
В браузерах (IE, FF) - старые методы. (и на сервере и на локальном компе - везде браузеры отображают старые методы)
135. user_2010 871 05.12.14 11:04 Сейчас в теме
Может быть проблема в том, что у меня локально и на сервере этот веб-сервис с одним и тем же именем?

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

Не может быть в этом проблема?
136. user_2010 871 05.12.14 11:09 Сейчас в теме
Извиняюсь... мой глюк.. не туда смотрела...
137. user_2010 871 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 871 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 871 17.12.14 16:41 Сейчас в теме
Да, в SoapUI тоже настроила.... теперь не пишет ошибку, но и не выдает текст XML - видимо уже просто проблемы с отображением...
Спасибо!
142. capitan 2466 27.01.16 16:18 Сейчас в теме
Справочно
На 8.3.7.1845 все варианты NuSOAP сработали
Сам брал код phpclub.ru но на инфостарте интересно было найти
143. user_2010 871 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 871 17.05.16 17:10 Сейчас в теме
(143) user_2010, если я для одного и того же веб-сервиса делаю несколько публикаций с разными именами (в качестве экспериментов) - это ведь не должно мешать ему работать? По сути должно работать из каждой публикации?
146. awk 741 18.05.16 09:45 Сейчас в теме
(143) user_2010, Имя каталога базы и имя каталога публикации базы совпадают?
147. user_2010 871 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 871 18.05.16 15:43 Сейчас в теме
(148) я же не базу размещаю в веб-сервисе, а только веб-сервис, в каталоге wwwroot у меня созданы каталоги, под которыми опубликованы веб-сервисы, они от разных баз, часть из этих веб-сервисов работает, а с одним мучаюсь...

попробую базу переставить, заново опубликовать....
вопрос: если у меня на компе установлено несколько копий одной и той же рабочей базы с веб-сервисом - не будет проблем - если я опубликую этот веб-сервис из разных баз под разными именами публикаций?
144. Fragster 1138 17.05.16 16:53 Сейчас в теме
Для централизованного обмена результатами многопоточного теста производительности 1с в свое время написал вот такую штуку: http://fragster.ru/wsfor1c/ она достаточно просто интегрируется с имеющимся кодом на PHP и позволяет за пару минут сделать веб-сервис, который можно вызывать из 1с
150. user_2010 871 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 871 24.05.16 09:29 Сейчас в теме
(151) спасибо - попробую... только у меня 8.2 и IIS 7.5.
153. user_2010 871 24.05.16 10:31 Сейчас в теме
(150) user_2010, Ура! разобралась ... тупанула - не на тот каталог с базой дала права пользователю IIS_IUSRS
Оставьте свое сообщение