WebService框架整理(一) Axis1
发布时间:2020-12-16 23:42:06 所属栏目:安全 来源:网络整理
导读:Axis用过一段时间后就听说Axis2横空出世,继而接触了CXF,如果不赶紧整理,怕是都要遗忘了,今天咱就先整理一下Axis1。 Axis1终于1.4版本,此后转为 Axis2。 先搭建一个简单的Axis1,日后根据需要逐步求精。 相关链接: WebService框架整理(一) Axis1 WebS
Axis用过一段时间后就听说Axis2横空出世,继而接触了CXF,如果不赶紧整理,怕是都要遗忘了,今天咱就先整理一下Axis1。
Axis1终于1.4版本,此后转为 Axis2。 先搭建一个简单的Axis1,日后根据需要逐步求精。 相关链接: WebService框架整理(一) Axis1 WebService框架整理(二) Axis1+Spring 在开始构建前,我们需要获得以下jar包:
引用
activation.jar axis.jar commons-discovery.jar commons-logging.jar log4j.jar jaxrpc.jar mail.jar wsdl4j.jar 首先,需要在WEB-INF下构建server-config.wsdd文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <transport name="http"> <requestFlow> <handler type="java:org.apache.axis.handlers.http.URLMapper" /> </requestFlow> </transport> <transport name="local"> <responseFlow> <handler type="java:org.apache.axis.transport.local.LocalResponder" /> </responseFlow> </transport> <service name="Version" provider="java:RPC"> <parameter name="allowedMethods" value="getVersion" /> <parameter name="className" value="org.apache.axis.Version" /> </service> </deployment> 我们将测试Axis1内部的Version服务。 接下来,我们构建web.xml文件,如下所示: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Apache-Axis</display-name> <servlet> <display-name>Apache-Axis Servlet</display-name> <servlet-name>axis</servlet-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>axis</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app> 所有以/services/开头的请求都将转交给AxisServlet处理。 构建一个测试用例,如下所示: import static org.junit.Assert.*; import java.net.URL; import javax.xml.namespace.QName; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.junit.Before; import org.junit.Test; /** * WebService测试 * * @author 梁栋 * @version 1.0 * @since 1.0 */ public class WebServiceTest { private String namespaceUri = "http://localhost:8080/axis/services/Version"; private String wsdlUrl = namespaceUri + "?wsdl"; /** * 测试 * * @throws Exception */ @Test public final void test() throws Exception { // 创建调用对象 Service service = new Service(); Call call = (Call) service.createCall(); // 调用 远程方法 call.setOperationName(new QName(namespaceUri,"getVersion")); // 设置URL call.setTargetEndpointAddress(new URL(wsdlUrl)); // 执行远程调用,同时获得返回值 String version = (String) call.invoke(new Object[] {}); // 打印信息 System.err.println(version); // 验证 assertNotNull(version); } } 启动服务,访问地址 http://localhost:8080/axis/services,得到如下页面: 单击getVersion服务,进入WSDL页面,如图所示: 我们已经能够正常访问该服务了,执行测试用例,如果我们正常获得版本信息则认为验证通过! Axis就这么简单! 控制台得到如下信息,如图所示: 其实,在Eclipse中我们可以直接使用IDE提供的工具进行WebService验证,按下图步骤执行操作: 得到一个页面,如图所示: 继续按步骤点击,看看得到什么内容: 在Eclipse中,即便我们没有测试用例,也可使用IDE自带的工具进行验证! 朋友可以下载这个简单的实例,见附件! WebService框架整理(一) Axis1 WebService框架整理(二) Axis1+Spring (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- RFC1542:Clarifications and Extensions for the Bootstra
- 如何使用transclude将代码添加到我的指令中并传入AngularJS
- 使用中国气象局的天气预报webservice,wsdl2java生成JAVA类
- Bash脚本中的持久连接
- WebService学习总结 五 使用cxf 开发webService
- shell – 如何删除多个文件的尾部空白?
- active-directory – 通过POSIX帐户扩充保持AD Group在Open
- Angular 4 Ngx-datatable Filter非工作对象为null但是被访问
- 在bash中取消设置只读变量
- 当ng选项引用不同模型与选择模型时,AngularJS 1.3.0不再显示