Thanks for the response.  I'll try changing the order in the path, not sure how 
DB2 will react to a newer version of OpenSSL, but technically it should work 
:{)>

I've got the changes needed to do the static linking.  It required a rebuild of 
the OpenSSL package to provide the static libraries (it's not in the default 
config).  It also requires some changes to buildSSLChannel.xml in AxisCPP.  

The changes I have are hardcoded and will likely need to be modified to use a 
build option in order for it to be included in the  product, if at all.  Should 
I open a Jira on this?

Index: buildSSLChannel.xml
===================================================================
--- buildSSLChannel.xml (revision 516429)
+++ buildSSLChannel.xml (working copy)
@@ -52,7 +52,7 @@
                   </defineset>
                </compiler>
                <!-- required libraries -->
-               <syslibset libs="${HTTP.SSLChannel.libs}" 
dir="${HTTP.SSLChannel.dir}/out32dll" if="windows"/>
+               <syslibset libs="${HTTP.SSLChannel.libs}" 
dir="${HTTP.SSLChannel.dir}/out32" type="static" if="windows"/>
                <syslibset libs="${HTTP.SSLChannel.libs}" 
dir="${HTTP.SSLChannel.dir}/lib" unless="windows"/>
                <defineset>
                   <define name="ENABLE_AXISTRACE" if="trace"/>
@@ -69,6 +69,8 @@
                           <linker refid="HP-UXLinker"/>
                <linker extends="VisualC++Linker">
                   <syslibset libs="wsock32"/>
+                  <syslibset libs="user32"/>
+                  <syslibset libs="gdi32"/>
                </linker>

                <linker refid="OS400Linker"/>

Fred Preston <[EMAIL PROTECTED]> wrote:  
Hi Wayne, 
        I think the library is listed as part of the dependent libraries 
parameter in the link options.  When starting up AXIS, the library loader will 
attempt to load the dependent libraries.  The HTTPSSLChannel DLL is dynamically 
loaded from within AXIS.  The AXIS LoadLibrary function will use the usual 
Microsoft search criteria to look for dependent libraries using the contents of 
the PATH environment variable.  If you have DB2 already up and running (using 
something like ODBC and SQL to connect to it), (hopefully on a different thread 
or process ;-)), then you should be able to change the environment path before 
running your client so that the correct OpenSSL library is found, loaded and 
run. As far as I know, there is no existing parameter that will statically link 
the OpenSSL libraries, but you can quite easily do this yourself by changing 
the link options.  Both options should work.  It really just depends on your 
preference. 
 
Regards,
 
 Fred Preston.
  
 
 
   Wayne Johnson <[EMAIL PROTECTED]>  27/04/2007 19:16    Please respond to
 "Apache AXIS C User List" <[email protected]>
 
 
    To
 axis-c <[email protected]>   cc
  
  Subject
 Staticly linking Windows OpenSSL in HTTPSSLChannel 
    

 
 
 
 
We have an interesting problem.  Our app uses both DB2 and Axis.  DB2 
automatically loads it's copy of OpenSSL's libeay32.dll.  When we attempt to 
load HTTPSSLChannel.dll, it sees DB2's libeay32.dll already loaded and attempts 
to use it.  Since they're different versions, and we have no control over what 
version DB2 is using, we're toast.
 
 At this point, we're looking at linking Axis statically with the OpenSSL 
library (like the UNIX platforms do).  Anyone see any issues with this?  Don't 
suppose there is a build parameter that does this?
 
 
 --- 
 Wayne Johnson,             | There are two kinds of people: Those 
 3943 Penn Ave. N.          | who say to God, "Thy will be done," 
 Minneapolis, MN 55412-1908 | and those to whom God says, "All right, 
 (612) 522-7003             | then, have it your way." --C.S. Lewis   

---------------------------------
Ahhh...imagining that irresistible "new car" smell?
 Check out new cars at Yahoo! Autos.  

  

  
---------------------------------

 
  Unless stated otherwise above:
 IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
 Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU 

 
  
 

 



--- 
Wayne Johnson,                         | There are two kinds of people: Those 
3943 Penn Ave. N.          | who say to God, "Thy will be done," 
Minneapolis, MN 55412-1908 | and those to whom God says, "All right, 
(612) 522-7003                         | then,  have it your way." --C.S. Lewis

       
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
 Check outnew cars at Yahoo! Autos.

Reply via email to