为wamp配置 Axis2/c

为wamp配置 Axis2/c
 
 WAMP = windows + apache + mysql + php

 环境: Windows XP + VS2008
 
一.wamp
   1.下载安装
             地址: http://www.wampserver.com/en/
      这里选择的是:WAMPSERVER (32 BITS & PHP 5.3) 2.2E
 
      这里安装在C盘
      安装后目录如: C:\wamp\wampmanager.exe
   2.配置apache
  
      配置apache可以被局域网内电脑访问
      (自己玩可以直接跳过...)
  
      配置文件:C:\wamp\bin\apache\apache2.2.22\conf\httpd.conf
      找到如下小节:
      <Directory "c:/wamp/www/">  
       ……
       Deny from all
       ……
      </Directory>
      将"Deny from all" 修改为 "Allow from all"
 

二.axis2/c
 
 
   1.下载axis2.c源码
      地址:http://axis.apache.org/axis2/c/core/download.cgi
  
      这里选择如下:
      1.5.0 Release MS Windows Distribution
      Source Distribution zip
  
      解压后目录如:E:\ljz_code_other\axis2c-src-1.5.0\axis2c_build.sh
  
  
      (可以直接下载 Binary Distribution zip,使用编译好的版本)
  
   2.下载依赖项
      apache官网手册提供的依赖下载地址 :ftp://ftp.zlatkovic.com/libxml/
      分别下载:libxml2、iconv、zlib
      解压后目录分别如下:
      E:\ljz_code_other\libxml2-2.7.8.win32\bin\libxml2.dll
      E:\ljz_code_other\iconv-1.9.2.win32\bin\iconv.dll
      E:\ljz_code_other\zlib-1.2.5\bin\zlib1.dll
   
   3.编译
      先配置axis2依赖配置文件
  
      配置文件:E:\ljz_code_other\axis2c-src-1.5.0\build\win32\configure.in
      主要配置项:LIBXML2_BIN_DIR、ICONV_BIN_DIR、ZLIB_BIN_DIR、APACHE_BIN_DIR
      如下:
         LIBXML2_BIN_DIR = E:\ljz_code_other\libxml2-2.7.8.win32
         ICONV_BIN_DIR = E:\ljz_code_other\iconv-1.9.2.win32
         ZLIB_BIN_DIR= E:\ljz_code_other\zlib-1.2.5
         APACHE_BIN_DIR = "C:\wamp\bin\apache\apache2.2.22"
   
      找到VS2008下 vcvars32.bat文件的路径,将其添加到系统环境变量PATH
      默认路径是:C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
  
      运行 cmd 命令行工具
      切换到目录 E:\ljz_code_other\axis2c-src-1.5.0\build\win32
      执行vcvars32.bat,如下:

        

      E:\ljz_code_other\axis2c-src-1.5.0\build\win32>vcvars32.bat

      E:\ljz_code_other\axis2c-src-1.5.0\build\win32>"C:\Program Files\Microsoft Visua
      l Studio 9.0\Common7\Tools\vsvars32.bat"
      Setting environment for using Microsoft Visual Studio 2008 x86 tools.

      E:\ljz_code_other\axis2c-src-1.5.0\build\win32>


      如果提示vcvars32不是内部命令,则vcvars32.bat环境变量设置有问题
      环境变量设置后要重新打开cmd窗口
      不运行vsvars32.bat会报nmake的错误...
  
      成功后执行:

      E:\ljz_code_other\axis2c-src-1.5.0\build\win32>nmake install

      成功后执行:

      E:\ljz_code_other\axis2c-src-1.5.0\build\win32>nmake axis2_apache_module


      编译结束...
  
  
      如果要直接运行E:\ljz_code_other\axis2c-src-1.5.0\build\deploy\bin\axis2_http_server.exe 测试的话
      要将E:\ljz_code_other\axis2c-src-1.5.0\build\deploy\lib\; 加入系统环境变量PATH中,
      因为axis2_http_server.exe依赖lib文件夹中的dll
  
  
      E:\ljz_code_other\axis2c-src-1.5.0\ides\vc\axis2c 目录中有提供VS项目工程文件
      但依赖项什么的要在VS中重新设置,否则找不到ibxml2、iconv、zlib
  
三.将axis2配置到wamp
 
     编辑配置文件:C:\wamp\bin\apache\apache2.2.22\conf\httpd.conf
     增加如下字段:
     LoadModule axis2_module "E:/ljz_code_other/axis2c-src-1.5.0/build/deploy/lib/mod_axis2.dll"
     Axis2RepoPath "E:/ljz_code_other/axis2c-src-1.5.0/build/deploy"
     Axis2LogFile "E:/ljz_code_other/axis2c-src-1.5.0/build/deploy/logs"
     Axis2MaxLogFileSize 50
     Axis2LogLevel debug 
     <Location /axis2>
     SetHandler axis2_module
     </Location>
  
  
     重新启动wamp.
     浏览器输入地址:http://localhost/axis2/services
     正确的话要看到 E:\ljz_code_other\axis2c-src-1.5.0\build\deploy\services 目录下提供的服务
 
     默认apache配置检测80端口,这里加入axis2后仍是80端口
 
     E:\ljz_code_other\axis2c-src-1.5.0\build\deploy\bin\samples里的几个sample用的是9090端口,
     所以如果要测这些客户端sample的话,运行E:\ljz_code_other\axis2c-src-1.5.0\build\deploy\bin\axis2_http_server.exe
 
 
四.........
 
 开始的时候,是下载编译好的 axis2/c Binary.
 修改完httpd.conf后,wamp就无法正常启动.
 
 直接双击运行:C:\wamp\bin\apache\apache2.2.22\bin\httpd.exe后
 
 C:\wamp\logs\apache_error.log 显示:
 [Wed Mar 27 13:29:16 2013] [error] ..\..\src\core\deployment\dep_engine.c(324) Axis2 Configuration file name not found
 [Wed Mar 27 13:29:16 2013] [error] ..\..\src\core\deployment\conf_init.c(56) Creating deployment engine failed for repository E:/ljz_code_other/axis2c-src-1.5.0/build/deploy/services
 
 便下载源代码,修改了dep_engine.c(324),输出dep_engine->conf_name的值
 
 编译后启动wamp显示:
 [Wed Mar 27 13:48:26 2013] [error] ..\..\src\core\deployment\dep_engine.c(324) Axis2 Configuration file name not found E:/ljz_code_other/axis2c-src-1.5.0/build/deploy/services/axis2.xml.
 [Wed Mar 27 13:48:26 2013] [error] ..\..\src\core\deployment\conf_init.c(56) Creating deployment engine failed for repository E:/ljz_code_other/axis2c-src-1.5.0/build/deploy/services 

 而axis2的配置文件 axis2.xml的实际所在目录是:E:\ljz_code_other\axis2c-src-1.5.0\build\deploy\axis2.xml
   才发现httpd.conf文件的 Axis2RepoPath 项目配错,之前一直以为Axis2RepoPath 是配 services的目录
 

 最后

  忘记AXIS2C_HOME这个环境变量是做什么的了....
    貌似可以不加,这里加的话是:E:\ljz_code_other\axis2c-src-1.5.0\build\deploy
    即axis配置文件axis2.xml所在的目录.
 

  .......好吧,想起来了,samples跑的时候要检测这个环境变量..

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

axis3c-src-1.5.0\build\win32\configure.in文件如下:

#############################################################################
### Build Details ###
#############################################################################
#
# enables https support 
ENABLE_SSL = 0          
#
# build libcurl transport 
ENABLE_LIBCURL = 0
#
# build axis2 with Libxml2 Parser. Axis2/C will be built with embeded guththila # parser by Default. 
ENABLE_LIBXML2=0
#
# build tcp server in addition to http server
WITH_TCP = 0
#
# build with archive based deployment
WITH_ARCHIVE = 0
#
#
#############################################################################
### Dependant Binary Locations (Required) ###
#############################################################################
#
# libxml2 binary location ( axis2c is built with libxml2 )
#LIBXML2_BIN_DIR = F:\applications\libxml2-2.6.30.win32
LIBXML2_BIN_DIR = E:\ljz_code_other\libxml2-2.7.8.win32
#
# iconv binary location
#ICONV_BIN_DIR = F:\applications\iconv-1.9.2.win32
ICONV_BIN_DIR = E:\ljz_code_other\iconv-1.9.2.win32
#
# zlib binary location
#ZLIB_BIN_DIR= F:\applications\zlib-1.2.3.win32
ZLIB_BIN_DIR= E:\ljz_code_other\zlib-1.2.5
#
#
#############################################################################
### Dependant Binary Locations (Optional) ###
#############################################################################
#
# openssl  binary location
# required if ENABLE_SSL = 1
#OPENSSL_BIN_DIR = c:\OpenSSL
#
# libcurl binary location, only required if libcurl transport is enabled
#LIBCURL_BIN_DIR = E:\libcurl-7.15.1-msvc-win32-ssl-0.9.8a-zlib-1.2.3
#
#
#############################################################################
### Apache Server module (required when building Axis2/C Apache Module) ###
#############################################################################
#
# apache binary location
#APACHE_BIN_DIR = "C:\Program Files\Apache Software Foundation\Apache2.2"
APACHE_BIN_DIR = "C:\wamp\bin\apache\apache2.2.22"
#
# apache 2 server family
# To use apache 2.2 family, use  APACHE_VERSION_IS_2_0_X = 0
APACHE_VERSION_2_0_X = 0
#
#
#############################################################################
### Compiler Options ###
#############################################################################
#
# C runtime LIBRARY OPTION ( Use /MD or /MT )
CRUNTIME = /MD 
#
# Embed Manifest Files
EMBED_MANIFEST = 1
#
# debug symbols
# To build with debug symbols use DEBUG = 1
DEBUG = 1
#
原文地址:https://www.cnblogs.com/ezhong/p/2984730.html