1

これはおそらく答えを得るには少しオープンエンドすぎるでしょうが、試してみる価値はあります.

JAX-RS呼び出しているサービスがあります。サービス自体が と呼ばれるオブジェクトを作成し、"ServiceOverrideWrapper"それを にマーシャリングしJSONます。それはネットワーク経由で送信され、クライアントはそれを同じオブジェクトに非整列化しようとします。しかし、問題は、クライアントがネットワークを介して送信されたものを完全に表現していないことです。

ここに私のServiceOverrideWrapperがあります:

@XmlRootElement
@XmlSeeAlso({ User.class })
public class ServiceOverrideWrapper {
  private List<IUser> users = new ArrayList<IUser>();

  // Some methods removed for brevity

  @XmlAnyElement(lax = true)
  public List<IUser> getUsers() {
    return users;
  }
}

IUserインターフェイスとUserクラスは単純な POJO の含む文字列フィールドで、それぞれに が付いています@XmlElement

クライアントからの応答で、 を呼び出すとgetUsers()、情報が含まれているはずのリストが空白になります。を追加するとLogInInterceptor、受信メッセージに情報が含まれているように聞こえます。

{"serviceOverrideWrapper":{"user":[{"email":"someone@blah.com", ...}]}}

何がうまくいかないのかを見つけるのに役立つスタックトレースや何も得られません。

私が試すことができることについて何か提案はありますか?多くはJAXB素晴らしく文書化されていないようで、私は多くの試行錯誤を続けているようです.

4

0 に答える 0