在SSH或者SSI项目里整合axis2
来源:互联网 发布:淘宝新手开店群 编辑:程序博客网 时间:2024/05/23 02:27
自从毕业后也算是看过好些个项目了,有的项目没有使用任何框架,有的使用SSH有的则是SSI. 相比之下还是觉得SSI是最方便最快捷的,特别是在webservice的开发这一块上,ibatis的效果还是很出色的,它不像hibernate那样会出现对象循环引用的问题在程序的开发上也是很好控制的。在webservice的开发方面有的人使用Ant工具生成客户端来使用,这样的缺点就是打包麻烦程序也不灵活,试想一下如果webservice所在服务器的IP发生变动那就会出现类似404这样的错误。这样简直就是要恶心死人的。
webservice这一块使用cxf是最简单的,xfire的话就很麻烦,当然了使用axis2也不比cxf差。目前axis2的发行版本已经到1.6.2了,个人觉得SOA太恶心了要安装那么多的东西速度也不是很快。下面就和大家分享下我做webservice开发的过程
1.下载axis开发包,我这里选择war包,导入eclipse里就能看到项目了开发包自然是在lib下面了。把他们全部拷贝出来放在项目里就Ok了
2.axis2的结构
对于axis2-web就放的是一些页面了,其中包含webservice接口的显示页面和axis2的错误页面等。WEB-INF下面的conf下面的axis2、modules,services是axis的j配置
尤其需要注意的是哪个aar包,开发的时候我们首先把conf、modules、services文件夹拷贝到项目的WEB-INF下面,axis2-web就放在站点根目录下面,web.xml则加入如下配置
<servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <mime-mapping> <extension>inc</extension> <mime-type>text/plain</mime-type> </mime-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> <welcome-file>/axis2-web/index.jsp</welcome-file> </welcome-file-list> <error-page> <error-code>404</error-code> <location>/axis2-web/Error/error404.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/axis2-web/Error/error500.jsp</location> </error-page>
到这里工作就完成一半了,下面的工作就是重新打那个aar包了。在日常的项目里一般来说我们一般把webservice单独拿出来写在一个配置文件里就像下面这样
<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><bean name="HealthspecialytypeWebService" class="com.utsmart.huiju.webService.healthspecialtytype.HealthspecialtytypeWebService" autowire="byName"> <property name="healthspecialytypeManager" ref="HealthspecialytypeManager"></property></bean><bean name="HealthinfoWebService" class="com.utsmart.huiju.webService.health.HealthWebService" autowire="byName"> <property name="healthManager" ref="HealthManager"></property></bean></beans>
下面来看下aar包里面到底是什么东西,解压后应该看到2个目录
其中lib下面有2个jar包分别是axis2-spring-1.5.1.jar和spring.jar由于版本的差别可能名称不一样,META-INF下面则是MANIFEST.MF和services.xml.其中services.xml则是接口的配置信息如接口名称和对应的spring的bean名称等
<?xml version="1.0" encoding="UTF-8"?><serviceGroup> <!-- 健康教育类别信息 --> <service name="HealthspecialytypeWebService"> <description> 健康教育类别 </description> <parameter name="ServiceObjectSupplier"> org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter> <parameter name="SpringBeanName">HealthspecialytypeWebService </parameter><messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> </messageReceivers> </service> <!-- 健康教育信息 --> <service name="HealthinfoWebService"> <description> 健康教育信息 </description> <parameter name="ServiceObjectSupplier"> org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter> <parameter name="SpringBeanName">HealthinfoWebService </parameter><messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> </messageReceivers> </service></serviceGroup>
下面个大家解释下这个文件应该怎么写
长方形里面的是接口的名称,椭圆里面是该webservice所对应的spring的bean的名称。services.xml修改完成之后下面的工作就是打包了,首先把lib和META-INF这2个文件夹放在一个新建好的文件夹里,只要机子上配置了环境变量就可以直接使用命令打包了
这样打包就OK了,把这个包拷贝在services下面覆盖原来的webservice就发布成功了
3.查看webservice是否发布成功
启动好tomcat后,直接输入下面的地址 http://localhost:8089/utsmart/services/listServices,就可以看到如下的界面
看到类似这样的界面后axis2的webservice就发布成功了
很简单吧!
- 在SSH或者SSI项目里整合axis2
- Axis 2 整合到 SSH 项目,Axis2 整合,Axis2 发布,Axis2 部署方法及遇到问题
- Axis2在Web项目中整合Spring
- Axis2在Web项目中整合Spring
- SSh框架 整合Axis2
- SSH整合Axis2
- Axis2与Web项目整合及Axis2在Web项目中整合Spring
- Axis2与Web项目整合
- SSH项目整合简介
- Maven整合SSH项目
- SSH项目整合步骤
- Axis2与Web项目整合(转载)
- 在SSH项目中整合FCKeditor文本编辑器
- 在SSH项目中整合FCKeditor文本编辑器 .
- 在SSH项目中整合FCKeditor文本编辑器
- 在SSH项目中整合FCKeditor文本编辑器
- 在项目SSH整合时,启动测试时报的警告!
- 在html文件里使用include SSI指令
- mysql left join,right join,inner join用法分析
- HDU-2669(数论初步之扩展欧几里德)
- 删除 setup.py 安装的 Python 软件包
- container_of()如何通过结构中的某个变量获取结构本身的指针???
- OA工作流概述
- 在SSH或者SSI项目里整合axis2
- JQuery入门——导航条在项目中的应用
- Java:String和Date、Timestamp之间的转换
- LinuxSocket学习
- 借助浏览器控件利用CSS和javascript设计桌面程序界面
- 关于GCC动态库版本控制。
- linux 命令速查
- Sicily 1438 Shopaholic
- Freebsd 9.0 配置指南