`
basakasky
  • 浏览: 13447 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Web Service学习之axis

阅读更多

看着网上的资料学习了一下,做点笔记以防以后忘记。

 

一、准备工作:

    到axis官方网站下载相应的jar包,我下的是1.4final版。

    http://ws.apache.org/axis/

二、建立项目:

    直接在MyEclipse中建立了一个web项目。将相应的jar包拷贝到lib文件夹下

三、创建一个WebService服务

    直接创建一个类HelloClient.java

package com;

public class HelloServer {
	public String sayHello(String name) {
		return "Hello " + name;
	}
}

 

    axis支持两种方式创建,一种是将编写好的java文件改为*.jws文件。个人觉得这样不好,所以就用另外一种,采用在server-config.xml文件中配置的方式。注意:该文件位置为WEB-INF目录下

<?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">
	<globalConfiguration>
		<parameter name="adminPassword" value="admin" />
		<parameter name="enableNamespacePrefixOptimization"
			value="false" />
		<parameter name="dotNetSoapEncFix" value="true" />
		<parameter name="disablePrettyXML" value="true" />
		<parameter name="sendMultiRefs" value="true" />
		<parameter name="sendXsiTypes" value="true" />
		<parameter name="attachments.implementation"
			value="org.apache.axis.attachments.AttachmentsImpl" />
		<parameter name="sendXMLDeclaration" value="true" />

		<requestFlow>
			<handler type="java:org.apache.axis.handlers.JWSHandler">
				<parameter name="scope" value="session" />
			</handler>
			<handler type="java:org.apache.axis.handlers.JWSHandler">
				<parameter name="scope" value="request" />
				<parameter name="extension" value=".jwr" />
			</handler>
		</requestFlow>
	</globalConfiguration>

	<handler name="LocalResponder"
		type="java:org.apache.axis.transport.local.LocalResponder" />
	<handler name="URLMapper"
		type="java:org.apache.axis.handlers.http.URLMapper" />
	<handler name="Authenticate"
		type="java:org.apache.axis.handlers.SimpleAuthenticationHandler" />

	<service name="AdminService" provider="java:MSG">
		<parameter name="allowedMethods" value="AdminService" />
		<parameter name="enableRemoteAdmin" value="false" />
		<parameter name="className" value="org.apache.axis.utils.Admin" />
		<namespace>http://xml.apache.org/axis/wsdd/</namespace>
	</service>

	<service name="Version" provider="java:RPC">
		<parameter name="allowedMethods" value="getVersion" />
		<parameter name="className" value="org.apache.axis.Version" />
	</service>

	<!--    �����Զ����� -->
	<service name="HelloServer" provider="java:RPC">
		<parameter name="allowedMethods" value="*" />
		<parameter name="className" value="com.HelloServer" />
	</service>

	<transport name="http">
		<requestFlow>
			<handler type="URLMapper" />
			<handler
				type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
		</requestFlow>
		<parameter name="qs:list"
			value="org.apache.axis.transport.http.QSListHandler" />
		<parameter name="qs:wsdl"
			value="org.apache.axis.transport.http.QSWSDLHandler" />
		<parameter name="qs:method"
			value="org.apache.axis.transport.http.QSMethodHandler" />
	</transport>

	<transport name="local">
		<responseFlow>
			<handler type="LocalResponder" />
		</responseFlow>
	</transport>
</deployment>

   web.xml文件中的配置如下

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<listener>
		<listener-class>
			org.apache.axis.transport.http.AxisHTTPSessionListener
		</listener-class>
	</listener>

	<servlet>
		<servlet-name>AxisServlet</servlet-name>
		<display-name>Apache-Axis Servlet</display-name>
		<servlet-class>
			org.apache.axis.transport.http.AxisServlet
		</servlet-class>
	</servlet>

	<servlet>
		<servlet-name>AdminServlet</servlet-name>
		<display-name>Axis Admin Servlet</display-name>
		<servlet-class>
			org.apache.axis.transport.http.AdminServlet
		</servlet-class>
		<load-on-startup>100</load-on-startup>
	</servlet>

	<servlet>
		<servlet-name>SOAPMonitorService</servlet-name>
		<display-name>SOAPMonitorService</display-name>
		<servlet-class>
			org.apache.axis.monitor.SOAPMonitorService
		</servlet-class>
		<init-param>
			<param-name>SOAPMonitorPort</param-name>
			<param-value>5001</param-value>
		</init-param>
		<load-on-startup>100</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/servlet/AxisServlet</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>*.jws</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>SOAPMonitorService</servlet-name>
		<url-pattern>/SOAPMonitor</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

四、部署启动tomcat:

在浏览器地址栏输入

http://localhost:8080/axisWebServiceServer/services

可以看到已有的WebService

http://localhost:8080/axisWebServiceServer/services/HelloServer?wsdl

可以看到自己写的WebService

 

五、测试调用WebService

package com;

import java.net.MalformedURLException;
import java.rmi.RemoteException;

import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class HelloClient {

	public static void main(String[] args) {
		String status = "aaaaaaa";
		String endPoint = "http://localhost:8080/axisWebServiceServer/services/HelloServer";
		String operation = "sayHello";
		Service service = new Service();

		try {
			Call call = (Call) service.createCall();
			call.setTargetEndpointAddress(new java.net.URL(endPoint));
			call.setOperationName(operation);
			String xml = (String) call.invoke(new Object[] { status }); 
			System.out.println(xml);
		} catch (ServiceException e) {
			e.printStackTrace();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (RemoteException e) {
			e.printStackTrace();
		}

	}

}

 

 

成功!!

以上是简单应用

分享到:
评论

相关推荐

    MyEclipse下开发Web Service(Axis)

    ### MyEclipse下开发Web Service(Axis)...最后,对于希望进一步探索Web Service技术栈的开发者,建议深入研究SOAP协议、WSDL规范以及与之相关的安全性、事务处理机制等内容,以提升自身在企业级应用开发领域的竞争力。

    方便Web Service开发的axis2插件

    标题中的“方便Web Service开发的axis2插件”指的是Axis2,这是一个开源的Web服务框架,专门用于简化和加速在Java环境中开发Web服务的过程。它提供了丰富的功能集,包括自动代码生成、服务部署以及多种协议的支持,...

    Axis开发Web Service实例

    ### Axis开发Web Service实例详解 #### 一、概述 在探讨如何使用Apache Axis来开发Web Service之前,我们首先需要了解一些基本概念。 **Web Service**是一种标准的技术框架,用于实现不同平台之间的应用通信。它...

    WebService大讲堂之Axis2及其它web service资料

    【WebService大讲堂之Axis2及其它Web Service资料】 在IT行业中,Web Service是一种通过互联网进行应用程序间交互的标准技术。它允许不同的系统之间共享数据和服务,不受编程语言、操作系统或硬件平台的限制。本...

    基于AXIS2实现Web Service开发

    基于AXIS2实现Web Service开发是一项常见的任务,尤其在企业级应用中,Web Service作为不同系统间通信的重要桥梁。AXIS2是Apache软件基金会提供的一个轻量级、高性能的Web Service框架,它提供了完整的Web Service...

    web service axis项目实例

    标题中的"web service Axis项目实例"表明我们将探讨使用Axis框架来创建和使用Web服务。Axis提供了从WSDL(Web Services Description Language)到Java代码的绑定,以及从Java类到WSDL的自动生成,简化了Web服务的...

    Web Service Axis完整的实例

    总之,"Web Service Axis1.4 完整的实例"涵盖了创建、部署和使用Web服务的全过程,是学习Web服务开发和Axis框架的宝贵资源。通过研究这个实例,你可以深入理解Web服务的工作原理,以及如何利用Axis1.4工具有效地开发...

    web service axis 1.6

    Web服务Axis 1.6是Apache软件基金会开发的一个开源工具,专门用于构建和部署Web服务。它是基于Java的,能够使开发者轻松地将现有业务逻辑转换为Web服务,或者消费其他发布的Web服务。在本文中,我们将深入探讨Axis ...

    MyEclipse下开发Web Service(Axis)2

    MyEclipse下开发Web Service(Axis)2 一、环境准备 在使用 Axis 开发 Web Service 时,需要准备 web 服务器和 Axis API。本文使用的 Web container 是 Tomcat5.5,Axis API 采用版本 2。为便于开发,需要 downloads...

    web service示例[axis]

    在这个示例中,我们将探讨如何使用Apache Axis库来创建和使用一个简单的Web服务。Apache Axis是Java环境中广泛使用的Web服务工具,它提供了从WSDL(Web服务描述语言)到Java代码的编译器,以及反之亦然。 首先,...

    helios创建Web Service服务(axis2)

    而Apache Axis2是Apache软件基金会开发的一个Web Service引擎,它是基于SOAP(简单对象访问协议)的消息传递模型,用于处理Web Service的请求和响应。 **创建Web Service服务步骤:** 1. **安装和配置环境**:确保...

    Axis2与Eclipse整合开发的Web Service的服务端

    【标题】:Axis2与Eclipse整合开发的Web Service服务端详解 【描述】:本文将详细介绍如何在Eclipse环境中利用Axis2框架开发一个Web Service服务端,包括计算器服务CalculateService的实现步骤。 【标签】:Axis2,...

    axis web Service

    学习和理解Axis Web Service,对于Java开发者来说,不仅可以提升Web服务开发的效率,还能深入理解Web服务的原理和标准。通过研究提供的示例代码,可以更直观地了解如何在实际项目中应用Axis框架,这对于提升技能和...

    web service axis 总结文档 相关实例说明

    本文档将对Web Service Axis进行详细总结,并提供相关实例说明。 1. Web Service简介 Web服务是通过HTTP协议传输数据的一种方式,它利用SOAP(Simple Object Access Protocol)作为消息传输格式,WSDL(Web ...

    Web Service开发及axis 的客户端使用.rar

    在"Web Service开发及axis 的客户端使用.pdf"文档中,可能会包含一个具体的示例,展示如何创建一个简单的Web服务并使用Axis客户端进行调用。这个过程可能包括: 1. 定义一个简单的Java服务接口,如计算两个数的和。 ...

    用Axis2创建Web Service

    【Apache Axis2 创建 Web Service 知识点详解】 Apache Axis2 是一个强大的 Web Service 框架,由 Apache 软件基金会开发,主要用于构建和部署高性能、高效率的 Web Services。它基于 Java 语言,提供了全面的 Web ...

    axis web service例子

    总结来说,"axis web service例子"是一个实践性的教学资源,帮助开发者深入理解Java Axis Web服务的工作机制,包括服务的创建、部署和调用。通过实际操作,学习者可以提升自己的Web服务开发技能,为未来的项目开发...

    axis2 web service完整教学

    【Apache Axis2 Web Service 教程】 Apache Axis2 是一个流行的开源Web服务框架,用于创建、部署和管理高性能的Web服务。本教程将详细介绍如何在Eclipse环境中利用Apache Axis2搭建Web服务及其客户端。 **环境配置...

Global site tag (gtag.js) - Google Analytics