Мне нужно отправить XML на сервер, и я хочу, чтобы сервер отправил мне JSON. Я использую Retrofit 2 + Kotlin
Метод Retrofit2 (в интерфейсе методов):
@Headers("Content-Type: application/xml; charset=urf-8", "Accept: application/json") @POST(Connectors.SECRET_LINK) fun sendCustomXml(@Body data: XmlHolder): Observable<String>
Служба Retrofit2:
private fun <S> createService(serviceClass: Class<S>): S { val retrofit = return } init { initLoggingInterceptor() val builder = Retrofit.Builder() .baseUrl(BuildConfig.API_URL) .addConverterFactory(GsonConverterFactory.create()) .addConverterFactory(SimpleXmlConverterFactory.create()) //here it is I thought .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) mService = builder.client(getHttpClient()).build().create(ApiMethods::class.java)) }
XML-объект Мне нужно отправить как XML (теги и т. Д.):
@Root(name = "root_element") class XmlHolder { @Attribute(name = "xmlns") private val mXmlns = "http://www.anr.ru/types" @Attribute(name = "type") private val mType = "request" @Element(name = "data") private val mData = Data() inner class Data { @Attribute(name = "code") private val mCode = "P0116" @Element(name = "list_model") private val mListModel = "123" } }
пока я получил 400 ошибок от сервера. дерьмо.
Джейк Уортон, можете ли вы предложить мне какие-нибудь решения? 🙂 Любая помощь, любые примеры, пожалуйста, люди …