`
mamacmm
  • 浏览: 200509 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

Axis2简单入门

    博客分类:
  • J2EE
 
阅读更多

1.到Apache官网下载Axis2

 

给你地址:http://axis.apache.org/axis2/java/core/download.cgi

 

2.设置环境

 

把下载好的Axis2放到一个你喜欢的位置,我放在了

F:\Program Files\axis2-1.5.5

 

然后设置环境变量:

AXIS2_HOME=F:\Program Files\axis2-1.5.5
在PATH 最后添加 ;%AXIS2_HOME%\bin

 

3.简单测试

 

%AXIS2_HOME%\bin\axis2server.bat (Windows)

执行这个脚本,会看到:

Using JAVA_HOME    C:\Program Files\Java\jdk1.7.0
Using AXIS2_HOME   F:\Program Files\axis2-1.5.5
[INFO] [SimpleAxisServer] Starting
[INFO] [SimpleAxisServer] Using the Axis2 RepositoryF:\Program Files\axis2-1.5.5\repository
[SimpleAxisServer] Using the Axis2 RepositoryF:\Program Files\axis2-1.5.5\repository
[SimpleAxisServer] Using the Axis2 Configuration FileF:\Program Files\axis2-1.5.5\conf\axis2.xml
[INFO] Clustering has been disabled
[INFO] Deploying module: addressing-1.5.5 - file:/F:/Program Files/axis2-1.5.5/repository/modules/ad
dressing-1.5.5.mar
[INFO] Deploying module: metadataExchange-1.5.5 - file:/F:/Program Files/axis2-1.5.5/repository/modu
les/mex-1.5.5.mar
[INFO] Deploying module: mtompolicy-1.5.5 - file:/F:/Program Files/axis2-1.5.5/repository/modules/mt
ompolicy-1.5.5.mar
[INFO] Deploying module: ping-1.5.5 - file:/F:/Program Files/axis2-1.5.5/repository/modules/ping-1.5
.5.mar
[INFO] Deploying module: script-1.5.5 - file:/F:/Program Files/axis2-1.5.5/repository/modules/script
ing-1.5.5.mar
[INFO] Deploying module: soapmonitor-1.5.5 - file:/F:/Program Files/axis2-1.5.5/repository/modules/s
oapmonitor-1.5.5.mar
[INFO] Deploying Web service: version.aar - file:/F:/Program Files/axis2-1.5.5/repository/services/v
ersion.aar
[INFO] [SimpleAxisServer] Started
[SimpleAxisServer] Started
[INFO] Listening on port 8080

 

 

在浏览器里面输入:http://localhost:8080/axis2/services/

 

如果看到:

 

Deployed servicesVersion
Available operations

  • getVersion

 

这说明Axis2没问题

 

4.编译Axis2项目

 

首先,你应该下载了 Ant ,并且版本要大于 1.6.5 ,设置好Ant环境变量 ,然后再进行下面的操作

 

下面进入到 $AXIS_HOME/webapp 下

F:\Program Files\axis2-1.5.5\webapp>ant -version
Apache Ant(TM) version 1.8.2 compiled on December 20 2010
F:\Program Files\axis2-1.5.5\webapp>ant create.war
Buildfile: F:\Program Files\axis2-1.5.5\webapp\build.xml
init:
    [mkdir] Created dir: F:\Program Files\axis2-1.5.5\dist
    [mkdir] Created dir: F:\Program Files\axis2-1.5.5\dist\temp
     [copy] Copying 59 files to F:\Program Files\axis2-1.5.5\dist\temp
prepare.repo:
     [copy] Copying 9 files to F:\Program Files\axis2-1.5.5\dist\temp\WEB-INF
    [mkdir] Created dir: F:\Program Files\axis2-1.5.5\dist\temp\WEB-INF\conf
     [copy] Copying 1 file to F:\Program Files\axis2-1.5.5\dist\temp\WEB-INF\conf
create.war:
      [war] Building war: F:\Program Files\axis2-1.5.5\dist\axis2.war
   [delete] Deleting directory F:\Program Files\axis2-1.5.5\dist\temp
BUILD SUCCESSFUL
Total time: 4 seconds
F:\Program Files\axis2-1.5.5\webapp>

 
这样,便编译好了Axis2的项目。

 

5.测试Axis2项目

 

准备使用 Tomcat容器,所以,没有的先下载。

 

刚刚build好的Axis2项目应该在 AXIS2_HOME/dist 下面

 

把这个 axis2.war  剪切(或者复制)到tomcat下的webapp目录下,启动Tomcat(启动前把刚刚打开的Axis服务关掉,因为都用了8080端口)。

 

 

再输入下面的地址:

 

 http://localhost:8080/axis2/axis2-web/index.jsp

 

 如果看到这样的结果:

 

Welcome!

 

Welcome to the new generation of Axis. If you can see this page you have successfully deployed the Axis2 Web Application. However, to ensure that Axis2 is properly working, we encourage you to click on the validate link.

  • Services
    View the list of all the available services deployed in this server.
  • Validate
    Check the system to see whether all the required libraries are in place and view the system information.
  • Administration
    Console for administering this Axis2 installation.
<!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more contributor license agreements. See the NOTICE file ~ distributed with this work for additional information ~ regarding copyright ownership. The ASF licenses this file ~ to you under the Apache License, Version 2.0 (the ~ "License"); you may not use this file except in compliance ~ with the License. You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, ~ software distributed under the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations ~ under the License. -->

 

说明成功了。

 

点击 Services 可查看当前存在的服务。

 

 

6.编写测试服务

 

 使用Eclipse新建一个Java项目

 

导入所需jar包:当然就是 %AXIS2_HOME%\lib  下面的所有jar包(为了方便)。

 

新建包:

 

mm.test.webservices.axis2userguide

 

在这个包下面

创建 SampleService.java

 

内容如下:

 

package mm.test.webservices.axis2userguide;

import javax.xml.stream.XMLStreamException;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;

public class SampleService {

	public OMElement sayHello(OMElement element) throws XMLStreamException {
		element.build();
		element.detach();

		String rootName = element.getLocalName();
		System.out.println("Reading " + rootName + " element");

		OMElement childElement = element.getFirstElement();
		String personToGreet = childElement.getText();

		OMFactory fac = OMAbstractFactory.getOMFactory();
		OMNamespace omNs = fac.createOMNamespace(
				"http://example1.org/example1", "example1");
		OMElement method = fac.createOMElement("sayHelloResponse", omNs);
		OMElement value = fac.createOMElement("greeting", omNs);
		value.addChild(fac.createOMText(value, "Hello, " + personToGreet));
		method.addChild(value);

		return method;
	}

	@SuppressWarnings("unused")
	private void ping() {
	}

}

 

然后再到另一个地方(随意,当然,当前项目下也可以)创建一个文件夹:

 

 J:\SampleService

 

 这是我的。

 

然后,把刚才编译好的 mm.test.webservices.axis2userguide.SampleService.class

连带文件夹拷到这个目录下

 

再在当前目录下新建:

 

META-INF

 

在META-INF目录下新建文件:services.xml,内容如下:

 

<service name="UserGuideSampleService">
    <description>
        This is a sample service created in the Axis2 User's Guide
    </description>

    <parameter name="ServiceClass">
    	mm.test.webservices.axis2userguide.SampleService
		</parameter>

    <operation name="sayHello">
        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
    </operation>
    <operation name="ping">
        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
    </operation>
</service>

 

还是在J:\SampleService文件夹下,打开cmd窗口,输入:

J:\SampleService>jar cvf SampleService.aar ./*
标明清单(manifest)
忽略项 META-INF/
增加:META-INF/services.xml(读入= 549) (写出= 243)(压缩了 55%)
增加:mm/(读入= 0) (写出= 0)(存储了 0%)
增加:mm/test/(读入= 0) (写出= 0)(存储了 0%)
增加:mm/test/webservices/(读入= 0) (写出= 0)(存储了 0%)
增加:mm/test/webservices/axis2userguide/(读入= 0) (写出= 0)(存储了 0%)
增加:mm/test/webservices/axis2userguide/SampleService.class(读入= 2232) (写出= 1074)(压缩了 51%)
J:\SampleService>

 

这样,就会在 J:\SampleService 目录下生成一个 SampleService.aar 包。

 

7.部署测试服务

 

第1种:使用管理控制台部署

打开管理控制台:http://localhost:8080/axis2/axis2-admin/

输入用户名密码:admin/axis2

选择第一项 : Upload Service

找到刚才生成的 SampleService.aar 直接部署吧(点击 浏览 --> upload)



第2种:手工拷贝到对应地址

这个没得说,就把 SampleService.aar 直接拷贝到

%TOMCAT_HOME%\webapps\axis2\WEB-INF\services

这个目录下面就可以了。

8.查看是否部署成功


http://localhost:8080/axis2/services/listServices

 

 打开后,可以看到:

UserGuideSampleService

多出了这么一个服务,说明部署成功。

 

9.编写客户端进行测试

 

在刚刚新建的java项目下:

在 mm.test.webservices.axis2userguide 包下

新建 : SampleClient.java  内容如下:

package mm.test.webservices.axis2userguide;

import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.Constants;
import org.apache.axis2.client.ServiceClient;

public class SampleClient {

	private static EndpointReference targetEPR = new EndpointReference(
			"http://localhost:8080/axis2/services/UserGuideSampleService");

	public static OMElement greetUserPayload(String personToGreet) {
		OMFactory fac = OMAbstractFactory.getOMFactory();
		OMNamespace omNs = fac.createOMNamespace(
				"http://example1.org/example1", "example1");
		OMElement method = fac.createOMElement("sayHello", omNs);
		OMElement value = fac.createOMElement("personToGreet", omNs);
		value.addChild(fac.createOMText(value, personToGreet));
		method.addChild(value);
		return method;
	}

	public static void main(String[] args) {
		try {
			OMElement payload = SampleClient.greetUserPayload("John");
			Options options = new Options();
			options.setTo(targetEPR);

			options.setTransportInProtocol(Constants.TRANSPORT_HTTP);

			ServiceClient sender = new ServiceClient();
			sender.setOptions(options);
			OMElement result = sender.sendReceive(payload);

			String response = result.getFirstElement().getText();
			System.out.println(response);

		} catch (Exception e) { // (XMLStreamException e) {
			System.out.println(e.toString());
		}
	}

}

 

右键运行下,如果发现控制台输出:

 

Hello, John

 说明:调用服务成功。 

 

 

 

 

0
1
分享到:
评论

相关推荐

    axis2入门及简单例子

    Axis2 入门及简单例子 Axis2 是一个基于 Java 的 Web 服务框架,它提供了一个灵活、可扩展、可靠的方式来创建、部署和管理 Web 服务。Axis2 是 Apache 软件基金会的一个开源项目,是基于 SOAP 和 WSDL 的 Web 服务...

    Axis2 入门

    这个简明教程将引导你入门Axis2的使用。 首先,我们创建一个名为`StockQuoteService`的Java类,它包含了获取股票价格(`getPrice`)和更新股票价格(`update`)的方法。这里的`StockQuoteService`是一个简单的POJO...

    Axis2包括axis2入门文档,新手教程,Myeclipse下的安装

    本压缩包文件包含了关于Axis2的入门文档、新手教程以及在MyEclipse集成开发环境下的安装步骤,非常适合初学者进行学习。 1. **Axis2入门文档**:Axis2的核心概念包括模块、服务、消息引擎和服务部署。模块是Axis2的...

    axis2开发Web Services入门

    ### Axis2 开发 Web Services 入门 #### 知识点概述 本文旨在介绍如何使用 Axis2 开发 Web Services 的全过程,包括环境搭建、插件安装等基础准备工作,以及具体的开发流程与实例演示。 #### 1. 环境搭建 ##### ...

    Axis2_入门.doc

    总结来说,Apache Axis2入门涉及创建一个简单的Java服务类,生成描述服务的WSDL文件,构建服务的部署档案,配置服务的行为,并最终在服务器上部署服务以供使用。这个过程展示了如何使用Axis2框架来快速开发和部署Web...

    Axis2创建web service快速入门

    本教程将引导你快速入门,掌握使用Axis2创建Web服务的基本步骤。 **一、了解Axis2** Axis2是Axis1的下一代产品,它提供了更强大的功能和更高的性能。Axis2基于模块化架构,支持多种传输协议(如HTTP、HTTPS、SMTP...

    Apache Web Services Axis2(1.4.1) 详细经典入门实例图文并茂

    这份文档将详细讲解如何利用Eclipse Axis2插件创建、部署和测试一个简单的Web服务。通过图文并茂的方式,使得初学者能够清晰地理解每个步骤,避免了理论上的枯燥,提升了学习体验。 总结,Apache Axis2 1.4.1作为一...

    Axis2从入门到精通--Webservice在eclipse下开发教程

    【Axis2从入门到精通——Webservice在Eclipse下开发教程】 Axis2是Apache软件基金会开发的一款先进的Web服务引擎,它是Axis1.x的全新设计版本,旨在提供更高效、更灵活的Web服务开发体验。本教程将逐步指导你如何...

    axis2入门实例

    **标题:“Axis2入门实例”** 在IT领域,特别是Web服务开发中,Apache Axis2是一个广泛应用的SOAP(简单对象访问协议)服务器和客户端框架。它提供了高性能、灵活且可扩展的环境来创建和部署Web服务。这篇教程将带...

    Axis实践之Axis入门

    2. **解压Axis**:下载的ZIP文件(如axis-bin-1_4.zip)应解压缩到一个不含中文名称的文件夹,以避免可能出现的编码问题。例如,将文件解压至F:\AXIS_Study。 解压后,你会看到以下目录结构: - docs:包含各种文档...

    经典入门:Axis2创建webservice.pdf

    【 Axis2 创建 Web Service 入门教程】 Apache Axis2 是一个功能强大的 Web Service 开发框架,它提供了简单、高效的方法来构建和部署 Web Services。本教程将详细介绍如何使用 Axis2 创建 Web Services,从基础...

    axis 开发webservice经典入门例子

    标题 "axis 开发webservice经典入门例子" 指向的是使用Apache Axis工具来创建和使用Web服务的基本教程。Apache Axis是开源的Java框架,它允许开发者轻松地在Java应用程序中构建和部署Web服务。本教程可能是为了帮助...

    webservice的Axis2入门教程java版

    通过这篇Java版的Axis2入门教程,我们了解到如何轻松地利用Axis2构建和发布WebService,无需繁琐的配置文件。这种简化的方法使得开发人员可以更加专注于服务逻辑,而不用过于关心服务的底层实现。同时,由于Axis2的...

    Axis-Webservice入门

    标题中的“Axis-Web服务入门”指的是学习使用Apache Axis2框架来开发和部署Web服务的过程。Apache Axis2是Java世界中一个广泛使用的Web服务引擎,它提供了强大的功能,包括SOAP消息处理、WS-*协议支持以及模块化架构...

    SOAP与AXIS2入门教程附带实例

    本入门教程将帮助你理解如何使用AXIS2来创建、发布和调用SOAP Web服务。首先,你需要了解AXIS2的架构,它主要由以下几个部分组成: 1. **Service Archive (AAR)**:这是AXIS2中服务的打包格式,类似于Java的JAR文件...

    AXIS2 入门文档

    ### AXIS2 入门文档知识点概述 #### 一、AXIS2 概述 - **定义**:AXIS2作为Apache Axis的后继版本,旨在提供一个更为灵活、高效且易于扩展的SOAP引擎。 - **架构特点**: - 基于全新的体系结构设计,与之前的Axis1...

    axis2 webservice入门手册(JS,Java,PHP调用实例源码)www.sietoo.com出品

    ### Axis2 WebService 入门手册知识点详解 #### 一、Axis2简介 **1. AXIOM (AXIs Object Model)** - **定义**:AXIOM 是 Axis2 中用于处理 XML 的核心模型。它不同于传统的 DOM 和 SAX 解析方式,提供了更高效、...

    WebService之Axis2介绍与入门

    **WebService之Axis2介绍与入门** 在Web服务领域,Axis2是Apache软件基金会开发的一个开源Web服务框架,它是Axis1.x的升级版本,提供了一种更高效、更灵活的方式来创建和部署Web服务。本篇文章将深入探讨Axis2的...

    axis2 axis webservice web 服务

    8. **易于部署**:Axis2的部署模型非常直观,可以通过简单的XML配置文件将服务部署到任何支持Servlet容器上,如Tomcat或Jetty。 在描述中提到的“开发Axis WebService”,意味着利用Axis2框架创建Web服务。开发过程...

    AXIS2入门+进阶+webservice实例

    3. **创建第一个Web服务**:通过简单的示例,演示如何使用AXIS2快速创建一个Hello World服务。 4. **服务部署**:解释不同类型的部署方式,如WAR文件、AAR包或直接在AXIS2的metadata目录下部署。 5. **客户端调用...

Global site tag (gtag.js) - Google Analytics