使用axis2配置webservice服务



一、所需资源和工具
 1、wsdl文件,在这里命名为testService.wsdl
 2、axis2 开发包:axis2-1.6.1-bin.zip
    axis2 运行包:axis2-1.6.1-war.zip 
    
    开发包主要用到里面的lib下得jar包,运行包需要放到tomcat的webapps下   

    下载路径:http://axis.apache.org/axis2/java/core/download.cgi
 3、tomcat 5.0以上
 4、JDK1.5
 5、eclipse的fat打包插件,因为可能tomcat不一定能引用到包,所以最好将所有用到的jar包打到一起,省得报类找不到之类的错误
 6、eclipse-jee-helios-SR1-win32开发工具

二:环境配置步骤
1、将axis2-1.6.1-war.zip解压后,复制文件中的axis2.war到tomcat的webapps目录下,重命名为testService.war,启动tomcat,会发现webapps下多了一个testService的文件夹
2、将testService\WEB-INF\conf目录下得axis2.xml打开,找到servicePath属性,如果注释的话则取消注释,将其值设置为testService
3、将testService\WEB-INF\web.xml打开,找到AxisServlet下得/services/*,将/services/*修改为/testService/*
4、配置tomcat,到tomcat的conf目录下,打开server.xml,将Host属性修改为如下:
   <Host name="localhost"  appBase=""
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
   在增加<Context path="" docBase="E:\apache-tomcat-6.0.32\webapps\testService" reloadable="true" />
  注:docBase为项目部署的绝对路径

三、开发步骤
1、将axis2-1.6.1-bin.zip解压,如路径:c:/axis2-1.6.1,增加系统环境变量c:/axis2-1.6.1/bin
2、打开cmd命令窗口,定位到wsdl所在目录,执行命令:WSDL2Java.bat -uri testService.wsdl -ss –sd,执行完毕后目录下会多出src和resources文件夹
3、在eclipse中新建一个java工程,命名为testService,将src下得java文件拷贝到项目中,将axis2的jar包导入到工程中,同时将resource文件夹也拷贝到项目中
4、找到*ServiceSkeleton.java,*表示wsdl中得服务名,假设wsdl中定义了两个接口test1、test2和test3,则在此java类中则会有test1、test2和test3,实现test1、test2和test3业务处理

四:服务配置步骤
1、现在我需要定义两个服务service1和service2,service1用来处理test1,service2用来处理test2
2、首先使用fat打包插件将testService工程打包,打包名为testService.jar,将它重命名为testService.aar
3、配置services.xml,将刚才resources中得services.xml打开,可以看到servce的配置,一个service表示一个服务,现在我要启用两个服务则需要复制一份service

   修改后大致结构如下:

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!-- This file was auto-generated from WSDL -->  
  3. <!-- by the Apache Axis2 version: 1.6.1  Built on : Aug 31, 2011 (12:22:40 CEST) -->  
  4. <serviceGroup>  
  5.     <service name="services1">  
  6.         <messageReceivers>  
  7.             <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="...."/>  
  8.         </messageReceivers>  
  9.         <parameter name="ServiceClass">com.chinatelecom.ismp.sp.IsmpSpEngineServiceSkeleton</parameter>  
  10.         <parameter name="useOriginalwsdl">true</parameter>  
  11.         <parameter name="modifyUserWSDLPortAddress">true</parameter>  
  12.         <operation name="test1" mep="http://www.w3.org/ns/wsdl/in-out">  
  13.             <actionMapping>\"\"</actionMapping>  
  14.             <outputActionMapping>....</outputActionMapping>  
  15.         </operation>  
  16.     </service>  
  17.     <service name="services2">  
  18.         <messageReceivers>  
  19.             <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="com.chinatelecom.ismp.sp.IsmpSpEngineServiceMessageReceiverInOut"/>  
  20.         </messageReceivers>  
  21.         <parameter name="ServiceClass">com.chinatelecom.ismp.sp.IsmpSpEngineServiceSkeleton</parameter>  
  22.         <parameter name="useOriginalwsdl">true</parameter>  
  23.         <parameter name="modifyUserWSDLPortAddress">true</parameter>  
  24.         <operation name="test2" mep="http://www.w3.org/ns/wsdl/in-out" >  
  25.             <actionMapping>\"\"</actionMapping>  
  26.             <outputActionMapping>....</outputActionMapping>  
  27.         </operation>  
  28.         <operation name="test3" mep="http://www.w3.org/ns/wsdl/in-out" >  
  29.             <actionMapping>\"\"</actionMapping>  
  30.             <outputActionMapping>....</outputActionMapping>  
  31.         </operation>  
  32.     </service>  
  33. </serviceGroup>  
其中 service name 表示服务名,对应的operation 为接口,现在就是services1对应了test1,servcie2对应了test2,test3,即使用services1可以处理test1的业务,使用service2可以处理test2和test3的业务
 上面有....的表示保持原来的配置
 注意:需要将<actionMapping>的值修改为\"\"


4、修改wsdl文件,因为要配置两个服务,所以需要两个wsdl文件,复制testService.wsdl两份,重命名为service1.wsdl,service2.wsdl
   打开service1.wsdl,将 <wsdl:service name="***"> 修改为services1,保存;
   打开service2.wsdl,将 <wsdl:service name="***"> 修改为services2,保存。

5、使用winrar打开testService.aar,将services.xml,service1.wsdl和service2.wsdl复制到META-INF文件夹中
6、将修改后的testService.aar放到tomcat的webapps\testService\WEB-INF\services中,然后重启tomcat,可以看到tomcat将testService.aar发布了


生成一个客户端测试:
1、打开cmd命令输入窗口,定位到wsdl所在目录,执行WSDL2Java.bat -uri testService.wsdl
2、将生成的src放到一个java工程中,然后就可以进行测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值