2016-08-13 4 views
1

私はそれが仕事の罰金者のエンドポイントと通信するために郵便配達員を使用しますが、とRetrofit2私は406 Not Acceptableメッセージが表示されます。私は、だから私はRetrofit2 - <em>LogCat</em>に示すように、406許容できない

LogCat

public interface AndroidAppService { 
.... 
@Headers({ 
     "Content-Type: text/html; charset=UTF-8" // I also tried application/json 
    }) @GET("subscribers/{msisdn}/verify") Observable<HeaderResponse> checkPhoneNumber(
     @Path("msisdn") String phoneNumber); 
.... 
class Factory { 
public static AndroidAppService create(String baseUrl) { 

    HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); 
    interceptor.setLevel(HttpLoggingInterceptor.Level.HEADERS); 
    OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build(); 

    Retrofit retrofit = new Retrofit.Builder().baseUrl(baseUrl) 
     .client(client) 
     .addConverterFactory(GsonConverterFactory.create()) 
     .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) 
     .build(); 
    return retrofit.create(AndroidAppService.class); 
    } 
} 
} 

を受け入れ答えソリューション(ヘッダーにコンテンツタイプを追加)を試みたが、私のために動作しません

レトロフィットコンフィグにいくつかの関連の質問を見つけました

08-13 18:59:02.376 17766-22236/com.androidapp D/OkHttp: --> GET http://androidapp.net/bo/web/app_dev.php/api/subscribers/0827873/verify http/1.1 
08-13 18:59:02.376 17766-22236/com.androidapp D/OkHttp: --> END GET 

08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: <-- 406 Not Acceptable http://com.androidapp.com 
/bo/web/app_dev.php/api/subscribers/072736263/verify (10680ms) 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: Date: Sat, 13 Aug 2016 18:58:07 GMT 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: Server: Apache/2.4.7 (Ubuntu) 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: X-Powered-By: PHP/5.5.9-1ubuntu4.14 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: Cache-Control: no-cache 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: X-Debug-Token: d28d0a 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: X-Debug-Token-Link: http://com.androidapp/bo/web/app_dev.php/_profiler/d28d0a 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: Keep-Alive: timeout=5, max=100 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: Connection: Keep-Alive 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: Transfer-Encoding: chunked 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: Content-Type: text/html; charset=UTF-8 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: OkHttp-Sent-Millis: 1471113729149 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: OkHttp-Received-Millis: 1471113729517 
08-13 18:42:09.512 6350-6927/com.androidapp D/OkHttp: <-- END HTTP 

答えて

1

応答を特定し、それに応じてAcceptヘッダーを指定します。これを見てください:https://stackoverflow.com/a/14252326/5250273

ヒント:AcceptContent-Typeの違いを確認してください。

+0

私の追加情報をご覧ください。 –

+0

@Thanks私は 'Content-Type'と' Accept'の違いを見逃しました – Abdellah

関連する問題