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