WebService总结1

    web service大致有三个实现规范:JAX-WS,JAX-RS(REST)和JAXM&SAAJ。具体的实现技术有jdk6,CXF,Axis和X-Fire。jdk6已经实现了JAX-WS的,尽量以这个为基础创建。

jdk6实现WebService详细参见http://wuhongyu.javaeye.com/blog/807470.

jdk6实现方法可能出现错误:
1。Exception in thread "main" java.lang.NullPointerException
at com.sun.xml.ws.server.EndpointFactory.getWsdlLocation(EndpointFactory.java:399)
服务类没有用@Webservice注解
2。runtime modeler error: Wrapper class <package.class> is not found. Have you run APT to generate them?
网上资料说将JDK升级到1.6u17,但是我的版本是1.6u20也不行。


MyEclipse + JAX-WS创建B/S服务器的WebService服务器端实例步骤为:
第一步:新建web service project
第二步:编写服务接口和实现(不用@WebService注解)
第三步:new-other-web service,选择从实现类,修改Service name和Service port,生成Delegate代理,ServicePort类和wsdl文件,添加web.xml和jax-ws.xml信息
第四步:选择项目构建路径,new library-myeclipse,导入JAX-WS开头的两个相关lib。
第五步:发布项目,服务器启动之后,输入port路径(可以在wsdl文件中找到),能查看发布的 service API,点击wsdl连接可以访问到WSDL文件。至此,服务发布完成
详细参见http://horizonhyg.javaeye.com/blog/378046

客户端第一步:new-other-web service client向导生成客户端代码,输入wsdl文件的url,一路next。
第二步:生成的代码中会有一个Service连接类和Delegate接口,new 这个对象并取得这个接口方法,就可以调用服务端的API。



有几点要说明:
1。尽量不用jdk6的方案,这个要在服务器代码中加上@WebService注解,不方便。而且要用到java环境变量和命令行生成代码。
2。最好用BS,不用CS。即尽量用web service project,对原有系统也可以直接添加几个文件和库就可以了。
3。在BS服务端如果发布多个WebService,要手工修改web.xml文件,这个无法自动。
4。尽量修改Service name和Service port,不用默认的。以CustomerService接口-CustomerServiceImpl实现类为例,默认的服务器端命名为CustomerServiceImpl和CustomerServiceImplDelegate代理

,客户端命名为CustomerServiceImplService连接类和CustomerServiceImplDelegate接口。因此,最好将Service name由默认的CustomerServiceImplService改为CustomerService。
或者更好的方法,在模块与模块之间,划分四层结构。系统一核心|wsClient|wsServer|系统二核心,用外观模式,这样wsServer可以更好的命名,关联关系也清楚。
5。各种实现手段大同小异,产生的各种文件作用相似,只是命名不同。WebService的发布方式各有不同。
6。WebService的客户端文件体系庞大,在客户端基本上为每个方法建立两个类(参数和返回),并且每个实体类也要再映射一遍。速度也不是很快,传递一个字符串差不多两秒,需要持续关注,改进。


http://www.360doc.com/content/10/1219/17/330538_79520698.shtml
网上常用免费WebServices集合
http://hi.baidu.com/kazaff/blog/item/30fab1d678a9642206088b32.html
2010年08月18日 星期三 上午 11:51

天气预报Web服务,数据来源于中国气象局 公用事业

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

中国股票行情分时走势预览缩略图

http://www.webxml.com.cn/webservices/ChinaStockSmallImageWS.asmx

中国股票行情数据 WEB 服务(支持深圳和上海股市的基金、债券和股票)

http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx

国内飞机航班时刻表 WEB 服务 公用事业

http://www.webxml.com.cn/webservices/DomesticAirline.asmx

中国电视节目预告(电视节目表) WEB 服务 公用事业

http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx

火车时刻表 (第六次提速最新列车时刻表) 公用事业

http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx

中文 <-> 英文双向翻译 WEB 服务 获得标准数据

http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx

验证码图片 WEB 服务 支持中文、字母、数字 图像和多媒体

http://www.webxml.com.cn/WebServices/ValidateCodeWebService.asmx

中国邮政编码 <-> 地址信息双向查询/搜索 WEB 服务 获得标准数据

http://www.webxml.com.cn/WebServices/ChinaZipSearchWebService.asmx

IP地址来源搜索 WEB 服务(是目前最完整的IP地址数据) 获得标准数据

http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx

国内手机号码归属地查询

http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx

外汇-人民币即时报价

http://webservice.webxml.com.cn/WebServices/ForexRmbRateWebService.asmx

腾讯QQ在线状态 WEB 服务

http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx

中文简体字<->繁体字转换 WEB 服务

http://webservice.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx

IP地址搜索 WEB 服务包含中国和国外已知的IP地址数据,是目前最完整的IP地址数据,记录数量现已超过37万条并还在不断更新和增加中

http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx

你可能感兴趣的:(webservice)