- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
WebService面试题及答案
1.什么是WebService?它解决了什么实际问题?
答案:WebService是基于HTTP协议、用XML格式传输数据的跨语言/跨平台服务调用技术。实际开发中主要解决“异构系统互通”问题——比如Java后端要给.NET客户端提供用户查询接口,或老系统(如ERP)需给新系统(如电商平台)同步库存,WebService能屏蔽语言和平台差异,让不同系统通过统一协议交互。
2.WebService的核心协议有哪些?各自作用是什么?
答案:核心是3个协议:
SOAP:简单对象访问协议,规定数据传输格式(XML结构,包含Envelope头、Header(可选,存安全/事务信息)、Body(业务数据)),且必须基于HTTP/HTTPS传输;
WSDL:Web服务描述语言,是服务的“说明书”——用XML列出服务地址、接口方法名、参数类型、返回值类型,客户端可通过WSDL自动生成调用代码;
UDDI:统一描述发现集成,相当于“服务注册中心”,但实际项目中用得少(一般直接给客户端WSDL地址,不用专门注册)。
3.WebService和RESTfulAPI的区别?什么场景选WebService?
答案:主要区别在3点:
维度
WebService
RESTfulAPI
数据格式
仅XML
支持JSON/XML/FormData等
协议依赖
必须基于SOAP+HTTP
基于HTTP方法(GET/POST等)
灵活性
重(需生成WSDL和客户端代码)
轻(直接传JSON,无需生成代码)
选WebService的场景:需强事务/安全支持(如银行转账,SOAPHeader可加数字签名)、老系统对接(如ERP/OA系统只提供WebService接口)、跨语言复杂交互(如C++客户端调用Java服务)。REST更适合轻量场景(如APP接口)。
4.实际开发中用什么框架实现WebService?以CXF为例,说下服务发布步骤?
答案:常用框架有ApacheCXF、Axis2,CXF更轻量且支持Spring整合。CXF发布服务步骤:
写业务接口(如UserService),加@WebService注解;
写实现类,加@WebService(endpointInterface=接口全路径)指定接口;
配置Spring(或纯Java代码)发布:
//纯Java方式
UserServiceservice=newUserServiceImpl();
Endpoint.publish(http://localhost:8080/webservice/user,service);
启动服务后,访问http://localhost:8080/webservice/user?wsdl能看到WSDL文档,说明发布成功。
5.客户端怎么调用WebService?有几种方式?
答案:主要2种方式:
工具生成客户端代码:用CXF的wsdl2java工具(命令:wsdl2java-d生成路径wsdl地址),生成接口和客户端类,直接new客户端对象调用;
动态调用(不生成代码):用CXF的JaxWsDynamicClientFactory,适合服务地址或参数可能变化的场景,示例:
JaxWsDynamicClientFactoryfactory=JaxWsDynamicClientFactory.newInstance();
Clientclient=factory.createClient(http://xxx?wsdl);
//调用方法(参数1:方法名,参数2:方法参数数组)
Object[]result=client.invoke(queryUser,1001);
6.WebService调用时出现“连接超时”,怎么排查?
答案:按步骤排查:
先检查服务端是否正常:访问WSDL地址,看能否打开(若打不开,可能服务没启动或端口被占用);
检查网络连通性:用ping命令测服务端IP,用telnet命令测端口(如telnet008080),排除防火墙拦截;
客户端配置超时参数:CXF客户端默认超时时间长,可手动设置缩短排查时间,示例:
//设置连接超时和响应超时(单位:毫秒)
HTTPConduitconduit=(HTTPConduit)client.getConduit();
HTTPClientPolicypolicy=newHTTPClientPolicy
您可能关注的文档
最近下载
- 第2课 诸侯纷争与变法运动 知识点总结.pdf VIP
- 《危险源识别与评价》课件.pptx VIP
- 人教版(部编本)五年级上册中国民间故事(完美版)PPT课件.ppt VIP
- 基于单片机的自动存包柜设计.doc VIP
- 爆炸危险环境电力装置设计规范GB50058-2014.pptx VIP
- 1.新版历年全国高考英语高频词汇必备表汇总打印版.pdf
- 《车载防撞垫使用技术要求》.pdf VIP
- 爆炸危险环境电力装置设计规范学习课件.pptx VIP
- 成人高考专升本《大学语文》模拟题及答案.docx VIP
- 华鑫证券-汽车行业智能驾驶系列研究(二):Robotaxi的商业模式前景展望-240919.pptx VIP
文档评论(0)