Имя: Пароль:
1C
1С v8
WS-service. В SoapUI свободно получаю возвращаемое значение. Как выполнить такое действие в 1С ?
0 aka AMIGO
 
03.08.17
09:06
В SoapUI достаточно нажать зеленый треугольник - и вижу, то, что мне нужно: WS-сервис возвращает то, что предусмотрено.

При наведении курсора на треугольник появляется подсказка:

https://i.paste.pics/dbb31f9fe6c8edd50a9ce4d53db123b2.png

submit request to specified endpoint URI - "подать заявку в заданную конечную точку" - (вольный перевод)

В 1С я создаю прокси, добираюсь (через точки) до endpоint, но WS-сервис не возвращает мне ничего

А ведь должно быть что-то общее между действиями в SoapUI и 1с..
Что? Или "как"?
Руководство с нужным параграфом - перед глазами, но не помогает найти ответ..
1 Mankubus
 
03.08.17
09:15
(0) Без кода сложно что-то подсказать.
Что значит "добираюсь до endpоint"?
Нужно создать ws прокси и вызвать определенный метод веб-сервиса. На картинке не видно что там за метод
3 aka AMIGO
 
03.08.17
09:35
(1) привожу кусок кода:
    FileName_wsdl ="http://1.1.1.1/shef/ws/getcart?wsdl";
    DefnT = New WSDefinitions(FileName_wsdl);
    WSSrv = DefnT.Services[0];
    ////********
    //For Each Oper in WSSrv.Endpoints[0].Interface.Operations do
    //    Nm= Oper.name;
    //Enddo;
    
    //********
    Proxy = WSReferences.WSReference2.CreateWSProxy("http://www....ru/..", WSSrv.Name, WSSrv.Endpoints[0].Name);
    Dann = Proxy.Endpoint;

В отладчике вижу:
https://i.paste.pics/181adea434ec1c49a03963dce4786cc5.png[?]

ни одно значение из таблицы не дает нужного мне..
4 aka AMIGO
 
03.08.17
09:38
+2 скопипастил с ошибкой
FileName_wsdl ="http://1.1.1.1/shef/ws/getcart?wsdl;
5 nasik90
 
03.08.17
09:45
Покажи как в Soap UI вызываешь веб-сервис, чтобы было видно что на входе, какой метод вызываешь и выходные данные.
6 aka AMIGO
 
03.08.17
10:01
Ну, в общем - как обычно:
Новый проект, в него ввожу ws-ссылку, в левом окне появляется этот проект, жмакаю на последнем реквизите Request 1, появляется окно, в нём нажимаю на зеленую кнопку, в правом полуокне вижу результат

https://i.paste.pics/33380bea576c2b24486737565a4ffdf2.png
7 nasik90
 
03.08.17
10:07
(6) Если я все правильно понял, то вместо

Dann = Proxy.Endpoint;

нужно написать:

Dann = Proxy.getcart();

т.е. нужно вызвать метод веб-сервиса, который и вернет данные.
8 Вафель
 
03.08.17
10:07
(3) Это точно код на 1с?
9 aka AMIGO
 
03.08.17
10:09
(7) Спасибо, пробую..
(8) точно, это 1С, но только всё на ENG.
10 Cyberhawk
 
03.08.17
10:12
По поводу кода из 3 - создавай ВСПрокси из ВСОпределений
11 aka AMIGO
 
03.08.17
10:16
(10) Хорошо, сейчас переделаю..
12 aka AMIGO
 
03.08.17
10:26
+11 Правда, у меня статическая ссылка.. Как-то так описано в руководстве
13 Cyberhawk
 
03.08.17
21:16
Получилось?
2 + 2 = 3.9999999999999999999999999999999...