初学WebService,jax-ws实现webService

来源:互联网 发布:win7安装linux操作系统 编辑:程序博客网 时间:2024/05/18 20:08

          WebService用简单的话说,就是系统对外的接口。

  WebService可以在任何支持网络的系统中运行,是一种调用其他网站资源的方法。

     WebService是一个应用组件,可以为其他应用程序提供数据和服务。各应用程序通过网络协议和规定的一些标准数据格式(http/xml/soap)来访问webservice,通过webservice内部的执行程序,得到需要的结果。

工作原理

   服务器端发布一个服务,客户端通过服务器发布出来的wsdl来访问。

下面开始我的第一个小例子,webservice中实现的是,客户端传给服务器端一个名字,经过webservice内部处理,返回给客户端一个name+"你好啊",比如客户端输入“柳岩”,服务器端返回“柳岩,你好啊”,步骤如下:

新建一个web项目如图:


一、开始写webservice服务器端HelloWorld.java代码如下
@WebService//告诉javaAPI,此类为webservice
public class HelloWorld {
@WebMethod//告诉javaAPI,此方法是需要发布的方法
public String sayHello(String str){
return str+",你好啊";
}
}
二、生成webservice发布的wdsl
     在本项目中,选中本项目中任意一个java文件,按住ctrl+N,在出现的窗口中输入 web,选择WebService,如下图1

图1
点击next,然后选择项目名和选择从java生成wsdl选项,如图2

图2

点击next,出现界面如图3

图3

点击browser选项,出现如图4所示


图4

选择webservice实现类,点击ok,出现界面如图5

图5

选中在项目中生成wsdl选项,点击finish,查看项目中是不是多了个wsdl文件夹,里面包含了一个xsd文件和一个wsdl文件,同时还生成的有一个sun-jaxws.xml文件,如图6
图6
打开web.xml,可以看到其中生成了WSServletContextListener监听器,
以及webservice的名称等信息,再打开sun-jaxws.xml可以看到发布的webservice所在的位置

至此,webservice发布的wsdl文件已经生成。
现在开始部署webservice,下面简单介绍两种
方法一:
新建一个java文件TestServer.java
内容如下
public class TestServer {
public static void main(String[] args) {
String url = "http://localhost:9999/ms";
Endpoint.publish(url, new HelloWorld());
}
}
点右键,运行此java Application,项目发布成功,打开浏览器,地址栏输入http://localhost:9999/ms?wsdl
可以看到我们的webservice已经生成了。

方法二、
1、在tomcat的webapps中新建一个名称为jaxtest的文件夹,
2、将该项目的webroot下的所有文件copy到webapps下的jaxtest中
3、重启tomcat
打开浏览器,地址中输入http://localhost:tomcat端口号/jaxtest/HelloWorldServiceImplPort?wsdl
生成的结果信息如下


0 0