我嘲笑了一个soap webservice,我只能得到默认的第一个响应,无论请求体是什么。
我的尝试基于文档Multiple Transaction Examples,我对自己做错了什么感到困惑。
举个例子:
+ Request
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="" xmlns:xsd="" xmlns:xsi="">
<SOAP-ENV:Body>
<m:transaction-identity-verification xmlns:m="">
</m:transaction-identity-verification>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
+ Response
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="">
<env:Header />
<env:Body>
<java:transaction-response xmlns:java="j">
<transaction-status>
<transaction-id>third_8020750179321</transaction-id>
<transaction-request-id>george_8020860578800</transaction-request-id>
<accounts-transaction-id>13</accounts-transaction-id>
<reference-id>13</reference-id>
<transaction-result>questions</transaction-result>
</transaction-status>
</java:transaction-response>
</env:Body>
</env:Envelope>
+ Request
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="" xmlns:xsd="" xmlns:xsi="">
<SOAP-ENV:Body>
<m:transaction-continue xmlns:m="">
</m:transaction-continue>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
+ Response
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="">
<env:Header/>
<env:Body>
<java:transaction-response xmlns:java="">
<transaction-status>
<transaction-id>cont_1_11020785803682</transaction-id>
<transaction-request-id>11020943348626</transaction-request-id>
<accounts-transaction-id>0</accounts-transaction-id>
<transaction-result>passed</transaction-result>
</transaction-status>
</java:transaction-response>
</env:Body>
</env:Envelope>
在上面的示例中,即使我发布了两个不同的请求,我也只会收到第一个响应。根据链接的文档,这应该是可能的。
答案 0 :(得分:0)
Apiary模拟服务器无法根据您的请求正文确定从多个事务示例返回的响应。
API Blueprint允许您提供多个响应,Apiary模拟服务器将仅使用响应代码,标头或内容类型来区分这些示例。
例如,给出两个具有不同内容类型的响应:
+ Response 200 (plain/text)
Text Response
+ Response 200 (application/json)
{ "text": "JSON Response" }
现在,当我们向模拟服务器请求上述响应时。我们可以提供Accept
标头来获取JSON响应:
$ curl -H 'Accept: application/json' URL
{ "text": "JSON Response" }
或者要求提供文字回复:
$ curl -H 'Accept: plain/text' URL
Text Response
找到有关此内容的更多信息