Имя: Пароль:
1C
 
v8: Передача неявного параметра в COMОбъект
0 sash-ml
 
14.07.10
14:36
Есть код на VB

Set Connector = CreateObject("MSSOAP.HttpConnector")
Connector.Property(""EndPointURL"") = "http://schemas.xmlsoap.org/soap/encoding/"

В 1Ске  первую строку пишу как:
Connector = Новый COMОбъект("MSSOAP.HttpConnector");
1 sash-ml
 
14.07.10
14:36
как написать вторую сторку на 1С
2 Mitriy
 
14.07.10
14:44
Connector.Property(""EndPointURL"") = "http://schemas.xmlsoap.org/soap/encoding/";

??
3 Mitriy
 
14.07.10
14:44
(2)* только без двойных кавычек...
4 sash-ml
 
14.07.10
14:47
(2) да опечатка в(0), но вопрос остается открытым как на 1Ске написать подобную конструкцию:

Connector.Property("EndPointURL") = "http://schemas.xmlsoap.org/soap/encoding/";
5 Ненавижу 1С
 
гуру
14.07.10
14:48
круглые скобки сменить на квадратные, написали же
6 Defender aka LINN
 
14.07.10
14:49
А разве Connector.EndPointURL = ... не прокатит?
7 sash-ml
 
14.07.10
15:01
(5) не катит
(6) не катит
8 sash-ml
 
14.07.10
15:39
все еще ищу ответ на (4) с учетом (7)
10 sash-ml
 
14.07.10
15:57
(9) я пробовал по всякому но ответа пока не нашел.
MSSOAP.HttpConnector встроенная в любую винду до ХР так что можете у себя попробовать.
проблема в том что обратиться к Property как к функции можно, а к Property как свойству непонятно
11 Mitriy
 
14.07.10
16:17
(10) у меня win7...
12 Kreont
 
14.07.10
16:20
(10) Передавать структурой пробовал?
13 sash-ml
 
14.07.10
16:28
(11) у тебя должен быть MSSOAP.HttpConnector30  или  MSOSOAP.HttpConnector30 (поищи в реестре HttpConnector)
(12) не пробовал а что именно ты имеешь ввиду
14 sash-ml
 
14.07.10
16:32
Я сейчас работаю следующим образом

Script= Новый COMОбъект("MSScriptControl.ScriptControl");
Текст ="Function  Main1
|Set Connector = CreateObject(""MSSOAP.HttpConnector"")
|Connector.Property(""EndPointURL"") = END_POINT_URL
|Connector.Connect
|Connector.Property(""SoapAction"") = SOAP_ACTION
|End Function ";
Script.Language="vbscript";
Script.AddCode(Текст);
Script.run("Main1");

но ка вы понимете это не элегантно
15 IceSer1
 
14.07.10
16:34
(14) работает? значит не трогай )
16 sash-ml
 
14.07.10
16:41
(15) работает. однако мне нужно предавать параметры из 1С напрямую некоторые методы объектов, например xmlЧтение

Serializer = Новый COMОбъект("MSOSOAPLib30.SoapSerializer30");
Serializer.StartElement ("payments_list");
   Serializer.SoapAttribute ("xsi:type", , "xsd:string");
   Serializer.WriteString (xmlЧтение);
Serializer.EndElement();

а всякие конструкции типа

|Serializer.SoapAttribute (""xsi:type"", "+ ТекстСриптаДополнительный13 +", ""xsd:string"")

использовать совсем не хочется
17 Kreont
 
14.07.10
16:56
+(12)Точнее через соответствие попробуй
Сотв = Новый Соответствие();
Сотв.Вставить("EndPointURL", "http://schemas.xmlsoap.org/soap/encoding/");

А дальше:
Connector.Property(Сотв);
или
Connector.Property = Сотв;

а вдруг пойдет :)
18 sash-ml
 
14.07.10
17:01
(17) спасибо за идею, нифига не вышло
Ошибка при установке значения атрибута контекста (Property): Неверное число параметров
Connector.Property = Сотв;
по причине:
Неверное число параметров


Ошибка при вызове метода контекста (Property): Типы не совпадают (0)
Connector.Property(Сотв);
по причине:
Типы не совпадают (0)
19 sash-ml
 
14.07.10
17:05
Эпопея началась с того что объек WSСсылка не обладает нужными методами для работы с SOAP заголовками
v8: WEB сервисы: Ошибка разбора SOAP сообщения
20 skunk
 
14.07.10
17:07
(19)у меня другая трабла была ... поэтому забил и все фигачил на vba ... к 1С цепляесь по оле
21 DmitrO
 
14.07.10
17:11
Connector.Property("EndPointURL", "http://schemas.xmlsoap.org/soap/encoding/");
22 Dolter
 
14.07.10
17:17
setProperty( name, value) - Sets the value of the property
23 turtle
 
14.07.10
17:27
Попробуй:

Connector.Property("EndPointURL").Value = "http://schemas.xmlsoap.org/soap/encoding/";
24 sash-ml
 
14.07.10
18:16
(23) не работает
(21) не работает
(20) как видиш в (14) я почти так и делаю все прекрасно рабоает

Вопрос принципиальный: В 1С-ке сабж возможен или нет?
25 sash-ml
 
14.07.10
18:17
(22) Андрюха привет, как жизнь? (твой вариант тоже не работает)
26 Dolter
 
14.07.10
18:34
(25) Привет, отлично
это метод выдранный непосредственно из длл-ки... покопай по нету методы установки пропертей - там были свои заморочки во многих мс-овских объектах
27 Kreont
 
14.07.10
18:49
(17)+(22)=
Connector.setProperty(Соотв);
28 sash-ml
 
14.07.10
19:04
(27) не работает
На С++ это выглядело бы так

Connector->Property ["EndPointURL"] = "some url pointing to web service";

Все, надоело. Допиливаю через "VBScript"
Может найду другую ДДЛ для работы с SOAP. Но это будет не скоро.
29 hhhh
 
14.07.10
19:16
(28) по логике так надо

Connector.Property("EndPointURL","http://schemas.xmlsoap.org/soap/encoding/");
30 skunk
 
15.07.10
06:04
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший