通过Axis整合SSH 项目创建WebService的流程步骤
来源:互联网 发布:websocket nginx 转发 编辑:程序博客网 时间:2024/05/29 16:18
今天做项目时,需要用Axis把ssh框架进行整合从而创建webservice,研究了一天了,遇到了许多问题和错误,这里写下过程和其中遇到的问题。
1. 要部署axis2。部署axis2很简单,将axis2.war复制到tomcat\webapps目录下,重启tomcat即可,此时打开tomcat目录,会发现在webapps中多了一个axis2的工程名,这个就是我们要对外发布的webservice服务工程。
重启后效果如图所示:
2。将axis2/WEB-INF/目录下的所有文件到自己的web项目下就可以了,记得要覆盖所有(axis2-web这个文件夹是包含axis2整个的管理界面,可有可无,不过要用的话,记得它是放在和WEB-INF的同级目录下),其实我们就是有点像在整个的axis2工程上做二次开发。(第一步的作用主要是COPY包文件和WEB.XML配置文件,注意放在WEB-INF下,不然会有点bug)。
此步骤后WEB-INF效果如下所示:这里service下的test文件先不用理会,下文会讲到。
3.将所需的jar包倒入到WEB-INF下的文件夹里(这里可能会遇到找不到AxisAdminServle的错误,解决方法为:下一篇文章,待发布)
4.发布整个项目发部到tomcat上,测试起动服务有没有问题。(一般不会是有问题,我们现在做的只是在axis2这个工程里添加了spring的jar包和在原有的axis2工程的web.xml加上了对spring的支持)。访问下http://<host>:<port>/<project name>/services/Version?wsdl,例如http://localhost:8080/AxisTest/services/Version?wsdl,如果没问题的话进入下一个步骤。
5.写一个webservice(其实就是一个普通java类,然后调用了service层<逻辑层>的方法)。
package com.hcj.webservice;import java.util.List;import com.hcj.dto.User;import com.hcj.service.UserService;public class MyWebservice {//这里的userService为定义的一个逻辑层的类,用于调用dao的方法,在application里注入private UserService userService;public UserService getUserService() {return userService;}public void setUserService(UserService userService) {this.userService = userService;}//验证用户名和密码public boolean check(String username){return userService.isUsernameExist(username);}//获取所有的用户信息public List<User> getAllUser(){return userService.getAllUser();}}
6.在applicationContext.xml配置axis和webservice类
<!-- 配置axis2和spring的集成 --><bean id= "applicationContext" class = "org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />
<!-- myWebService中的userService注入 --><bean id="myWebService" class="com.hcj.webservice.MyWebservice" ><property name="userService" ref="userService"></property></bean>
7、在WEB-INF/services/下新建一个文件夹,这个名字可以起的随便,我们就起做test吧,然后在WEB-INF/services/test/下建立META-INF这个目录,最后在WEB-INF/services/test/META-INF/下建立services.xml,
services.xml文件内容为:
<?xml version="1.0" encoding="UTF-8"?><!-- 这里name里填的myWebservice为发布到webservice后的名称 --><service name= "myWebservice"> <description>simple spring example</description><!-- <beanMapping qname="myNS:Book" xmlns:myNS="urn:BookService" languageSpecificType="java:Book类的完全类名称"/> --><parameter name= "ServiceObjectSupplier" > org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier </parameter> <!-- SpringBeanName为固定,里面填写webservice类的bean id(这个在application里配置) --> <parameter name="SpringBeanName">myWebService</parameter> <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></service>
此处附上我添加后的完整目录视图:
9.重启tomcat。http://<host>:<port>/<project name>/services/listServices,如果能看到下面视图,则表示配置成功。
希望对大家有所帮助。
通过Axis整合SSH 项目创建WebService的一些问题:
webService客户端的编写:http://blog.csdn.net/u011768325/article/details/45269909
主要参考:http://blog.csdn.net/xinhaoluan/article/details/3605234
- 通过Axis整合SSH 项目创建WebService的流程步骤
- SSH项目整合步骤
- Ssh项目添加WebService功能的步骤
- SSH框架整合开发项目的步骤
- 基于axis的Webservice开发流程
- 基于axis的webService的创建
- Axis实现的WebService创建傻瓜教程
- axis平台下webService的创建
- Java 创建基于Axis的WebService
- Java Axis 创建简单的WebService .
- Axis创建WebService
- SSH整合的基本步骤
- ssh框架整合的步骤
- Java在已经存在的项目上创建WebService步骤
- 通过IDEA创建最基础的SSH框架流程
- webservice学习之AXIS初学笔记--创建自己的webservice
- spring 整合 axis 实现webservice
- java 通过Axis调用Webservice
- Java的I/O操作
- android加载动态链接库出现崩溃的现象的解决办法
- 黑马程序员——java反射机制
- Java之fail-fast总结(通过arraylist说明其原理及解决办法)
- 【css】清除浮动(clearfix 和 clear)的用法
- 通过Axis整合SSH 项目创建WebService的流程步骤
- 一些解决问题的思维
- Android 蓝牙开发基本流程
- Hadoop 编码
- 谷歌为何成为虚拟运营商服务
- Kaldi随笔(一)
- UDP打洞
- 闲聊CSS之关于clearfix--清除浮动
- Java之Iterator和Enumeration比较