我需要在这个 .NET 站点上使用 Web 服务:
https://www.iyardiasp.com/8223third_17/webservices/ItfResidentData.asmx
对于初步消费,我使用 Fiddler 或 curl。两者都给出相同的错误:
<faultstring>Unable to handle request without a valid action parameter. Please supply a valid soap action.</faultstring>
我的卷曲命令:
curl -d @GetVersionNumber.xml https://www.iyardiasp.com/8223third_17/webservices/ItfResidentData.asmx
请参阅下面的 GetVersionNumber.xml 文件:
<?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>
<GetVersionNumber xmlns="http://tempuri.org/YSI.Interfaces.WebServices/ItfResidentData" />
</soap:Body>
</soap:Envelope>
添加 SOAP-ENV:Header 作为 soap:Envelope 中的元素没有帮助
<SOAP-ENV:Header Content-Type="text/xml" Host="www.iyardiasp.com" SOAPAction="http://tempuri.org/YSI.Interfaces.WebServices/ItfResidentData/GetVersionNumber"/>
将 Soap Action 添加为标题并没有帮助。
在这种情况下,curl 命令是:
curl -H“SOAPAction:http ://tempuri.org/YSI.Interfaces.WebServices/ItfResidentData/GetVersionNumber ”-d @GetVersionNumber.xml“ https://www.iyardiasp.com/8223third_17/webservices/itfapplicantscreening.asmx ”
回应是:
<faultstring>Server did not recognize the value of HTTP Header SOAPAction: http://tempuri.org/YSI.Interfaces.WebServices/ItfResidentData/GetVersionNumber.</faultstring>