`

eclipse+axis2+tomcat 进行web部署

 
阅读更多

我用的是eclipse indigo release2、axis2 1.6.2、 tomcat6.0。
jdk已经安装并成功配置。
第一步:下载eclipse indigo release2,下载地址:http://mirrors.ustc.edu.cn/eclipse/technology/epp/downloads/release/indigo/SR2/eclipse-jee-indigo-SR2-win32.zip
解压后直接可用。
第二步:下载并安装tomcat插件
http://www.fayea.com/apache-mirror/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.zip
eclipse tomcat插件:http://www.eclipsetotale.com/tomcatPlugin/tomcatPluginV33.zip
解压tomcatPluginV33.zip,将解压后的文件放到eclipse/plugins内,重启eclipse,可看见tomcat图标,在window/perference 下,
选择tomcat,tomcat version里选择version 6.x,tomcat home 中选择tomcat 的安装目录。按tomcat启动图标,
在浏览器里输入http://localhost:8080/,可以看见官网。说明已经成功了。
第三步:下载axis2,
http://apache.etoak.com//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip
http://apache.etoak.com//axis/axis2/java/core/1.6.2/axis2-1.6.2-war.zip
将axis2-1.6.2-bin.zip解压到电脑中的任意目录,
将axis2-1.6.2-war.zip解压后,放到tomcat的webapps目录下,重启tomcat,会发现webapps目录下多了axis2文件夹,
在浏览器里输入http://localhost:8080/axis2,会发现对应的网页,说明已经成功了。
在eclipse中进行配置,会出现Axis2 runtime loaded successfully,
 

说明加载成功了。再下载两个插件:http://apache.etoak.com/axis/axis2/java/core/1.6.2/axis2-eclipse-codegen-plugin-1.6.2.zip
http://mirror.bit.edu.cn/apache/axis/axis2/java/core/1.6.2/axis2-eclipse-service-plugin-1.6.2.zip
解压后都放到eclipse的plugins目录下,在eclipse中,file-->new.-->others..里面会出现axis2 wizards
 

这样,axis2 配置完成了,可以进行web service开发了。。。
一、建立要发布的Web Service
1.1 解压所下载的axis2-1.6.0-bin.zip,在Eclipse中的Windows\Preferences下new一个User Libraries,命名为axis2,将解压后文件夹中 axis2-1.6.0\lib 下的包均添加进来。这一步操作的目的是为了以后工程方便添加axis2所需的 jar文件。



1.2 建立一个JavaProject,命名为sayHello,将axis2用户库加入到build path中
1.3 现在开始编写要发布的WebService,在src包中建包Hi,建立Hello类如下:
Java代码

[code="java"]package Hi;
public class Hello {
public String sayHello(String user) {
return"Hello, "+ user; }
}


此时sayHello工程结构如下:


 

二、发布Web Service

2.1 编译刚刚建立的Hello类,类编译后,会在workspace中对应工程目录下的bin文件夹下生成Hello.class文件
2.2 打包要发布的Service, 点击Eclipse中New ——> File ——> Other ——> Axis2 wizards ——> Axis2 Services Archiver,按照向导选择刚建立的类编译后的class文件。
注意点:
1、在我的工程中,workspace是E:\J2EE,选择class目录,本工程中class Hello是带包Hi的,因此我们不能选成E:\J2EE\sayHello\bin\Hi,而应该选择E:\J2EE\WSTest\bin,如图所示:

 
2、next后,默认选择Skip WSDL
3、继续next,这两步默认,什么都不选
4、设定服务名称和所使用的类名,点击Load如下所示:
 
注意Class name请务必设为Hi.Hello,代表使用的类是E:\J2EE\sayHello\bin路径下,文件夹Hi下的Hello类,否则Load不上的。
5 设置输出路径为: \webapps\axis2\WEB-INF\services
 
6 点击Finish完成发布。


三、测试所发布的Web Service
打开http://localhost:8080/axis2/services/listServices页面,可以看到sayHello服务:

点击进到sayHello的wsdl页面:http://localhost:8080/axis2/services/sayHello?wsdl,表明服务部署正确。
四、编写客户端代码调用WebService
本文例子与其他例子最大的不同就在这里,其他例子一般需要根据刚才的服务wsdl生成客户端stub,然后通过stub来调用服务,这种方式显得比较单一,客户端必须需要stub存根才能够访问服务,很不方面。本例子的客户端不采用stub方式,而是一种实现通用的调用方式,不需要任何客户端存根即可访问服务。只需要指定对于的web servce地址、操作名、参数和函数返回类型即可。工程结构如下:

 


[code="java"]package Hi;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class MyClient {
private RPCServiceClient serviceClient ;
private Options options;
private EndpointReference targetEPR;
public MyClient(String endPoint)throws AxisFault{
  //使用RPC方式调用webService
  serviceClient = new RPCServiceClient ();
  //
  options = serviceClient.getOptions();
  //制定调用webservice的URL
  targetEPR = new EndpointReference(endPoint);
  //
  options.setTo(targetEPR);
}
public Object[] invokeOP(String targetNameSpace, String opName,
   Object[] opArgs, Class>[] opReturnType )throws AxisFault,ClassNotFoundException{
  //制定要调用的example方法和wsdl文件的命名空间
  QName opQName = new QName(targetNameSpace, opName);
  //指定example方法并输出该方法的返回值
  //参数:调用的方法名,调用的参数名,调用方法的返回类型
  return serviceClient.invokeBlocking(opQName, opArgs, opReturnType);
}
public static void main(String args[])throws AxisFault,ClassNotFoundException{
  final String endPointReference = "http://localhost:8080/axis2/services/sayHello";
  final String targetNameSpace = "http://Hi";
  MyClient client = new MyClient (endPointReference);
  String opName = "sayHello";
  //指定example方法的参数值
  Object[] opArgs = new Object[]{"My Friends"};
  //指定example方法返回数据值的数据类型的Class对象
  Class>[] opReturnType = new Class[] {String[].class};
 
  Object[] response = client.invokeOP(targetNameSpace, opName, opArgs, opReturnType);
  System.out.println("result--->" + ((String[])response[0])[0]);
}
}

运行该程序,点击Run As->Java application,可以看到控制台端口的输出是:result--->Hello, My Friends,表明客户端调用成功。

转载自 http://hi.baidu.com/lxmxuelong/item/875464aa3ff11703a9cfb73f

 

分享到:
评论

相关推荐

    eclipse+tomcat+axis下创建WebService

    在本文中,我们将深入探讨如何在 Eclipse 集成开发环境中,利用 Tomcat 服务器和 Axis 插件创建并发布一个 WebService。这是一个详细步骤的指南,涵盖了从环境准备到测试 WebService 的全过程。 首先,我们需要确保...

    eclipse+tomcat+axis2创建webservice

    总结:通过Eclipse、Tomcat和Axis2,我们可以快速且简便地创建和部署Web服务。 Axis2的Eclipse插件大大简化了开发过程,使得服务的创建、部署和测试更加直观。了解并掌握这些步骤,有助于开发者高效地开发基于SOAP或...

    AXIS2远程调用WebService示例(Eclipse+AXIS2)工具和所用包.rar

    2. Tomcat服务器:这是Apache软件基金会的开源Servlet容器,用于部署和运行Java Web应用程序,包括基于AXIS2的WebService。 3. AXIS2:Apache AXIS2是Java平台上用于构建和使用Web服务的一个高性能、轻量级的框架。 ...

    Eclipse3.2+MyEclipse5.5M1+axis2_1.1.1+tomcat5.5 开发Web Services.doc

    总结来说,这个文档提供了一个完整的流程,指导开发者在特定环境下,如何使用Eclipse和MyEclipse这样的开发工具,结合Axis2和Tomcat来创建、部署和测试Web服务。整个过程涉及了从环境配置、项目创建、WSDL设计、代码...

    Eclipse3.2+MyEclipse5.5M1+axis2_1.1.1+tomcat5.5 开发Web Services

    本文以Eclipse3.2、MyEclipse5.5M1、axis2_1.1.1和tomcat5.5为例,详细讲解如何构建Web服务的开发环境,并快速创建和部署服务。 首先,我们需要准备以下软件: 1. **Tomcat 5.5**:这是一个流行的Java Servlet和...

    eclipse+AXIS开发webservice.doc

    本文档主要介绍了如何使用Eclipse和AXIS框架开发和发布Web服务,以及进行客户端测试。以下是详细步骤和关键知识点: 1. **Eclipse插件安装**: - Eclipse提供了Web服务开发的插件,可以从官方网站下载WTP(Web ...

    eclipse + tomcat web service配置

    在IT行业中,开发Web服务是常见的任务之一,而Eclipse作为流行的Java集成开发环境,与Tomcat这样的轻量级应用服务器结合,可以便捷地创建和部署Web服务。本篇文章将详细讲解如何在Eclipse中配置Tomcat服务器来实现...

    webservice+axis2+myeclipse+tomcat

    通过以上步骤,你将能够成功地使用 Axis2 和 MyEclipse 在 Tomcat 上创建、部署 WebService,并生成及使用客户端代码进行调用。阅读提供的文档《MyEclipse+AXIS2.doc》和《WebService之axis2的使用.doc》将更深入地...

    eclipse+AXIS开发webservice.pdf

    2. 安装Tomcat:Tomcat是一个常用的Servlet容器,用于部署和运行Web服务。这里使用的是TOMCAT5.0.16,但建议使用更稳定或更新的版本。 3. 安装AXIS:AXIS是Apache组织提供的用于创建和消费SOAP Web服务的库。确保...

    axis2+Tomcat5+Eclipse3.2部署和访问Web服务.doc

    【描述】: 使用axis2、Tomcat5.5和Eclipse3.2进行Web服务的部署与访问 【标签】: axis2, tomcat5, eclipse3.2 在本文中,我们将详细介绍如何利用axis2、Tomcat5.5和Eclipse3.2来部署和访问Web服务。首先,我们需要...

    用axis2+Tomcat5.5+MyEclipse7.5部署和访问Web服务

    本文主要介绍了如何使用Axis2、Tomcat 5.5和MyEclipse 7.5来部署和访问Web服务。首先,详细列出了所需的软件版本和下载资源,包括Axis Eclipse插件、Axis2 War包、Tomcat以及MyEclipse。接下来,文章讲述了部署过程...

    axis2+Tomcat5.5+Eclipse3.3

    【描述】:本文将深入探讨如何使用axis2、Tomcat5.5和Eclipse3.3来部署和访问Web服务,这是一份适用于初学者的学习指南。 【标签】:"webservice" "axis2" 在Web服务开发中,Apache Axis2是一个流行的服务框架,它...

    myEclipse10+axis2+tomcat6.0发布WebService.pdf

    首先,我们需要了解Axis2是Apache软件基金会的一个开源项目,它是一个Web服务引擎,用于处理Web服务的发布、部署和管理。myEclipse10是一款集成开发环境,特别适用于Java和Web应用的开发,而Axis2插件则提供了在...

    myEclipse10+axis2+tomcat6.0发布WebService.docx

    总结,myEclipse10结合Axis2和Tomcat6.0为开发者提供了一套完整的Web服务开发和部署解决方案。从设置环境到发布服务,整个过程清晰明了,便于初学者快速上手。通过理解上述步骤,开发者可以高效地创建、测试和部署...

    Axis2与Eclipse整合开发的Web Service的服务端

    - 在Eclipse中,通过`Window -> Preferences -> Web Service -> Axis2 Preferences`进行设置。在`Axis2 runtime location`中指定你刚刚解压的Axis2目录,点击"OK"完成配置。 3. **创建项目和类**: - 创建一个新...

Global site tag (gtag.js) - Google Analytics