`
taiwei.peng
  • 浏览: 234611 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多

非常感谢呼必斯哈拉图,写得非常的详细,图文并茂。
但是,我的环境和他文中的不太一样,所以根据自己的环境重写如下。

一、环境准备

1.1软件下载准备
Tomcat 5.5下载地址:
http://tomcat.apache.org/download-55.cgi#5.5.20

Axis War包:
http://ftp.wayne.edu/apache/ws/axis2/1_1_1/axis2.war

Axis Eclipse plug-in(代码生成工具和打包工具):
http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip
http://apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wizard.zip

Eclipse 3.2:
http://www.eclipse.org/

MyEclipse5.5M1
http://www.myeclipseide.com/

1.2安装

A.首先搭建开发环境,将下载的Eclipse解压缩到一个目录,D:eclipse-SDK-3.2-win32。
B.将下载到的Axis 的两个plug-in解压缩到D:Axis-Plugin-Direclipseplugins目录下

C.在eclipse目录下创建D:eclipse-SDK-3.2-win32eclipselinks,新建文件名为:axis-eclipse-plugin.link

内容为:
path=D:Axis-Plugin-Dir


D.安装MyEclipse5.5M1,将eclipse目录指向D:eclipse-SDK-3.2-win32,删除D:eclipse-SDK-3.2-win32eclipseconfiguration下的org.eclipse.update目录。然后启动MyEclipse,选择“File->New->Other”可以看到如下的两个界面
1、Axis2 plugins


2、Web Servieces plugins

E.下面开始搭建Web Services的部署环境。

将下载的tomcat5.5解压缩到一个目录D:Tomcat5.5。

F.将axis2.war包拷贝到tomcat安装目录下的webapps目录。

G.启动Tomcat(D:Tomcat5.5binstartup.bat),打开浏览器输入并访问:http://127.0.0.1:8080/axis2 来查看,结果如下图,表示axis2已经工作正常。

二、快速开始

2.1创建webApps项目

启动MyEclipse,新建立一个WebAppsFile->New->Project->Web Project,Project Name SayHello
,其他保持不改变。

2.2创建WSDL文件

A.选择File->New-Other菜单,进入后找到MyEclipse->Web Services并选择WSDL.如下图:

B.点击下一步按钮,显示如下图:

C.选择“src”目录作为“Enter or select the parent folder”的值,“File name”值给定为SayHello.wsdl。

D.下一步》所有界面内容取默认值,Finish!

E.显示WSDL设计器的界面如下:

F.修改图中标红色的部分:
修改图中的NewOperation为SayHello;
修改input中parameters为SayHelloRequest;
修改output中parameters为SayHelloResponse;
修改完后如下图:

红色框内为变化的内容,WSDL文件修改完毕。

2.3WSDL生成Java代码

A.选择菜单“File->New->Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Code Generator”.点击“Next”

B.进入下一个页面,保持“Generate java source code from WSDL file”被选中,点击“Next”进入下一步。
C.点击“Browse”来选取存放在src目录下的SayHello.wsdl文件,“Next”
进入下一步。
D.首先生成客户端代码和测试代码,设置如下:

E.下一步后,选择SayHellosrc目录,如下图:

Finish !

F.重复从A到C的步骤,然后生成服务端代码,设置如下:


后面同E。

G.结束后,刷新项目,如图:

这是由于没有将Axis2jar包放入class path 中以及源代码的package不为org.example.www.sayhello引起的。

H.修改包名为org.example.www.sayhello并从tomcat中的axis2 web应用WEB-INF/lib目录中加载所有jar包到项目的classpath中。

I.在SayHelloTest.java 中引入junit包。

2.4编写业务代码

打开SayHelloSKeleton.java文件其中的方法如下:

 

public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest param0)

{

// Todo fill this with the necessary business logic

throw new java.lang.UnsupportedOperationException();

}

 

 修改为:

 

public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest request)
{
      try
    {
             SayHelloResponse response = new SayHelloResponse();
             response.setOut("Hi,"+request.getIn()+".How are you?");
             return response;
    }catch(UnsupportedOperationException e)
       {
           throw e;
   }
}

 

2.5打包

A.选择菜单“File->New->Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Services Archive”.点击“Next”进入下一个页面

B.选择编译好的class文件所在目录(本项目应该是WebRoot下面WEB-INF/classes),“Next”进入下一步。

C.选择WSDL文件所在目录,此处为src目录下的SayHello.wsdl文件。“Next”,再“Next”。选择services.xm文件。

D.点击“Next”,将记入最后一个页面,此处有两个选项,一个是输出目录一个是处处文件名称。这里的输出文件名称给的是SayHello。点击“Finish”完成。

2.6部署

A.将打包好的文件SayHello.jar拷贝到Tomcat中已经部署的Axis2应用的WEB-INF/services目录下面。

B.重新启动Tomcat

C.打开浏览器,输入http://127.0.0.1:8080/axis2,并点击其中的“services”链接可以看到SayHello已经被部署。点击SayHello提供的连接可以看到与之对应的WSDL。

2.7调用测试
A.修改SayHelloTest.java文件中的方法
testSayHello的内容为:

 

public void testSayHello() throws java.lang.Exception {
  String url="http://localhost:8080/axis2/services/SayHello";
  org.example.www.sayhello.SayHelloStub stub = new org.example.www.sayhello.SayHelloStub(url);
  org.example.www.sayhello.SayHelloStub.SayHello request = (org.example.www.sayhello.SayHelloStub.SayHello) getTestObject(org.example.www.sayhello.SayHelloStub.SayHello.class);
  request.setIn("Teamlet");
  System.out.println(stub.SayHello(request).getOut());
  assertNotNull(stub.SayHello(request));
 }

 

  从菜单中选择“Run>Run as->JUnit Test 完成测试!

<EOF>

 

 

 

posted on 2008-03-10 23:02 Daniel 阅读(7454) 评论(10)  编辑  收藏 所属分类: WebService

<!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://www.blogjava.net/mlzry0612/articles/185209.html" dc:identifier="http://www.blogjava.net/mlzry0612/articles/185209.html" dc:title="MyEclipse + AXIS2 " trackback:ping="http://www.blogjava.net/mlzry0612/services/trackbacks/185209.aspx" /> </rdf:RDF> -->

<script type="text/javascript"></script>

评论

在使用Axis2 Codegen Wizard的时候报错:

An error occurred while completing process
-java.lang.reflect.InvocationTargetException

...  
回复  更多评论   

# re: MyEclipse + AXIS2 2009-03-20 16:41 初学者

请问我按照您的步骤做到打包时点finish时报错说是filesets
怎么处理啊?是哪里错了呢QQ114435179  回复  更多评论   

# re: MyEclipse + AXIS2 [未登录] 2009-04-18 16:40

请问我用的是MyEclipse +tomcat6.5 那两个plugin文件怎么找不到路径Axis-Plugin-Direclipseplugins目录啊?谢谢……
  回复  更多评论   

# re: MyEclipse + AXIS2 2009-04-21 10:02 pkrosaline

你好。2.5D步骤,一个是Service name,这个是随便自己写的,对吗?另一个是Class name,这个名字写什么呢?我是随便写的。但是最后finish按钮无效。根本无法点击。  回复  更多评论   

# re: java.lang.reflect.InvocationTargetException 2009-10-23 17:53 lihw

Axis2 Eclipse plugin: Code Generator 在Finish 时产生Exception: java.lang.reflect.InvocationTargetException
[版本]
Eclipse 3.2
Axis2 1.4

[问题原因]
主要的问题在于 Code Generator plugin 内缺少了 backport-util-concurrent-3.1.jar 包

[解决方案]
- 关闭 Eclipse
- copy %AXIS2_HOME%\lib\backport-util-concurrent-3.1.jar 到下列 folder
%ECLIPSE_HOME%\plugins\Axis2_Codegen_Wizard_1.3.0\lib

- 注册此 jar 包: 編輯 %ECLIPSE_HOME%\plugins\Axis2_Codegen_Wizard_1.3.0\plugin.xml , 在 <runtime> 內加入下面的字串
<library name="lib/backport-util-concurrent-3.1.jar">
<export name="*"/>
</library>

- 执行 Eclipse 即可

- 若问题仍存在, 尝试改变Eclipse 使用的 JRE, 换成 JAVA 6
- 使用 JRE 1.6 启动 Eclipse 后, 若仍有问题, 试着加入 -clean 参数启动 Eclipse, 清除 osig cache:
eclipse.exe -vm "c:\java\jre1.6.0_05\bin\java.exe" -clean -console -consoleLog -debug -vmargs -Xmx384M

- 关闭 Eclipse 后, 再以一般方式启动 Eclipse, 应可解决问题

  回复  更多评论   

# re: MyEclipse + AXIS2 [未登录] 2010-01-07 21:26 xxx

非常好~~谢谢你!!!  回复  更多评论   

# re: MyEclipse + AXIS2 [未登录] 2010-03-25 20:55 kk

根据您的方法一步一步的做但是有点不对头和您的有些不同,
在2.4编写业务代码

打开SayHelloSKeleton.java文件
.sayhello.SayHelloRequest param0 处不同,

自己生成的文里没有SayHelloRequest,敲点后也没找不到,

您的那个SayHelloRequest 是怎么得到的,请指点迷津!  回复  更多评论   

# re: MyEclipse + AXIS2 [未登录] 2010-04-10 22:02 guyue

MyEclipse + Axis2 报错 "filesets”
这个问题的原因,就是你使用了Axis_Service_Archiver_1.0.0这个打包工具来打包,改用Axis2_Service_Archiver_1.3.0来打包

Axis2_Service_Archiver_1.3.0 下载 http://taomujian.iteye.com/blog/334405
  回复  更多评论   

# re: MyEclipse + AXIS2 2010-06-27 09:44 yvee

@kk
这个问题我知道,跟我的一样,是因为你在做2.1步骤中的F.修改图中标红色的部分:
修改图中的NewOperation为SayHello;
修改input中parameters为SayHelloRequest;
修改output中parameters为SayHelloResponse;
input参数没有改,这个没有关系 的,只要自己知道SayHello类就是SayHelloRequest请求就行了。

# re: MyEclipse + AXIS2 2008-10-29 22:10 yoan
分享到:
评论

相关推荐

    Axis1,Axis2,Xfire,CXF区别

    Axis1, Axis2, Xfire, CXF 区别 Axis1, Axis2, Xfire, CXF 是四种常用的WebService框架,它们之间有着不同的特点和应用场景。本文将对这四种框架进行详细的比较和分析,以帮助开发者选择合适的框架。 XFire 是一种...

    Axis_API和axis2_API

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而Axis和Axis2是两种流行的Java SOAP(简单对象访问协议)框架,用于构建和消费Web服务。本文将深入探讨这两个API,以及它们在Web服务开发中的作用。 ...

    axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_

    标题中的"axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...

    axis 1.x与axis2.x开发

    Axis是Apache组织开发的一款开源Web服务框架,主要用于构建和部署SOAP(Simple Object Access Protocol)服务。Axis分为两个主要版本:Axis1.x和Axis2.x,它们都是Java平台上的Web服务实现,但在设计和功能上有所...

    axis2相关的jar包

    axis2-adb-1.5.4.jar axis2-adb-codegen-1.5.4.jar axis2-codegen-1.5.4.jar axis2-corba-1.5.4.jar axis2-fastinfoset-1.5.4.jar axis2-java2wsdl-1.5.4.jar axis2-jaxbri-1.5.4.jar axis2-jaxws-1.5.4.jar axis2-...

    axis1.4和axis2相关jar文件

    在Java世界中,Apache Axis是用于构建Web服务和客户端应用程序的工具包,它允许开发者将Java类暴露为Web服务,并且能够消费其他Web服务。Axis分为两个主要版本:Axis1和Axis2,这两个版本在功能、性能和设计上都有所...

    axis2的API,axis2 API,axis2帮助文档

    Axis2是Apache软件基金会开发的一个开源Web服务引擎,它提供了基于SOAP(Simple Object Access Protocol)的Web服务实现。本文将详细介绍Axis2的API及其在Web服务开发中的应用,同时也会探讨Axis2的帮助文档如何协助...

    axis和axis2的一些发布差异(WSDL2Java) 收藏

    ### Axis与Axis2在WSDL2Java工具中的发布差异 #### 概述 本文将详细介绍Axis与Axis2在使用WSDL2Java工具进行服务发布的差异性。这两种工具都是Apache项目的一部分,它们为开发者提供了强大的Web服务支持。其中,...

    axis2-1.5.1-bin.zip axis2-1.5.1-war.zip axis2部署使用

    Apache Axis2是著名的开源Web服务框架,用于构建和部署高效且灵活的Web服务。这个框架是基于Axis1的升级版,提供了许多改进和新特性,包括更好的性能、模块化架构和增强的MIME支持。标题提到的“axis2-1.5.1-bin.zip...

    axis2-1.6.2

    axis2-1.6.2.zip, windows axis2工具,根据 WSDL生成java文件。 1、axis2客户端下载地址:http://mirror.esocc.com/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip; 2、下载解压在D:\Work_Program_...

    axis1.4完整包下载

    Apache Axis 是一个开源的Web服务框架,主要用于实现SOAP(简单对象访问协议)协议。它使得开发和部署基于Java的Web服务变得更为简便。标题“axis1.4完整包下载”表明我们关注的是Apache Axis的1.4版本,这是一个较...

    axis2客户端调用axis1服务接口

    axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...

    axis1.4生成客户端

    Axis1.4是Apache软件基金会提供的一个开源工具,专门用于处理Web服务,特别是基于SOAP(Simple Object Access Protocol)的Web服务。本文将深入探讨如何使用Axis1.4生成客户端,以及与之相关的知识点。 1. **Web...

    axis2-1.6.1

    标题“axis2-1.6.1”指的是Apache Axis2的1.6.1版本,这是一个流行的开源Web服务引擎,用于构建和部署Web服务。Apache Axis2是Axis1的下一代,设计为更灵活、可扩展且高效。在这个版本中,它提供了一系列改进和新...

    AXIS1全套JAR包

    AXIS1全套JAR包是针对AXIS 1版本的Web服务开发工具包,它包含了进行Java Web服务开发所需的全部核心库。AXIS是Apache软件基金会的一个开源项目,专门用于创建、部署和管理Web服务。AXIS1是早期版本,但至今仍被一些...

    cxf与axis2区别

    CXF与Axis2框架区别详解 CXF和Axis2是两个流行的Webservice框架,都是由现有的项目逐渐演化而来的。Axis2是由Axis1.x系列演化而来,而Apache CXF则是由Celtix和XFire项目整合而生。在本文中,我们将探讨CXF和Axis2...

    axis2-1.4.1-bin.zip axis2-1.4.1-war.zip

    标题中的"axis2-1.4.1-bin.zip"和"axis2-1.4.1-war.zip"指的是Apache Axis2的两个不同版本的发行包,分别代表了Axis2的可执行二进制版本和Web应用程序版本。Apache Axis2是一个高度可扩展且功能强大的Web服务引擎,...

    axis2 包括源码 文档

    Axis2是Apache软件基金会开发的一个开源Web服务框架,主要用于构建高度可扩展且模块化的Web服务。这个框架基于SOAP(简单对象访问协议)和WS-*(Web服务*规范集),为开发者提供了一种高效且灵活的方式来创建和部署...

    axis2所有的jar

    axis.jar, axis2-adb-1.6.2.jar, axis2-kernel-1.6.2.jar, axis2-transport-http-1.6.1.jar, axis2-transport-local-1.6.1.jar, commons-codec-1.3.jar, commons-discovery.jar, commons-...

    axis发布webservice教程源代码

    【标题】"Axis发布Web服务教程源代码"指的是使用Apache Axis框架来创建并发布Web服务的教学资源,其中可能包含了详细的步骤、示例代码以及相关的配置文件。Apache Axis是开源的Java库,它允许开发者在Java平台上快速...

Global site tag (gtag.js) - Google Analytics