Я работаю с SOAP API с модернизацией в Kotlin, так как это SOAP API. Я создал класс модели для запроса и ответа API с помощью модернизации и сделал вызов API с этим классом модели.
Здесь проблема заключается в том,Я не могу проанализировать данные в модели ответа
Ниже приведен мой ответ, который мне нужно проанализировать
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="URL" xmlns:xsi="XMLSchema" xmlns:xsd="XMLSchema">
<soap:Body>
<Response xmlns="URL">
<OTA_Response Version="0">
<Data>Hello There</Data>
</OTA_Response>
</Response>
</soap:Body>
</soap:Envelope>
И для анализа этого ответа я создал класс модели, как показано ниже
@Root(name = "soap:Envelope", strict = false)
@NamespaceList(Namespace(prefix = "xsi", reference = "XMLSchema"),
Namespace(prefix = "xsd", reference = "XMLSchema"),
Namespace(prefix = "soap", reference = "URL"))
class MainResponse @JvmOverloads constructor(
@Element(required = true, name = "soap:Body")
var body : Body? = null
)
@Root(name = "soap:Body", strict = false)
class Body @JvmOverloads constructor(
@field:Element(name = "Response", required = false)
var ping : Response?=null
)
@Namespace(reference = "URL")
@Root(name="Response", strict = false)
class Response @JvmOverloads constructor (
@field:Element(name = "OTA_Response", required = false)
var otaPingRS : OTA_Response ?=null
)
@Root(name="OTA_Response", strict = false)
class OTA_Response @JvmOverloads constructor(
@Attribute(name = "Version")
@param:Element
private val Version : String? = null,
@field:Element(name = "Data", required = false)
@param:Element
var data : String?=null
)
Здесь мне нужен тег Hello There from Data, но я всегда получаю нулевое значение переменной тела
Любая помощь будет оценена.
Спасибо.