说到软件系统的集成技术,集成协议有很多,比如dubbo、rmi、thrift、memcached、webservice、http、restful等等。大家用的最多的一般就是webservice和Restful。Webservice是用在传统企业内部各系统间的互联互通,而Rest则大多数用在企业对外服务、互联网应用集成。一般我们谈Restful协议,就很容易想到API网关,那么API网关是否只支持restful呢?答案显然不是这样,我们就以kong网关为例,来看一下kong对webservice的代理支撑。
-
首先我们从webxml网上找一个公开的webservice。
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?op=getSupportCity
我们来看一下,这个服务支持SOAP1.1和SOAP1.2,并给出了输入输出示例:
-
我们通过kong的管理平台将其代理到kong网关上,并配置路由,配置后的路由地址如下:http://118.25.142.21:8000/webservice
-
我们通过POSTMAN来尝试调用,POSTMAN设置Request的Body如下,方法为POST:
服务器返回失败消息:服务器无法为请求提供服务,因为不支持该媒体类型。因此我们修改Request中的Content-Type类型为webservice常用的类text/xml;charset=utf-8,再次发起调用后成功返回信息。
结论:kong网关代理并透传webservice类型的原生服务不存在任何问题。
rvice类型的原生服务不存在任何问题。