0

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?

4

Assuming you are asking this for the MultipleUpload Tool (but it applies for all GUI extensions that do multiple-thingies async requests under HTTPS)

Short answer:

Add a second <endpoint> with the WebHttpsbinding in the Web.config in the UIBeardcore.Tools.MultipleUpload.Model directory for the UIBeardcore.Tools.MultipleUpload.Model.Services.UIBeardcoreToolsManager service :

<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" />

Mind the 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)

Long answer:

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.

Because the 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 HTTP url...

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.

1
  • 1
    Adding both endpoints is actually what we recommend too. When requests are batched, they are re-requested on the server -- but that mechanism cannot use SSL (probably due to certificate issues). So you have to either turn off the Communicator feature or allow non-SSL requests on the local machine; you can still require SSL on requests from other machines. Nov 3 '15 at 17:41
7

Yes, I can confirm

UIBeardcore is not working either via HTTP, nor via HTTPS, as he is having long and well deserved vacation these days.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.