- 浏览: 180214 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (186)
- Ant (11)
- Axis2 (15)
- Car (9)
- Eclipse (1)
- Java (19)
- Java-EM (4)
- Javascript (11)
- Jsp (1)
- Hibernate (9)
- Mysql (1)
- Ms-Dos (5)
- Music (0)
- Oracle (3)
- Postgresql (0)
- Photoshop (1)
- Spring (17)
- Struts (8)
- Selenium (5)
- Ubuntu (13)
- News (17)
- Others (7)
- SSH (11)
- 算法 (5)
- FreeMarker (4)
- Tomcat (2)
- Linux (5)
最新评论
Axis 开发WebService
最近一直在集成基础事业部开发的一个报表工具,昨天做登录的时候,需要用到webservice 。我们部门用的是Axis2 ,而报表这边用的是Axis。 没用过一,又不想把二的报都导入到报表中, 就试了试用一。看了看文档,生成客户端代码很容易就完成了, 但是发现和二生成的不一样,最后没有耐心了,也没有继续研究下去,还是用了Axis2。
下文是我在学习Axis的时候,看到的一个比较好的帖子,贴上来和大家分享,共同学习进步。
一、环境准备
1 、从axis网站下载相关内容:http: //apache.justdn.org/ws/axis/1_3/
2 、解压后,参考webapps\axis,为了使你的web应用axis开发web service,需要做的事情如下:
a. 将webapps\axis\WEB- INF\lib下的相关jar包拷贝到你自己web应用的lib目录下。另外需要activation.jar、 mail.jar两个支持包。
b.修改web.xml,加载axis的servlet。
< 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- 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>
二、开发service
服务器端的service为普通的java类:com.hnisi.axis.BookOrder
public class BookOrder {
public String getName(String name) {
System.out.println("start execute ..." );
return "book name: " + name;
}
public Book setPrice(Book book){
book.setPrice(10 );
return book;
}
}
com.hnisi.axis.Book为简单的值对象,包含两个属性name,price。
三、发布service
1 、手工修改server- config.wsdd文件(在已有server- config.wsdd文件的情况下)
添加service:
< service name= "BookOrder" provider= "java:RPC" >
< parameter name= "allowedMethods" value= "*" / >
< parameter name= "className" value= "com.hnisi.axis.BookOrder" / >
< / service>
allowedMethods是调用的服务的方法,如果有多个方法的话可以用空格分开,当用* 的时候表示全部。
2 、写deploy.wsdd文件,使用axis提供的AdminClient工具,自动生成server- config.wsdd。deploy.wsdd文件如下:
< deployment xmlns= "http://xml.apache.org/axis/wsdd/"
xmlns: java= "http://xml.apache.org/axis/wsdd/providers/java" >
< service name= "BookOrder" provider= "java:RPC" >
< parameter name= "className" value= "com.hnisi.axis.BookOrder" / >
< parameter name= "allowedMethods" value= "*" / >
< / service>
< / deployment>
deploy.wsdd文件位于/ web- inf目录下。
使用AdminClient发布该service,在/ web- inf目录下新建deploy.bat文件:
set LIB_HOME= ./ lib
set CPATH= .;% LIB_HOME% \axis.jar;% LIB_HOME% \jaxrpc.jar;% LIB_HOME% \commons- logging- 1 .0 .2 .jar;% LIB_HOME% \commons- discovery- 0 .2 .jar;% LIB_HOME% \saaj.jar;% LIB_HOME% \activation.jar;% LIB_HOME% \mail.jar
java - classpath % CPATH% org.apache.axis.client.AdminClient - lhttp: //localhost:8080/test/services/AdminService deploy.wsdd
pause
执行deploy.bat,会生成server- config.wsdd文件。成功生成的几个必要条件:
a. axis相关jar包存在于/ web- inf/ lib下
b. 你的tomcat必须启动,同时留意deploy.bat文件的第三行"http://localhost:8080/test/services/AdminService" ,根据具体情况修改。
否则会报"java.net.ConnectException: Connection refused: connect" 异常。
综合上述,在第一次发布service的情况下,需用方式2 生成server- config.wsdd,后续开发过程中,使用方式1 直接修改server- config.wsdd文件。
发布后,执行http: //localhost:8080/test/services,能看到当前web应用的所有web service.
http: //localhost:8080/test/services/BookOrder?wsdl 为ServerService对应WSDL.
还可以通过IE浏览器直接调用服务,方法是在服务URL后加"method=xxx" ,其中xxx是要调用的方法名称:
http: //localhost:8080/test/services/BookOrder?method=getName&name=HH
四、调用service
有两种方式可以调用service。
1 、使用org.apache.axis.client.Call直接调用
package com.hnisi.axis;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class CallService {
public static void main(String[] args) {
try {
String endpoint = "http://localhost:8080/test/services/BookOrder" ;
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName("getName" );
String ret = (String) call.invoke(new Object[] {"yehailong" });
System.out.println("return value is " + obj[0 ]);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
2 、根据wsdl生成客户端java代码
在/ web- inf目录下新建make.bat文件:
set LIB_HOME= .
发表评论
-
Spring Web Service 学习之Hello World篇2
2008-11-03 15:32 10816, 修改配置文件spring-ws- ... -
webservice之axis2方式开发总结
2008-11-04 09:33 722webservice之axis2方式开发总结 关键字: we ... -
基于Axis2开发WebService代码详解
2008-11-04 09:34 920基于Axis2开发WebService代码详解 关键字: we ... -
基于Tomcat5.0和Axis2开发Web Service应用实例
2008-11-04 09:38 768基于Tomcat5.0和Axis2开发Web Service应 ... -
使用Axis2来构建Web Service客户端
2008-11-04 09:46 767使用Axis2来构建Web Service客户端 2 ... -
webservice-之使用axis+spring开发
2008-11-04 17:42 635... -
webservice-之使用axis+spring开发2
2008-11-04 17:42 798三、配置文件 (全部放在 ... -
spring与axis的整合
2008-11-04 18:23 692spring与axis的整合 eclipse resin ax ... -
在Eclipse中创建基于Axis2的web services
2008-11-05 09:04 1034本实验的目的是让你尽可能快的创建使用 Axis2 的服务和客户 ... -
Axis2快速上手指南
2008-11-05 09:06 726本指南的目的是让你尽可能快的创建使用Axis2的服务和客户端, ... -
Axis2快速上手指南2
2008-11-05 09:07 693创建服务 在这个部分,我们将看看根据StockQuoteSe ... -
Axis2快速上手指南4
2008-11-05 09:08 856使用ADB生成一个客户端 执行以下步骤来使用Axis Dat ... -
Axis2 Integration With The Spring Framework
2008-11-05 09:16 881Axis2 Integration With The Spri ... -
定义web service接口的十点注意事项
2008-11-05 14:03 1249一、接口是自说明的。 也就是说,接口的名字、参数和返回值在一看 ...
相关推荐
标题 "axis 开发webservice经典入门例子" 指向的是使用Apache Axis工具来创建和使用Web服务的基本教程。Apache Axis是开源的Java框架,它允许开发者轻松地在Java应用程序中构建和部署Web服务。本教程可能是为了帮助...
标题中的“axis开发webservice客户端”指的是使用Apache Axis框架创建并使用Web服务客户端的过程。Apache Axis是Java平台上的一个开源工具,它简化了SOAP(Simple Object Access Protocol)Web服务的开发,包括...
访问地址: http://127.0.0.1:8080/axis/services
本文将深入探讨如何利用Axis开发WebService,以及相关的技术要点。 首先,了解WebService的基础概念是至关重要的。WebService是一种基于开放标准(如XML、WSDL和SOAP)的互联网应用程序,它能够跨平台、跨语言地...
【标题】: 使用Eclipse和AXIS开发WebService的步骤详解 【描述】: 本文档详细介绍了如何利用Eclipse集成开发环境和AXIS框架来创建并发布WebService。 【标签】: Eclipse 【部分内容】: 在开发基于Java的...
### Axis开发WebService实例知识点解析 #### 一、Axis概述与安装配置 - **Apache Axis简介**:Apache Axis是Apache组织提供的一个开源项目,用于在Java环境中实现WebService技术规范。它支持SOAP协议,并提供了...
在使用Eclipse集成开发环境配合XDoclet和Axis开发WebService的背景下,本文将详细介绍相关的知识点和步骤。首先需要了解的是,WebService是一种可让应用程序通过网络(尤其是互联网)进行通信的接口和协议。它通常...
在本文中,我们将深入探讨如何使用SpringBoot框架开发基于Axis的Web服务。SpringBoot以其便捷的启动和配置方式,已经成为Java开发中的首选框架之一。而 Axis 是一个流行的Apache项目,用于创建和部署Web服务,它提供...
本篇文章将深入探讨如何使用Axis开发Web服务,并详细解释相关jar包的作用。 首先,让我们了解Web服务的基本概念。Web服务是一种通过互联网进行通信的应用程序,遵循W3C制定的SOAP(Simple Object Access Protocol)...
本文档主要介绍了如何使用Eclipse和AXIS框架开发和发布Web服务,以及进行客户端测试。以下是详细步骤和关键知识点: 1. **Eclipse插件安装**: - Eclipse提供了Web服务开发的插件,可以从官方网站下载WTP(Web ...
在本实例中,我们将深入探讨如何使用Axis开发一个简单的"Hello World" WebService。这个教程是基于网上流行的一个文档,但原文档存在四处错误,我已经进行修正并经过Eclipse IDE的调试验证,确保其正确无误。 首先...
本文将详细介绍如何利用Axis开发Web服务,并探讨其使用的jar包。 首先,我们要理解Axis的核心功能。Axis提供了一套完整的Java API,使得开发者能够方便地构建Web服务客户端和服务器端。它支持SOAP(简单对象访问...
Axis开发Web服务(Webservice)的搭建过程是一个系统性的步骤,涉及到服务器端的配置和客户端的调用。在本文中,我们将深入探讨如何使用Apache Axis框架来创建和部署Web服务。Apache Axis是一个开源工具,它允许...
AXIS 是一个流行的开源工具,用于开发和部署Web服务,特别是在Java环境中。本文将深入讲解如何利用AXIS 1.4版本创建和发布Web服务,重点在于定制发布,因为即时发布虽然简单,但在实际开发中可能无法满足复杂需求。 ...
\axis-bin-1_4\axis-1_4\webapps\axis\WEB-INF\lib\*.jar 注意:这些包在我们下载下来的AXIS:axis-bin-1_4.zip中 3. 修改WEB.XML文件,最简单的方法是:直接把 \axis-bin-1_4\axis-1_4\webapps\axis\WEB-INF\web....
本篇文章将深入讲解使用Apache Axis开发Web服务的简单步骤,帮助你实现不同项目间的通信。 首先,理解Web服务的基本概念至关重要。Web服务是通过SOAP(Simple Object Access Protocol)消息在HTTP协议上进行通信的...
本篇文章将详细探讨使用Axis开发Web服务的过程及其重要性。 一、Axis简介 Axis是一个基于Java的SOAP(Simple Object Access Protocol)栈,它提供了从Java类到Web服务的自动绑定功能。通过Axis,开发者可以轻松地将...
本人写的用axis发布webserice程序,用ksoap2调用的实际例子,主要是演示了在手机上如何编写、调用webservice。从网上看到很多类似例子但大部分出错,经过摸索后,该例子能够正常运行,但没有考虑优化等。
本指南旨在为初学者提供AXIS框架下开发WebService的详细步骤,涵盖了从获取开发资源、生成 stub、编写服务器端代码到客户端测试的全过程。AXIS是一个开源的Java库,它提供了创建、部署和使用Web服务的工具,是基于...