I had a problem like this, most recently using OpenSSL 0.9.8r on Windows - 
after adding a little logging, the error was reported as:

    "OpenSSL error "error:02001003:system library:fopen:no such process"
90% of the requests would work just fine, but 10% were failing like that.  

The fix was to specify a fully qualified path to the cert in the axis2.xml 
file:.

    this fails intermittently:     <parameter 
name="SERVER_CERT">.\data\cacert_test2.cer

    this always works:           <parameter 
name="SERVER_CERT">e:\lotus\domino\data\cacert_test2.cer

It's an easy fix, so I'm happy, but I wish someone could explain why it was 
failing!

Regards,

Steve



  ----- Original Message ----- 
  From: Mauro Brasil 
  To: Apache AXIS C Developers List 
  Sent: Tuesday, May 31, 2011 2:03 PM
  Subject: Re: Axis2C crashes when using SSL...


  Hi Nandika and thanks for your reply.

  That was my first thought too but after removing all changes regarding the 
dynamic configuration of "SSL_CERT" parameter, the issue persisted.

  I mean, I reverted all my code changes and only:
  1- adjusted the service URI used to create the service stub "axis2_stub_t" 
(changing the "http" to "https" and port as well;
  2- changed the "axis2.xml" file to statically point to the certificate file.

  After getting the same condition with this scenario I've had a look at the 
axis2c binaries and its dependencies to make sure they are compatible.
  First of all I've noticed that axis2c binaries were linked with old MSVCRT 
library while openssl libraries (libeay32.dll and ssleay32.dll) were linked 
with Visual Studio 2008 (MSVCR90.DLL) version of CRT library.

  Searching on the net I've found other versions of openssl binaries linked 
with old MSVCRT library but that seems to have the same problem and others that 
worked pretty fine.
  The reason for sure, I don't know.

  I choose the version extracted from package "openssl-0.9.8h-1-bin.zip" found 
at "http://gnuwin32.sourceforge.net/packages/openssl.htm"; (I renamed the 
library "libssl32.dll" to "ssleay32.dll").

  After getting this libraries the application worked perfectly including the 
changes to set the certificate location dynamically.

  Thank's a lot for this great software.

  Best regards,
  Mauro.





  2011/5/28 Nandika Jayawardana <[email protected]>

    Most definitely, there should be a memory corruption. Try running the 
application with a memory checking tool like purify. It will point you to the 
location where this problem happens.

    Regards
    Nandika



    On Fri, May 27, 2011 at 11:47 PM, Mauro Brasil <[email protected]> 
wrote:

      Hello there!

      I have a fully operational C++ application developped using Visual C++ 
that uses Axis2c and RampartC to communicates with a server running on JBoss 
and using JBossWS.

      By now we are using just WS-Security's UserNameToken and timestamp 
features and everything works pretty fine.

      The application is almost completed and now we just need to get it over 
SSL.

      First try was add the server's certificate file programatically (for lots 
of reasons this is the desirable scenario).
      Althougth the implementation runs fine on Debug mode for several 
requests, when I switch to Release mode the application crashes during 
"axis2_svc_client_send_receive_with_op_qname" method execution of the second 
request.
      I don't know if this could cause this particular issue, but I share the 
"axis_env_t*" pointer among all requests (well... I have no problem with that 
until now).

      Tired of trying to avoid the condition on code, I removed the block that 
adds the property and configured the certificate file directly on "axis2.xml". 
And I've got totally lost when the issue happened the same way.

      Had anyone got such condition ?

      Does someone have any idea of what can be causing thins ?

      Thanks and best regards,
      Mauro.






Reply via email to