Имя: Пароль:
1C
1С v8
SOAP и 1С
0 Валидатор
 
03.12.12
16:50
Встал такой вопрос: нужно через 1ску подключится к сайту, на сайте в коде есть функция, getCatalog например, она принимает массив, вот я хочу в этот гет каталог передать массив из 1ски( заранее созданный). Думаю делать ввиде обработки, по другому ни как) вот в чем вопрос собсна: как подключиться к сайту, чтобы потом передавать в него нужные мне данные? wsdl файл есть
1 бомболюк
 
03.12.12
16:51
Создаешь WS ссылка. Потом создаешь WS Proxy и вперед.
2 Валидатор
 
03.12.12
17:03
WSlink = Новый WSОпределения("ссылка на wsdlфайл");
Прокси = Новый WSПрокси (Wslink, настройки , прокси);
что нить аткое?
3 Валидатор
 
03.12.12
17:35
точнее получил вс ссылку, создал прокси,а что дальше?
4 Asmody
 
03.12.12
17:39
(3) дальше через ws-прокси можешь вызывать методы веб-сервиса. только прихвати бубен (а лучше два) и запасись вазелином и новопасситом.
5 Валидатор
 
03.12.12
17:42
(4) допустим метод называется getStart, и если я подключаюсь через прокси, то вызывать я его буду примерно след образом:
Прокси.getStart ?
6 Asmody
 
03.12.12
17:45
7 Адимр
 
03.12.12
17:53
Я так вызывал Прокси.getStart("1");
8 Адимр
 
03.12.12
17:55
Статья в тему http://infostart.ru/public/16001/
9 Валидатор
 
04.12.12
10:49
при создании WS ссылки пишет неверный формат(
10 Адимр
 
04.12.12
10:56
(9) Значит там soap 1c не совместимый.
11 Валидатор
 
04.12.12
10:59
(10) там ссылка в виде http://ssv.ru/main.wsdl к примеру, полазил в инете, ws ссылки пишут обычно так: http://demo.magentocommerce.com/api/soap?wsdl, может из за того, что мне дали ссылку ( в первой строке которая) поэтому ругается?
12 Адимр
 
04.12.12
11:14
При открытии сссылки у тебя дожна страничка с стрктурой xml открыться а тут лажа какая то.
13 Валидатор
 
04.12.12
11:20
(12) http://www.sever-parts.ru/main2.wsdl, все открывается, но 1ска ругается
14 Адимр
 
04.12.12
11:28
а что пишет? У меня Couldn't connect to server но это потомучто прокси.
15 Валидатор
 
04.12.12
11:34
(14) там ссылка не та, попросил переделать, параллельно возникает вопрос, если я создаю WS ссылку в дереве объектов конфигурации, потом выбираю ее, открывается модель данных и веб сервисы, выбираю нужный мне, потом ищу нужный мне метод, а как потом в этот метод передать например массив?
16 Валидатор
 
04.12.12
11:36
или чтобы передавать данные нужно создавать новую обработку, в которой программно создавать ws ссылку, прокси, фабрику, и потом передавать значения?
17 Валидатор
 
04.12.12
11:40
все, вопросов пока нет, нашел где прочитать)
18 Адимр
 
04.12.12
11:41
Почитай вот эту статью не торопясь и вдумчиво
http://infostart.ru/public/98019/
19 Валидатор
 
04.12.12
11:48
http://ws.sever-parts.ru/soap?wsdl
все равно неверный формат пишет( че за бред(
20 Адимр
 
04.12.12
11:52
Заголовок отличается может это существенно

вот у 1с веб сервера заголовок

 <?xml version="1.0" encoding="UTF-8" ?>
- <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12bind="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="TestWS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="TestWS" name="TestWS" targetNamespace="TestWS">
- <types>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs1="TestWS" targetNamespace="TestWS" elementFormDefault="qualified">
- <xs:element name="Получить">
21 Адимр
 
04.12.12
11:56
*веб сервиса

Вот еще тема кеширование отключить нужно может в этом проблема? v8: SOAP PHP 1c 8.2
22 Валидатор
 
04.12.12
11:59
(21) кэширование wdsl отключается со стороны php ведь? в 1с мы его ен можем отключить так?
23 Адимр
 
04.12.12
12:02
(22) Судя по сообщениям в (21) так.
24 Адимр
 
04.12.12
12:04
(22) Но все таки посмотри в сторону заголовка что он не такой как у веб сервиса 1с.

Есть еще утилита SOAP UI для тестирования веб сервисов попробуй с помощью неё подрубится к веб сервису.
25 Валидатор
 
04.12.12
12:05
(24) а откуда ты брал кусок этого заголовка? это стандартный просто или как?
26 Адимр
 
04.12.12
12:09
(25) Это мой тестовый веб сервис созданный в 1С.
27 Адимр
 
04.12.12
12:17
Даже вот посмотри как распознается твой веб сервис (вверху) и мой (внизу) в браузере гугл хром.

http://www.bild.me/bild.php?file=11461991.png
28 Адимр
 
04.12.12
12:18
Явно в проблема в том что у твоего веб сервиса структура некорректная.
29 Валидатор
 
04.12.12
12:27
взял другой файл, допустим курс цб:
http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL
видел сегодня пример на загрузку данных с этого файла, но не могу найти) никто не видел такого?)
30 Адимр
 
04.12.12
12:33
31 Валидатор
 
04.12.12
12:34
(30 спасибо. И еще вопрос: существенно ли отличается скорость при передачи данных С сайта( как в примере выше, с получением курса валют) и передача данных НА сайт, то есть из 1ски мы к примеру передаем данные?
32 Адимр
 
04.12.12
12:37
(31) Не тестил, думаю вряд ли сильно отличается.
33 Валидатор
 
04.12.12
12:51
есть ли в 1с стандартные методы для расчета времени работы программы? не охото писать в начале обработки типа сообщить(дата и время) и в конце
34 Валидатор
 
04.12.12
12:54
ТекущаяДата()
можно в принципе)
35 Адимр
 
04.12.12
12:57
Думаю что если в документообороте используется внешняя компонента для этой цели "ОбщийМакет.ОценкаПроизводительностиВнешнийКомпонент" но там точность важна типа меннее секунды, то кроме текущее время ничего нет.

Попробуй
старт = текущеевремя();

финиш = текущеевремя();

Рез = финиш-старт;

для длит операций пойдет.
36 Адимр
 
04.12.12
13:11
*ТекущаяДата()
37 Валидатор
 
04.12.12
14:06
и еще вопрос:
в http://habrahabr.ru/post/148658/

Для Каждого Элемент Из КурсыВалют.GetCursOnDateResult.diffgram.ValuteData.ValuteCursOnDate Цикл
вот что тут такое
GetCursOnDateResult.diffgram.ValuteData.ValuteCursOnDate
ну точнее даже с момента: diffgram.ValuteData.ValuteCursOnDate не совсем понятно, как туда мы обратились
38 Валидатор
 
04.12.12
14:11
откуда мы взяли этот diffgram.Valutedata.ValuteCursOndate
39 Адимр
 
04.12.12
14:19
(38) наверное КурсыВалют = Прокси.GetCursOnDate(WSПараметр);

Возвращает xdto пакет с кучей своих объектов и значений к которым можно через точку обращаться.

Попробуй в 1с в xdto пакет засосать xml схему (если она есть) этого веб сервиса.
40 Валидатор
 
04.12.12
15:02
(39) то что возвращается пакет это я понял теперь) как только дальше через точку обращаться к значениям переданного пакета? не совсем понятно
Попробуй в 1с в xdto пакет засосать xml схему (если она есть) этого веб сервиса. (с) как?)
41 Валидатор
 
04.12.12
15:27
снят вопрос