一、所需资源和工具
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
其中 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工程中,然后就可以进行测试
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
修改后大致结构如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- This file was auto-generated from WSDL -->
- <!-- by the Apache Axis2 version: 1.6.1 Built on : Aug 31, 2011 (12:22:40 CEST) -->
- <serviceGroup>
- <service name="services1">
- <messageReceivers>
- <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="...."/>
- </messageReceivers>
- <parameter name="ServiceClass">com.chinatelecom.ismp.sp.IsmpSpEngineServiceSkeleton</parameter>
- <parameter name="useOriginalwsdl">true</parameter>
- <parameter name="modifyUserWSDLPortAddress">true</parameter>
- <operation name="test1" mep="http://www.w3.org/ns/wsdl/in-out">
- <actionMapping>\"\"</actionMapping>
- <outputActionMapping>....</outputActionMapping>
- </operation>
- </service>
- <service name="services2">
- <messageReceivers>
- <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="com.chinatelecom.ismp.sp.IsmpSpEngineServiceMessageReceiverInOut"/>
- </messageReceivers>
- <parameter name="ServiceClass">com.chinatelecom.ismp.sp.IsmpSpEngineServiceSkeleton</parameter>
- <parameter name="useOriginalwsdl">true</parameter>
- <parameter name="modifyUserWSDLPortAddress">true</parameter>
- <operation name="test2" mep="http://www.w3.org/ns/wsdl/in-out" >
- <actionMapping>\"\"</actionMapping>
- <outputActionMapping>....</outputActionMapping>
- </operation>
- <operation name="test3" mep="http://www.w3.org/ns/wsdl/in-out" >
- <actionMapping>\"\"</actionMapping>
- <outputActionMapping>....</outputActionMapping>
- </operation>
- </service>
- </serviceGroup>
上面有....的表示保持原来的配置
注意:需要将<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工程中,然后就可以进行测试