使用myEclipse,tomcat 和Axis发布webService
2012-09-12 17:56
435 查看
接上篇文档
一、创建web工程
1、 MyEclipse中新建web工程,名称为sayHello2Axis。工程文件存放在目录:E:\workspace\sayHello2Axis下。
2、 导入axis包: 把axis的lib目录下的所有jar包包括上篇文档提到的几个jar拷贝到工程下面的WebRoot\WEB-INF\lib下。
3、 修改web.xml:如果没有特殊情况,最简单的方法就是用axis提供的样例项目axis中的web.xml直接替换工程中web.xml。例如本例,就用axis-bin-1_4\axis-1_4\webapps\axis\WEB-INF\web.xml替换工程sayHello2Axis下的web.xml
二、创建WebService
1、在工程sayHello2Axis里新建要实现方法的接口:本例新建SayHello2Who.java,放在com.osg.server包中。代码如下:
package com.osg.server;
public interface SayHello2Who
{
public String sayHello2Teacher(String name);
public Student sayHello2Student(String name);
}
2、把该类生成wsdl文件
Axis里有一个Java2WSDL方法,用于把java类生成wsdl。当然你可以写命令行手动执行这个方法。这里讲下使用MyEclipse来运行这个方法。
在SayHello2Who.java类文件上右键,Run As——》Open Run Dialog:
如下图:
弹出窗口,新建一个configuration,如图,然后
Main选项卡中的main class 输入:
Arguments选项卡中的program arguments输入
-o SayHello.wsdl
-l "http://localhost:8080/sayHello2Axis/services/SayHello"
-n "urn:SayHello"
-p"com.osg.server" "urn:SayHello"
com.osg.server.SayHello
如下图
然后点击Run。会在工程目录E:\workspace\sayHello2Axis下生成SayHello.wsdl文件。
3、用上一步生成好的WSDL文件生成Server端代码
Axis里面有WSDL2Java的方法,用于把wsdl文件生成java Server类。同上,在SayHello.wsdl文件上右键Run As——》Open Run Dialog,弹出窗口,新建configuration。这次使用
如下图:
参数是:
如图:
Run后,将在项目的根目录下生成相关的服务类、build.xml和deploy.wsdd,undesploy.wsdd等。我们把他们拷贝到工程里的src下即可(注意文件路径的正确性):
4、服务的部署和生成server_config.wsdd(这步是关键)
先将此项目部署到Tomcat下面,启动tomcat,然后运行命令行cmd,到达web服务器里类和deploy.wsdd所在的目录,如本例的是D:\Application\apache-tomcat-6.0.20\webapps\sayHello2Axis\WEB-INF\classes\com\osg\server
执行如下命令:
前面的路径是axis解压路径里的lib路径,后面是未来的service的wsdl地址。
生成成功后,D:\Application\apache-tomcat-6.0.20\webapps\sayHello2Axis\WEB-INF目录下便可看到server-config.wsdd文件。
5、测试刚发布好的WebService
在WebService的实现类SayHelloSoapBindingImpl.java里添加如下代码:
重启tomcat,输入http://localhost:8080/sayHello2Axis/services访问。测试的时候亦可以用SoapUI工具进行模拟测试。
四.生成客户端:
此处和生成服务端代码类似,仅仅是参数不同。
参数为:
如下图所示
一、创建web工程
1、 MyEclipse中新建web工程,名称为sayHello2Axis。工程文件存放在目录:E:\workspace\sayHello2Axis下。
2、 导入axis包: 把axis的lib目录下的所有jar包包括上篇文档提到的几个jar拷贝到工程下面的WebRoot\WEB-INF\lib下。
3、 修改web.xml:如果没有特殊情况,最简单的方法就是用axis提供的样例项目axis中的web.xml直接替换工程中web.xml。例如本例,就用axis-bin-1_4\axis-1_4\webapps\axis\WEB-INF\web.xml替换工程sayHello2Axis下的web.xml
二、创建WebService
1、在工程sayHello2Axis里新建要实现方法的接口:本例新建SayHello2Who.java,放在com.osg.server包中。代码如下:
package com.osg.server;
public interface SayHello2Who
{
public String sayHello2Teacher(String name);
public Student sayHello2Student(String name);
}
2、把该类生成wsdl文件
Axis里有一个Java2WSDL方法,用于把java类生成wsdl。当然你可以写命令行手动执行这个方法。这里讲下使用MyEclipse来运行这个方法。
在SayHello2Who.java类文件上右键,Run As——》Open Run Dialog:
如下图:
弹出窗口,新建一个configuration,如图,然后
Main选项卡中的main class 输入:
org.apache.axis.wsdl.Java2WSDL
Arguments选项卡中的program arguments输入
-o SayHello.wsdl
-l "http://localhost:8080/sayHello2Axis/services/SayHello"
-n "urn:SayHello"
-p"com.osg.server" "urn:SayHello"
com.osg.server.SayHello
如下图
然后点击Run。会在工程目录E:\workspace\sayHello2Axis下生成SayHello.wsdl文件。
3、用上一步生成好的WSDL文件生成Server端代码
Axis里面有WSDL2Java的方法,用于把wsdl文件生成java Server类。同上,在SayHello.wsdl文件上右键Run As——》Open Run Dialog,弹出窗口,新建configuration。这次使用
org.apache.axis.wsdl.WSDL2Java
如下图:
参数是:
-t -B -v -D -s -p com.osg.server E:\workspace\sayHello2Axis\SayHello.wsdl
如图:
Run后,将在项目的根目录下生成相关的服务类、build.xml和deploy.wsdd,undesploy.wsdd等。我们把他们拷贝到工程里的src下即可(注意文件路径的正确性):
4、服务的部署和生成server_config.wsdd(这步是关键)
先将此项目部署到Tomcat下面,启动tomcat,然后运行命令行cmd,到达web服务器里类和deploy.wsdd所在的目录,如本例的是D:\Application\apache-tomcat-6.0.20\webapps\sayHello2Axis\WEB-INF\classes\com\osg\server
执行如下命令:
java -Djava.ext.dirs=E:\axis-1_4\lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/sayHello2Axis/services/SayHello?wsdl deploy.wsdd
前面的路径是axis解压路径里的lib路径,后面是未来的service的wsdl地址。
生成成功后,D:\Application\apache-tomcat-6.0.20\webapps\sayHello2Axis\WEB-INF目录下便可看到server-config.wsdd文件。
5、测试刚发布好的WebService
在WebService的实现类SayHelloSoapBindingImpl.java里添加如下代码:
package com.osg.server; public class SayHelloSoapBindingImpl implements com.osg.server.SayHello2Who { public java.lang.String sayHello2Teacher(java.lang.String in0) throws java.rmi.RemoteException { return in0+" say: Hello Teacher!"; } public com.osg.server.Student sayHello2Student(java.lang.String in0) throws java.rmi.RemoteException { Student student = new Student(); student.setName(in0); student.setAge(20); student.setSex("male"); return student; } }
重启tomcat,输入http://localhost:8080/sayHello2Axis/services访问。测试的时候亦可以用SoapUI工具进行模拟测试。
四.生成客户端:
此处和生成服务端代码类似,仅仅是参数不同。
参数为:
E:\workspace\sayHello2Axis\SayHello.wsdl -t -p com.osg.client
如下图所示
相关文章推荐
- 使用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
- MyEclipse中使用Tomcat发布工程时报错:The selected server is enabled,but……
- 使用Jax-ws将webservice发布到Web容器(Tomcat)
- 使用Axis简单步骤发布Webservice
- 使用ant将MyEclipse建立的web项目发布到tomcat
- 使用MyEclipse_将web应用发布到Tomcat的Root下,访问时不加工程名
- 【MyEclipse】使用Tomcat发布项目在控制台出现乱码
- 如何使用Axis发布WebService
- 使用axis1.4发布WebService简单示例
- 【MyEclipse】使用Tomcat7.0服务器发布项目出现错误Cannot acquire J2EEFlexProjDeployable object for module test [EXPLODED on MyEclipse Tomcat v7.0]
- Spring boot 集成Axis1.4 ,使用wsdd文件发布webservice
- 利用myeclipse8.5 将使用spring配置的原工程用JAX-WS发布为webservice
- 使用axis发布简单的webservice