另类感受soap和rest风格webservice不同点

最近一直在看webservice方面的东西,但是刚接触webservice是公司业务要去调用别人的webservice接口,一看文档rest风格。然后就一直有个疑云在心中。因为网上看到的是soap的,我博客里入门用的也是soap风格的,却一直不清楚二者的区别,百度看到好多讲的都比较专业,当然也不好看懂。我就借用下soapUI这个软件来直观的体现二者的不同。也比较使用。

点击这里进入soapui下载页面
一. 先来看soap风格的webservice接口调用的步骤。

1.直接点击SOAP按钮–图里画出来了,弹出new soap project的对话框。在Initial WSDL中浏览webservice接口服务端生成的wsdl文件。ProjectName可以自定义,软件也会自动在你浏览了wsdl文件后填上内容。点击ok

另类感受soap和rest风格webservice不同点_第1张图片
另类感受soap和rest风格webservice不同点_第2张图片

保存wsdl文件很简单:在页面访问wsdL文件,ctrl+s保存到本地就可以了。然后浏览导入进来。

2.进入设置入参的界面。还是自动生成的入参报文,只需要输入入参,点击绿三角运行,就完成了接口调用。在右侧现实出回参XML

另类感受soap和rest风格webservice不同点_第3张图片

二. 再来看rest风格调用webservice接口的步骤

1.同soap新建一样,这里点击rest,new rest project,这里的URI就是服务方提供的接口地址。点击ok

另类感受soap和rest风格webservice不同点_第4张图片

2.接口地址会被自动拆分成三部分,其中parameters是空。通过选择请求的方式-Method,已经选择参数的类型Media Type设置入参类型和入参的内容。如图示。都设置好,并输入了入参信息,点击绿三角,调用接口。可在右侧看到返回值。返回值也是有几种:xml,json,Html等。

另类感受soap和rest风格webservice不同点_第5张图片

总结区别:
1.soap风格依赖与wsdl这个接口服务描述文件,通过这个wsdl文件,可以把暴露的接口中的所有方法显示出来,然后在列表中选择你要调用的方法,输入参数就可以了,相当于由wsdl只能定位到接口/类上面,具体不到那个方法。而rest风格的URI方式直接定位到方法。
2.soap风格没有设置请求方式是get,post,还是delete,put。因为soap默认为post请求。而rest是可以自己设定请求类型的。

3.参数底层传输固定是出入参固定是xml格式的。没有json等其他形式的参数格式。rest风格的出入参数的数据类型可以是xml,json等常用格式,入参没有底层生成的任何东西,全部自己搞定,xml还是json格式,要严格符合选中的数据类型才行。

你可能感兴趣的:(客户端服务端通信实现方式)