- 浏览: 377905 次
- 性别:
- 来自: 深圳
最新评论
-
qw575408794:
请问 直角平面坐标 转 经纬度 怎么转 java实现,或者 ...
关于经纬度坐标转换的方法 -
horsely:
JavaScript图表FusionCharts免费在线公开课 ...
FusionCharts在Java中的基本使用 -
rzh0001:
good job
Excel 日期格式与数字格式转换的BUG -
springdata-jpa:
java quartz定时任务demo教程源代码下载,地址:h ...
[JAVA]定时任务之-Quartz使用篇 -
liuweihug:
fusioncharts 图片2种方式使用java导出 - 项 ...
FusionCharts在Java中的基本使用
介绍一个比较简单实用的基于Java的SOAP引擎——Apache组织推出的Axis——的安装、配置和应用开发方法,希望对有兴趣做基于Java的Web Services应用开发的朋友有所帮助。
Axis简介
Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织著名的SOAP项目的后继项目,目前最新版本是采用Java开发的1.1版本,C++的版本正在开发之中。Axis v1.1软件包可以从http://ws.apache.org/axis/dist/1_1/下载得到。
Axis的安装
应用Axis开发Web Services,你需要有一个支持Servlet的服务器引擎,比如广为人知的Tomcat(Tomcat也是由Apache组织所提供的,目前的最新版本为4.1.24,下载地址为http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.24/)。在此之前当然你机器必须已经装好了JDK1.3以上的版本,当安装好Tomcat之后,只需将下载的Axis软件包解压缩,将其中的“webapps”目录下的“axis”目录整个拷贝到Tomcat安装目录下的“webapps”目录下即可。
Axis的配置
Axis基于Java开发,可以部署于多种操作系统,使用前需要配置一系列的系统变量,在此假定你已经在本机上装好了Tomcat 4.0以上的版本,需要配置的系统变量如下表所示:
CATALINA_HOME
C:\Tomcat_4_1
(此处应为Tomcat的安装位置,注意路径名中不要有空格)
AXIS_HOME
%CATALINA_HOME%\webapps\axis
AXIS_LIB
%AXIS_HOME%\lib
AXISCLASSPATH
%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar; %AXIS_LIB%\commons-logging.jar;%AXIS_LIB%\jaxrpc.jar; %AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar; %AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar
注意:这里的包不全,包名也有错!包名应该是带版本号的!
如果你不愿做这么繁琐的类路径设置,可以直接将axis软件包中“lib”目录下的所有.jar文件加入到系统环境变量CLASSPATH中即可。
Axis的测试
安装配置完毕后,应测试一下是否Axis可以正确运行了。
启动Tomcat服务器,在浏览器中访问http://localhost:8080/axis/happyaxis.jsp,如果页面显示有错误,则需要回头检查一下相关配置是否正确,如果浏览页面能正确显示出系统组件、属性等参数配置信息,则表示安装成功,如下图
下面开始写一个有服务器端和客户端的demo: 1、 服务器端
1.1、创建一个Web工程WS_Test
1.2、把axis相关jar包考入工程的lib文件夹下(jar包见附件)
(注意lib文件夹应该在axis根目录下!从官网下的1.4的包,在应用中会报少包,我又加了四个)
1.3、配置web.xml,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Apache-Axis</display-name>
<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>
<!-- uncomment this if you want the admin servlet -->
<!--
<servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/servlet/AdminServlet</url-pattern>
</servlet-mapping>
-->
<session-config>
<!-- Default to 5 minute session timeouts -->
<session-timeout>5</session-timeout>
</session-config>
<!-- currently the W3C havent settled on a media type for WSDL;
http://www.w3.org/TR/2003/WD-wsdl12-20030303/#ietf-draft
for now we go with the basic 'it's XML' response -->
<mime-mapping>
<extension>wsdl</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xsd</extension>
<mime-type>text/xml</mime-type>
</mime-mapping>
<welcome-file-list id="WelcomeFileList">
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jws</welcome-file>
</welcome-file-list>
</web-app>
1.4、在src下创建对外提供调用的service类test_1.Ws_1.java
内容如下:
package test_1;
public class Ws_1 {
public String function_1(String str_1){
System.out.println(" *** service 被调用了 *** 接收参数:"+str_1);
String str =" scorpio : " + str_1+" is ok "; //接到客户端请求,然后处理
//… …
return str ; //最后把结果返回客户端
}
}
1.5、修改tomcat下的server.xml
本人server.xml文件路径为D:/apache-tomcat-5.5.26/conf/server.xml
在</Host>上一行增加或修改为
<Context path='/WS_Test' docBase='D:/workspace/WS_Test/WebRoot' debuge='0' reloadable='true'/>
其中:/WS_Test 为上下文的根,在这里用工程名命名(可随意)
D:/workspace/WS_Test/WebRoot 为工程web所在的路径
1.6、在WEB-INF下创建deploy.wsdd文件,内容如下
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="Say_Hello_Service" provider="java:RPC">
<parameter name="className" value="test_1.Ws_1"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
注:Say_Hello_Service,为service的名字
test_1.Ws_1,为Say_Hello_Service对应的类
1.7、在WEB-INF下创建deploy.bat文件,内容如下
set Axis_Lib=D:/workspace/WS_Test/WebRoot/WEB-INF/lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:7777/WS_Test/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd
pause
其中D:/workspace/WS_Test/WebRoot/WEB-INF/lib对应改为自己的工程lib所在的路径
http://localhost:7777/WS_Test/servlet/AxisServlet中的7777改为 自己的端口号
注:这里特别注意,在tomcat中一定要配置工程上下文的根(我这里用的是工程名:WS_Test)
1.8、先启动tomcat,然后运行刚创建的deploy.bat
执行完毕后,WEB-INF下会多出一个server-config.wsdd文件
1.9、在浏览器地址栏里输入http://localhost:7777/WS_Test/servlet/AxisServlet(7777改成自己tomcat的端口号)
如有如下内容 则服务器端 编码完毕
•Say_Hello_Service (wsdl)
◦function_1
2、 客户端
2.1、建立一个java工程 WS_Test_client
2.2、工程下文件夹WS_Test_client下建立一个lib文件夹
把axis相关jar包考入工程的lib文件夹下(jar包见附件)
2.3、工程文件夹WS_Test_client下建立一个test_1_client文件夹
2.4、工程文件夹WS_Test_client下直接创建wsdl2java.bat文件
内容如下
set Axis_Lib=D:/workspace/WS_Test_client/lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:/workspace/WS_Test_client/src
set Package=test_1_client
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java –p%Package% -o%Output_Path% http://localhost:7777/WS_Test/services/Say_Hello_Service?wsdl
Pause
其中 D:/workspace/WS_Test_client/lib 为客户端java工程lib路径
D:/workspace/WS_Test_client/ test_1_client 存放生成文件路径
test_1_client 生成的类的包名
2.5 运行wsdl2java.bat文件
前提:服务器端服务已开启
运行完毕后 会多出
Say_Hello_ServiceSoapBindingStub.java
Ws_1.java
Ws_1Service.java
Ws_1ServiceLocator.java
等文件
2.6、创建调用服务器service的类test_1_client. Main.java
package test_1_client;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Ws_1ServiceLocator local = new Ws_1ServiceLocator();
try{
Ws_1 ws = local.getSay_Hello_Service();
String str = ws.function_1("heihei"); //调用服务器端方法
System.out.println(str);
}catch(Exception e){
e.printStackTrace();
}
}
}
2.7、运行test_1_client. Main.java 输出台输出服务器端返回结果即调用服务器端成功
发表评论
-
cpu架构为power的JDk部署 jdk7 ppc64
2015-01-29 11:49 1993IBM提供了在cpu架构为power的linux操作系统的J ... -
CentOS 6.3下Samba服务器的安装与配置
2015-01-04 11:11 2602最近公司存储服务器 ... -
Intellij IDEA 快捷键整理
2014-10-21 15:54 903【常规】 Ctrl+Shift + Enter,语句完成 ... -
Maven: javax.sql:jdbc-stdext:2.0
2014-10-21 15:05 940今天搞maven遇到了这个小问题,google下,也没合适的 ... -
MySQL监控、性能分析——工具篇
2014-10-15 14:36 4944MySQL越来越被更多企业接受,随着企业发展,MySQL存储 ... -
Tomcat启动分析 【转】
2014-10-13 16:07 9181 - Tomcat Server的组成 ... -
MySQL Migration Toolkit initialized java loader 出错提示jre版本问题
2014-09-29 13:55 1814如果initialized java loader 出错提示j ... -
MySQL Migration Toolkit的使用
2014-09-29 13:54 1155MySQL Migration Toolkit是MySQL出 ... -
Oracle to MySQL
2014-09-29 13:52 10591.java 实体的移植 主键生成策略有JPA 提供与 ... -
jacob常用异常处理
2014-09-17 16:53 3363com.jacob.com.ComFailException ... -
java 使用jacob 操作word
2014-09-17 16:39 2402/** * word文档 */ ... -
HttpCLient实现对被GZip压缩过的Response进行解压
2014-05-22 15:33 12057发送请求(要求服务端对response进行GZip压缩): ... -
关于HttpClient的总结
2014-05-22 14:28 1252关于Httpclient的使用总结如下: (1)当Htt ... -
设置Tomcat的JAVA_OPTS参数
2014-03-20 17:23 1096修改 TOMCAT/bin/catalina.bat添加se ... -
Java_Thumbnailator
2014-03-20 14:49 775Thumbnailator 是一个为Java界面更流畅的缩略图 ... -
maven添加oracle驱动
2013-10-09 16:44 1287由于oracle商业版权问题,maven是不可以直接下载ja ... -
直接使用SQL操作Oracle空间数据的原理以及配置方法
2013-07-10 16:43 1800最近一直接到售前的请求,客户现场成功部署SDE for Or ... -
ORA-22992: 无法使用从远程表选择的 LOB 定位器
2013-07-09 11:08 1085现象描述:执行一条语句时报错,该语句是:select * ... -
ORA-28575:无法打开与外部过程代理程序的RPC连接
2013-07-09 10:54 19001. 修改listener.ora文件,增加如下内容,注意该 ... -
DBMS_STATS分析表
2013-07-05 16:54 951作用:DBMS_STATS.GATHER_TABLE_ST ...
相关推荐
本文将详细介绍如何利用Axis开发基于Java的Web服务。 ### Axis简介 Apache Axis是Apache SOAP项目的后续项目,它支持SOAP 1.1规范,并提供了Java和C++两个版本。在本文中,我们将关注Java版本的Axis 1.1。这个工具...
基于java的开发源码-Web服务框架 Apache Axis.zip 基于java的开发源码-Web服务框架 Apache Axis.zip 基于java的开发源码-Web服务框架 Apache Axis.zip 基于java的开发源码-Web服务框架 Apache Axis.zip 基于java的...
Axis是一个开源项目,由Apache软件基金会维护,用于支持基于Java的SOAP Web服务的开发。它简化了开发过程,使开发者能够专注于业务逻辑而不是底层技术细节。Axis的主要组件包括传输监听器/传输发送器、Axis引擎、...
基于Java的AXIS使得开发者能够利用Java平台的强大功能来构建Web服务。在本篇博文中,我们将深入探讨AXIS如何帮助开发者在Java环境中实现Web服务的开发。 首先,Web服务是一种通过互联网进行通信的应用程序接口(API...
Axis是基于Java的SOAP(Simple Object Access Protocol)实现,遵循SOAP 1.2和SOAP with Attachments规范。它被广泛应用于各种开发工具,如JBuilder和Eclipse的Lomboz插件。Axis 1.1是其当时最新的版本,提供了一个...
总结,Apache Axis作为Java Web服务框架,提供了一整套构建、部署和管理Web服务的工具,极大地简化了Web服务的开发过程。无论是新手还是经验丰富的开发者,都能从中受益,快速实现Web服务的开发和集成。
Java和Axis2是开发Web服务客户端的重要工具,用于调用基于SOAP协议的Web服务。本文将深入探讨如何利用Java和Axis2库来实现这一功能,同时结合提供的代码示例进行详细解析。 首先,Web服务是一种通过网络进行通信的...
Axis提供了基于Java的Web服务开发工具,使得开发者可以轻松地将Java类转换为Web服务。Axis的主要功能包括: - **自动WSDL生成**:可以从Java类自动生成WSDL文件,描述服务接口。 - **SOAP绑定**:直接将Java方法映射...
### 基于Axis开发Web服务的研究 #### 1. 引言 随着互联网技术的飞速发展,Web服务已经成为构建分布式系统的关键技术之一。它不仅支持跨平台、跨语言的应用程序开发,还成为了实现企业间业务流程整合的重要手段。在...
这个压缩包“基于Java的Web服务框架 Apache Axis.zip”很可能包含了Apache Axis的相关资料和库文件,使得用户可以快速地理解和使用这个框架。 Web服务是一种通过互联网交换数据的方式,它允许不同系统间的无缝通信...
Axis2是Apache软件基金会提供的一个开源Web服务框架,它基于Java语言,支持SOAP协议,并且具有轻量级、高性能等特点。Axis2不仅提供了强大的功能,如消息路由、事务处理、安全性和可靠性等,还提供了一整套开发工具...
本章节将深入探讨Web服务的开发平台,特别是基于Java平台的Web服务实现方法。 ##### Web服务技术框架回顾 - **XML(Extensible Markup Language)**:作为Web服务中的默认数据格式,XML被广泛应用于数据的传输和...
本主题将深入探讨如何使用Java的Axis2框架调用由C#开发的Web服务来获取XML结果。以下是相关知识点的详细解释: 1. **Web Service**: Web服务是一种通过HTTP协议进行通信的应用程序接口(API),允许不同系统间的...
作者简介:Ramesh Nagappan是Sun Java中心的Enterprise Java架构师,拥有13年的从业经验,擅长于设计和实现基于Java、XML和COBRA的分布式计算体系结构,可适用于Internet应用程序、企业消息交换和Web服务。...