使用Myeclipse创建WebService实例
使用Myeclipse创建WebService实例
使用Myeclipse 8.5开发基于JAX-WS的Web service实例 本文为Web service 开发入门篇,主要介绍在Myeclipse 8.5环境下开发Web service的服务程序和客户端程序的基本流程。
在Weblogic 10.3.4 中部署Web service服务。
开发环境如下:
JAVA IDE: Myeclipse 8.5
Web server: Weblogic 10.3.4
开发Web service服务程序,需要了解以下相关内容, WSDL, SOAP, XML。这些是组成Web service 的基础。
在Myeclipse8.5下开发Web service程序,目前系统支持的开发框架有3个,
JAX-WS,REST(JAX-RS),XFire。其中系统建议不要使用XFire 的框架,可能是要被淘汰了(deprecated)。我们选择的是JAX-WS框架。这个需要Java EE 5.0的支持。所以后面选择Web server容器的时候,是要能支持Java EE 5.0的才可以部署成功。
(一) Web service服务端开发
1. 新建一个Web service project, 菜单File -> New -> Web Service Project,
使用Myeclipse创建WebService实例
在上面的框中输入项目名myWebSvc,框架选择 JAX-WS, J2EE只能选择Java EE 5.0。 Finish完成项目新建。
2. 新建一个 Java Bean, 就是一个普通的Class, File –> New -> Class,
使用Myeclipse创建WebService实例
包名输入 com.myweb.ws, 类名输入 SayHello, Finish 结束新建类。
在类中加入一个方法sayHaha如下,
package com.myweb.ws;
public class SayHello
{
public String sayHaha(String request)
{
return "Haha, " + request + ", O.K. !";
}
使用Myeclipse创建WebService实例
}
3. 新建一个Web service, 菜单File –> New -> Other -> MyEclipse -> Web Services -> Web Service,
Next 进入下一步,
使用Myeclipse创建WebService实例
选择 Create web service from java class(Bottom-up scenario),Next进入下一步,
使用Myeclipse创建WebService实例
Java class 输入 com.myweb.ws.SayHello, 选中 Generate WSDL in project 选项, Finish 结束新建。
生成新的服务代理类, com.myweb.ws.SayHelloDelegation
生成WSDL定义文件,WebRoot\WEB-INF\wsdl\SayHelloService.wsdl
WebRoot\WEB-INF\wsdl\SayHelloService_Schema1.xsd,
(二) 部署Web service 服务
1. Window -> Show View -> Servers, 这里前提是已经安装完成Weblogic10.3.4, 在 Weblogic 10.x上点右键, 选择Add Deployment 部署myWebSvc,
使用Myeclipse创建WebService实例
Finish结束部署。
2. 重启Weblogic 服务,在浏览器输入 http://localhost:7001/myWebSvc/SayHelloPort,如果显示正确,则服务发布成功。
3. 在创建Web service 项目的过程中,如果加入了 JAX-WS 2.1 Runtime / API 库,在部署Web service时,会报错误,
2011-10-13 17:28:22 [com.sun.xml.ws.policy.jaxws.BuilderHandler] getPolicySubjects 严重: [failed to localize]
WSP_1014_POLICY_REFERENCE_DOES_NOT_EXIST(zip:D:/bea/weblogic1034/webdomain/servers/AdminServer/tmp/_WL_user/_appsdir_WebServicePro_dir/achpn5/war/WEB-INF/lib/webservices-rt.jar!/WEB-INF/wsdl/wsat.wsdl#Addressing_policy)
2011-10-13 17:28:22 [com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension]
使用Myeclipse创建WebService实例
finished
严重: [failed to localize]
WSP_1014_POLICY_REFERENCE_DOES_NOT_EXIST(zip:D:/bea/weblogic1034/webdomain/servers/AdminServer/tmp/_WL_user/_appsdir_WebServicePro_dir/achpn5/war/WEB-INF/lib/webservices-rt.jar!/WEB-INF/wsdl/wsat.wsdl#Addressing_policy)
2011-10-13 17:28:22 [com.sun.xml.ws.policy.jaxws.PolicyWSDLParserExtension] finished
严重: [failed to localize]
WSP_1018_POLICY_EXCEPTION_WHILE_FINISHING_PARSING_WSDL()
com.sun.xml.ws.policy.PolicyException: [failed to localize]
WSP_1014_POLICY_REFERENCE_DOES_NOT_EXIST(zip:D:/bea/weblogic1034/webdomain/servers/AdminServer/tmp/_WL_user/_appsdir_WebServicePro_dir/achpn5/war/WEB-INF/lib/webservices-rt.jar!/WEB-INF/wsdl/wsat.wsdl#Addressing_policy)
at com.sun.xml.ws.policy.jaxws.BuilderHandler.getPolicies(BuilderHandler.java:93)
只要删去JAX-WS这两个包 ,再重新部署就可以了。
4. 如果在Tomcat 6.0上部署,则需要加上JAX-WS API / Runtime 两个库,否则会报错, 严重: Error configuring application listener of class
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
ng.ClassNotFoundException:
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4078)
使用Myeclipse创建WebService实例
(三) Web service 客户端开发
1. 新建 Java project, File -> New -> Java Project,
输入项目名 UseWS, Finish 结束新建。
2. 新建Web service client程序, File –> New -> Other -> MyEclipse -> Web Services -> Web Service Client,
使用Myeclipse创建WebService实例
Next 进入下一步,
使用Myeclipse创建WebService实例
WSDL File 为Web Service 的WSDL文件
E:\workspace\myWebSvc\WebRoot\WEB-INF\wsdl\SayHelloService.wsdl
Next进入下一步,
使用Myeclipse创建WebService实例
Finish 结束新建。
3. 新建一个Test类,用来调用 SayHelloService, File -> New -> Class,
使用Myeclipse创建WebService实例
Finish 结束类的新建。
修改类如下:
import com.myweb.ws.SayHelloDelegate;
import com.myweb.ws.SayHelloService;
public class Test
{
public static void main(String[] args)
{
使用Myeclipse创建WebService实例
String request = "World";
String response = null;
SayHelloService sayHelloSvc = new SayHelloService();
SayHelloDelegate sayHelloDgt = sayHelloSvc.getSayHelloPort();
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




