Когда я вызываю фактическую службу SOAP (используя Postman и SoapUI) с недопустимым значением параметра, это вызывает ответ SOAP-Fault с HTTP 200.
Я скопировал тело ответа в файл ответов Wiremock, соответствующий файл сопоставления которого возвращает HTTP 200.
Когда я использую Postman для вызова службы SOAP и имитируемой службы, «тело» ответов идентично (кроме заголовков, поскольку в имитируемом ответе они явно не указаны).
Когда мой API вызывает фактическую службу SOAP, SOAPError перехватывается, обработка останавливается, и API обрабатывается, как определено в разделе «catch».
Однако, когда API вызывает фиктивную службу SOAP, ошибка SOAPError не обнаруживается после «вызова», обработка продолжается и дает неверный ответ.
Это говорит о том, что есть что-то «лишнее», возвращенное при ошибке из реальной службы SOAP, которое APIC использует для обнаружения ошибки SOAPError. Что это?
Я бы добавил это к издевательскому ответу, если бы только знал, что это должно быть.
BTW: заголовки ответа одинаковы как для действительных параметров, так и для ошибки SOAP для недопустимого.
[править] Спасибо @Jan Papenbrock. Добавление «Content-Type = text / xml» решило проблему. Не знаю, почему я думал, что получаю одни и те же заголовки от реальных и выдуманных ответов - полная чушь! Джон [/ edit]