myeclips+自定义工程+axis1.4

重重的壳裹着轻轻的仰望

Yesterday is history,tomorrow is a mystery ,but today is a gift ,that is why it is

called present

?博客园

?闪存

?首页

?新随笔

?联系

?管理

?订阅

随笔- 69 文章- 0 评论- 129 使用myEclipse,tomcat 和Axis发布webService

一.准备工作:

1.安装axis。去官方网站https://www.360docs.net/doc/5e1364143.html,/axis/下载axis包,然后解压到任

何一个目录。本例使用的是axis-bin-1_4.tar.gz ,解压到E:\axis-bin-1_4\axis-

1_4。

2.开发环境准备。本例使用MyEclipse6.0 ,java j2ee 1.4库,web server用to

m cat6。

二.创建web工程:

1. MyEclipse中新建web工程,名称为testAxis。工程目录为:D:\JavaProject\test Axis。

2.把testAxis部署到tom cat。

3.引入axis包:把axis目录下的E:\axis-bin-1_4\axis-1_4 \lib\下的所有jar包拷贝到工程下面的WebRoot\WEB-INF\lib下,myelipse会自动添加到引用库:

4.修改web.xml:如果没有特殊情况,最简单的方法就是用axis解压包中的web.x

ml直接替换testAxis工程的web.xml。例如本例,就用E:\ \axis-bin-1_4\axis-

1_4\webapps\axis\WEB-INF\web.xml替换工程testAxis下的web.xml。三.创建webservice:

1.在工程testAxis里新建要实现方法的接口:本例新建sayHelloToCkp.java,放在com.

ckp包中。

package com.ckp;

public interface sayHelloToCkp {

public String sayHello ();

}

2. 把该类生成wsdl文件:

Axis里有一个Java2WSDL方法,用于把java类生成wsdl。当然你可以写命令行手动执行这个方法。这里讲下使用MyEclipse来运行这个方法。

在sayHelloToCkp.java类文件上右键,Run As——》Open Run Dialog:

弹出窗口,新建一个configuration,下图1处,然后

Main选项卡中的main class 输入:

org.apache.axis.wsdl.Java2WSDL;

Arguments选项卡中的program arguments输入,如下图-o ckp.wsdl

-l "http://localhost:8080/testAxis/services/ckp"

-n "urn:ckp"

-p"com.ckp" "urn:ckp"

com.ckp.sayHelloToCkp

然后点击Run。会在工程目录D:\JavaProject\testAxis下生成ckp.wsdl文件。

3.用wsdl生成服务类

axis里面有WSDL2Java的方法(与Java2WSDL相反),用于把wsdl文件生成java se rvice类。当然你还可以写命令行手动执行这个方法。这里讲下使用MyEclipse来运行这个方法。

同上,还是右键Run As——》Open Run Dialog,弹出窗口,新建configuration。

这次使用

org.apache.axis.wsdl.WSDL2Java ,

参数是

-t -B -v -D -s -p com.ckp.server D:\JavaProject\testAixs\ckp.wsdl 如下图:

Run后,将在项目的根目录下生成相关的服务类、build.xml和deploy.wsdd,undesploy.wsdd 等。我们把他们拷贝到工程里的src下即可(注意包的位置):

4.服务的部署和生成server_config.wsdd:

先启动tomcat,然后运行命令行c m d,到达web服务器里类和deploy.wsdd所在的目录,如本例的是c:\apache-tom cat-6.0.14\webapps\testAxis\WEB-INF\classes\com\c kp\server

执行如下命令:

java -Djava.ext.dirs= E:\axis-bin-1_4\axis-1_4\lib org.apache.axis.client.Ad minClient -lhttp://localhost:8080/testAxis/services/ckp?wsdl deploy.wsdd

前面的路径是axis解压路径里的lib路径,后面是未来的service的wsdl地址。

生成成功后,c:\apache-tom cat-6.0.14\webapps\testAxis\WEB-INF\下便可看到se rver-config.wsdd文件。

5.测试:

在WebService的实现类CkpSoapBindingImpl.java里添加如下代码:

package com.ckp.server;

public class CkpSoapBindingImpl implements com.ckp.server.SayHello wToCkp{

public https://www.360docs.net/doc/5e1364143.html,ng.String sayHello() throws java.rmi.RemoteExcep tion {

return"hello you";

}

}

重启tom cat,输入http://localhost:8080/testAxis/services访问。

四.生成客户端:

有了WSDL文件,与生成服务器代码相同,只是参数不同,也是生成在项目根目录下:如下图:

注:本例中,如果不想保留原来的接口类sayHelloToCkp.java,完全可以在最开始时就把接口类放在com.ckp.server下,然后在第三步第3小步中,再把它覆盖。

分类: JAVA

标签: java, axis, myeclipse, webservice

绿色通道:好文要顶关注我收藏该文与我联系

MichaelChen

关注- 0

粉丝- 6

+加关注

2

(请您对文章做出评价)

?博主前一篇:Flex中的this指向

?博主后一篇:使用Axis简单快速创建Webservice(含串行化的实现)

posted @ 2009-10-27 17:02 MichaelChen阅读(3661) 评论(0)编辑收藏

刷新评论列表刷新页面返回顶部注册用户登录后才能发表评论,请登录或注册,访问网站首页。

程序员问答社区,解决您的IT难题

简洁阅读版式

网站首页博问新闻闪存程序员招聘知识库

最新IT新闻:

·中软国际与华为建合资公司预计第三年营收36亿

·专注的艺术

·日本开发出能与海报人物接吻的装置

·WP7 生态系统下的主力开发者:学生?

·58同城盈利模式受质疑

?更多新闻...

最新知识库文章:

·五个非常重要的移动Web内容适应设计理念·函数式编程初探

·心如止水的程序员

·解决「问题」,不要解决问题

·你所知道的学习方法,都是错的!

?更多知识库文章...

China-pub 2011秋季教材巡展

China-Pub 计算机绝版图书按需印刷服务

昵称:MichaelChen

园龄:3年11个月

粉丝:6

关注:0

+加关注

<

搜索

常用链接

?我的随笔

?我的评论

?我的参与

?最新评论

?我的标签

?更多链接

最新随笔

? 1. 英语学习之宗教(religion)

? 2. Ubuntu 之旅(六)安装subversion(svn)+apache2? 3. Ubuntu 之旅(五)中文输入法

? 4. Ubuntu 之旅(四)安装JDK和eclipse

? 5. Ubuntu 之旅(三)安装通讯工具

随笔分类

?AJAX(11)(rss)

?C#(8)(rss)

?English Learning(1)(rss)

?flex&as3(5)(rss)

?JAVA(8)(rss)

?LINUX(7)(rss)

?PMP(2)(rss)

?ubuntu 之旅(6)(rss)

?WPF(rss)

?设计模式(design patterns)(5)(rss)

?项目管理(3)(rss)

随笔档案

?2010年12月(1)

?2010年7月(6)

?2010年5月(1)

?2010年4月(1)

?2009年11月(1)

?2009年10月(1)

?2009年8月(6)

?2009年5月(2)

?2009年1月(1)

?2008年12月(12)

?2008年11月(8)

?2008年10月(5)

?2008年6月(5)

?2008年5月(19)

积分与排名

?积分- 37336

?排名- 2904

最新评论

? 1. Re:关于父类引用指向子类对象

?不错,写的比较浅显易懂~

?--xrzs1986 ? 2. Re:java中三种主流数据库数据库(sqlserver,db2,oracle)的jdbc连接总结

?不错,谢了!

?--l_u 阅读排行榜

? 1. Redhat Enterprise Linux 5 实战系列(六)为RHEL5开启samba(4113)

? 2. 使用myEclipse,tomcat 和Axis发布webService(3661)

? 3. 觉得有必要记一下的东西——关于翻译(2979)

? 4. Redhat Enterprise Linux 5 实战系列(二)RHEL5未识别的网卡安装(2415)

? 5. Ext 实现grid之间的拖放(D&D between 2 grids)(2327)

评论排行榜

? 1. 觉得有必要记一下的东西——关于翻译(82)

? 2. 关于父类引用指向子类对象(8)

? 3. 一句话概括.net和java程序员(7)

? 4. PMP考试通过!(6)

? 5. 设计模式学习之简单工厂(simple facotry)、工厂方法(actory method)、抽象工厂(a bstract factory)(5)

推荐排行榜

? 1. 使用myEclipse,tomcat 和Axis发布webService(2)? 2. PMP考试通过!(2)

? 3. as3学习笔记(一)概述(2)

? 4. gxt-2.1.1(EXT-GWT)+GWT 2.0 集成说明(2)

? 5. JFileChooser在MAC OS里面的问题(1)

Copyright ?2012 MichaelChen

相关文档
最新文档