3

I'm trying to configure the ECL providers in Tridion CME where i'm facing difficulties in executing requests as it gets timed out while contacting the providers.

I tried Vimeo,Youtube and flickr and all these providers resulted in "operation time out".

When i tried to debug the code i found some request are not executing as expected.Below is error which we are getting.

Execution of refquest failed "http://gdata.youtube.com/feeds/api/users/XXXX/uploads" inner exception shows "Operation Timed Out"

When i try to execute the url in browser ,i'm able to get the response and also the same snippet when tried executing as an independant project is also working fine.

Only when integrating with ECL we are facing this issue.Is it like Tridion is blocking in connecting to these providers?

ECL Error

4
  • 1
    Have you tried executing that code outside of Tridion, does that work better? It could be some sort of permission or network access issue
    – Nuno Linhares
    Commented Jun 19, 2014 at 13:09
  • Hi Nuno,I was able to retrieve below more information from the Tridion Notifications .It says BadGateway and unable to contact the server .54.40.xx.xx/WebUI/Models/ECL/Services/General.svc/GetList Also when i hit this url in web browser i get 409 conflict status code.Do we need to enable any specific port for ECL?
    – Sam
    Commented Jun 20, 2014 at 6:16
  • Also i verified that none of the services under /Models/ section were opening when browsed from IIS .All of them display 409 conflict .
    – Sam
    Commented Jun 20, 2014 at 9:59
  • No, ECL does not need any specific ports open. Tridion UI services can't be called simply by browsing to them using the default configuration (some cross domain attack protection as far as I remember). Anyway, the exception clearly shows the error happens inside the ECL provider, so the problem is not in Tridion (or ECL). It is in the provider. Commented Jun 22, 2014 at 7:52

2 Answers 2

4

The error displayed happens inside the provider. The providers are isolated from Tridion by being loaded into their own app domain. This basically means Tridion (and even ECL) are not even aware of the communication performed by the providers, so I do not think you should look at Tridion or ECL to find out where the communication is blocked.

If - like it appears to be the case here here - it is all HTTP(S) based providers that are failing while you can access the URLs they need using your browser I would check proxy settings - most likely your browser have the required proxy settings while the providers do not. Proxy support would have to be added to the provider - it is not something ECL can handle for the provider due to the before mentioned isolation.

3
  • Hi Lars, I don't think this issue is related to provider because i have created a sample web forms application and was able to retrieve the videos from the provider API with in the same server.
    – Sam
    Commented Jun 23, 2014 at 4:31
  • It might be related to the environment the service is hosted in (a user without a system defined proxy for example), but the stack trace clearly shows the provider being called. So there is no need to try to call the UI services manually etc to troubleshoot - that part is working. Commented Jun 23, 2014 at 7:27
  • I found the issue to be with proxy settings.My server connects to the network using proxy.So from the application also i need to set the proxy details explicitly to contact the providers.Thank you so much for helping me in figuring out the solution.
    – Sam
    Commented Jun 23, 2014 at 10:42
0

Is there any outgoing rules set to firewall, those could be blocking your calls? just check that.

if network setting etc working fine, open YouTubeClient.cs from project & increase the timeout. default timeout is 100,000 milliseconds .

public YouTubeClient(string appName, string developerKey, string userName, string password)
        {
_settings.Timeout = 1000000;//new entry
}
7
  • Hi Raj, I have already tried increasing the timeout but that didn't work.
    – Sam
    Commented Jun 20, 2014 at 4:41
  • Can you try accessing any simple page in YouTubeClient.cs, e.g www.google.com using WebRequest class to check if its timeout/network access issue. Secondly, as this connector is running in ECL's context, do you want check permission or try increasing timeout/permission check at following config WebUI\Editors\ExternalContentLibrary\web.config
    – Raj Kumar
    Commented Jun 20, 2014 at 6:19
  • is WebUI\Model\ECL\web.config contains <behavior name=""> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior>
    – Raj Kumar
    Commented Jun 20, 2014 at 8:30
  • I don't have the above behavior section and also i feel this is not related to any time outs as i have verified the code of youtube client in a separate web application and found the results retrieving very fast.
    – Sam
    Commented Jun 20, 2014 at 9:56
  • I tried accessing google.com and found even that request was failing giving "Operation Timed Out" :(
    – Sam
    Commented Jun 20, 2014 at 10:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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