|
|
|
WEB-сервисы 8.1 | ☑ | ||
|---|---|---|---|---|
|
0
Abbat
13.07.07
✎
12:17
|
ПРивет всем. Хотел бы поинтересоваться на тему Веб-сервисов. 1С 8.1 создает вебсервис и публикует его на сервере в виде файла имя_файла.1cws. В качестчве сервиса сделал функцию которая принимает значение и умножает его на 2 и возвращает новое значение. При просмотре созданного файла нет никакого намека на wsdl - только мало вразумительные ссылки, с которыми непонятно как работать. Пожалуйста, если кто делал доступ из веб приложения к веб-сервису 1С 8.1 подскажите как быть.
|
|||
|
1
уродина
13.07.07
✎
12:28
|
мой совет следующий -
вначале попробуйте подцепить этот сервис в самой 8.1 . это у вас получается? |
|||
|
2
Abbat
13.07.07
✎
12:32
|
Щас попробую,но хотелось бы сразу понять в чем наколка.Файл который создает 8.1 такой
<?xml version="1.0" encoding="UTF-8" ?> <service namespace="http://www.w3.org/2001/XMLSchema" name="Test" connectString="File="D:\Мои документы\Работа\Веб-Сервис";" /> Как с этим работать. Тут только пространство имен, имя сервиса и строка с путем до базы..Ни нотации wsdl, ни каких то методов.. |
|||
|
3
Abbat
13.07.07
✎
13:01
|
А вот вопрос, что в 1С подразумевается под URI-пространством имен? Скажем у меня сервис лежит на http:\\localhost Это и будет его пространство имен?
|
|||
|
4
Abbat
13.07.07
✎
16:16
|
Сделал WS-ссылку, она запросила линк на сервис. Я его прописал. Но в итоге как я и предополагал, содержимого wsdl-test.1csw который я сделал и опубликовал, не оказалось.Соответственно к методам, обратиться не могу. Вот такая хрень. Что делать?
|
|||
|
5
Legj
13.07.07
✎
16:22
|
Рекомендую для начала взять и привести в работоспособность материалы с ИТС (Демонстрационная конфигурация Веб-сервисы 8.1) - очень компактно и доступно написано всё.
|
|||
|
6
Abbat
13.07.07
✎
16:31
|
Там все понятно относительно. Там она работает с wsdl файлом на сайте 1С, который как раз написан нормально, и через ссылку в 1csw он все методы то и получает. Мне же надо сделать сервис средствами 1С 8.1 так чтобы обращаться только к нему через SOAP и работать по человечески с его методами, он же генерит какую то хрень. Я посмотрел уже в на ИТС и в демонстрационной конфигурации и в инете все облазил. Инфы, где бы показыывалось как подрубиться к сервису и можно ли это вообще сделать, нет нигде.
Помогите плиз. |
|||
|
7
DK_L
13.07.07
✎
16:35
|
это мой *.wsdl который получается при открытии ссылки на вэб-сервис
<?xml version="1.0" encoding="UTF-8" ?> - <definitions xmlns:tns="http://serverfullname/ws/userdata" xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12bind="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://serverfullname/ws/userdata" xmlns="http://schemas.xmlsoap.org/wsdl/" name="ДанныеПользователи" targetNamespace="http://serverfullname/ws/userdata"> - <types> - <xsd:schema xmlns:xs1="http://serverfullname/ws/userdata" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://serverfullname/ws/userdata"> - <xsd:complexType name="СписокПользователей"> - <xsd:sequence> <xsd:element maxOccurs="unbounded" minOccurs="0" name="Состав" type="tns:ЭлементПользователь" /> <xsd:element name="Количество" type="xsd:int" /> </xsd:sequence> </xsd:complexType> - <xsd:complexType name="ЭлементДатаПоследнегоВхода"> - <xsd:sequence> <xsd:element name="Наименование" type="xsd:string" /> </xsd:sequence> </xsd:complexType> - <xsd:complexType name="ЭлементКомпьютер"> - <xsd:sequence> <xsd:element name="Наименование" type="xsd:string" /> </xsd:sequence> </xsd:complexType> - <xsd:complexType name="ЭлементПлощадка"> - <xsd:sequence> <xsd:element name="Наименование" type="xsd:string" /> </xsd:sequence> </xsd:complexType> - <xsd:complexType name="ЭлементПользователь"> - <xsd:sequence> <xsd:element name="ЦБО" type="tns:ЭлементЦБО" /> <xsd:element name="Площадка" type="tns:ЭлементПлощадка" /> <xsd:element name="Компьютер" type="tns:ЭлементКомпьютер" /> <xsd:element name="Программа" type="tns:ЭлементПрограмма" /> <xsd:element name="ДатаПоследнегоВхода" type="tns:ЭлементДатаПоследнегоВхода" /> <xsd:element name="Роль" type="tns:ЭлементРоль" /> <xsd:element name="Наименование" type="xsd:string" /> </xsd:sequence> </xsd:complexType> - <xsd:complexType name="ЭлементПрограмма"> - <xsd:sequence> <xsd:element name="Наименование" type="xsd:string" /> </xsd:sequence> </xsd:complexType> - <xsd:complexType name="ЭлементРоль"> - <xsd:sequence> <xsd:element name="Наименование" type="xsd:string" /> </xsd:sequence> </xsd:complexType> - <xsd:complexType name="ЭлементЦБО"> - <xsd:sequence> <xsd:element name="Наименование" type="xsd:string" /> </xsd:sequence> </xsd:complexType> - <xsd:element name="Получить"> - <xsd:complexType> - <xsd:sequence> <xsd:element name="ПостфиксПакетовXDTO" type="xsd:string" /> <xsd:element name="URL_ВэбСервиса_БезРасширения" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> - <xsd:element name="ПолучитьResponse"> - <xsd:complexType> - <xsd:sequence> <xsd:element name="return" nillable="true" type="tns:СписокПользователей" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </types> - <message name="ПолучитьRequestMessage"> <part name="parameters" element="tns:Получить" /> </message> - <message name="ПолучитьResponseMessage"> <part name="parameters" element="tns:ПолучитьResponse" /> </message> - <portType name="ДанныеПользователиPortType"> - <operation name="Получить"> <input message="tns:ПолучитьRequestMessage" /> <output message="tns:ПолучитьResponseMessage" /> </operation> </portType> - <binding name="ДанныеПользователиSoapBinding" type="tns:ДанныеПользователиPortType"> <soapbind:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> - <operation name="Получить"> <soapbind:operation style="document" /> - <input> <soapbind:body use="literal" /> </input> - <output> <soapbind:body use="literal" /> </output> </operation> </binding> - <binding name="ДанныеПользователиSoap12Binding" type="tns:ДанныеПользователиPortType"> <soap12bind:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> - <operation name="Получить"> <soap12bind:operation style="document" /> - <input> <soap12bind:body use="literal" /> </input> - <output> <soap12bind:body use="literal" /> </output> </operation> </binding> - <service name="ДанныеПользователи"> - <port name="ДанныеПользователиSoap" binding="tns:ДанныеПользователиSoapBinding"> - <documentation> <wsi:Claim xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" conformsTo="http://ws-i.org/profiles/basic/1.1" /> </documentation> <soapbind:address location="http://gudok.corp.intra/ws/userdata.1cws" /> </port> - <port name="ДанныеПользователиSoap12" binding="tns:ДанныеПользователиSoap12Binding"> <soap12bind:address location="http://serverfullname/ws/userdata.1cws" /> </port> </service> </definitions> |
|||
|
8
DK_L
13.07.07
✎
16:37
|
(6) (5) прочти внимательно и в этой конфе на закладке установка все есть + в конфе код посмотри
|
|||
|
9
DK_L
13.07.07
✎
16:42
|
+(8)устанавливаешь 2 конфы "Клиент" "Поставщик" демо, загружаешь справочник по вэб-сервисам 1С типовым, далее настраиваешь IIS так как указано на закладке "Установка" обработки-помощника, далее размещаешь вэб-сервис shipment у себя на сервере, хочешь на локалхосте, далее проводишь документ расходная накладная в конфе "Поставщик"
в модуле формы "Приходная накладная" у ИБ "Клиент" есть обработчик получения данных из конфы "Поставщик" |
|||
|
10
DK_L
13.07.07
✎
16:43
|
+(9)загружаешь справочник "Номенклатура" по вэб-сервисам 1С типовым
|
|||
|
11
DK_L
13.07.07
✎
16:47
|
соответсвенно перед размещением(публикацией ) вэб-сервиса нужно изменить конфы в части переопределения URI-пространства имен нашего вэб-сервиса, грубо говоря вэб-сервис - это механизм подключения к базе с заранее определенными методами получения из нее данных
|
|||
|
12
Legj
13.07.07
✎
17:01
|
(6) вы демо-конфу или не смотрели, или совсем подиагонали - там есть и пример ображения к веб-сервису (веб-ссылка), и пример веб-сервиса.
и при запуске в предприятии выскакивает мануал, где на апельсинах разжевано как сделать этот самый веб-сервис. |
|||
|
13
Abbat
13.07.07
✎
17:15
|
Простите за мое невеждество, расскажу как я делал.
1. Настроил Апачи, как говорилось, в инструкции типовой конфы. 2. Создал объект WEB-сервис, со следующими настройками: Имя: Test Операции: Sum c параметром param Функция Sum(param) param=param+666; return param; КонецФункции Подсистемы: не иземнял Прочее: URI пространства имен: Http:\\localhost Имя файла публикации: test.1cws 3. Иду в пункт Администрирование\Публикация веб-сервисов 4. Выбираю там путь: некий путь до серверной папки 6. Перечисленные внизу файлы описания веб-сервисов публикую. 7. Захожу в папку смотрю - есть они все ок. 8. Обращаюсь по адресу - http:\\localhost\test.1cws?wsdl и он выдает такую весч <?xml version="1.0" encoding="UTF-8" ?> <service namespace="Http:\\localhost" name="Test" connectString="File="D:\Мои документы\Работа\Веб-Сервис";" /> работать с ws+ссылками не предполагается, предполагаеться дальше делать интерфейс и юзать этот сервис. Но как его юзать если то что получается - не wsdl. Как получить такую красоту как у вас? Что я не так сделал или не доделал? |
|||
|
14
Legj
13.07.07
✎
17:19
|
(13) Версия Апач? У меня на 2.2 не взлетало, на 2.0 - без проблем.
Как обращаетесь к веб-сервису? Интерактивно через IE тоже самое получается? |
|||
|
15
ASV
13.07.07
✎
17:25
|
(13) апач не настроен
(14) для 2.2 другая длл |
|||
|
16
ASV
13.07.07
✎
17:26
|
||||
|
17
ASV
13.07.07
✎
17:28
|
(13) URI пространство не обязано совпадать с домен на котором находидся test.1cws, вот на регистр символов стоит обратить внимание
|
|||
|
18
Abbat
13.07.07
✎
17:38
|
Версия апача 2.0
Апач настроен. Обращаюсь просто по ссылке http://localhost/test.1cws?wsdl через IE. С веб сервисами я работал уже, знаю как, но в каждом из случаев я работал с уже нормальным wsdl а тут такого нету. Вопрос как раз в том, как в 1С 8.1 сделать правильно сервис этот долбаный, чтобы он соответствовал wsdl или он может делать только эти убогие 1cws не доделанные? |
|||
|
19
ASV
13.07.07
✎
17:42
|
(18) ладно, настроен некорректно :)
|
|||
|
20
ASV
13.07.07
✎
17:43
|
+19 читай (16) внизу ссылки и инструкцию
|
|||
|
21
Abbat
13.07.07
✎
17:45
|
как по инструкции написано, так и настроил. Патч этот 1Совский оповестил, что настройка завершена успешно.
|
|||
|
22
ASV
13.07.07
✎
17:47
|
(21) права на чтение на каталог bin и на запись на каталог базы
|
|||
|
23
ASV
13.07.07
✎
17:48
|
(21) патч не проверяет корректность установки
|
|||
|
24
Abbat
13.07.07
✎
17:55
|
Господи, ну почему эта 1С все делает так неудобно и при таком минимуме справочной информации
|
|||
|
25
Abbat
13.07.07
✎
18:57
|
ASV можно тебе будет в аську вопросы задавать если что?
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |