说起来大概是11年7月份的项目了,当初为了这个集成,可谓在互联网上"翻山越岭"般搜寻资料,最终是达成了自己的终极需求,
Axis2 是发布webservice的一个框架,做过java开发的朋友们应该都有所了解,官方或者网络盛传的demo呢千篇一律,都是将axis2-1.5.5-war这个包直接放在服务器上,然后将写好编译好的class文件在这个包的相应目录下建立你的webservice目录进行发布,自己做做demo学习什么的倒是没什么问题,一旦真刀真枪的项目中,这样及其不方便,
第一点:发布的webserviece的项目名称被定格了axis2XX,
第二点:每次重新发布的工作量也比较大,降低了工作效率
在下就想为撒不直接放到web项目里面呢:首先看看效果图:
![](http://static.oschina.net/uploads/space/2012/1029/115348_GzQu_94799.jpg)
这样的话就方便很多了,我这里使用的axis2是axis2-1.5.5版本
具体做法:
首先我将axis2-1.5.5-war包下面的axis2-web包拷贝出来放在了Web项目下的WebRoot根目录下面
然后还需要将官方war包中axis2-1.5.5-war\axis2\WEB-INF\目录下的conf拷贝出来放到你应用的WEB-INF目录下面
conf目录下的文件不需要做任何修改
对应的axis2的jar包在axis2-web中lib下面可以找到,直接全部拷贝到你web工程中的lib下,
然后,就是在你web工程的WEB-INF目录下建立发布services的目录(此处最好就起services这个名字吧)
然后在该目录下就这样:
![](http://static.oschina.net/uploads/space/2012/1029/120545_WQmk_94799.jpg)
目录结构式你发布的webservice的,service.xml就是配置信息
<?xml version="1.0" encoding="UTF-8"?><serviceGroup>
<service name="AdminAccountService">
<description>AdminAccountService</description>
<messageReceivers>
<messageReceiver mep=" http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
<messageReceiver mep=" http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass">com.xxx.service.impl.AdminAccountServiceImpl
</parameter>
</service>
</serviceGroup>
webservice协议的名称以及对应的java实现类
最后你在以axis2发布webservice时不用在把axis2的war包放到服务发布应用的目录下,然后还要大费周章的去做一些修改替换等等没有意义的事情了,
希望对有当初和我同样想法的朋友们微薄的帮助!
不足之处希望广大朋友纠正!