`
basakasky
  • 浏览: 13371 次
  • 性别: 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();
		}

	}

}

 

 

成功!!

以上是简单应用

分享到:
评论

相关推荐

    方便Web Service开发的axis2插件

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

    Axis开发Web Service实例

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

    MyEclipse下开发Web Service(Axis)

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

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

    【WebService大讲堂之Axis2及其它Web Service资料】 在IT行业中,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 Axis Web服务的工作机制,包括服务的创建、部署和调用。通过实际操作,学习者可以提升自己的Web服务开发技能,为未来的项目开发...

    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 ...

    axis2 web service完整教学

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

Global site tag (gtag.js) - Google Analytics