Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
I have 2 PowerBI Report Server installed in a scale-out deployment with a network load balancer. I followed the instructions described in https://docs.microsoft.com/en-us/sql/reporting-services/report-server/configure-a-report-server-on-a...
In step 3 i configured BackConnectionHostNames, the netbios and fqdn for the loadbalancer.
Also grant local security policies to the service account.
I can login in the report portal on the load balancer URL. From PowerBI Desktop for reporting services i can reach the report server on the load balancer URL, but when trying to save or upload a report to the report server i receive the following message:
In RSPortal.log:
2019-09-27 09:09:08.2137|ERROR|10|The remote server returned an error: (400) Bad Request.| RequestID = s_4c682cad-3eeb-41c2-8932-91d524c62e15
When trying to create a data source i cannot type a name and after a few seconds a error message appears:
In RSPortal.log:
2019-09-27 08:55:35.7605|ERROR|33|OData exception occurred: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SetConnectionProtocol()
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.SoapMethodWrapper`1.ExecuteMethod(Boolean setConnectionProtocol)
at Microsoft.SqlServer.ReportingServices2010.RSConnection2010.ListExtensions(String extensionType)
at Microsoft.ReportingServices.Portal.Services.SoapProxy.SoapAuthenticationHelper.ExecuteWithWindowsAuth[TReturn](SoapHttpClientProtocol soapClient, IPrincipal userPrincipal, Func`1 func)
at Microsoft.ReportingServices.Portal.Repositories.SystemService.GetExtensions(IPrincipal userPrincipal, ExtensionType extensionType)
at Microsoft.ReportingServices.Portal.Repositories.SystemService.ListExtensions(IPrincipal userPrincipal, ExtensionType extensionType)
at Microsoft.ReportingServices.Portal.ODataWebApi.V2.Controllers.ExtensionsController.GetEntitySet(String castName)
at Microsoft.ReportingServices.Portal.ODataWebApi.Controllers.Reflection.ReflectionODataController`1.Get(ODataPath oDataPath)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext().| RequestID = s_4172f9a5-09ad-4a77-8444-39d8591c710e
Would be glad if anyone can help.
Thanks,
JE
Hi,
I had that one and I don't remember the exact solution order, but you must make sure that follwing is done
You are getting 400 because the loadbalancer directs your request to opposite node from which it has been initiated
BR Bobi
I followed your tips (thanks for that!), but still face with the same problems.
I can upload files, but only pbix files are failing.
I have upgraded the report server to the september 2019 release and install powerbi desktop for reporting services, also the september 2019 release, create a simple report, but still cannot upload the report to the report server or save the report to the report server from powerbi desktop.
So when i upload, as example, a .txt file the upload succeed.
When i upload a pbix file (created with powerbi desktop september 2019 release) the portal.log show:
2019-09-30 19:20:56.4850|ERROR|81|The remote server returned an error: (400) Bad Request.| RequestID = s_80a52eb0-89f1-4b6e-87a9-d6b799d09028
I'm confused to can upload everything excepts pbix files.
Hi,
I think that the BackConnectionHostNames doesn't contain all necessary entries that are described under https://docs.microsoft.com/de-de/sql/reporting-services/report-server/configure-a-report-server-on-a...
And you need to disable the loopback check
This should be done on both nodes and restart them
BR Bobi
FYI: The place where the machine key should be added to machine.config:
https://stackoverflow.com/questions/10337634/adding-machinekey-to-machine-config/10337791
@flopi wrote:Hi,
I had that one and I don't remember the exact solution order, but you must make sure that follwing is done
- generate machinekeys and put them in both rsconfig & machine.config. Then restart both nodes
- SSL -Offloading must be done by the loadbalancer e.g. F5. The windows networt balancer would never work. I tried it and had to switch to F5
- the BackConnectionHostNames entries must be existing on both nodes for the servername only, fqdn, ssrs main page
- activate session persistance on the load balancer
You are getting 400 because the loadbalancer directs your request to opposite node from which it has been initiated
BR Bobi
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
12 | |
6 | |
4 | |
3 | |
2 |
User | Count |
---|---|
14 | |
11 | |
5 | |
5 | |
3 |