1.基础问题
1.1 soup-Simple Object Access Protocal简单对象访问协议
a).承载在http协议之上,http支持传输img/html/文件等,soup请求和响应域都是xml.
c).wsdl->Web Services Description Language, 网络服务接口文档,用于描述Web service函数的参数及其返回值的.
http://www.webservicex.net/CurrencyConvertor.asmx?wsdl//请求后加?wsdl返回的即是对应的wsdl文件
requestHeader
Content-Type:application/soap+xml; charset=utf-8
Content-Length:380
SOAPAction:http://WebXml.com.cn/getSupportCity//如果在post数据域中传递方法名,则不需要传递
requestBody
180.102.21.198
ResponseBody
1
180.102.21.198
Success
China
CHN
10. WSDL文件-Web Services Description Language(XML子集)
a). 相当于java的import
b). xmlns相当于java的import,和地址后面的targetNameSpace是对应的
c). targetName相当于java的package
10.1 通过soupUI生成入参报文和URL
a). 安装soupUI->SOAP->Initial WSDL->标签中填入相应值即可
a). 首先新建一个 “Dynamic Web Project”, 比如: WebServiceClientTest.这个的用处是为了存放产生的Java代码。
b). 工程->右键->WebServiceClientTest , New-->Others --->Web Services-->Web Service Client->在Service definition 输入wsdl的地址
滑动条拉到Develop client 上。
c). 一直下一步就产生Java Code了。
d). 产生的Code中, 有一个Java 文件以Proxy结尾, 这个就是调用的Class了
10.5.1 -webservice中使用的数据类型
为了最大程度的平台中立性,WSDL 使用 XML Schema 语法来定义数据类型。
10.5.2 函数(操作)的入参和出参描述
a). 接口中的每一个方法对应两个message
//示例
10.5.3 端口-最重要-wsdl中可执行的操作及信息
a). 下面包含N个Operation,每个operation对应一个操作
b).
//示例
10.5.4 -实现类-为每一端口(portType)定义消息格式和协议细节
a). 元素两个属性,name-binding名称,type指向portType中一个值
b). style-取值rpc或document,取document;transport定义要使用的SOAP协议,取HTTP
c). soapAction在httpHeader中传给server,需要唯一,暴露给外界调用的操作
//示例
10.5.5 -定义ws的名称
port[address] 定义ws绑定的地址
//示例