使用axis实现web service.doc_第1页
使用axis实现web service.doc_第2页
使用axis实现web service.doc_第3页
使用axis实现web service.doc_第4页
使用axis实现web service.doc_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论