Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 CLR и WSE 3.0  [new]
Дмитрий_N
Member

Откуда: Москва
Сообщений: 155
Добрый день!

Возникла необходимость обращаться к сторонней веб-службе с использованием WSE 3.0. По полученному wsdl с помощью WseWsdl3.exe создал прокси-класс. К существующему веб-сайту добавил настройки WSE 3.0. В общем все работает нормально. Теперь нужно отправлять запросы по расписанию с SQL-сервера. В VS2005 создал SQL-серверный проект, настроил WSE, перенес ранее работающий код. Нажимаю Deploy, сборка компилируется, а на шаге deploy выдается ошибка :
Assembly 'microsoft.web.services3, version=3.0.0.0, culture=neutral, publickeytoken=31bf3856ad364e35.' was not found in the SQL catalog.
Никак не можем ее побороть..
Посмотрели, в GAC 'microsoft.web.services3.dll есть, по адресу "C:\Program Files\Microsoft WSE\v3.0" библиотека тоже есть, wse 3.0 переустанавливал, ASP.NET 2.0 перерегистрировал.. пытался гуглить, но все, что ни находил, не привело к решению проблемы..
Может кто сталкивался с похожей проблемой, что еще можно сделать?

P.S.: Microsoft SQL Server 2005 - 9.00.5266.00 (Intel X86) Mar 17 2011 15:33:01 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
14 ноя 11, 15:03    [11593605]     Ответить | Цитировать Сообщить модератору
 Re: CLR и WSE 3.0  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
пишет "was not found in the SQL catalog."

может там надо проверить?
14 ноя 11, 15:06    [11593639]     Ответить | Цитировать Сообщить модератору
 Re: CLR и WSE 3.0  [new]
Дмитрий_N
Member

Откуда: Москва
Сообщений: 155
Winnipuh,
если имеется ввиду путь на сервере C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn, то там - есть.. или может где еще надо посмотреть?
14 ноя 11, 15:10    [11593676]     Ответить | Цитировать Сообщить модератору
 Re: CLR и WSE 3.0  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Для microsoft.web.services3 так же выполните create assembly.
14 ноя 11, 15:33    [11593914]     Ответить | Цитировать Сообщить модератору
 Re: CLR и WSE 3.0  [new]
Дмитрий_N
Member

Откуда: Москва
Сообщений: 155
invm,

пробовал, пишет, что отсутствует system.configuration.install.. если попытаться добавить ее, то пишет, что отсутствует system.runtime.serialization.formatters.soap. А при добавлении последней:
CREATE ASSEMBLY failed because type 'System.Runtime.Serialization.Formatters.Soap.NameCache' in safe assembly 'System.Runtime.Serialization.Formatters.Soap' has a static field 'nameCache'. Attributes of static fields in safe assemblies must be marked  readonly in Visual C#, ReadOnly in Visual Basic, or initonly in Visual C++ and intermediate language.

Дальше тупик :(
14 ноя 11, 15:47    [11594073]     Ответить | Цитировать Сообщить модератору
 Re: CLR и WSE 3.0  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
create assembly ... with permission_set = ...
?
14 ноя 11, 16:55    [11594714]     Ответить | Цитировать Сообщить модератору
 Re: CLR и WSE 3.0  [new]
Дмитрий_N
Member

Откуда: Москва
Сообщений: 155
invm,
Да, спасибо! Была проблема с правами.
Сейчас добавили список необходимых библиотек.
При попытке добавления моей DLL возникает уже такая ошибка:
CREATE ASSEMBLY failed because method "add_NewSearchCompleted" on type "CLR_NewSearch.Common.NewSearch" in external_access assembly "CLR_NewSearch" has a synchronized attribute. Explicit synchronization is not allowed in external_access assemblies. (Microsoft SQL Server, Error: 6213)


Поискали информацию по этой ошибке. В качестве решения предлагается для сборки установить степень доверия Unsafe. Администраторы сервера против. Есть ли возможность запустить на MS SQL 2005 такую сборку с external_access . Заранее спасибо!

К сообщению приложен файл. Размер - 20Kb
21 ноя 11, 16:31    [11633120]     Ответить | Цитировать Сообщить модератору
 Re: CLR и WSE 3.0  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Дмитрий_N
Возникла необходимость обращаться к сторонней веб-службе с использованием WSE 3.0.

http://msdn.microsoft.com/ru-ru/library/ms189524.aspx
EXTERNAL_ACCESS позволяет сборкам получать доступ к внешним системным ресурсам, таким как файлы, сети, переменные окружения и реестр.

UNSAFE предоставляет сборкам неограниченный доступ к ресурсам как внутри, так и вне экземпляра SQL Server. Код, исполняемый из сборки с набором прав UNSAFE, может вызывать неуправляемый код.
21 ноя 11, 17:40    [11633803]     Ответить | Цитировать Сообщить модератору
 Re: CLR и WSE 3.0  [new]
Дмитрий_N
Member

Откуда: Москва
Сообщений: 155
Добрый день!
С external_access зарегистрировать сборку не удалось. Зарегистрировал с Unsafe. При попытке вызвать функцию из сборки появляется ошибка.
Cannot load dynamically generated serialization assembly. In some hosting environments assembly load functionality is restricted, consider using pre-generated serializer.
Генерировал CLR_NewSearch.XmlSerializers.dll как с помощью Visual Studio, так и с помощью утилиты sgen.exe . Также регистрировал в БД. Ошибка остается.. Подскажите, что еще нужно сделать?
25 ноя 11, 10:13    [11656491]     Ответить | Цитировать Сообщить модератору
 Re: CLR и WSE 3.0  [new]
Дмитрий_N
Member

Откуда: Москва
Сообщений: 155
Спасибо всем, кто принимал участие в обсуждении!

Может кому-нибудь пригодится..
Проблема решилась после изменения версии в AssemblyInfo.vb.
Было:
<Assembly: AssemblyVersion("1.0.*")> 
Стало:
<Assembly: AssemblyVersion("1.0.0.0")> 
28 ноя 11, 10:37    [11669035]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить