我必须通过SOAP接口从Web服务下载一些东西。界面的文档相当稀疏,因此我无法理解如何从中请求。
This is the .wsdl specification.
这个想法是:
我成功获取会话密钥并将其与数据库的请求一起使用。不幸的是,我只是得到HTTP 404作为响应,我不知道如何找到问题,因为404会在会话密钥错误时出现(例如“asdfg”)。
这是我发送的XML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="input-group">
<select class="form-control" aria-describedby="clear-addon">
<option></option>
<option>option1</option>
<option>option2</option>
</select>
<span class="input-group-addon" id="clear_addon">✖</span>
</div>
这是我正在使用的方法(我从中删除了一些丑陋,例如在方法中初始化的xmlDatabox):
<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>
<getDatabox xmlns="https://finanzonline.bmf.gv.at/fon/ws/databox">
<tid>${tid}</tid>
<benid>${benid}</benid>
<id>${sessionToken}</id>
<erltyp>${erltyp}</erltyp>
<ts_zust_von>20-08-2017</ts_zust_von>
<ts_zust_bis>25-08-2017</ts_zust_bis>
</getDatabox>
</soap:Body>
</soap:Envelope>
现在一切都按照应该发送的方式发送。此外,方法和xml(重要的东西除外)相同的getDatabox()和loginRequest()(有效)。唯一的响应是HTTPS 404。
如何找到错误?
下次如何防止这种挫败感? (例如,通过立即知道应该使用哪些方法)
编辑:我没有使用肥皂模块,因为我没有成功。
答案 0 :(得分:0)
好..
我使用SoapUI来了解请求应该是什么样子,因为我对.wsld和.xsd格式一无所知。
SoapUI读取这两个文件并为其创建适当的xml,您只需填写即可。它还会显示您必须向其发送请求的网址,我最初也不知道。