Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Webservice On Netty

Webservice On Netty

作者头像
用户3579639
发布于 2018-10-22 06:58:55
发布于 2018-10-22 06:58:55
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

Java的世界属于开源的世界,所谓开源的世界,只要你能想到的点子就一定有人实现了,没有你就自己造一个啊。

最近遇到了一个项目需求,技术选型选择了webservice,需要对外提供webservice接口。实现webserice功能可以有多种做法的,比如servlet + tomcat的方式,Java Main方法+嵌入jetty server的方式,本质上是XML/HTTP的原理(误?)。

项目组对外提供接口的功能已经选择了HTTP/Netty的方式,既然已经有HTTP的支持了,那么XML/HTTP On Netty或许是个不错的点子,这样我们不用再引入tomcat等服务应用了。

经过一番搜索,终于发现了netty-jax-ws这款组件,非常符合我们的需求,于是就采用了它完成了开发工作。

考虑到我们的对外接口需要进行分类,需要在原来的URL路径映射加上前缀。 这个开源组件原来的示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mappings.put("/echoService", echoWebService);

key表示URL路径,value表示webservice的具体实现。 此时我们给它加上前缀

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mappings.put("/honey/echoService", echoWebService);

比如之前的访问方式http://localhost:4040/echoService?wsdl,这回我们的访问路径应该是http://localhost:4040/honey/echoService?wsdl, 只不过这回意外的是服务给我们返回的是404的结果,看来我们的路径是不正确的,或者这个访问路径找不到实现的webservice(类似MVC框架中的Controller)。

这个问题的原因很快就排查出来的,我觉得可能自己就能解决,于是乎就fork了项目试着改动起来,参见这个提交commit1,至此暂告一段落了。

这部分功能代码就加入到了原来的项目中,只不过已经打包部署就发现,只要访问webservice功能http://localhost:4040/honey/echoService?wsdl, 就会报错:NoSuchMethodError, 然后是xx.jboss.netty.xx.ChannelFactory诸如此类的错误,我第一个感觉就是netty-jax-ws和原来的项目使用的Netty版本冲突了。

此时我请教我们组经验丰富的同事,遇到这种情况要不要迎难而上呢,还是另辟蹊径呢?(当然,当时肯定是口语化的表达)。

既然我前面已经改造过一回,不在乎再一次了,所以就有了这次commit2

以上算是我真正意义地上参与了一次开源贡献,我只是做了一点工作而已了。

-- EDIT -- 这次修改是为了支持通过代理的方式访问webservice,支持了HTTP Host请求头,修改参见commit3

文章属个人观点,与本人工作雇主无关!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
WebService使用介绍(三)
exclude:设置为true表示此方法不是webservice方法,反之则表示webservice方法
HUC思梦
2020/09/03
2.5K0
WebService使用介绍(三)
02.WebService_使用三要素
02.WebService_使用三要素 一、Java中WebService规范 JAVA 中共有三种WebService 规范,分别是JAX-WS、JAX-RS、JAXM&SAAJ(废弃)。 1.JAX-WS规范 JAX-WS 的全称为Java API for XML-Based Webservices ,早期的基于SOAP 的JAVA 的Web 服务规范JAX-RPC(Java API For XML-Remote Procedure Call)目前已经被JAX-WS 规范取代。从ja
Java帮帮
2018/03/15
1.7K0
02.WebService_使用三要素
Web Service应用之JAX-WS开发[通俗易懂]
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。Web Service服务通常被定义为一组模块化的API,它们可以通过网络进行调用,来执行远程系统的请求服务。
全栈程序员站长
2022/09/14
2.5K0
Web Service应用之JAX-WS开发[通俗易懂]
Java webservice详解「建议收藏」
  webservice 即 web 服务,因互联网而产生,通过 webservice 这种 web 服务,我们可以实现互联网应用之间的资源共享,比如我们想知道 手机号码归属地,列车时刻表,天气预报,省市区邮政编码等信息,由于我们自己的数据库中并没有这些信息,那么我们可以调用第三方提供的 webservice服务,获取这些信息;
全栈程序员站长
2022/09/14
3.5K0
Java webservice详解「建议收藏」
Java中WebService实例
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。
全栈程序员站长
2022/09/13
6660
Java中WebService实例
WS服务 | WebService客户端、服务端创建教程
WebService服务端 点击File,选择Project 左侧选中Java,配置对应的JDK版本目录,然后下拉选择Webservice选项,如下图: 配置好上一步操作之后,点击next,然后命名项
码神联盟
2018/12/21
3.6K0
WS服务 | WebService客户端、服务端创建教程
WebService入门之CXF教程
Apache CXF是一个开源的Service框架,可以用于简化用户的service开发,基于CXF开发的应用可提供SOAP、XML/HTTP、RESTFUL HTTP或CORBA等服务。CXF底层页可以使用不同的传输协议,包括HTTP、JMS或JBI等。
星哥玩云
2022/07/03
2.3K0
WebService入门之CXF教程
webservice技术介绍
一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
全栈程序员站长
2022/07/22
2.1K0
WebService
Web Service(WEB服务)能够快捷和方便地综合结合各种系统、商务和任何应用平台。利用最新的Web Service 标准能够使任何软件系统和系统之间的应用互通互联,方便,而且更加廉价。
宋先生
2019/07/18
6K0
WebService: SpringBoot集成WebService实践二
该篇为上一篇的延伸,上一篇知识简单介绍了WebService 的使用,该篇会对代码中模块及功能进行详细介绍,以作对WebService 进一步的理解。
Freedom123
2024/03/29
5610
WebService: SpringBoot集成WebService实践二
【webservice】Java JAX-WS和JAX-RS webservice「建议收藏」
客户端——> 阅读WSDL文档 (根据文档生成SOAP请求) ——>发送到Web服务器——>交给WebService请求处理器——>处理SOAP请求——> 调用WebService——>生成SOAP应答 ——> Web服务器通过http的方式交给客户端
全栈程序员站长
2022/09/17
3.8K0
【webservice】Java JAX-WS和JAX-RS webservice「建议收藏」
WebService就是这么简单
WebService介绍 首先我们来谈一下为什么需要学习webService这样的一个技术吧…. 问题一 如果我们的网站需要提供一个天气预报这样一个需求的话,那我们该怎么做????? 天气预报这么一个功能并不是简单的JS组件就能够实现的,它的数据是依赖数据库分析出来的,甚至需要卫星探测..我们个人建站是不可能搞这么一个数据库的吧。 那么既然我们自己干不了,我们可以去找别人吗???我们从搜索引擎搜索,可以发现很多提供天气预报的网站,但是它返回的是一个网页,而我们仅仅需要的是对应的数据! 我们可能就在想,我们能
Java3y
2018/04/02
12.4K0
WebService就是这么简单
webservice有哪些框架_前端主流js框架
大家好,又见面了,我是你们的朋友全栈君。 Web service框架 CXF 最新版本:2.2.2
全栈程序员站长
2022/11/08
3.8K0
webservice体系结构中包括_致命框架1第六关
Web服务可以用来解决跨网络应用集合问题的开发模式,目的是保证不同平台的应用服务可以相互操作
全栈程序员站长
2022/11/08
3410
webservice随记
用户1141560
2017/12/26
2.4K0
Web-第三十一天 WebService学习【悟空教程】
简单的网络应用使用单一语言写成,它的唯一外部程序就是它所依赖的数据库。大家想想是不是这样呢?
Java帮帮
2018/08/06
2.3K0
Web-第三十一天 WebService学习【悟空教程】
Web Service初探
Web Service初探 简介 ​ 简单地说WebService就是一种Web服务,他是一种跨编程语言和操作系统的远程调用技术。WebService的传输依赖于HTTP协议,通过SOAP协议使用XML格式进行数据传输。 ​ WebService的三要素如下: SOAP (Simple Object Access Protocol): 简易对象访问协议,soap用来描述传递信息的格式 WSDL (WebServices Description Language):Web服务描述语言,用来描述如何访问具体的接
SecondWorld
2018/03/14
1.8K0
Web Service初探
webService接口服务端与客户端开发(入门级亲测可用)
网上的有关webService的入门例子很多,但总是让新手云里雾里。 看了本篇,如果对您有帮助,请随手一赞。。。 经过尝试,发现以下内容: 第一:webService服务端开发 首先上图,一清二楚、以下weather包中有三种发布服务的方式;
全栈程序员站长
2022/09/14
1.8K0
webservice有哪些框架_web前端主流框架有哪些
开发webservice应用程序中离不开框架的支持,当open-open网站列举的就有很多种,这对于开发者如何选择带来一定的疑惑。性能Webservice的关键要素,不同的框架性能上存在较大差异,而当前在官方网站、网络资料中可以方便的找到各自框架的介绍,但是很少有针对不同框架性能测试数据。本文选择了比较流行几个框架:
全栈程序员站长
2022/11/08
2.5K0
Web Service接口测试
Web service使用与平台和编程语言无关的方式进行通讯的一项技术, web service 是一个接口, 他描述了一组可以在网络上通过标准的XML消息传递访问的操作,它基于xml语言协议来描述要执行的操作或者要与另外一个web 服务交换数据, 一组以web服务在面向服务体系结构中定义的web应用程序.
louiezhou001
2019/09/17
4.1K0
Web Service接口测试
相关推荐
WebService使用介绍(三)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验