I have setup the "UIBeardcore" as in the http://tridion.uibeardcore.com/. Its working fine as expected when i open Tridion GUI in http. Its not working and getting the error "Multiple operations error occured" when i open the Tridion GUI in https. Has anyone faced this issue?
Assuming you are asking this for the MultipleUpload Tool (but it applies for all GUI extensions that do multiple-thingies async requests under
Add a second
<endpoint> with the WebHttpsbinding in the
Web.config in the
UIBeardcore.Tools.MultipleUpload.Model directory for the
<endpoint name="UIBeardcoreToolsManager" address="" behaviorConfiguration="Tridion.Web.UI.ContentManager.WebServices.AspNetAjaxBehavior" binding="webHttpBinding" bindingConfiguration="Tridion.Web.UI.ContentManager.WebServices.WebHttpsBindingConfig" contract="UIBeardcore.Tools.MultipleUpload.Model.Services.UIBeardcoreToolsManager" />
bindingConfiguration value: it's a WebHttpsBindingConfig and it's configured in the
Web.config from the Webroot itself. (By default it's commented out, but since you're running the GUI under HTTPS, it's uncommented by your infra guy)
UIBeardcore build a WCF service to upload the images. He exposed this service ONLY for HTTP as you can see in his
Web.config. If you would change this existing endpoint to use the
WebHttpsBinding, it starts to work as long as you upload/drag-and-drop a single image!
As soon as you upload multiple images it fails again. The reason for this is:
1) If you upload 1 single image, the WCF service from UIBeardcore handles the upload itself. It's called directly from the GUI.
2) If you upload multiple images, the requests get batched and handed over to the
Communicator service from Tridion. And this causes the multiple upload to fail.
Communicator from Tridion uses
HTTP by default to call the requested service (The UIBeardCore service in this case). And since this UIBeardcore service only exposes itself under
HTTPS (You updated the binding remember?) it cannot find (404) the service anymore because it fire's a POST to the
I'm not sure if this is a bug in Tridion. Maybe someone from SDL knows?
So the solution (workaround?) for now is to add two endpoints for this service: WebHttp and WebHttps.
Anyway, I hope UIBeardcore enjoys his long and deserved holiday and keeps building these amazing little gems. I learn something new every time I read a line of his code.