title: Custom xml converter with Retrofit 2.0.2 is never called
body: <p>I have to use retrofit 2.0.2 with xml api response. But my custom xml converter is never called.</p>
  
  <p>Playing around with this I found out:</p>
  
  <ul>
  <li>if I use Volley to parse the same response, the same custom xml converter IS called;</li>
  <li>if I apply GsonConverterFactory to my RestClient and parse json response, my custom JsonAdapter (@JsonAdapter(SomeAdapter.class)) IS called.</li>
  </ul>
  
  <p>Anyone, how make my simple xml converter to be called? Am I doing something wrong, or retrofit 2.0.2 somehow doesn't support simple xml converter.</p>
  
  <p>My java class where I parse response:</p>
  
  <pre><code>import org.simpleframework.xml.Element;
  import org.simpleframework.xml.convert.Convert;
  
  public class PassengerResponse {
    @Element
    @Convert(value = SomeConverter.class)
    private String id;
  }
  </code></pre>
  
  <p>Custom xml converter that is never called:</p>
  
  <pre><code>import org.simpleframework.xml.convert.Converter;
  import org.simpleframework.xml.stream.InputNode;
  import org.simpleframework.xml.stream.OutputNode;
  
  public class SomeConverter implements Converter&lt;String&gt; {
     @Override
     public String read(InputNode node) throws Exception {
      return null;
     }
  
     @Override
     public void write(OutputNode node, String value) throws Exception {
     }
  }
  </code></pre>
  
  <p>My retrofit RestClient:</p>
  
  <pre><code>import okhttp3.OkHttpClient;
  import okhttp3.logging.HttpLoggingInterceptor;
  import retrofit2.Retrofit;
  import retrofit2.converter.simplexml.SimpleXmlConverterFactory;
  
  public class RestClient2 {
  private UserApiJSON userPassengerApi;
  private static final int TIMEOUT = 120000;
  private static RestClient2 INSTANCE;
  
  public static RestClient2 getInstance() {
      if (INSTANCE == null) {
          INSTANCE = new RestClient2();
      }
      return INSTANCE;
  }
  
  private RestClient2() {
  
      HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
      loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
  
      OkHttpClient okHttpClient = new OkHttpClient();
  
      Retrofit retrofit = new Retrofit.Builder()
              .baseUrl(BASE_URL)
              .addConverterFactory(SimpleXmlConverterFactory.create())
              .client(okHttpClient.newBuilder().connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
                      .readTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
                      .writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
                      .addInterceptor(loggingInterceptor)
                      .build())
              .build();
  
      userPassengerApi = retrofit.create(UserApiJSON.class);
  }
  
  public UserApiJSON getUserPassengerApi() {
      return userPassengerApi;
  }
  }
  </code></pre>