API каратэ - ошибка 500 при запуске сервиса SOAP в пакете - PullRequest
1 голос
/ 24 октября 2019

Я автоматизирую 3 API (службы Rest_1, Rest_2 и Soap_3), используя API каратэ. В основном выход Rest_1 будет вводиться в Rest_2, а выход Rest_2 будет вводиться в Soap_3. Создано 3 файла функций для каждого API и один основной файл функций, который вызывает эти 3 функции. Rest_1 -> поток Rest_2 работает как положено, Rest_2 -> XML-запрос запроса Soap_3 генерируется должным образом, но этот же запрос не обращается к службе Soap_3 и получает ответ 500.

  • Когда я выполняю только файл объекта Soap_3, он дает мне ожидаемый ответ. Но в пакетном режиме он выбрасывает 500 ошибок.

  • Если я возьму Rest_2 -> Soap_3 сгенерированный XML и запустил его в SoapUI вручную, он работает нормально.

Обратитесь за помощью в этом вопросе. Заранее спасибо!

Ниже приведен мой файл функций сервиса Soap_3:

Feature: Get PolicyDetails

Background:

 * configure headers = {Content-Type: 'application/soap+xml; charset=utf-8'}
 * configure logPrettyResponse = true
 * configure ssl = true
 * configure ssl = 'TLSv1.2'
 * header Authorization = call read('classpath:resources/common/basic_auth.js') {username:'test',password:'test'}
 * url 'https://soap_3apiurl'

Scenario: get the PolicyInfo

 * configure charset = null
 # getting submission id from preious feature file output
 * call read('classpath:resources/dynamic/previous.feature'){'submissionID':'#(submissionID)'}
 * xml req = read ('classpath:resources/common/RetrivePolicyDetails.xml')
 * karate.set ('req/soapenv:Envelope/soapenv:Body/ns2:retrieveSubmission/ns2:aRequest/SubmissionID',submissionID)

 Given request req
 When soap action 'https://soap3apiurl'
 Then status 200
 And print response

 **Console log:**

 16:43:30.562 [ForkJoinPool-1-worker-1] DEBUG com.intuit.karate - response time in milliseconds: 58.18
 1 < 500
 1 < Accept-Encoding:
 1 < Authorization: Basic
 1 < Cneonction: close
 1 < Content-Type: application/soap+xml; charset=UTF-8
 1 < Cookie: NSC
 1 < Date: 
 1 < Host: soap3APIurl.com
 1 < Set-Cookie: 
 1 < Transfer-Encoding: chunked
 1 < X-Forwarded-For: 10.00.00.1, 10.00.00.20
 1 < X-Forwarded-Host: 
 1 < X-Forwarded-Server:
 1 < X-dynaTrace: FW1;10000008;-1100030439;601946;6;-11000009;60194;1
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
       <soapenv:Fault>
          <faultcode xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/">soap11Env:Server</faultcode>
          <faultstring>Error while building message</faultstring>
       </soapenv:Fault>
    </soapenv:Body>
 </soapenv:Envelope>

16:43:30.565 [ForkJoinPool-1-worker-1] ERROR com.intuit.karate - status code was: 500, expected: 200

Ответы [ 2 ]

0 голосов
/ 25 октября 2019
* configure headers = {Cookie : null}

Добавление строки выше решило мою проблему. Благодаря.

0 голосов
/ 24 октября 2019

Не оставляйте пробел после ссылки на функцию read:

* xml req = read('classpath:resources/common/RetrivePolicyDetails.xml')

Это объясняется здесь: https://github.com/intuit/karate/tree/develop/karate-core#locator-lookup

Если это не проблема, следуйте этому процессу: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

...