




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用axis实现Web Service一、实践过程1、在MyEclipse中新建一个testaxis应用工程,导入11个jar包文件后刷新testaxis应用工程,然后部署testaxis应用工程到Tomcat服务器中,截图如下: 2、配置环境变量的信息CATALINA_HOME= C:Tomcat_5_0AXIS_HOME= %CATALINA_HOME%webappstestaxisWEB-INFAXIS_LIB=%AXIS_HOME%libAXISCLASSPATH=%AXIS_LIB%activation.jar;%AXIS_LIB%axis.jar;%AXIS_LIB%commons-discovery-0.2.jar;%AXIS_LIB%commons-logging-1.0.4.jar;%AXIS_LIB%jaxrpc.jar;%AXIS_LIB%log4j-1.2.8.jar;%AXIS_LIB%mail.jar;%AXIS_LIB%saaj.jar;%AXIS_LIB%wsdl4j-1.5.1.jar;%AXIS_LIB%xercesImpl.jar;%AXIS_LIB%xml-apis.jar3、确认testaxis应用的lib中包括上述的jar文件,包括文件名必须一样。4、我要发布的服务是UserManage,待发布的java文件是UserManageInter.java和UserManageSoapBindingImpl.java,发布的方法是addPerson,JAVA代码如下:程序代码1:UserManageInter.javapackage com.soap.usermanage;import java.rmi.Remote;import java.rmi.RemoteException;public interface UserManageInter extends Remote public void addUser(UserBean userBean) throws RemoteException;程序代码2:UserManageSoapBindingImpl.javapackage com.soap.usermanage;import java.rmi.RemoteException;public class UserManageSoapBindingImpl implements UserManageInterpublic void addUser(com.soap.usermanage.UserBean userBean) throws java.rmi.RemoteException return; /不用加处理代码程序代码3:UserBean.javapackage com.soap.usermanage;public class UserBean private String ID; private String name; private String address; public String getAddress() return address; public void setAddress(String address) this.address = address; public String getID() return ID; public void setID(String id) ID = id; public String getName() return name; public void setName(String name) = name; 5、修改testaxis应用的web.xml文件,增加相关内容Apache-Axisorg.apache.axis.transport.http.AxisHTTPSessionListenerAxisServletApache-Axis Servletorg.apache.axis.transport.http.AxisServletAdminServletAxis Admin Servletorg.apache.axis.transport.http.AdminServlet100SOAPMonitorServiceSOAPMonitorServiceorg.apache.axis.monitor.SOAPMonitorServiceSOAPMonitorPort5001100AxisServlet/servlet/AxisServletAxisServlet*.jwsAxisServlet/services/*SOAPMonitorService/SOAPMonitorAdminServlet/servlet/AdminServlet5wsdltext/xmlxsdtext/xml6、重启应用,访问http:/localhost:8080/testaxis/services,应该可以看到目前系统所提供SOAP服务的列表,应该只有两个,都是自带的,(AdminService和Version),如图:7、根据deploy.wsdd 生成 server-config.wsdd。新写的deploy.wsdd 文件内容可参考已有的格式写,内容根据待发布的服务的类和方法自己调整一下。代码如下: 8、把写好的deploy.wsdd 放到%CATALINA_HOME%webappstestaxisWEB-INF目录下,进入DOS命令窗口,进入%CATALINA_HOME%webappstestaxisWEB-INF目录,执行以下命令,会在该目录下生成一个server-config.wsdd文件。C:Tomcat_5_0webappstestaxisWEB-INFjava -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp:/localhost:8080/testaxis/services/AdminService deploy.wsdd执行结果如下:刷新页面,显示结果如下:9、根据WSDL生成客户端代码,新建目录C:Tomcat_5_0webappsjavaclient,并在这个新建的目录下执行以下命令:java -cp %AXISCLASSPATH% org.apache.axis.wsdl.WSDL2Java http:/localhost:8080/testaxis/services/UserManage?wsdl执行结果如下:生成的文件如下:10、根据WSDL生成服务端代码,新建目录C:Tomcat_5_0webappsjavaserver,并在这个新建的目录下执行以下命令:java -cp %AXISCLASSPATH% org.apache.axis.wsdl.WSDL2Java -s http:/localhost:8080/testaxis/services/UserManage?wsdl执行结果如下:生成的文件如下:11分析所生成的文件,服务器端比客户端多了一个PersonManageSoapBindingImpl.java的文件,该文件就是服务端的实现类文件。把生成服务端的代码加到工程里,相关的文件已被修改为支持远程SOAP调用。接下来我们可以在上述的实现类中添加逻辑就可以了。修改后的代码如下:UserManageSoapBindingImpl.java/* * UserManageSoapBindingImpl.java * * This file was auto-generated from WSDL * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. */package com.soap.usermanage;public class UserManageSoapBindingImpl implements com.soap.usermanage.UserManageInter public void addUser(com.soap.usermanage.UserBean userBean) throws java.rmi.RemoteException System.out.print(Info: * userBean=+userBean.toString()+ID =+userBean.getID(); System.out.println(Name = +userBean.getName()+Address =+userBean.getAddress(); 13、把客户端代码给用户,让用户可以调用我们所提供的服务。客户端测试代码在目录中,叫TestClient.java 代码如下:TestClient.javapackage com.soap.usermanage;import .MalformedURLException;import .URL;import javax.xml.rpc.ServiceException;public class TestClient /* * param args */public static void main(String args) / TODO Auto-generated method stubtry UserManageService service = new UserManageServiceLocator();UserManageInter userManage = service.getUserManage(new URL(service.getUserManageAddress();UserBean userBean = new UserBean();userBean.setAddress(China Beijing);userBean.setID(06001);userBean.setName(Peter China);userManage.addUser(userBean);System.out.println(This is the end of the T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国半导体功率器件行业市场投资可行性调研报告
- 2025年中国TFT-LCD背光模组行业市场规模调研及投资前景研究分析报告
- 婴儿店合伙协议书
- 子女写离婚协议书
- 驾驶员管理协议书
- 干细胞顾客协议书
- 第三方合同转让协议书
- 调解方案和调解协议书
- 聘请科研院协议书
- 摞荒地代耕协议书
- DB34∕T 2570-2015 祁红香螺加工技术规程
- 湖北省黄冈市(2024年-2025年小学三年级语文)人教版随堂测试(下学期)试卷(含答案)
- 中医护理学 课件 模块七 中医护理操作 项目九中药熏洗技术
- 2021MAM-6070M空压机微电脑控制器
- 2024年全国高考新课标卷物理真题(含答案)
- J∕T∕T 1039-2016 公路桥梁聚氨酯填充式伸缩装置
- 工学云周报范文200字
- 山东省济南市高新区2023-2024学年八年级下学期期末物理试题
- 2022-2023学年广东省广州市荔湾区教科版(广州)四年级下册期末综合练习英语试卷(无答案)
- DLT 5285-2018 输变电工程架空导线(800mm以下)及地线液压压接工艺规程
- 蛛网膜下腔出血及动脉瘤影像表现
评论
0/150
提交评论