Мы используем пружинное интегрирование (xml конфигурация на основе), в котором мы выполняем следующие шаги:
- Преобразование полезной нагрузки (java -объект) в json
- Выполните вызов API остальных
- Преобразование обратно в java -объект
<int:object-to-json-transformer content-type="test.Request" input-channel="objectToJsonChannel" output-channel="apiChannel"/>
<int-http:outbound-gateway id="apiChannel"
request-channel="apiChannel"
reply-channel="jsonToObjectChannel"
....
/>
<int:json-to-object-transformer type="test.Response" input-channel="jsonToObjectChannel" output-channel="responseChannel"/>
Выше код работает до версии 5.1 с весенней интеграцией. Когда я обновляюсь до 5.2. Он начинает выдавать исключение как org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [test.Request] to type [test.Response]
.
Я заметил, что object-to-json-transformer
добавляет тип класса в заголовок с ключом json__TypeId__
. Затем он использует этот тип класса для json-to-object-transformer
.
Но ожидается, что атрибут type, упомянутый в json-to-object-transformer
, должен использоваться, если он упоминается.
Пожалуйста, предложите исправить эту проблему или это действительно ошибка в интеграции с пружиной (5.2).