`

基于Axis2的WS构建服务端示例

阅读更多

前面写了一篇文章:WSDL自动创建服务端与客户端代码,可以参考如下链接http://zhangzhenting.iteye.com/blog/624364

 

本文主要介绍如何根据生成的服务端代码来构建服务端,以及axis2与spring的整合应用,操作步骤如下:

创建一个web工程,并将生成的服务端代码复制到工程源文件夹(src)中。

找到axis2的安装目录,将以下文件夹复制到工程根目录(WebRoot)下:

axis2-1.3\webapp\axis2-web

将以下文件夹复制到WEB-INF目录下:

axis2-1.3\conf

axis2-1.3\repository\modules

axis2-1.3\repository\services

可以通过附件图片查看Eclipse中的目录结构。

 

在根目录下新建 resources\META-INF 文件夹,并建立 services.xml 文件(可以通过WSDL自动创建,和代码一起创建的),添加内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
	<service name="UserService">
		<messageReceivers>
			<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out" class="com.zzt.ws.UserServiceMessageReceiverInOut" />
		</messageReceivers>
		<parameter name="ServiceClass">com.zzt.ws.UserServiceSkeleton</parameter>
		<parameter name="ServiceObjectSupplier">org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier</parameter>
		<parameter name="SpringBeanName">UserServiceBean</parameter>
		<parameter name="useOriginalwsdl">true</parameter>
		<parameter name="modifyUserWSDLPortAddress">false</parameter>
		<operation name="selectUDBAssertion" mep="http://www.w3.org/ns/wsdl/in-out">
			<actionMapping>tns:UserAssertion</actionMapping>
			<outputActionMapping>tns:UserAssertionResponse</outputActionMapping>
		</operation>
	</service>
</serviceGroup>

该文件为axis2服务的配置文件,其中SpringBeanName对应Spring中的Bean,该bean配置为axis2服务端的实现类, 在该应用中为:com.zzt.ws.UserServiceSkeleton

 

其中 aar 可以通过下面方式来生成:

将当前目录指向 resource 目录,并通过下面方式生成 aar 文件并复制到 services 目录,并修改 services.list 文件

D:\workspace\Test_Axis2\WebContent\resources>jar -cvf UserService.aar META-INF
标明清单(manifest)
忽略项 META-INF/
增加:META-INF/services.xml(读入= 1111) (写出= 474)(压缩了 57%)
增加:META-INF/UserService.wsdl(读入= 7495) (写出= 1019)(压缩了 86%)

 

在web.xml中注册axis2的相关信息:

<!--axi2相关配置-->
	<servlet>
		<servlet-name>AxisServlet</servlet-name>
		<display-name>Apache-Axis Servlet</display-name>
		<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet>
		<servlet-name>AxisAdminServlet</servlet-name>
		<servlet-class>org.apache.axis2.webapp.AxisAdminServlet</servlet-class>
	</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>AxisAdminServlet</servlet-name>
		<url-pattern>/axis2-admin/*</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>/axis2-web/index.jsp</welcome-file>
	</welcome-file-list>
	<error-page>
		<error-code>404</error-code>
		<location>/axis2-web/Error/error404.jsp</location>
	</error-page>
	<error-page>
		<error-code>500</error-code>
		<location>/axis2-web/Error/error500.jsp</location>
	</error-page>

 

将以上项目部署到服务器中并访问http://localhost:8080/zzt/services/listServices可以查看服务描述信息。

下面附件给出该示例的代码,因工程比较大,所以去掉了lib里面的所有jar文件,jar文件可以从axis2安装目录lib下获取。

  • 大小: 16.8 KB
分享到:
评论
1 楼 andey007518 2014-03-26  
不错,明天好试验试验

相关推荐

    基于axis2实现的webservice简单实现(客户端+服务端)。

    总的来说,这个压缩包提供了一个完整的基于Axis2的Web服务实现示例,包括服务端创建服务和客户端调用服务的所有必要组件。通过学习和理解这些文件,开发者可以更好地掌握如何在实际项目中利用Apache Axis2构建和使用...

    axis2 服务端源代码

    【标题】:“Axis2 服务端源代码” 在IT领域,特别是Web服务开发中,Apache Axis2是一个广泛使用的SOAP(简单对象访问协议)引擎。它为开发者提供了构建高性能、高效率Web服务的能力。本资源“Axis2服务端源代码”...

    axis2学习资料Java示例代码.zip

    - **WS-Security**:如果包含安全相关的示例,你还需要了解Web服务安全标准,如WS-Security,以及如何在Axis2中实现它。 通过深入研究这些示例,你可以掌握Axis2的核心功能,并具备使用Axis2创建和消费Web服务的...

    Axis2Demo,最简单的Axis2的体现,客户端口

    本篇将深入讲解标题为"Axis2Demo"的示例,它展示了Axis2在客户端和服务端的应用。 ### 1. Axis2简介 Axis2是基于SOAP(Simple Object Access Protocol)的,用于处理Web服务的底层通信。它基于AXIOM(Abstract XML...

    pojo生成的WS服务端和自动生成的客户端

    【标题】"pojo生成的WS服务端和自动生成的客户端"主要涉及到的是基于Java的Web Service技术,尤其是Axis2框架的应用。Web Service是一种通过网络进行通信的方式,它允许不同系统间的应用程序相互交互,实现数据交换...

    Axis2例子Demo

    Axis2是基于SOAP(简单对象访问协议)的Web服务框架,它构建在AXIOM(抽象XML信息模型)之上,提供了高性能和低内存消耗。Axis2支持多种传输协议,如HTTP、HTTPS,以及消息格式,如SOAP、RESTful。它具有模块化结构...

    webservice学习二之(1)axis2服务器端方式开发总结(附件含有项目)

    Web服务在IT行业中扮演...通过学习这篇博客文章,你应该能够掌握使用Axis2构建Web服务的基本流程,并通过提供的客户端示例加深理解。对于进一步提升,你可能还需要学习关于SOAP消息结构、XML Schema和WS-*规范的细节。

    最新axis2实例.rar

    Axis2是Apache软件基金会开发的一个Web服务框架,用于构建高性能、高效率的SOAP(Simple Object Access Protocol)服务器和客户端。这个“最新axis2实例.rar”压缩包提供了最新的Axis2实例,便于开发者学习和实践...

    axis2-1.4.1-bin

    而“axis2-1.4.1”可能是一个包含所有Axis2库文件、示例和服务部署文件的目录,用户可以解压后在本地环境中运行和测试Web服务。 在使用Axis2时,开发者可以创建服务部署档案(.aar文件),这些档案包含了服务的类、...

    axis2-1.7.7-bin.zip下载

    Apache Axis2是基于Java的Web服务引擎,它允许开发者创建、部署和管理Web服务。Axis2是Apache SOAP(Simple Object Access Protocol)项目的第二代产品,提供了高性能、灵活且可扩展的框架,支持多种协议,包括SOAP...

    Axis2教程和java调用webservice的各种方法总结

    **标签“axis2”** 说明内容的核心技术是Axis2,这是一个基于Apache SOAP项目构建的Web服务框架,用于处理SOAP消息并支持WS-*标准。 **文件名称列表解析** 1. "Axis2 教程 - - ITeye技术网站.mht":这个文件很可能...

    java axis 调用webservice服务端

    Java Axis调用WebService服务端是Java开发者在进行分布式系统交互时常见的一种技术实践。Axis是Apache软件基金会开发的一个开源项目,它提供了一种方便、高效的方式,使得Java应用程序能够作为客户端来消费或作为...

    Spring + axis2 开发 webservice

    当我们谈论“Spring + Axis2 开发 WebService”时,这通常指的是使用Spring框架与Apache Axis2工具来创建、部署和消费基于SOAP(Simple Object Access Protocol)的Web服务。以下是关于这个主题的详细知识点: 1. *...

    AXIS2快速学习资料

    AXIS2是Apache软件基金会开发的一个开放源代码的Web服务框架,主要用于构建高效、灵活且可扩展的Web服务。这个框架基于SOAP(简单对象访问协议)和WSDL(Web服务描述语言),支持多种协议和消息格式,如HTTP、HTTPS...

    axis2jar包

    8. **安全特性**: Axis2支持多种安全机制,如WS-Security、WS-SecureConversation和WS-Trust,确保Web服务的安全通信。 9. **消息处理**: Axis2包含一个强大的消息引擎,能够处理复杂的SOAP消息结构,包括处理头...

    axis2-1.8.0apache-cxf-3.4.4.rar

    在压缩包文件名称列表中,我们只看到了"axis2-1.8.0apache-cxf-3.4.4",这意味着压缩包内可能包含了这两个项目的源码、库文件、文档以及可能的示例项目。开发者可以解压后按照指导文档配置和使用这些工具,以构建和...

    axis2实现webservice

    - **定义**:Apache Axis2是基于Java的一个开源的WebService框架,它支持多种标准(包括SOAP1.1、SOAP1.2、WS-Addressing等),并且具有轻量级、模块化的特点。Axis2提供了强大的工具集来简化WebService的开发过程。...

    axis2-1.7.9-bin

    Axis2是Apache软件基金会开发的,用于构建和部署Web服务的高性能、灵活且可扩展的平台。这个“bin”后缀通常意味着这是一个二进制发行版,包含预编译的类库和运行时环境,可以直接在操作系统上运行,无需进行额外的...

Global site tag (gtag.js) - Google Analytics