阿里云增加网站,镇江网站排名优化公司,一般的网站是由什么语言做的,泉州做网站优化axis网上的教程很多#xff0c;不过搜来搜去#xff0c;总是只有那么几篇。仔细看了一下那几篇文章#xff0c;都感觉到不是自己想要的#xff0c;所以自己整理了一篇分享一下。 本文介绍axis应用的一个小例子#xff0c;没有麻烦的命令行操作#xff0c;只需照下面的步骤…axis网上的教程很多不过搜来搜去总是只有那么几篇。仔细看了一下那几篇文章都感觉到不是自己想要的所以自己整理了一篇分享一下。 本文介绍axis应用的一个小例子没有麻烦的命令行操作只需照下面的步骤做就可以了。以下是详细的操作步骤。(注本实例用的是axis非axis2) 1. 环境准备l MyEclipse 6.5 l Tomcat 6 l JDK 1.5 l axis(非axis2) 2. 新建web工程新建一web工程工程名称为axistest。新建完成后导入下图所示的axis相关的jar包。 3. 在web.xml中添加axis相关的配置信息 [xhtml] view plain copy servlet display-nameApache-Axis Servlet/display-name servlet-nameAxisServlet/servlet-name servlet-classorg.apache.axis.transport.http.AxisServlet/servlet-class /servlet servlet display-nameAxis Admin Servlet/display-name servlet-nameAdminServlet/servlet-name servlet-classorg.apache.axis.transport.http.AdminServlet/servlet-class load-on-startup100/load-on-startup /servlet servlet-mapping servlet-nameAxisServlet/servlet-name url-pattern/servlet/AxisServlet/url-pattern /servlet-mapping servlet-mapping servlet-nameAxisServlet/servlet-name url-pattern*.jws/url-pattern /servlet-mapping servlet-mapping servlet-nameAxisServlet/servlet-name url-pattern/services/*/url-pattern /servlet-mapping servlet-mapping servlet-nameAdminServlet/servlet-name url-pattern/servlet/AdminServlet/url-pattern /servlet-mapping 4. 新建提供服务的Java类在src下新建com包在com包下新建HelloWorld类HelloWorld的内容如下 [java] view plain copy package com; public class HelloWorld { public String sayHello(String msg){ if(nullmsg || .equals(msg)){ return 您好!; }else{ return 您好 msg !; } } public int sayAge(){ return 28; } } 5. 配置server-config.wsdd在WEB-INF下新建server-config.wsdd文件内容如下 [xhtml] view plain copy deployment xmlnshttp://xml.apache.org/axis/wsdd/ xmlns:javahttp://xml.apache.org/axis/wsdd/providers/java !-- 处理器 -- handler nameURLMapper typejava:org.apache.axis.handlers.http.URLMapper / !-- 一个服务 -- !-- providerjava:RPC webservice是以javabean的形式提供的-- service namehelloWorldService providerjava:RPC !-- 指定类名 -- parameter nameclassName valuecom.HelloWorld / !-- 类中允许访问的方法 -- parameter nameallowedMethod value*/parameter /service !-- 指定处理器 -- transport namehttp requestFlow handler typeURLMapper/!-- 引用上边的 -- /requestFlow /transport /deployment wsdd文件标签节点说明 deployment表明这是一个axis部署描述文件 serviceaxis提供的一个web service服务。service标签中parameter allowedMethod用于指定一个以空格分隔的方法名只有这些方法可以通过web service访问。也可以将这个值指定为“*”表示所有的方法都可以访问。 provider服务类型共有四种分别是RPC,Document,Wrapped和Message。详见org.apache.axis.providers包的API文档 parameter用来设置Axis的各种属性 requestFlow局的请求Handlers在调用实际的服务之前调用 transport定义了服务器端的传输方式 至此web service相关的东西已经配置好此时工程的目录结构如下 6. 部署到Tomcat测试将工程发布到Tomcat,在浏览器里访问http://127.0.0.1:9999/axistest/services如果出现如下页面则表示web service部署成功 点击上面的wsdl链接进入下图所示页面 注意上面的红圈的namespace下面测试QName有用到。 7. 客户端测试在com包下新建测试类名称为ClientTest,内容如下 [java] view plain copy package com; import java.NET.MalformedURLException; import java.rmi.RemoteException; import javax.xml.namespace.QName; import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call; import org.apache.axis.client.Service; /** * author 花非花雾非雾 * date 2010-12-24 */ public class ClientTest { public static void main(String[] args) throws MalformedURLException, RemoteException { Service service new Service(); try { Call call (Call) service.createCall(); //设置地址 call.setTargetEndpointAddress(new java.Net.URL(http://127.0.0.1:9999/axistest/services/helloWorldService?wsdl)); //设置要执行的方法 call.setOperationName(new QName(http://com,sayHello)); //设置要传入参数,如果没有要传入的参数则不要写这个 call.addParameter(msg, org.apache.axis.Constants.XSD_STRING,javax.xml.rpc.ParameterMode.IN); //设置返回的类型 call.setReturnType(org.apache.axis.Constants.XSD_STRING); String name 花非花雾非雾; //执行调用webservice String result (String) call.invoke(new Object[]{name}); System.out.println(返回的结果是result); } catch (ServiceException e) { e.printStackTrace(); } } } 如果一切正常运行结果如下 返回的结果是您好花非花雾非雾! 参考资料: axis 的官方资料转载于:https://www.cnblogs.com/forestwolf/p/6187442.html