2016-05-27 5 views
2

このエラーは、Retrofit 2.0をonFailureメソッドで使用しているときに発生します。私はREST Webサービスと通信しようとしており、json形式の応答を受け取ることができません。私はすでにjson応答がオンラインのさまざまなjsonバリデーターで有効であることを確認し、適切な要求/応答サイズを処理するようにサービスのWebconfigを調整しました。また、FirefoxからAdvanced Rest Clientを使用して何も得られません(レスポンスとタイムアウトなし) 。これらは、AndroidスタジオのThrowableオブジェクトの詳細なものです:java.io.IOException:予期しないストリームの終了([email protected])

原因= {EOFException @ 831563081000} "java.io.EOFException:\ n見つからない:サイズ= 0コンテンツ= ..." suppressExceptions = {Collections $ EmptyList @ 831559789744} size = 0

私はこれがjsonオブジェクトの無効な文字と関連していると言いますが、私のjsonの検証はうまくいくはずです。

ヘルプが役立つ場合があります。

+0

「c#」はここにありますか? – spender

+0

@spender私のwebserviceはC#を使用して.netで構築されています –

答えて

0

この例外は、Webサービスから不適切なJSONシリアル化が原因で発生しました。日時データ型が非常に頻繁に発生します。そのためパーサがJSON文字列を逆シリアル化しようとすると、無効な文字または類似の問題によって予期しないファイルの末尾に到達します。

PD:これは、Webサービスを消費している他のアンドロイドデベロッパーによって発見された同様の問題ですが、おそらく異なる方法です。

+0

私は同じような状況の下で自分自身で同じ問題に遭遇しました。あなたが気にしないなら、問題に対するあなたの解決策を教えてください。私はそれがエンコーディングの不一致かもしれないと思うが、Androidは通常ANSIや独自のエンコーディングに傾いているUTF-8とMicrosoftの規約を通常期待している。参考までに、[こちらを参照](https://stackoverflow.com/questions/700187/unicode-utf-ascii-ansi-format-differences)。 私は自分自身で成功した場合、他の人たちを助けるためのソリューションを投稿します。 –

+0

@ConnerHarknessあなたは正しい道にいる。このタイプの問題は主に、.NETの日付などのような複雑なオブジェクトのシリアル化によって発生しますが、これは以前の私には起こりましたが、JSONへの変換で特定の文字が問題を引き起こしていたことを覚えています –

関連する問題