基于axis的Webservice开发流程
来源:互联网 发布:多媒体教学软件破解版 编辑:程序博客网 时间:2024/05/18 02:19
采用axis2进行webservice开发的步骤:
1. 下载axis2的相关版本(bin和war两种)(官方网站)
2. 配置eclipse的插件设置, window->prefereces->Web service->axis2
3. 建一个java工程
4. 在工程中编写自己的webservice接口方法
5. 建立Src/webservice.xml文件配置,内容如下:
<serviceGroup>
<service name="GetFeedBackStateService" scope="application">
<description>GetFeedBackStateService</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">
casc.wlw.yk.service.GetFeedBackStateService</parameter>
</service>
</serviceGroup>
6. 在工程目录下建build.xml文件,用于ant编译,格式如下:
<project name="service" basedir="." default="makeService">
<property name="dist.dir" value="dist" />
<property name="dist.dir.classes" value="${dist.dir}/classes" />
<property name="AXIS2_HOME"
value="D:\axis2-1.6.2"/>
<path id="build.class.path">
<fileset dir="${AXIS2_HOME}/lib">
<include name="*.jar" />
</fileset>
</path>
<target name="makeService" depends="">
<copy file="src/services.xml" tofile="${dist.dir.classes}/META-INF/services.xml"
overwrite="true" />
<javac srcdir="src" destdir="${dist.dir.classes}"
includes="yk/service/*">
<classpath refid="build.class.path" />
</javac>
<jar basedir="${dist.dir.classes}" destfile="${dist.dir}/DemoService.aar" />
</target>
</project>
7. 将axis的war版本中的axis2.war文件放入tomcat的webapp下,启动tomcat会自动生成axis2文件夹,然后关闭tomcat
8. 将工程Ant打包,打开cmd,进入工程所在路径,ant打包生成arr文件
9. 将arr文件放入tomcat/webapp/axis2/web-inf/services目录下,启动tomcat
10. 打开浏览器, 输入 http://localhost:8080/axis2,打开services下的相关接口生成wsdl地址。
11. 配置wsdl2java的环境变量(axis/bin)
12. 用wsdl地址生成webservice服务
命令行: wsdl2java –uri http://localhost:8080/axis2/services/Cal?wsdl
自动生成src目录,有两个相关服务类。
13. 编写客户端调用webservice接口,示例如下:
CalculateServiceStub cal = new CalculateServiceStub();
CalculateServiceStub.Plus params = new CalculateServiceStub.Plus();
params.setArgs0(2);
params.setArgs1(3);
CalculateServiceStub.PlusResponse response = cal.plus(params);
System.out.println(response.get_return());
开发过程遇到的问题:
1. 客户端通过webservice接口访问服务端数据库,需要配置本地tomcat的数据库,以mysql为例:打开conf目录下的context.xml文件,加入以下内容:
<Resource
name="jdbc/fcwf"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/yingke"
username="root"
password="123"
maxActive="100"
maxIdle="30"
maxWait="5000"
/>
Webservice传递的内容必须是可序列化得,不管是参数还是返回值,list等集合类是不可序列化的,使用时会报错。解决办法
- 基于axis的Webservice开发流程
- 开发基于Axis的WebService
- 基于Axis的WebService测试,开发,部署
- 基于axis的webservice开发和配置
- Eclipse下基于Axis的webservice开发
- 基于axis的webService的创建
- Webservice,基于Axis的最佳实践。
- Webservice,基于Axis的最佳实践。
- 基于Axis的WebService简单实例
- 基于Axis、XFire、CXF的webservice 客户端
- Java 创建基于Axis的WebService
- 基于Axis的WebService简单实例
- 在myEclipse上快速开发基于Axis框架的webservice服务
- 基于cxf和axis两种框架下的webservice客户端开发
- AXIS:简单的webservice开发例子
- 基于Eclipse、Tomcat、Axis开发WebService简单实例
- Axis开发webservice
- 使用Axis开发WebService
- 拷贝构造函数与赋值函数;深拷贝,浅拷贝
- (九)Struts2中手工验证
- nullFilter
- SVN分支与合并透析
- 利用VBS实现 显示服务列表
- 基于axis的Webservice开发流程
- 拷贝构造函数的参数为什么必须使用引用类型
- 利用gdb在汇编指令级调试C程序
- Shell Scripting Tutorial-2: Shell, Kernel, Terminal & More
- hibernate循环执行update()时,问题详解
- 强大的vim配置,让编程更随意
- C++ 重写重载重定义区别
- mac os 终端对数据库的操作(自己留用)
- 数据链路层