Status: Open
Status: Answered
Status: Closed
Status: Duplicate

OTDS -> Content Server Automated testing using 3rd party

Posted Nov 24 by Jean-Francois Larente.


I'm trying to build an automated test script (using Visual Studio / .NET) and I'm having some trouble authenticating (capturing and passing the OTDS ticket) to Content Server.

I currently call otds:8080/otdsws/login and capture the OTDSTicket from the Set-Cookie response.
I then pass the OTDSTicket as (the only) form value to /otcs/llisapi.dll. I was hoping to get an LL-Cookie in the response but instead I'm getting "Error validating a ticket [OTDS -1073741823]".

I was hoping to get some guidance around my issue - thanks in advance!

J.F. Larente

5 Answers

BEST ANSWER: As chosen by the author.


BEST ANSWER: As chosen by the author.

Are you passing the 'RFA' query parameter to /otdsws/login ? When you log in to Content Server normally through a browser, you will see that there is an 'RFA' query parameter containing the CS resource ID and return URL within it.
Otherwise, check otds.log when you get the error - there could be a stack trace with more info.

Another approach to programmatically obtain an LLCookie is through web services.
You can add a web service reference in visual studio to otds:8080/ot-authws/services/Authentication?wsdl.
You can call Authenticate() with username and password or AuthenticateCurrentUser() to do IWA (SSO with Kerberos).
You then pass the OTDS ticket you get back to Content Web Services' ValidateUser() method in the CWS Authentication web service (/cws/services/Authentication?wsdl). This will exchange the OTDS ticket for an LLCookie.

BEST ANSWER: As chosen by the author.

Thanks VERY much for your response.

I've used option 2 which is call OTDS / CWS to get an LLCookie. When I call /otcs/llisapi.dll with LLCookie in the header it still tries to redirect to OTDS. Are there other parameters I'm missing? I tried passing LLCookie both in the Header and in a form post.
Referrer: http://ecm/otcs/llisapi.dll?func=llworkspace
LLCookie: … <cookie value>
querystring: func=llworkspace


BEST ANSWER: As chosen by the author.

LLCookie is a cookie, so it needs to be sent as part of the 'Cookie' header.
Cookie: LLCookie=<cookie value>

BEST ANSWER: As chosen by the author.

Awesome thanks!

 You have subscribed and will receive email notifications of updates to this topic. To unsubscribe, uncheck the checkbox.


Related categories

Related tags

Your answer

To leave an answer, please sign in.