前面几篇博客我们搞了2个dome,让我们对webservice服务发布,调用 ,执行 有一定的了解,今天我们再系统的梳理下webservice执行过程。
1.首先我们在webservice服务器端开发webservice接口,然后用类实现接口,最后发布webservice(发布有两种方式:第一种是jdk实现,jdk自带的。第二种是cxf实现,需要我们添加cxf的jar包和一个jetty服务器);
2.然后我们通过一个Url调用webservice接口,比如发布的时候 ,url是 http://192.168.43.11:90/helloWorld
3.那我们请求的url就是 http://192.168.43.11:90/helloWorld?wsdl
这一大串xml标记,其实就是wsdl (Web Services Description Language) 也就是Web Service描述语言,描述服务器端定义的webservice接口的相关信息,当然我们不用花时间去学习这东西,毕竟这东西是一套规范,但是我们仔细观察,猜测,也能分析出一些猫腻来,这里wsdl:types就是定义了一些变量,wsdl:message相当于定义方法,wsdl:portType相当与调用与返回,下面的话,就是一些操作。这东西不必要去研究细节,搞这东西会晕死的。有工具给我处理。我们角度要站得高。
4.客户端通过这个url请求,获得wsdl规范的xml文档片段信息,然后这里又涉及到一个新的概念SOAP(Simple Object Access Protocol)即简单对象访问协议,我们通过这个协议,来实现客户端,服务器端消息交互,SOAP使用XML消息调用远程方法;当然交互的媒介就是xml,具体交互内容根据wsdl文档描述来。
这个就是大体的一个webservie执行过程。 当然,我作为一个开发者,我觉得一般的应用,Ajax跨域调用,以JSON作为交互媒介也不错。当然也要根据具体情况来。比如有大量的对象,集合类型,webservice还是有他的强项的。