JavaWebService开发简单实例
  Web Service 是⼀种新的web应⽤程序分⽀,他们是⾃包含、⾃描述、模块化的应⽤,可以发布、定位、通过web调⽤。Web Service 可以执⾏从简单的请求到复杂商务处理的任何功能。⼀旦部署以后,其他Web Service应⽤程序可以发现并调⽤它部署的服务
  实际上,WebService的主要⽬标是跨平台的可互操作性。为了达到这⼀⽬标,WebService完全基于XML(可扩展标记语⾔)、XSD(XMLSchema)等独⽴于平台、独⽴于软件供应商的标准,是创建可互操作的、分布式应⽤程序的新平台。由此可以看出,在以下三种情况下,使⽤ WebService会带来极⼤的好处。
  虽然本⼈完全明⽩Web Service,但要把概念说的专业,明了,还是引⽤⼤家的话⽐较好。要了解Web Service的朋友,推荐两篇篇⽂章:
  Web Service 解读⼀:
  Web Service 解读⼆:
下⾯,就写⼀个简单的java WebService例⼦。
⼀、开发⼯具:
  1.Eclipse Java EE IDE for Web Developers
  2.apache-tomcat-7.x
⼆、配置Tomcat服务器:
三、创建web项⽬:
  1.在java ee版的eclipse⾥执⾏:new->other->web->Dynamic Web Project 例如我的项⽬名称:MyWebServices
  2.(除了做项⽬需要,强烈建议使⽤eclipse⽽不是myeclipse做java ee开发)。这⾥为了⽅便java类的编译,我们对类编译路径作⼀简单配置:
   右击项⽬,然后在右击菜单中选择:Build Path->Configure Build Path->Java Build Path->Source->Default outer folder.
   将原来的:MyWebService/build/classes改成MyWebService/WebContent/WEB-INF/classes
  3.建⽴⼀个⽤于发布WebService的java类(我这⾥是Person类com.service包下):
1package com.service;
2
3public class Person {
4
5public String desc(String name){
6
7return "hello! " + name;
8    }
9
10 }
四、将该类发布为WebService:
  1.将这⾥的Person类发布为WebService(要发布为web服务的类不⼀定要在这⾥,可以是java project中的)
  Person.java ->web services->create web services,如下图所⽰:
  2.⼀路点击next完成即可,如果tomcat没有启动,在提⽰启动时,请启动。完成即可。
五、在浏览器中发布web服务:
  1.⽤于发布该web服务的web项⽬就是我们创建的MyWebService项⽬。⾸先,打开tomcat服务器配置⽂件增加⼀个web节点。路径是:
    apache-tomcat-7.0.53\l,⽤记事本打开,在</Host>前加上虚拟路径:
    这⾥的path随意配置,docBase根据⾃⼰的实际情况配置。
  2.在WebContent⽬录下创建index.jsp,在html标签下添加<h1>hello geoman</h1>.然后启动tomcat服务器。在地址栏⾥输⼊:
    localhost:8080/geoman/index.jsp
    如果页⾯能正常打开,则web虚拟节点配置正确。
  3.在虚拟⽬录配置正确的情况下,在浏览器地址栏输⼊:
    localhost:8080/geoman/services
    则显⽰如下所⽰的web服务,其中包括我们发布的Person 服务。如下图所⽰:
  4.点击Person连接,可以看到Person服务的内容,如下图所⽰:
    也可以直接数据Person服务的地址:
    localhost:8080/geoman/services/Person?wsdl
    进⾏访问。
六、创建Web服务客户端:
  1.⾸先创建⼀个java project,(我的项⽬名称是MyWebServiceClient).
  2.右击项⽬创建Web Service Client,在service definition中到Person.sdwl.完成即可。    此时,在项⽬中⽣成了Person服务的各个类。如下图所⽰:
  3.创建⼀个Test测试类,加⼊如下代码:
1package com.service;
2
i.RemoteException;
4
5public class Test {
6
7public static void main(String args[]){
8        PersonSoapBindingStub binding = null;
9try {
10          binding = (PersonSoapBindingStub)
11new PersonServiceLocator().getPerson();
12              }
13catch (l.rpc.ServiceException jre) {
LinkedCause()!=null)
15                      LinkedCause().printStackTrace();
16
17              }
18
19              binding.setTimeout(6000);
20try {基于javaweb的美食食谱网站
21          System.out.println(binding.desc("GeoMan"));
22        } catch (RemoteException e) {
23          e.printStackTrace();
24        }
25
26    }
27
28 }
  4.运⾏Test,则可以看到调⽤该服务后的运⾏结果(必须打开tomcat,这样服务才处于发布状态): 
⾄此,⼀个基于java的WebService便完整完成了!