Java restjax-rs:服务器错误

Java restjax-rs:服务器错误,java,web-services,rest,jax-rs,Java,Web Services,Rest,Jax Rs,我正在用JAX-RS创建一个小Web服务,无法访问GET请求 我只想要XML格式的活动列表 这是我的密码 package com.project.test; import javax.xml.bind.annotation.XmlRootElement; import java.util.List; import javax.ws.rs.DefaultValue; import javax.ws.rs.PathParam; import javax.ws.rs.GET; import java

我正在用JAX-RS创建一个小Web服务,无法访问GET请求

我只想要XML格式的活动列表

这是我的密码

package com.project.test;

import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.PathParam;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSeeAlso;


@XmlRootElement(name = "activite")
@XmlAccessorType(XmlAccessType.FIELD)

public class Activite
{

  @XmlElement(name="nomactivite")
  private String but;
  @XmlElement(name="tranchehoraire", type=TrancheHoraire.class)
  private TrancheHoraire trancheHoraire;
  @XmlElement(name="lieu")
  private String lieu;
  //------------------------------------------------------------------------
  public Activite(String but,TrancheHoraire trancheHoraire, String lieu)
  {
    this.but = but;
    this.trancheHoraire = trancheHoraire;
    this.lieu = lieu;
  }
  //------------------------------------------------------------------------
  public String         getBut()            { return but; }

  public String getLieu() { return lieu; }

  public TrancheHoraire getTrancheHoraire() { return trancheHoraire; }

  public void setBut(String but) { 
    this.but = but; 
  } 

  public void setTrancheHoraire(TrancheHoraire trancheHoraire) { 
    this.trancheHoraire = trancheHoraire; 
  } 

  public void setLieu(String lieu) { 
    this.lieu = lieu; 
  } 
}
我的数据库:

package com.project.test;

import java.util.ArrayList;
import java.util.List;


public class ActiviteBD { 

    private static List<Activite> activites = new ArrayList<Activite>(); 

    static { 
        activites.add(new Activite("Réunion", new TrancheHoraire(new Date(01, 10, 2015), 2), "Paris")); 
        activites.add(new Activite("Vacances", new TrancheHoraire(new Date(02, 10, 2015), 2), "Marseille")); 
        activites.add(new Activite("Resto", new TrancheHoraire(new Date(03, 10, 2015), 2), "Lyon")); 
    } 

    public static List<Activite> getActivites() { 
        return activites; 
    }
} 
还有我的催眠课

package com.project.test;

public class TrancheHoraire
{

  private Date date;
  private int part_journee;
  public String part_journee_v;

  public TrancheHoraire(Date date, int part_journee)
  {
    this.date = date;
    this.part_journee = part_journee;

        if (part_journee == 1){
            this.part_journee_v = "le matin";
        }
        else{
            if (part_journee == 2){
                this.part_journee_v = "l' apres-midi";
            }
            else
            {
                this.part_journee_v = "erreur";
            }
        }

  }

  public Date getDate() { return date; }

  public int  getpart_journee()
  {
      return part_journee;
  }


  @Override
  public String toString()
  {
    return ("Tranche horaire du " + date +" -> " + part_journee_v);
  }

}
有关信息,ApplicationConfig包含:

private void addRestResourceClasses(Set<Class<?>> resources) {
    resources.add(com.project.test.Agenda.class);
} 

提前谢谢你

我唯一面临的问题就是这个例外

…IllegalAnnotationsException。。。Activite没有无参数默认构造函数

为了解决这个问题,我只是在
Activite
类中添加了一个无参数构造函数


另外,GET请求可能不会遇到这个问题,但POST请求在尝试发送XML时,JAXB也无法创建其他类,因为它们没有arg构造函数。因此,您不妨将它们添加到所有模型类中。

以下是服务器的答案:服务器遇到了一个内部错误,使其无法满足此请求。您可以尝试访问该错误吗?哦,还有no-arg构造函数和setter。
package com.project.test;

public class TrancheHoraire
{

  private Date date;
  private int part_journee;
  public String part_journee_v;

  public TrancheHoraire(Date date, int part_journee)
  {
    this.date = date;
    this.part_journee = part_journee;

        if (part_journee == 1){
            this.part_journee_v = "le matin";
        }
        else{
            if (part_journee == 2){
                this.part_journee_v = "l' apres-midi";
            }
            else
            {
                this.part_journee_v = "erreur";
            }
        }

  }

  public Date getDate() { return date; }

  public int  getpart_journee()
  {
      return part_journee;
  }


  @Override
  public String toString()
  {
    return ("Tranche horaire du " + date +" -> " + part_journee_v);
  }

}
private void addRestResourceClasses(Set<Class<?>> resources) {
    resources.add(com.project.test.Agenda.class);
} 
[com.project.airbus.Activite@2d30af8c, com.project.airbus.Activite@7e5dac9c, com.project.airbus.Activite@da9eec7]