Мне нужно вызвать веб-API из файла RDL, который присутствует в проекте отчетов, размещенном в SSRS. В отчете RDL есть одно поле, которое будет использовать ответ Web Api. Я написал код в RDL для вызова этого API и получения ответа с помощью библиотеки System.net, но он не работает из-за какой-то ошибки System.Web.permission.
Я пытался использовать веб-API, используя приведенный ниже код, написанный на VB.NET (Target Framework версии 2.0). Я также пытался установить trustlevel = full
в web.config , но это не работает и все еще получая разрешение отказано в ошибке.
Я получаю успешный ответ web api при выполнении того же кода с httpWebRequest
.. и т. Д. Из консольного приложения, но при попытке вызова из RDL происходит сбой.
Пожалуйста, дайте мне знать, как исправить ошибку разрешения библиотеки System.net.
Ошибка ниже при вызове вышеупомянутой функции для получения ответа веб-API:
System.Security.SecurityException: Request for the permission of type 'System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.CodeAccessPermission.Demand()
Код:
`Public Function STSCall() As String
Dim url As String = "https://httpbin.org/get?token=8041637103881119"
Dim cardNumber As String = String.Empty
Dim httpWebRequest = CType(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)
httpWebRequest.Method = "GET"
httpWebRequest.ContentType = "application/json"
httpWebRequest.Headers.Add("X-AuthMode", "ServerSimpleAuth")
httpWebRequest.Headers.Add("X-ServerAuthKey", "STS")
Dim response = CType(httpWebRequest.GetResponse(), System.Net.HttpWebResponse)
Dim StreamReader As New System.IO.StreamReader(response.GetResponseStream(), System.Text.Encoding.ASCII)
cardNumber = StreamReader.ToString()
Return cardNumber
End Function`