ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

HTTPS transport error GSKit Error is 408

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • HTTPS transport error GSKit Error is 408

    I'm using the System i Web Services Client for ILE and am having problems getting SSL to work. I've set up the client and server certificates using the Digital Certificate Manager, and I've entered the configuration settings in the axiscpp.conf file. When I run my program that calls a web service, the first HTTP session works fine. However, the second and subsequent calls fail with the messages:

    HTTPTransportException: HTTPS transport error.
    GSKit Error is 408 - Key database password is not valid.

    The key store password is hard coded in the axiscpp.conf file, and it obviously doesn't change between web service calls. I can't figure out what's happening. My program is a long-running job that makes web service calls on behalf of requesting jobs. If I restart the daemon, then once again the first web service call works and the others fail with the above error. Can someone help? Thanks.

  • #2
    Re: HTTPS transport error GSKit Error is 408

    Not perhaps something silly like an unreleased/locked resource somewhere along the line, e.g. http://archive.midrange.com/web400/200807/msg00267.html

    Comment


    • #3
      Re: HTTPS transport error GSKit Error is 408

      Thanks for the reply. I do specialize in silly errors, but I don't think I'm doing anything wrong here. The environment is configured, and the first SSL connection works. My daemon initializes the Apache Axis layer for multiple threads, and then just allocates and uses web service objects as needed to satisfy requesting jobs. The management of GSKit/HTTP objects is happening "under" me in the Axis code. I'm not sure that I can influence that directly.

      Comment


      • #4
        Re: HTTPS transport error GSKit Error is 408

        Here's something interesting. My daemon is multi-threaded, so I call Axis::Initialize() in the main before doing anything. This is required to set up Axis when making multiple web service calls from a single task or when calling from a multi-threaded task. However, this seems to be a catalyst for causing the GSKit errors. If I do NOT call Axis::Initialize() and then invoke web service calls serially; i.e., not simultaneously from multiple threads, then SSL works every time. This won't work for me long term, because I have to have multiple threads, but it is a clue as to what's going on. Something's wrong in the Axis GSKit implementation. Rather than use the static axiscpp.conf file, I can initialize security from the program by calling the SetSecure method. I'm going to try this in every thread and see if that changes things.

        Comment


        • #5
          Re: HTTPS transport error GSKit Error is 408

          SOLVED: Calling SetSecure() from each thread fixed the problem.

          Comment


          • #6
            Re: HTTPS transport error GSKit Error is 408

            Well done - hope you still have some hair left! These little things can take years off you...

            Comment

            Working...
            X