Имя: Пароль:
1C
1С v8
Логирование на WinHttp.WinHttpRequest.5.1
0 Otvertka352
 
26.06.15
19:28
Всем добрый вечер.

Интеграция SAP + 1С, стандартный ws 1C-ки не хочет кушать wsdl от SAP по причине наличия в нем wsp:Policy.

Решил попробовать через WinHttp.WinHttpRequest.5.1, но застопорился на том что не могу понять как при обращении к веб сервису передать логин и пароль(пользователя SAP). В интернете искал, но везде описывается логирование на прокси или на самом веб сервере. Но прокси нет и на веб сервере у саперов анонимная аутентификация.

Заранее благодарен.
1 Serginio1
 
26.06.15
19:53
2 Otvertka352
 
26.06.15
20:34
Я правильно понял что здесь используется следующий вариант:
пишем на C# обработку веб сервиса, сохраняем это как dll, а после при помощи NetObjectToIDispatch используем эту dll?
3 2mugik
 
26.06.15
20:40
(0)Как определил что именно из-за wsp:Policy? вырезаешь его из ВСДЛ и тогда кушает?
4 Otvertka352
 
26.06.15
20:45
При создании ws-ссылки выдает неверный формат.
Начал копать причины, столкнулся с тем что 1С не переваривает wsdl-ки с WS-SecurityPolicy и WS-Policy.
5 Otvertka352
 
26.06.15
20:46
Забыл добавить, а в саперской wsdl так и пестрит WSP.
6 Serginio1
 
26.06.15
20:48
Да. Причем обычно у поставщика уже есть примеры использования
7 Otvertka352
 
26.06.15
20:52
NetObjectToIDispatch откуда его достать?
8 Serginio1
 
26.06.15
20:59
9 Otvertka352
 
26.06.15
21:17
Спасибо буду пробовать на выходных.

Но если кто то знает ответ на мой вопрос, то с радостью выслушаю ответ :)
А то в будущем еще ГОСТовые сертификаты нужно будет юзать.
10 Serginio1
 
26.06.15
21:47
11 Serginio1
 
26.06.15
21:49
12 Otvertka352
 
26.06.15
21:57
Спасибо, будем изучать C#
Если что то выйдет путное, результат выложу здесь.
13 Serginio1
 
26.06.15
22:37
(12) Обычно у поставщика есть примеры. Обычно все описывается в конфигурационных файлах. В разработке есть примеры использования конфигурационных файлов
14 Serginio1
 
26.06.15
22:41
Вот здесь человек с нуля осилил API IE из 1с 7.7
15 Otvertka352
 
30.06.15
13:20
не получается зарегистрировать NetObjetToIDispatch45.dll

[Window Title]
RegSvr32

[Content]
Модуль "C:\Program Files\1cv8\8.3.5.1460\bin\NetObjetToIDispatch45.dll" загружен, но точка входа DllRegisterServer не найдена.

Проверьте, что "C:\Program Files\1cv8\8.3.5.1460\bin\NetObjetToIDispatch45.dll" является правильным файлом DLL или OCX и повторите попытку.

[ОК]

Что я делаю не так?
16 Otvertka352
 
30.06.15
13:59
Добавить ее как компоненту тоже не получается, выдает ошибку.
17 Otvertka352
 
30.06.15
14:27
Текст ошибки при добавлении компоненты
---------------------------
Catalog Error
---------------------------
An error occurred while processing the last operation.

Error code 80004003 - Invalid pointer



The event log may contain additional troubleshooting information.
---------------------------
OK  
---------------------------
18 MM
 
30.06.15
14:53
(15) А там разве не через regasm.exe /codebase нужно регистрировать?
+ там есть программа которая это делает
19 Serginio1
 
30.06.15
15:12
(16) Это не компонента. Ты бы почитал NetObjectToIDispatch.docx там все описано.
Регистрируй через РегистрацияКомСервера.exe
20 Otvertka352
 
30.06.15
15:22
Благодарю, dll зарегистрировал. Файл читал, но я бы этот кусок вверх поднял, он как то теряется в тексте.

Ушел дальше проводить эксперименты.
21 Otvertka352
 
30.06.15
15:41
Падает на открытии сборки

{Форма.Форма.Форма(19)}: Ошибка при вызове метода контекста (загрузитьСборку)
    Сборка=врап.загрузитьСборку(ИмяФайлаСборки);
по причине:
Произошла исключительная ситуация (mscorlib): Невозможно загрузить файл или сборку "file:///C:\ФайлыNetObjectToIDispatch\СборкиДляТестов\NestNet45.dll" или один из зависимых от них компонентов. Операция не поддерживается. (Исключение из HRESULT: 0x80131515)
22 Serginio1
 
30.06.15
15:43
А она есть по этому пути?
23 Otvertka352
 
30.06.15
15:47
Ну да, я ее выбираю в тестовой обработке.
24 Otvertka352
 
30.06.15
15:49
Может криво dll встала? хотя COM объект создается.
25 Serginio1
 
30.06.15
15:51
Да вроде не та DLL
То что в исходниках
ФайлыNetObjectToIDispatch\NestNet45\NestNet45\bin\Debug\NestNet45.dll

работает. Сейчас подправлю
26 Serginio1
 
30.06.15
16:03
Кстати
Клиент=врап.СоздатьКлиентаWCFConfigFile(ConfigFile,TChannel,endpointConfigurationName,endpointAddress);
можно еще добавить пользователя и пароль
public object СоздатьКлиентаWCFConfigFile(string ИмяФайла, object TChannel, string endpointConfigurationName, object endpointAddress=null,string UserName=null, string Password=null)
27 Otvertka352
 
30.06.15
16:11
1c 7.7 и ASP.NET

Видать проблема у меня такая же как в этой ветке.

Не может прочитать сборки.
28 Otvertka352
 
30.06.15
16:33
Так по порядку:
Запускаю РегистрацияКомСервера.exe
Выбираю файл C:\ФайлыNetObjectToIDispatch\DLLNetObjetToIDispatch45\NetObjetToIDispatch45.dll

Получаю строку: C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe "C:\Users\a.ashihmin\Desktop\ФайлыNetObjectToIDispatch\DLLNetObjetToIDispatch45\NetObjetToIDispatch45.dll" /codebase


C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe "C:\Users\a.ashihmin\Desktop\ФайлыNetObjectToIDispatch\DLLNetObjetToIDispatch45\NetObjetToIDispatch45.dll" /codebase
29 Otvertka352
 
30.06.15
16:35
Вот что возвращает cmd

Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\Windows\system32>C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe "C:
\Users\a.ashihmin\Desktop\ФайлыNetObjectToIDispatch\DLLNetObjetToIDispatch45\Net
ObjetToIDispatch45.dll" /codebase
Microsoft (R) .NET Framework Assembly Registration Utility, версия 4.0.30319.184
08
(C) Корпорация Майкрософт, 1998-2004. Все права защищены.

RegAsm : warning RA0000 : Регистрация неподписанной сборки с использованием пара
метра /codebase может вызвать конфликт данной сборки с другими приложениями, кот
орые могут быть установлены на том же компьютере. Параметр /codebase предназначе
н только для подписанных сборок. Присвойте сборке строгое имя и повторите регист
рацию.
Типы зарегистрированы успешно

C:\Windows\system32>
30 Serginio1
 
30.06.15
17:06
Она зарегистрирована. Иначе бы ты получал ошибку на врап=новый COMОбъект("NetObjectToIDispatch45");
31 Serginio1
 
30.06.15
17:06
D 27 Нужно было запускать от администратора.
Посмотри путь в 25
32 Serginio1
 
30.06.15
17:11
Тьфу сборки лежат по СборкиДляТестов\
Самому уже впору NetObjectToIDispatch.docx
читать
33 Otvertka352
 
30.06.15
17:12
cmd запускал из под админа
пробовал и ту, не сработала.
изначально запускал C:\ФайлыNetObjectToIDispatch\СборкиДляТестов\NestNet45.dll

Сейчас попробую обновиться до последней .NET
34 Otvertka352
 
30.06.15
17:13
по сути у меня падает на попытки отрыть любую сборку.
35 Serginio1
 
30.06.15
17:13
Для  тестов вэб сервисов (кнопки  «Тест вызова сервиса» и «Вызов сервиса используя config file») нужно выбрать Сборку ФайлыNetObjectToIDispatch\СборкиДляТестов\ NestNet45.dll
36 Otvertka352
 
30.06.15
17:15
ну я же говорю C:\ФайлыNetObjectToIDispatch\СборкиДляТестов\NestNet45.dll что ее изначально пытался открыть.
37 Otvertka352
 
30.06.15
17:15
жду пока когда винда обновится.
38 Serginio1
 
30.06.15
17:16
Прошу прощения. Уже голова плохо работает. Обновись до последней версии Net. У тебя какая ОСь
39 Otvertka352
 
30.06.15
17:18
W7 32 и W2008R2 64
40 Serginio1
 
30.06.15
17:19
Должно все работать. Может давно не обновлялись?
41 Otvertka352
 
30.06.15
17:20
ну W7 60 обновлений нашла :)
42 Serginio1
 
30.06.15
17:22
Если что тебе вот это надо https://www.microsoft.com/ru-ru/download/details.aspx?id=42642
43 Serginio1
 
30.06.15
17:28
44 Otvertka352
 
30.06.15
21:12
Обновление не помогло, но последняя твоя ссылка помогла.
то есть разблокировать можно сборку провалившись в контекстное меню на на ней, перейти в свойства и на общей вкладке внизу есть кнопка разблокировать. Но это не все, в доступе надо дать ей права иначе так же не будет работать.
45 Serginio1
 
30.06.15
22:02
В первый раз с таким сталкиваюсь
46 Serginio1
 
30.06.15
22:05
Обычно такие ошибки по сетевому пути
47 Serginio1
 
30.06.15
22:22
http://forum.lers.ru/viewtopic.php?t=699
Это особенность .Net Framework 4.0 - не загружать файлы, которые помечены как "потенциально небезопасные". Пометкой файлов занимается Internet Explorer при загрузке файлов из сети Интернет (это работает только на файловой системе NTFS, на которой у загруженного файла альтернативный поток с именем Zone.Identifier и указанием идентификатора зоны, откуда был загружен файл).

При распаковке файла из .zip-архива средствами Windows, к распакованным файлам также дописывается альтернативный поток Zone.Identifier. При открытии свойств такого файла, проводник Windows отображает кнопку "Разблокировать", которая позволяет удалить альтернативный поток (см. скриншот):