




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用Spring+CXF开发WebServiceApache CXF 提供方便的Spring整合方法,可以通过注解、Spring标签式配置来暴露Web Services和消费Web Services各种类型的Annotation。WebService和WebMethod是WSDL映射Annatotion。这些Annotation将描述Web Service的WSDL文档元素和Java源代码联系在一起。SOAPBinding是一个绑定的annotation用来说明网络协议和格式。1、WebService annotation的元素name,serviceName和targetNamespace成员用来描述 wsdl:portType,wsdl:service,和targetNameSpace生成WebService中的WSDL文件。2、SOAPBinding是一个用来描述SOAP格式和RPC的协议的绑定Annotation。3、WebMethod Annotation的operationName成员描述了wsdl:operation,而且它的操作描 述了WSDL文档中的SOAPAction头部。这是客户端必须要放入到SQAPHeader中的数 值,SOAP 1.1中的一种约束。4、WebParam Annotation的partName成员描述了WSDL文档中的wsdl:part。5、WebResult Annotation的partName成员描述了wsdl:part用来返回WSDL文档的值。例如下面使用annotation定义了一个webservice:import java.util.List;import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebResult;import javax.jws.WebService;import com.cxf.pojo.User;WebService(targetNamespace = /client)public interface UserService WebMethod(operationName=Insert)public void insert( WebParam(name = userId) String userid, WebParam(name = userName) String username, WebParam(name = userEmail) String useremail, WebParam(name = userAge) int userage);WebMethod(operationName=GetUserById)WebResult(name = result)public User getUserById(WebParam(name=userid) String userid);WebMethod(operationName=GetAllUsers)WebResult(name = result)public List getAllUsers();其实现类如下所示:import java.util.List;import javax.jws.WebService;import com.cxf.dao.UserDao;import com.cxf.pojo.User;import com.cxf.service.UserService;WebService(endpointInterface=com.cxf.service.UserService)public class UserServiceImpl implements UserService private UserDao userDao;public List getAllUsers() return userDao.findAllUser();public User getUserById(String userid) return userDao.findUserById(userid);public void insert(String userid, String username, String useremail, int userage) User user=new User();user.setUserage(userage);user.setUseremail(useremail);user.setUserid(userid);user.setUsername(username);userDao.insert(user);System.out.println(insert successfully!);public void setUserDao(UserDao userDao) this.userDao = userDao;注意:实现类中的WebService,其中的endpointInterface成员指定了该类实现的接口在Spring的配置文件中,需要对其进行配置:首先在ApplicationContext.xml(Spring的配置文件)中引入CXF的XML Scheam 配置文件),如下: 其次就是在Spring的配置文件中配置webservice,如下所示: 注意:、address 为webservice发布的地址、implementorClass 为该webservice实现的接口、之间定义的是implementorClass指定接口的实现类另外,在Spring的配置文件中配置完成后,需要修改web.xml文件CXFServletorg.apache.cxf.transport.servlet.CXFServletCXFServlet/services/*注意/ services /*配置,CXFServlet会拦截此类url,进行处理。上面配置的webservice将通过如下URL访问到:http:/localhost:8080/cxf-ws/services/ UserManagerUserManager为标签中address属性对应的值cxf-ws为本项目的名称配置完成之后,将项目部署到tomcat上输入URL:http:/localhost:8080/cxf-ws/services/ UserManager?wsdl将会看到生成的wsdl文件为了能够直接访问到com.cxf.service.UserService中的insert方法,进行如下测试:创建一个insertUser.html页面:function post() var xmlhttp=false;if (!xmlhttp & typeof XMLHttpRequest!=undefined) try xmlhttp = new XMLHttpRequest(); catch (e) xmlhttp=false;if (!xmlhttp & window.createRequest) try xmlhttp = window.createRequest(); catch (e) xmlhttp=false;var dest = document.getElementById(destination).value;xmlhttp.open(POST, dest, true);xmlhttp.onreadystatechange=function() if (xmlhttp.readyState=4) document.getElementById(result).innerHTML = xmlhttp.responseText; xmlhttp.setRequestHeader(Man, POST + dest + HTTP/1.1)xmlhttp.setRequestHeader(MessageType, CALL)xmlhttp.setRequestHeader(Content-Type, text/xml);var texta = document.getElementById(texta);var soapmess = texta.value;xmlhttp.send(soapmess);hi there 2005221104210066 Leon Cao 23 Result:在该测试页面需要注意标记为红色的部分,如下是一个soap message: 2005221104210066 Leon Cao 23 注意:标签之间对应WebMethod(operationName=Insert) 中的operationName属性的值、标签对各自对应着insert方法中 WebParam中name属性的值:WebParam(name = userId) String userid, WebParam(name = userName) String username, WebParam(name = userEmail) String useremail, WebParam(na
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西钦州市第十三中学2025-2026学年高二上学期第一周考试历史试卷(含答案)
- 2025年全国中医类别医师资格定期考核理论试题及答案
- 网络餐饮管理办法评价
- 2025年中医内科试题及答案
- 新疆维吾尔自治区高级导游等级考试(导游综合知识)考前冲刺试题及答案(2025年)
- 紧急冲淋、洗眼器操作规程
- 恒星振荡联合探测-洞察及研究
- 绿色能源市场投资分析报告
- 医疗健康大数据在医疗行业中的应用前景分析
- 冲压修模安全知识培训课件
- 2025店面劳动合同范本:超市收银员专项协议
- 2025设备担保抵押借款合同
- 早教托育合伙人合同协议
- 2025年舞蹈培训学校工作计划及方案范文
- 2025至2030年中国视频监控系统行业市场运行态势及投资战略研究报告
- GB/T 45953-2025供应链安全管理体系规范
- 2025陕西寰宇正信科技产业发展有限公司招聘(71人)笔试参考题库附答案解析
- AIGC艺术设计 课件 第8章 AIGC艺术设计的思考与展望
- 物业财务基础知识培训课件
- 九上语文第2课《周总理你在哪里》课件
- 增值税留抵退税培训课件
评论
0/150
提交评论