×

webservice使用教程视频 webservice vice

webservice接口怎么使用?REST API 和WebService有哪些不同

admin admin 发表于2022-07-06 00:45:20 浏览101 评论0

抢沙发发表评论

webservice接口怎么使用


webservice的调用,常用的大约有3种方式:
1、使用axis调用
2、使用xfire调用
3、使用cxf调用
项目中,采用axis进行调用,记录如下,备忘:
ps教程:想当年的时候是用的xfire方式调用的,结果没做记录,现在已经完全记不得怎么玩了。所以说要多写博客啊 t_t
版本说明:
aixs版本:axis-bin-1_4.zip
java环境略
第一步:确保wsdl文件可用,文中为获取到sendsmsservice.wsdl,当然url的也行。
第二步:执行生成客户端代码的脚本。脚本内容为:
set axis_lib=d:axis-1_4lib
set java_cmd=java -djava.ext.dirs=%axis_lib%
set output_path=.
set package=info.jyzh.wap.liaoning.push
%java_cmd% org.apache.axis.wsdl.wsdl2java sendsmsservice.wsdl -o%output_path% -p%package% -t

#查看wsdl2java的使用帮助#%java_cmd% org.apache.axis.wsdl.wsdl2java -help

ok,至此,客户端代码就生成出来了。还带了一个单元测试哦。

实际工作中,碰到以下情况,客户端不能直接连上webservice服务器,中间被强大的代理服务器挡住了。如下图:

为此,修改生成的代码,本次是在sendmmsserviceimplservicesoapbindingstub中作修改,如下:
static {
axisproperties.setproperty(“

REST API 和WebService有哪些不同


从基本原理层次上说,REST 样式和 SOAP 样式 Web Service的区别取决于应用程序是面向资源的还是面向活动的。例如,在传统的WebService中,一个获得天气预报的webservice会暴露一个WebMethod:string GetCityWether(string city)。而RESTful WebService暴露的不是方法,而是对象(资源),通过Http GET, PUT, POST 或者 DELETE来对请求的资源进行操作。在 REST 的定义中,一个 Web Service总是使用固定的 URI 向外部世界呈现(或者说暴露)一个资源。可以说这是一种全新的思维模式:使用唯一资源定位地址 URI,加上 HTTP 请求方法从而达到对一个发布于互联网资源的唯一描述和操作。
所以我理解为rest架构定义的webservice实际上定义了一个借口的规范。
REST其实并不是什么协议也不是什么标准,而是将Http协议的设计初衷作了诠释,在Http协议被广泛利用的今天,越来越多的是将其作为传输协议,而非原先设计者所考虑的应用协议。
REST的思想归结以下有如下几个关键点:

1.面向资源的接口设计

所有的接口设计都是针对资源来设计的,也就很类似于我们的面向对象和面向过程的设计区别,只不过现在将网络上的操作实体都作为资源来看待,同时URI的设计也是体现了对于资源的定位设计。后面会提到有一些网站的API设计说是REST设计,其实是RPC-REST的混合体,并非是REST的思想。

2.抽象操作为基础的CRUD

这点很简单,Http中的get,put,www.hbbz08.com post,delete分别对应了read,update,create,delete四种操作,如果仅仅是作为对于资源的操作,抽象成为这四种已经足够了,但是对于现在的一些复杂的业务服务接口设计,可能这样的抽象未必能够满足。其实这也在后面的几个网站的API设计中暴露了这样的问题,如果要完全按照REST的思想来设计,那么适用的环境将会有限制,而非放之四海皆准的。

3.Http是应用协议而非传输协议

这点在后面各大网站的API分析中有很明显的体现,其实有些网站已经走到了SOAP的老路上,说是REST的理念设计,其实是作了一套私有的SOAP协议,因此称之为REST风格的自定义SOAP协议。

4.无状态,自包含

这点其实不仅仅是对于REST来说的,作为接口设计都需要能够做到这点,也是作为可扩展和高效性的最基本的保证,就算是使用SOAP的WebService也是一样。

怎么规范的开发webservice接口


以下是操作步骤:

1、编写服务代码

服务代码提供了两个函数,分别为sayHello和sayHelloToPerson,在HelloService.java类中

2、发布WebService

要将上边写的HelloService类发布为WebService,需要先搭建Web应用。下面是在Tomcat下使用Axis创建WebService服务的例子。

3、在Tomcat下创建Web应用

在该例子中,在Tomcat下创建了一个context path为test_webservice的WEB应用。

(1) 在Tomcat的webapps下创建如下文件系统

test_webservice

WEB-INF

lib

Classes

(2)在WEB-INF文件夹下创建web.xml文件,在web.xml中主要是配置axis。

4、复制axis相关的jar文件

将axis的相关jar文件复制到WEB-INF\lib文件夹下。这些文件包括:

activation.jar
axis.jar
axis-ant.jar
axis-schema.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
mailapi.jar
saaj.jar
wsdl4j-1.5.1.jar
xmlsec-1.3.0.jar

5、测试发布的WEB应用

启动Tomcat服务,打开IE浏览器,访问发布完成之后再访问http://host:port/test_webservice/services
-webservice