Имя: Пароль:
1C
1С v8
Сервер 1с x64 + MSSoap
0 Nexux
 
06.02.12
03:20
есть север 1С 8.2.15.294 х64 на windows 2008 r2 ent на сервере установлен помимо прочего soap toolkit 3, есть желание получать данные с некоего веб-сервиса через com-объект MSSOAP.SoapClient30. В 32х разрядных приложениях с этим объектом нет проблем, для работы на сервере х64 "C:\Program Files (x86)\Common Files\MSSoap\Binaries\MSSOAP30.dll" была добавлена в компоненты com+ (выглядит вот так: http://clck.ru/ZmqR ) Т.к. есть по аналогии компоненты, работающие вполне нормально в продакшене, думал что тут не будет проблем :) Вопрос в том, что при выполнении кода

Новый COMОбъект("MSSOAP.SoapClient30")

в контексте сервера отрабатывает без ошибки, но в свойстве Detail присутсвутет текст ошибки "An unanticipated error occurred during the processing of this request. HRESULT=0x80040154: Class not registered
". Собственно вопрос, может кто-то сталкивался, как можно вылечить или есть аналоги MSSOAP30.dll.
1 Марсель
 
06.02.12
03:42
(0) Аналоги - встроенный механизм веб-сервисов 1С (WS-ссылка)
2 skunk
 
06.02.12
07:13
а поддержку пула 32-х бтных приложений на исе включил?
3 Nexux
 
06.02.12
08:28
(1) не подходит, т.к. импорт ws-ссылки проиходит с ошибкой, повлиять на нее со стороны поставщика сервиса врядли получиться, т.к. это внешний контрагент.
(2) на сервере вообще остановлен IIS, для отладки до этого она была включена, поробывал запустить, но не помогло
4 skunk
 
06.02.12
08:34
а права у того под кем запускаешь клиента есть доступ к данным объектам?
5 Nexux
 
06.02.12
08:46
под встроенной учеткой админа пробую, сервер 1с и компоненты тоже от ее имени запускаются
6 aleks-id
 
06.02.12
08:48
7 Nexux
 
06.02.12
08:57
(6)так и делал, кроме пункта, где вы выбираете зарегистированный компонент из списка, у меня он не добавлялся отдельно, я поэтому указал файл MSSOAP30.dll
8 aleks-id
 
06.02.12
09:38
(7) что то ты не так сделал. у меня все работает
http://i008.radikal.ru/1202/12/eceab8373758.png
9 Nexux
 
06.02.12
10:42
(8)спасибо, буду разбираться, а вы работаете в 8ке с этим объектом тоже через скрипт?
10 aleks-id
 
06.02.12
11:35
(9) я работаю из 8-ки так:
Функция ВыгрузитьНоменклатуруДляWMS()
   АдресВебСервиса = "http://ххх.ххх.ххх.ххх:уууу/Get_Service.asmx?WSDL";
   КомОбъектWS = Новый COMОбъект("MSSoap.SoapClient30");
   КомОбъектWS.MSSoapInit(АдресВебСервиса, "Get_Service", "Get_ServiceSoap");
   ВыгружаемыйТовар = Объект.Номенклатура;
   СчетчикТранзакций = Константы.НомерТранзакцииWMS.Получить();
   Резалт = КомОбъектWS.write_ma(СокрЛП(СчетчикТранзакций),
                       "0005",                //Мандант
                       "",                                 //Завод
                       СокрЛП(ВыгружаемыйТовар.Код),       //Внутренний идентификатор
                       "",                                 //Штрих-код
                       СокрЛП(ВыгружаемыйТовар.Артикул)+"/"+СокрЛП(ВыгружаемыйТовар.НаименованиеПолное),//Наименование
                       "GRP1",                             //Товарная группа
                       "",                                 //Длина товара
                       "",                                 //Ширина товара
                       "",                                 //Высота товара
                       "",                                 //Вес товара
                       "",                                 //Объем товара
                       "EU_DM",                            //Тип ТЕ
                       "",                                 //Признак типа товара = ТЕ
                       ""                                  //Макс. количество на ТЕ
                       );
   Константы.НомерТранзакцииWMS.Установить(СчетчикТранзакций + 1);

   Возврат Резалт
КонецФункции
11 rs_trade
 
06.02.12
11:38
(10) обмен с сапом. не иначе.
12 aleks-id
 
06.02.12
11:39
(11) c WMS PSI
13 aleks-id
 
06.02.12
11:41
+(12) причем штатный одинцовый метод с ней не работает
14 skunk
 
06.02.12
11:44
(13)штатный одинцовый метод не работает и с сапой
15 aleks-id
 
06.02.12
11:47
(14) да не только с цапой. он еще и по https не умеет если на той стороне кривой сертификат
16 Nexux
 
06.02.12
13:33
(8)получилось, как оказалось оснастка не обновлялась автоматически :) Для MSScriptControl и MSSOAP отключил "enforce access checks for this application" и добавил в настройки безопасности IE "Initialize and script ActiveX controls marked as safe for scripting" - enable, т.к. мне нужно устанавливать свойства в ConnectorProperty через VBS. Спасибо всем за помощь.