范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

webservice的学习

  webservice是什么?基于web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 一个跨平台、跨语言的规范(抽象) 多个跨平台、跨平台的应用间通信整合的方案(实际)
  为什么要用webservicewebservice能解决跨平台调用 webservice能解决跨语言调用 webservice能解决远程调用
  什么时候用webservice同一家公司的新旧应用之间的通信(语言不同) 不同公司的应用之间(语言不同) 一些提供数据的内容就会应用:天气预报、股票行情等
  webservice的几个重要的术语wsdl:webservice definition language(webservice定义语言)
  对应一种类型的文件.wsdl
  定义了webservice的服务器端与客户端应用交互传递请求和响应数据的格式和方式
  一个webservice对应一个唯一的wsdl文档soap:simple object access protocol(简单对象访问协议)
  一种简单的、基于http和xml的协议,用于在web上交换结构化的数据
  soap消息:请求消息和响应消息
  http+xml片段SEI:webservice endpoint interface(webservice终端接口)
  webservice服务器端用来处理请求的接口cxf:celtix+xfire
  一个apache的用于开发webservice服务器端和客户端的框架
  用jdk开发webservice开发服务器端
  webservice编码:@WebService(SEI的实现类);@WebMethod(SEI中的所有方法)
  发布webservice
  Endpoint(终端发布webservice)
  示例代码**  * SEI接口  */ @WebService public interface WebSEI {      @WebMethod     public String sayHello(String name); }   /**  * SEI的实现类  */ @WebService public class WebSEIImpl implements WebSEI {     @Override     public String sayHello(String name) {         System.out.println("server say hello " + name);         return "Hello " + name;     } }  /**  * 发布webservice  */ public class WebEndpoint {     public static void main(String[] args) {         /**          * 参数说明:1.发布地址,2.接口实例          * 发布地址中IP是主机地址,其余可以自定义          */         Endpoint.publish("http://192.168.0.103:8087/myservie/hello", new WebSEIImpl());         System.out.println("发布成功!");     } }
  上面的main方法启动之后,可以在浏览器输入http://192.168.0.103:8087/myservie/hello?wsdl进行访问和查看wsdl文档。wsdl文档解析
  文件格式大概如下: 	 		 			                               	 		 			 			 	                    
  上面这段是定义webservice的wsdl文档中引入的约束,其中schemaLocation="http://192.168.0.103:8087/myservie/hello?xsd=1"/>是约束内容的地址,可以用浏览器进行访问查看,当然这需要一定schema约束相关的知识,可以事先了解下。              
  上面的是定义webservice所有的消息结构;
  标签通过element属性指定标签里schema中的约束中的片段。                             
  上面的标签是用来定义服务器端的SEI;
  标签用来指定一个webservice中的处理请求的方法;
  指定客户端应用传过来的数据,会引用上面定义的;
  指定服务器端返回给客户端的数据,会引用上面定义的;                                                                                   
  用于定义SEI的实现类,type属性引用上面的;
  用来定义方法与上面中的差不多,这里name属性是服务接口的方法名;
  表示传输数据格式是文档(xml);
  表示数据是文本数据;                    
  是代表一个webservice容器,name属性指定webservice客户端的容器类
  代表一个服务器端SEI的一个实现,bingding属性引用上面的标签,name属性是指定webservice客户端真正的所需要的服务类;
  代表当前webservice的请求地址开发客户端
  查看对应的wsdl文档(一般浏览器 ....?wsdl)
  请求webservice并查看请求和响应消息(一般浏览器)
  创建客户端应用编码方式访问
  借助jdk的wsimort.exe工具生成客户端代码:进入项目src目录下,打开cmd窗口,输入wsimport -keep url(url是wsdl文件的路径或者是wsdl文档)
  生成的代码类如下:
  借助生成的代码编写请求代码public class ClientTest {     public static void main(String[] args) {         WebSEIImplService factory = new WebSEIImplService();         WebSEIImpl webSEI = factory.getWebSEIImplPort();         System.out.println(webSEI.sayHello("jack"));     } }
  用cxf开发webservice用cxf比jdk的优势
  jdk不支持map与复杂的object类型,cxf支持所有类型
  cxf提供很多拦截器,后期业务拓展性高所需依赖:      org.apache.cxf     cxf-core     3.4.4       org.apache.cxf     cxf-rt-frontend-jaxws     3.4.4       org.apache.cxf     cxf-rt-transports-http-jetty     3.4.4  服务端代码示例:   JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean(); //暴露地址 factoryBean.setAddress("http://192.168.0.103:8087/myservie/hello"); //SEI接口 factoryBean.setServiceClass(WebSEI2.class); //SEI实现类 factoryBean.setServiceBean(new WebSEI2Impl()); factoryBean.create(); System.out.println("发布成功!");创建客户端应用编码方式访问
  首先可以在https://cxf.apache.org/download.html 下载cxf压缩包,并且配置环境变量;
  然后进入 项目src目录下,打开cmd窗口,输入wsdl2java url(url是wsdl文件的路径或者是wsdl文档)生成客户端所需要的代码
  或者maven的pom文件添加     org.apache.cxf     cxf-codegen-plugin     3.5.0                           generate-sources             generate-sources                              generated/cxf                                                               http://192.168.0.103:8087/myservie/hello?wsdl                                                                                 wsdl2java                            
  然后运行
  mvn clean generate-sources
  这将生成 wsdl 对应的客户端代码,代码会存放于 /generated/cxf 目录.
  又或者直接写客户端代码:{     JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();      Client client = clientFactory.createClient("http://192.168.0.103:8087/myservie/hello?wsdl");      Object[] result = client.invoke("sayHappy", "KEVIN");      System.out.println(result[0]);   }
  所需依赖:     org.apache.cxf     cxf-core     3.4.4       org.apache.cxf     cxf-rt-frontend-jaxws     3.4.4       org.apache.cxf     cxf-rt-transports-http-jetty     3.4.4 

山寨平板终结者?699元的国产4G平板电脑酷比魔方SmileX评测如果告诉大家有这样一款国产平板电脑,Ta具备可以插4GSIM卡10。1英寸IPS屏双卡双待跑分19万等亮点且价格只要699,大家会怎样想?是不是第一感觉会认为价格这么低该不会是山寨打工人必须知道的10个电脑技巧!别说你都知道,瞬间提升效率大家好,我是分享科技小达人今天跟大家探讨的问题是有哪些实用的电脑技巧?我们都知道,现在工作常常会接触到电脑,而很多人会忽略了电脑里的一些实用技巧,今天我就给大家分享10个打工人必须入手一款既能远程控制又能统计电量的智能插线板盼星星盼月亮,小米终于出了2代智能插线板(5位插孔版)。依然延续小米的设计风格,以白色简约为主,边缘经过打磨后变得圆润,握感很好,插头处增加凹槽辅助,用户插拔更省力。插线板电源线全阿里云回应未及时向工信部相关平台报告漏洞未意识到严重性近日,阿里云发现高危漏洞未及时报告工信部,引发热议。12月23日,南都记者注意到,阿里云发布关于开源社区阿帕奇(Apache)log4j2漏洞情况的说明,承认其先向开源社区汇报安全家用智能NBlot燃气报警器厂家品牌推荐万霖NBIOT独立式烟雾探测传感器一产品概述NBIOT独立式感烟探测器,NBIoT是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWAN如何快速玩转小米智能家居如何快速玩转小米智能家居呢?毕业后的第一份工作是到小米之家当一名店内营业员。从高中开始我便是一枚米粉,以至于到现在家里的电器基本上都是小米的。如何快速玩转小米智能家居呢?下面我来分如何组装一台心仪的电脑小白电脑装机看过来导读老程之前做了很多关于如何装一台心仪电脑的科普,但是现在看来因为流量的原因以及受众的不同,依旧有很多人对电脑的了解不多,那么老程今天再给大家来讲讲如何来搭配一台自己喜欢的电脑。电PixelWatch将配三星Exynos芯片和下一代GoogleAssistant关于PixelWatch的最新谣传称,这款智能手表将采用三星的Exynos芯片,并配备下一代GoogleAssistant。在深入挖掘WearOS相关代码之后,科技媒体9to5Go腾讯减持京东股票,京东在微信入口新的三年期合约即将启动谈判文丨晚点财经龚方毅腾讯通过投资构建的数字商业联盟渗入餐饮零售娱乐教育等诸多领域。但时移世易,随着腾讯12月23日宣布将其商业联盟的重要一角价值164亿美元的京东股权送给八百多家机构这一年,我们不断收获AI带来的意外之喜几年前提到人工智能,人们的第一反应是全球流行网络热门预见未来,但如今,人工智能早已褪去神秘色彩,语音识别图像识别智能阅片病毒测序药物设计皆已成为唾手可得的应用。尤其值得一提的是,虚大公司早报华为发布首款鸿蒙汽车李佳琦被浙江消保委点名(整理胡毓靖)今天是12月24日星期五,过去24小时的大公司新闻包括腾讯回应派息式减持京东知乎回应腾讯搜狗退出知乎股东华为首款鸿蒙汽车正式发布李佳琦被浙江消保委点名国产游戏出海收入
华硕破晓Pro15大屏幕配轻薄机身,设计师也青睐的笔记本电脑重量轻,大屏幕,对于是办公人士来说是不二选择,既满足了轻便携带,又满足舒适使用。不过,华硕破晓Pro15基于这两个特点,还特别配备了NVIDIAGeForceMX330独立显卡,可2021年智能硬件质量报告来了,看看你用的手机有没有上榜吧?就在刚刚,中国移动终端实验室发布了2021年智能硬件质量报告(第一期)。在这次的测试中,测试了数十款不同价位的热门手机,而且测试的范围从通信能力游戏性能摄像画质,可以说应有尽有。这OnexPlayer掌机性能再升级搭载英特尔i71195G7在以前,超薄的平板或是笔记本虽然拥有高颜值,但是在性能方面一直被诟病,因为处理器太弱,只能处理一些轻办公或是影音娱乐,像玩游戏或是图片设计视频剪辑等完全不能胜任。但是随着科技进步,OPPO自研芯片相关再爆料,新专利曝光去年2月16日,OPPOCEO特别助理发布了内部文章对打造核心技术的一些思考,在这篇文章中提及了备受关注的自研芯片马里亚纳计划。而随着时间的推进,关于OPPO旗下自研芯片相关,也出摩托罗拉新机或将发布,定位中低端摩托罗拉自从前段时间发布手机后,又有一款代号为塞班(Saipan)的G505G手机曝光了,从曝光图片可以得知该机会采用水滴屏,后置三摄像头模组。据悉该机搭载高通骁龙480,采用8GTCL秋季新品发布会即将召开,三款智能门锁提前曝光随着年轻群体的强势崛起,越来越多的品牌开始研究消费主力的商业逻辑,推出大量年轻化玩法,旨为更好靠拢这一代年轻人,取得未来商业的成功。当然,一个品牌是否年轻,并非看其创立时间的长短,三星GalaxyS31Ultra概念机大曝光,6000mAh140Hz屏Tech分析狮8月25日消息,这次给大家介绍的机型,是一款三星GalaxyS31Ultra概念机。从这款概念机的外观和配置信息来看,未来的三星旗舰手机不容小觑。下面我们一起来看看吧好的盒子流畅不卡当贝B1S带给你丝滑芯体验辛勤工作一天回到家后,想要追剧追得爽,电视盒子少不了。一台优秀的智能盒子,不仅应具备全覆盖海量的视频资源,还应具备丝滑流畅的操作使用体验。当贝出品的B1S超级盒子就完美符合这些要求入门销量王雷柏V500pro无线版怎么样雷柏的V500系列机械键盘是定位入门级的键盘产品系列,一直是百元级机械键盘的销冠,功能全面又是机械轴,还有大牌售后,竞争力是非常强悍的。目前,V500系列涵盖了87104键配列,单手机APP广告乱象何时休?超级烦人的App开屏广告终于被整治了,68家企业被要求迅速整改,但也有部分个例依然不听话,想保住用户口碑,就要倾听用户心声!进入移动互联时代以来,各种APP成为我们工作学习生活和娱换手机首选国产?国内活跃品牌榜单出炉,这两家占据半壁江山不得不说,国内各家手机厂商的产品在市面上的竞争力是越来越强了,从知名市场调查机构QuestMobile近日发布的调查报告来看,截止到2021年6月,国内活跃的终端设备品牌Top5有