`
datoplay
  • 浏览: 1627272 次
文章分类
社区版块
存档分类
最新评论

Axis2 安装

 
阅读更多

一、下载Axis2

下载地址:http:/ws.apache.org/axis2/

二、安装

解压缩,并将文件夹重命名为axis,复制到D盘根目录下。如下图:

将axis2-1.5.1-war文件夹下axis2.war包复制到tomcat下webapps文件夹下,如下图,以使tomcat支持web服务开发。

独立运行模式:

配置环境变量:

配置axis服务器使用的端口号:

进入命令行方式,启动服务器:

测试服务器:

http://localhost:8086/axis2/services/

混合模式:将服务部署到tomcat

启动tomcat

http://localhost:8080/axis2/

三、编译

1、Ant工具下载

是一种基于Java和XML的build工具。

下载http://www.apache.org/dist/ant/binaries下的apache-ant-1.8.2-bin.zip,如图

2、安装

直接解压,复制文件夹到D盘,重名为ant,然后设置环境变量

编译测试:

生成的web服务以两种方式存放在build目录下,

四、部署:

准备工作:将classes文件夹中的所有文件夹拷贝到自建文件夹StockQuoteService中,如图

第一种方式,部署到tomcat服务器:

将文件夹StockQuoteService或者aar文件复制到

D:\apache-tomcat-6.0.24\webapps\axis2\WEB-INF\services,如图

测试:

启动Tomcat

键入http://localhost:8080/axis2/

第二种方式,部署到axis独立服务器上:将文件夹StockQuoteService或者aar文件复制到D:\axis\repository\services,如图

测试:

启动axis2server

http://localhost:8086/axis2/services/

五、创建客户端

使用axis2server和tomcat服务器创建客户端的方法一致

使用wsdl2java命令,创建客户端代码

-o <path> : 指定生成代码的输出路径
-a : 生成异步模式的代码
-s : 生成同步模式的代码
-p <pkg> : 指定代码的package名称
-l <languange> : 使用的语言(Java/C) 默认是java
-t : 为代码生成测试用例
-ss : 生成服务端代码 默认不生成
-sd : 生成服务描述文件 services.xml,仅与-ss一同使用
-d <databinding> : 指定databingding,例如,adb,xmlbean,jibx,jaxme and jaxbri
-g : 生成服务端和客户端的代码
-pn <port_name> : 当WSDL中有多个port时,指定其中一个port
-sn <serv_name> : 选择WSDL中的一个service
-u : 展开data-binding的类
-r <path> : 为代码生成指定一个repository
-ssi : 为服务端实现代码生成接口类
-S : 为生成的源码指定存储路径
-R : 为生成的resources指定存储路径
--noBuildXML : 输出中不生成build.xml文件
--noWSDL : 在resources目录中不生成WSDL文件
--noMessageReceiver : 不生成MessageReceiver类

建立web project

将创建的客户端代码复制到相应项目

导入axis的jar包

编写客户端的调用代码,如下:

import java.rmi.RemoteException;

import samples.quickstart.StockQuoteServiceStub;

import samples.quickstart.xsd.GetPrice;

import samples.quickstart.xsd.GetPriceResponse;

public class test {

public static void main(String[] args)throws RemoteException {

StockQuoteServiceStub stub = new StockQuoteServiceStub(

"http://localhost:8086/axis2/services/StockQuoteService?wsdl");

GetPrice getPrice3 = new GetPrice();

getPrice3.setSymbol("IBM");

GetPriceResponse res = stub.getPrice(getPrice3);

double result = res.get_return();

System.out.println(result);

}

}

最简单的web服务开发,既不使用xfire也不使用axis

wsgen
wsgen 是在JDK的bin目录下的一个exe文件(Windows版),该命令的主要功能是用来生成合适的JAX-WS。它读取Web Service的终端类文件,同时生成所有用于发布Web Service所依赖的源代码文件和经过编译过的二进制类文件。这里要特别说明的是,通常在Web Service Bean中用到的异常类会另外生成一个描述Bean,如果Web Service Bean中的方法有申明抛出异常,这一步是必需的,否则服务器无法绑定该对像。此外,wsgen 还能辅助生成WSDL和相关的xsd文件。wsgen 从资源文件生成一个完整的操作列表并验证web service是否合法,可以完整发布。
命令参数说明:

-cp 定义classpathu
-r 生成 bean的wsdl文件的存放目录u
-s 生成发布Webu Service的源代码文件的存放目录(如果方法有抛出异常,则会生成该异常的描述类源文件)
-d 生成发布Webu Service的编译过的二进制类文件的存放目录(该异常的描述类的class文件)

命令范例: wsgen -cp ./bin -r ./wsdl -s ./src -d ./bin -wsdl org.jsoso.jws.server.Example

wsimport
wsimport也是在JDK的bin目录下的一个exe文件(Windows版),主要功能是根据服务端发布的wsdl文件生成客户端存根及框架,负责与Web Service 服务器通信,并在将其封装成实例,客户端可以直接使用,就像使用本地实例一样。对Java而言,wsimport帮助程序员生存调用web service所需要的客户端类文件.java和.class。要提醒指出的是,wsimport可以用于非Java的服务器端,如:服务器端也许是C# 编写的web service,通过wsimport则生成Java的客户端实现。
命令参数说明:

-d 生成客户端执行类的class文件的存放目录u
-s 生成客户端执行类的源文件的存放目录u
-p 定义生成类的包名u

C:\Program Files\Java\jdk1.6.0_20\bin

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics