![]() |
|
Внешняя компонента и Web-сервис | ☑ | ||
---|---|---|---|---|
0
lvi15
04.03.09
✎
18:43
|
Создал внешнюю компоненту на Vb.Net (как здесь изложено) и встраиваю в нее ссылку на Web-сервис. При построении dll идет длинное
предупреждение: Предупреждение 2 Предупреждение программы экспорта библиотек типов при обработке "Conn1c.wsConnect.wsConnectSoapClient, Conn1c". Предупреждение: Программа экспорта библиотек типов обнаружила тип, производный от базового класса и не помеченный как [ClassInterface(ClassInterfaceType.None)]. Интерфейсы классов не могут быть предоставлены для таких типов. Возможно, следует пометить этот тип как [ClassInterface(ClassInterfaceType.None)] и предоставить явный интерфейс для COM как интерфейс по умолчанию с помощью атрибута ComDefaultInterface А затем при попытке обратиться к Web-службе из запущенной ВК идет такое сообщение: Не удалось найти стандартный элемент конечной точки, ссылающийся на контракт "wsConnect.wsConnectSoap" в разделе конфигурации клиента ServiceModel. Это может быть вызвано тем, что для приложения не найден файл конфигурации или в элементе клиента не найден элемент конечной точки, соответствующий данному контракту То есть вся байда в каких-то интерфейсах ну и как и где их переопределять??? |
|||
1
ТелепатБот
гуру
04.03.09
✎
18:43
|
||||
2
lvi15
04.03.09
✎
18:59
|
или хотя бы в каком направлении копать? То есть надо как то переопределять или доопределять эти интерфейсы а как это делать??
|
|||
3
lvi15
05.03.09
✎
08:56
|
~
|
|||
4
lvi15
05.03.09
✎
11:54
|
~
|
|||
5
lvi15
10.03.09
✎
16:37
|
~
|
|||
6
lvi15
12.03.09
✎
17:33
|
Увы, здесь так и не разобрался.
Прицепил ВК сделанную под VB.Net r 1c. К ВК прицепил/добавил web-службу В ВК обращаюсь к самому примитивному web-сервису (типа HelloWorld) .... Sub CallAsFunс... 'Здесь внешняя компонента выполняет код функций. Try pvarRetValue = 0 'Возвращаемое значение метода для 1С Select Case lMethodNum 'Порядковый номер метода Case Methods.methGetListOrganization Dim wsSl As wsConnect.wsConnectSoapClient wsSl = New wsConnect.wsConnectSoapClient()... и здесь идет вышеприв.сообщение И что-только не делал - просто из любой сборки Net все идет на "ура" а здесь хоть тресни. Cделал еще одну внешнюю dll и перенес обращение туда, думал обману, ага, как же - все то же самое ну и т.д. Такое ощущение что 1с накладывает какие-то дополнительные ограничения в ВК именно на web-сервисы. Причем просто обратиться к БД работает без проблем... |
|||
7
Torquader
12.03.09
✎
17:41
|
Возможно, что 1С использует встроенный Web-сервис, который каким-то образом конфликтует с добавленным в обработку, и получается две ссылки на один и тот же объект.
Другая причина может быть в том, что при добавлении Web-сервиса в проект добавляются файлы заголовков и описаний, ну и происходит простое совпадение имён. Также надо понимать, что при изменении компоненты нужно её перерегистрировать в реестре. |
|||
8
lvi15
13.03.09
✎
18:00
|
Все - разобрался, радовался как свое дите которому чуть меньше 2...
Для того чтобы ВК "собранная" в Net работала с веб сервисом, он ОБЯЗАТЕЛЬНО должен подключаться к сборке как <веб-ссылка>, а не как <ссылка на службу> иначе пипец. А грабля в том, что пункт меню <Добавить ссылку на веб-службу> может быть закрыт, но, как уже ясно, - это совсем другая история... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |