有没有办法知道SOAP API中参数值的正确形式是什么?

时间:2017-08-01 13:10:01

标签: php web-services api soap

例如,我找到了这个免费的网络服务:

http://www.webservicex.net/ConvertTemperature.asmx

我想测试我的客户端,但我不知道我应该为我的请求指定哪些输入参数。

我想测试一些API会发生这种情况。有没有办法找出可能的值,因为没有文档?

2 个答案:

答案 0 :(得分:0)

你在这里有几个选择。

如果您已安装Visual Studio,则可以使用WCF测试客户端来测试API。

有关WCF测试客户端HERE

的更多信息

或者,您可以使用SmartBear的SoapUI

大多数情况下,您只需指定服务的URL,它将为您提供所有可用方法的列表以及他们期望的输入。

答案 1 :(得分:0)

实际上,通过您提交的链接,有一个说明参数的文档:http://www.webservicex.net/ConvertTemperature.asmx?op=ConvertTemp

请求:

POST /ConvertTemperature.asmx HTTP/1.1
Host: www.webservicex.net
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.webserviceX.NET/ConvertTemp"

<?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>
    <ConvertTemp xmlns="http://www.webserviceX.NET/">
      <Temperature>double</Temperature>
      <FromUnit>degreeCelsius or degreeFahrenheit or degreeRankine or degreeReaumur or kelvin</FromUnit>
      <ToUnit>degreeCelsius or degreeFahrenheit or degreeRankine or degreeReaumur or kelvin</ToUnit>
    </ConvertTemp>
  </soap:Body>
</soap:Envelope>

TemperatureFromUnitToUnit是请求/输入参数。

考虑到服务器是基于asmx的,此URL应该为您提供完整的架构:http://www.webservicex.net/ConvertTemperature.asmx?wsdl

希望我能正确理解你的问题。

P.S。对于实时(或生产)系统测试代码(例如自动测试)通常不是一个好主意。