Skip to Content
author's profile photo Former Member
Former Member

System received an expired SSO ticket

Hi All,

We are on Portal 7.3 SP07. we have created a Java web application to update data into SAP. The communication betweeen Java Application and SAP is using SAP JCO 3.0 API. We have created a RFC destination in (NWA->Configuration->Security->Destinations) and using this in our application to make a Connection to R/3. The RFC destination is being configured to use SSO Tickets.

The issue that we are facing here is - Applicaiton works fine till the SSO ticket validity is expired. after the SSO ticket validtiy is expired the applciation stops working and we see the below error in the logs.

Exception ActionCreateApplicant() (103) JCO_ERROR_LOGON_FAILURE: System received an expired SSO ticket on <erp_host_name> sysnr 00#

This issue has been discussed a lot on SCN, however we are not finding any sutiable fix our issue.

What we have analyzed till now is - Once after the SSO ticket validity gets over (8h was defualt we tested with increasing to 24h) - The JCO destination instead of using a new SSO ticket continues to use the expired SSO ticket which it has cached in the JCO Connnection Pool similar to what is described in the note 1130191. But here the Soloution has been provided for clearing the JCO Pool using the WD JCO Pool viwer tool. But In our case since we are using the JCO 3.0 API's - the methods which were available to access the JCO Pool (JCO.Pool and JCOPoolManager) with previous versions of JCO Connector are not available anymore with the SAP JCO 3.0.

Please help.



Add a comment
10|10000 characters needed characters exceeded

Related questions

2 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Aug 06, 2013 at 02:04 PM

    We could find our issue.

    Instead of just remember the Destination-Name we stored the Destination in an local variable. This variable was available to the User through a Session-Scoped bean. This bean has had a longer livetime than the Destination.

    The solution is quiet simple:

    instead of useing JCoDestinationManager.getDestination(destinationName); and hold the JCoDestination-Object we just hold the "String destinationName" and call the obove method everytime we need a JCoDestination-Object.

    Due to the pooling this will not create much overhead and works like a charm.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Schindler,

      Thank you for sharing the solution. We had raised this with SAP and we were advised to use Assertion ticket instead of SSO ticket as per note - 1166904 .

      I will also try out your solution and see how it goes.



  • author's profile photo Former Member
    Former Member
    Posted on Jan 08, 2013 at 09:53 AM

    We are fighting with exactly the same issue.

    JCo works fine. After 8h (of idle?) the SSO ticket expires and no new tickt is created. instead the old one is used unsucessfully.

    Just wanted to bump this topic since we also could not find any solution yet.

    Sys: NW 7.3; JCo 3;

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.