Не удалось загрузить ресурс: сервер ответил со статусом 415

У меня ошибка при вызове POST. Я использую AngularJS, Tomee, Restful

Ошибка: Не удалось загрузить ресурс: сервер ответил со статусом 415

ПОЧТА:

$http({method: 'POST', url:'http://localhost:8080/WSGestionCobros/webresources/atenciones/',data: {"atenciones" : $scope.atencion}}).success(function(data, status, headers, config) {

...                                          

}

Мои занятия

@Stateless
@Path("atenciones")
public class AtencionesFacadeREST extends AbstractFacade<Atenciones> {
    @PersistenceContext(unitName = "WSCobrosPU")
    private EntityManager em;

    public AtencionesFacadeREST() {
        super(Atenciones.class);
    }

    @POST
    @Override
    @Consumes({"application/json"})
    public void create(Atenciones entity) {
        super.create(entity);
    }
...
...
...

Класс сущности:

@Entity
@Table(name = "atenciones")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Atenciones.findAll", query = "SELECT a FROM Atenciones a"),
    @NamedQuery(name = "Atenciones.findByCasoid", query = "SELECT a FROM Atenciones a WHERE a.casoid = :casoid"),
    @NamedQuery(name = "Atenciones.findByCedula", query = "SELECT a FROM Atenciones a WHERE a.cedula = :cedula"),
    @NamedQuery(name = "Atenciones.findByUsuario", query = "SELECT a FROM Atenciones a WHERE a.usuario = :usuario"),
    @NamedQuery(name = "Atenciones.findByEstado", query = "SELECT a FROM Atenciones a WHERE a.estado = :estado"),
    @NamedQuery(name = "Atenciones.findByFechaCreacion", query = "SELECT a FROM Atenciones a WHERE a.fechaCreacion = :fechaCreacion")})
public class Atenciones implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "casoid")
    private Integer casoid;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 50)
    @Column(name = "cedula")
    private String cedula;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 50)
    @Column(name = "usuario")
    private String usuario;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 3)
    @Column(name = "estado")
    private String estado;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fecha_creacion")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaCreacion;

   ...

Я попытался поместить заголовок Content-Type: application/json, но ничего


person Alex Agrazal    schedule 13.03.2014    source источник
comment
Почему вы указываете номер порта здесь?. Разве локального хоста недостаточно??   -  person BKM    schedule 13.03.2014
comment
8080 не проблема, я знаю, что локального хоста достаточно   -  person Alex Agrazal    schedule 13.03.2014
comment
Проверьте запрос POST в выбранном вами отладчике и убедитесь, что запрос отправлен как application/json. Если это так, возможно, ваш $scope.atencion не содержит всего, что ему нужно, или что типы данных неверны. Возможно, $scope.atencion.casoid является строкой, но сервер ожидает, что это будет число, и не пытается принуждать его.   -  person Anders Ekdahl    schedule 13.03.2014


Ответы (1)


Возможно, добавьте @Produces("application/json") к методу или классу

person Romain Manni-Bucau    schedule 14.03.2014