我正在尝试使用 QAS 网络服务在英国进行邮政编码查找。当我发布我的请求 XML 时,它显示“服务器无法识别 HTTP 标头 SOAPAction:DoSearch 的值”。
当我删除 mMethod.setRequestHeader("SOAPAction", "/DoSearch"); 从我的 SOAPClient 收到的错误是无法在没有有效操作参数的情况下处理请求。请提供有效的肥皂动作。
WSDL 的链接是: https ://ws.ondemand.qas.com/ProOnDemand/V3/ProOnDemandService.asmx?WSDL
我想问题是我无法在标题中设置动作参数,但我不知道如何设置,而且我有点卡住了。请帮忙。
我要发布的请求 XML 是:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:qas="http://www.qas.com/OnDemand_2011-03">
<soap:Header>
<qas:QAAuthentication>
<qas:Username>username</qas:Username>
<qas:Password>password</qas:Password>
</qas:QAAuthentication>
</soap:Header>
<soap:Body>
<QASearch RequestTag="Single Line postcode search"
xmlns:web="http://www.qas.com/OnDemand_2011_03">
<web:Country>GBR</web:Country>
<web:Engine Flatten="true ">Singleline</web:Engine>
<web:Layout>QADefault</web:Layout>
<web:Search>B168JR</web:Search>
</QASearch>
</soap:Body>
</soap:Envelope>