2015-03-16 6 views
0

Я издеваюсь над 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

Макет-сервер Apiary не имеет возможности определить, какой ответ следует возвращать из нескольких примеров транзакций на основе тела вашего запроса.

API Blueprint позволяет вам предоставлять несколько ответов, сервер Apcer mock будет использовать только код ответа, заголовки или тип контента, чтобы отличать эти примеры.

Например, если две реакций с различным контентом-типами:

+ 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 

Вы можете найти более подробную информацию об этом на http://support.apiary.io/knowledgebase/articles/117119-handling-multiple-actions-on-a-single-resource