postman测试WebService及WCF接口
一.postman测试WebService接口
(1)设置url
一般就是访问项目中的asmx文件。
(2)设置请求模式:post
(3)设置Header
为防止出现中文乱码,数据编码格式为UTF-8。所以添加Content-Type,值为text/xml;charset=utf-8。
(4)设置Body
勾选raw, 因为WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明 HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。这边需要指定传输数据的类型,选择XML(text/xml)格式。
接口定义的请求格式复制到Body中,并且填上必要的参数,例子如下:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UniteBudgetManage xmlns="http://tempuri.org/">
<budgetManageCriteria>
<AccountCode>123456</AccountCode>
<BudgetDeptCode>SMCV-MAN10</BudgetDeptCode>
<Year>2018</Year>
<BlockAmount>8989</BlockAmount>
</budgetManageCriteria>
</UniteBudgetManage>
</soap:Body>
</soap:Envelope>
其中UnitBudgetManage是方法名,budgetManageCriteria为该方法中的参数,它是一个对象,包含BudgetType、CheckorBlock等属性。
一切设置完成后,点击 send 按钮就可以了。
例子:
WebService是一种跨编程语言和跨操作系统平台的远程调用技术
http://www.oorsprong.org/websamples.countryinfo/countryinfoservice.wso?WSDL 是一个webservices接口,可以查询国家信息
可以用postman进行如下调用:
(1)url填写:http://www.oorsprong.org/websamples.countryinfo/countryinfoservice.wso?WSDL
(2)方法选post
(3)header信息 增加Content-Type项,值为:text/xml
(4)body 填写如下,ContryFlag节点表示查询国旗,CN表示查询,US表示为美国,国家代码是什么,可以通过搜索引擎搜索ContryISOCode获得。
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<CountryFlag xmlns="http://www.oorsprong.org/websamples.countryinfo">
<sCountryISOCode>CN</sCountryISOCode>
</CountryFlag>
</Body>
</Envelope>
(5)点击发送,返回信息包含查询国家的国旗图片的url, 如:http://www.oorsprong.org/WebSamples.CountryInfo/Images/China.jpg
备注:xml 怎么填写,分4步
1、谷歌浏览器下载插件:Wizdler,这个插件的作用是解析wsdl文件,并生成soap信息
2、浏览器访问地址:http://www.oorsprong.org/websamples.countryinfo/countryinfoservice.wso?WSDL 显示的是xml文档
3、点击Wizdler,弹出查询节点信息,如首都、国旗等
4、选择一个查询项,后会进入一个新的xml页面,如选择CountryFlag后进入的xml页面如下
二.Postman测试WCF接口
(1)设置url
一般访问的是对应的svc文件,加上相应的方法名。
其中UnitBudgetManage是对应的UrlTemplate。
(2)设置请求模式:post
(3)设置Header:添加Content-Type,值为text/xml;charset=utf-8
(4)设置Body
勾选raw,以JSON(application/json)格式进行传输。Body中输入需要传输的JSON格式的数据。例子如下,
{
"Service": {
"Data": {
"Request": {
"BudgetType": "Account",
"CheckorBlock": "Check",
"BmEntity": [
{
"AccountCode": "123",
"BlockAmount": "1900",
"BudgetDeptCode": "SMCV-MAN",
"Year": "2018"
},
{
"AccountCode": "456",
"BlockAmount": "4500",
"BudgetDeptCode": "SMCV-GR",
"Year": "2018"
}
]
}
}
}
一切设置完毕后,点击 Send 按钮,这样就会调用指定的接口,并执行内部的方法,根据返回结果来测试功能的正确与否。
(5)返回结果
返回结果依然是JSON格式。
{
"Service": {
"Data": {
"Request": {
"BmEntity": [
{
"AccountCode": "123",
"BlockAmount": "1900",
"BudgetDeptCode": "SMCV-MAN",
"Year": "2018"
},
{
"AccountCode": "456",
"BlockAmount": "4500",
"BudgetDeptCode": "SMCV-GR",
"Year": "2018"
}
],
"BudgetType": "Account",
"CheckorBlock": "Check"
},
"Response": {
"Code": "E0000000",
"Desc": "科目预算金额不足:123-2018-SMCV-MAN预算金额不足",
"Status": "FAIL"
}
}
}
}
}
Postman测试接口还是很清晰直观的。