使用myEclipse,tomcat 和Axis发布webService
2009-10-27 17:02
561 查看
一.准备工作:
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会自动添加到引用库:
![](http://images.cnblogs.com/cnblogs_com/patrickchen/0.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:
![](http://images.cnblogs.com/cnblogs_com/patrickchen/1.jpg)
弹出窗口,新建一个configuration,下图1处,然后
Main选项卡中的main class 输入:
org.apache.axis.wsdl.Java2WSDL;
![](http://images.cnblogs.com/cnblogs_com/patrickchen/2.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
![](http://images.cnblogs.com/cnblogs_com/patrickchen/3.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
如下图:
![](http://images.cnblogs.com/cnblogs_com/patrickchen/4.jpg)
![](http://images.cnblogs.com/cnblogs_com/patrickchen/5.jpg)
Run后,将在项目的根目录下生成相关的服务类、build.xml和deploy.wsdd,undesploy.wsdd等。我们把他们拷贝到工程里的src下即可(注意包的位置):
![](http://images.cnblogs.com/cnblogs_com/patrickchen/6.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文件,与生成服务器代码相同,只是参数不同,也是生成在项目根目录下:如下图:
![](http://images.cnblogs.com/cnblogs_com/patrickchen/7.jpg)
注:本例中,如果不想保留原来的接口类sayHelloToCkp.java,完全可以在最开始时就把接口类放在com.ckp.server下,然后在第三步第3小步中,再把它覆盖。
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会自动添加到引用库:
![](http://images.cnblogs.com/cnblogs_com/patrickchen/0.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:
![](http://images.cnblogs.com/cnblogs_com/patrickchen/1.jpg)
弹出窗口,新建一个configuration,下图1处,然后
Main选项卡中的main class 输入:
org.apache.axis.wsdl.Java2WSDL;
![](http://images.cnblogs.com/cnblogs_com/patrickchen/2.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
![](http://images.cnblogs.com/cnblogs_com/patrickchen/3.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
如下图:
![](http://images.cnblogs.com/cnblogs_com/patrickchen/4.jpg)
![](http://images.cnblogs.com/cnblogs_com/patrickchen/5.jpg)
Run后,将在项目的根目录下生成相关的服务类、build.xml和deploy.wsdd,undesploy.wsdd等。我们把他们拷贝到工程里的src下即可(注意包的位置):
![](http://images.cnblogs.com/cnblogs_com/patrickchen/6.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文件,与生成服务器代码相同,只是参数不同,也是生成在项目根目录下:如下图:
![](http://images.cnblogs.com/cnblogs_com/patrickchen/7.jpg)
注:本例中,如果不想保留原来的接口类sayHelloToCkp.java,完全可以在最开始时就把接口类放在com.ckp.server下,然后在第三步第3小步中,再把它覆盖。
相关文章推荐
- 使用myEclipse,tomcat 和Axis发布webService
- 使用myEclipse,tomcat 和Axis发布webService
- 使用myEclipse,tomcat 和Axis发布webService
- 【转载】使用myEclipse,tomcat 和Axis发布webService
- 使用myEclipse,tomcat 和Axis发布webService
- 使用Axis在Tomcat下发布Webservice操作指南
- 使用Axis在Tomcat下发布Webservice操作指南
- MyEclipse8.5创建webService发布到Tomcat 6和weblogic
- Eclipse和MyEclipse使用tomcat发布web项目时的区别
- 【MyEclipse】使用Tomcat7.0服务器发布项目出现错误Cannot acquire J2EEFlexProjDeployable object for module test [EXPLODED on MyEclipse Tomcat v7.0]
- myeclipse使用经验---生成WAR包并在Tomcat下部署发布
- WebService -- Java 实现之 CXF ( 使用:Spring+CXF+Tomcat发布webService)
- 使用Jax-ws将webservice发布到Web容器(Tomcat)
- 使用MyEclipse将web应用发布到Tomcat的Root下,访问时不加工程名
- 使用axis1.4发布WebService简单示例
- 使用Apache cxf 和Spring在Tomcat下发布Webservice指南
- 使用axis发布webservice - 小头猪 - JavaEye技术网站
- 使用Axis发布WebService相关环境准备
- myeclipse使用tomcat发布项目失败的问题
- Webservice学习笔记二,使用Axis发布简单的Web服务