retrofit调用参数传递要求是xml的解决办法
创建时候的操作,主要是addConverterFactory时候需要新增对xml的支持(SimpleXmlConverterFactory)
public static <T> T createXmlHttpRetrofit(Class<T> api ,String httpUrl) {
Retrofit retrofit=new Retrofit.Builder().baseUrl(httpUrl)
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(SimpleXmlConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create()).build();
return retrofit.create(api);
}
api创建的时候使用header里面指定xml的格式,如下
@POST("default/svc-open/web-service-v2")
@Headers({"Content-Type:application/soap+xml;charset=UTF-8" })
Call<ResponseBody> eCangApi(@Body String param);