客户端服务调用代码要完成的任务,也就是使用实现所提供的接口,来声明调用方所需要的方法名及参数,然后由实现根据用户的输入来组合HTTP请求。
这个过程可以这样来描述,首先获取用户输入,然后把输入变成实现所要求的存储格式,然后再把该格式变成HTTP请求。一般情况下,我们需要手工完成到第二步,但是,这个过程显然是可以把他自动化的,自动化的效果就是用户不再需要书写这部分的代码,减少工作量和降低出错几率。
自动化的过程就需要WSDL的参与,他提供了服务方服务的描述,调用方根据这个描述,就可以知道服务所需要的参数个数,然后向用户索取。得到输入以后,实现可以根据WSDL的要求来把输入转换成特定的存储格式,或者直接生成最后的HTTP请求。
对于每个服务,WSDL需要描述两部分的内容,一是接口,二是实现。接口描述了服务的格式,例如服务名,服务参数,服务结果。服务实现则描述了,用户所对应提供的输入如何转换成符合某一实现协议的形式,一般情况下,我们使用SOAP作为实现协议,那么客户端在分析了WSDL文件以后,将会把用户的输入转换成我们已经看到过的SOAP请求,之后的过程就与之前的完全一样。
<?xml version="1.0"
encoding="UTF-8"?>
<wsdl:definitions
name="HelloWorldDescription"
targetNamespace="urn:HelloWorld"
xmlns:tns="urn:HelloWorld"
xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:message
name="sayHello_IN">
<part
name="name" type="xsd:string" />
</wsdl:message>
<wsdl:message
name="sayHello_Out">
<part
name="greeting" type="xsd:string" />
</wsdl:message>
<wsdl:portType
name="HelloWorldInterface">
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



