设为首页 收藏本站
查看: 1475|回复: 0

[经验分享] 使用myEclipse,tomcat 和Axis发布webService

[复制链接]

尚未签到

发表于 2015-8-7 10:16:23 | 显示全部楼层 |阅读模式
  一.准备工作:
  1.         安装axis。去官方网站http://ws.apache.org/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用tomcat6。
  二.创建web工程:
  1. MyEclipse中新建web工程,名称为testAxis。工程目录为:D:\JavaProject\testAxis。
  2. 把testAxis部署到tomcat。
  3. 引入axis包: 把axis目录下的E:\axis-bin-1_4\axis-1_4 \lib\下的所有jar包拷贝到工程下面的WebRoot\WEB-INF\lib下,myelipse会自动添加到引用库:
   DSC0000.jpg
  
  4.         修改web.xml:如果没有特殊情况,最简单的方法就是用axis解压包中的web.xml直接替换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:
   DSC0001.jpg
  
  弹出窗口,新建一个configuration,下图1处,然后
  Main选项卡中的main class 输入:
     org.apache.axis.wsdl.Java2WSDL;
   DSC0002.jpg
  
  Arguments选项卡中的program arguments输入,如下图
  -o ckp.wsdl
    -l "http://localhost:8080/testAxis/services/ckp"
    -n "urn:ckp"
    -p"com.ckp" "urn:ckp"
  com.ckp.sayHelloToCkp
   DSC0003.jpg
  
  然后点击Run。会在工程目录D:\JavaProject\testAxis下生成ckp.wsdl文件。
  
  3.       用wsdl生成服务类
  axis里面有WSDL2Java的方法(与Java2WSDL相反),用于把wsdl文件生成java service类。当然你还可以写命令行手动执行这个方法。这里讲下使用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
  
  如下图:
   DSC0004.jpg
  
   DSC0005.jpg
  
  
  Run后,将在项目的根目录下生成相关的服务类、build.xml和deploy.wsdd,undesploy.wsdd等。我们把他们拷贝到工程里的src下即可(注意包的位置):
   DSC0006.jpg
  
  4.       服务的部署和生成server_config.wsdd:
  先启动tomcat,然后运行命令行cmd,到达web服务器里类和deploy.wsdd所在的目录,如本例的是c:\apache-tomcat-6.0.14\webapps\testAxis\WEB-INF\classes\com\ckp\server
  执行如下命令:
  java -Djava.ext.dirs=E:\axis-bin-1_4\axis-1_4\lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/testAxis/services/ckp?wsdl deploy.wsdd
  
  前面的路径是axis解压路径里的lib路径,后面是未来的service的wsdl地址。
  生成成功后,c:\apache-tomcat-6.0.14\webapps\testAxis\WEB-INF\下便可看到server-config.wsdd文件。
  5.       测试:
  在WebService的实现类CkpSoapBindingImpl.java里添加如下代码:
package com.ckp.server;


public class CkpSoapBindingImpl implements com.ckp.server.SayHellowToCkp{

    public java.lang.String sayHello() throws java.rmi.RemoteException {

        return "hello you";

    }

  }
  
  重启tomcat,输入http://localhost:8080/testAxis/services 访问。
  四.生成客户端:
  有了WSDL文件,与生成服务器代码相同,只是参数不同,也是生成在项目根目录下:如下图:
  
  
   DSC0007.jpg
  
  注:本例中,如果不想保留原来的接口类sayHelloToCkp.java,完全可以在最开始时就把接口类放在com.ckp.server下,然后在第三步第3小步中,再把它覆盖。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-95092-1-1.html 上篇帖子: 启动TomCat 出现java.net.BindException:Address already in use:JVM_Bind 下篇帖子: Eclipse + Tomcat + WTP 安装笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表