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 a web application currently in development built in JavaScript ES6 modules using webpack (in VS Code)
I am getting... Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('http://localhost:4015') does not match the recipient window's origin ('http://localhost:4010').
I have the report server as 4015 and the lite-server of dev mode is running at 4010
I have connected SQ management Studio to ReportServer and set AccessControlAllowOrigin to each of http://localhost:4010, http://localhost:4015, http://localhost and *, restarted the service but the error persists.
The web application embeds an iframe element with the src attribute set to the url of the report. The report is rendered bu I interpret this as meaning the report has tried to fire some notification messages (loaded, perhaps) and failed with this message.
Any ideas or help would be appreciated as I have exhausted the internet searching for a solution!
@ajelcocks wrote:
The web application embeds an iframe element with the src attribute set to the url of the report. The report is rendered bu I interpret this as meaning the report has tried to fire some notification messages (loaded, perhaps) and failed with this message.
Any ideas or help would be appreciated as I have exhausted the internet searching for a solution!
Have you included the rs:embed=true query string parameter in the report url? If you have not included the rs:embed parameter PBIRS will try to render all the navigation elements around the report which might be what is causing this issue.
Yes, I have. This is the url and hostdata
Sorry, that was the only idea I had.
I'm not familiar with the hostdata parameter. I have not seen it used before with PBIRS and can't see any documentation on it. But it does not look like any of the information you are passing there would influence CORS in any way.
Are you able to see the call stack of that exception using the chrome dev tools? That my give you a hint as to whether it's your app or the report triggering this.
I got the hostdata parameter from one of the examples on the web. I don't know if it does anything but the example used it so I left it in.
If I change 4015 in the url of the report server to 4010 and use fidler to redirect to 4015 then the error does not occur. This suggests to me it is the report server. The error itself would support that, indicating that postMessage was invoked by code delivered from 4015 for a recipient at 4010
Thanks for the suggestions.
For anyone else reading this - the 'solution' I found is to use fiddler and add a rule to redirect
I changed the port of the url for the powerbi report in my we app from 4015 (the powerbi port) to 4010 (my apps port) and added a rule in fiddler to intercept that and change the port to 4015. This 'spoofs' the report server and so the error does not occur.
Maybe not the 'real' solution, but it works.
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 |
---|---|
13 | |
8 | |
3 | |
2 | |
2 |
User | Count |
---|---|
15 | |
11 | |
5 | |
4 | |
2 |