EDITED
我在使用Jersey的java EE Web应用程序中消耗了一个安静的Web服务时遇到了麻烦。我有一个安静的Web服务(用于测试目的),我必须使用响应来显示它。问题是我在使用泛型类型的字段上获取了一个ElementNSImpl对象。我究竟做错了什么?非常感谢你。
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces("application/json; charset=utf-8")
public ResultadoConsulta consultar(LiquidacionProvisoriaEntradaServicio parametro){
ResultadoConsulta<ResultadoLiquidacionDetalleRespuestaServicio> resultado = new ResultadoConsulta<>();
List<ResultadoLiquidacionDetalleRespuestaServicio> lista = new ArrayList<>();
ResultadoLiquidacionDetalleRespuestaServicio r = new ResultadoLiquidacionDetalleRespuestaServicio();
r.setCodigoConcepto(1);
r.setCodigoFormaPago("formapago");
r.setDescripcionConcepto1("descripcion 1");
r.setDescripcionConcepto2("descripcion 2");
r.setDescripcionEmpresaFacturadora("empresa facturadora");
r.setFechaComprobante(new Date());
r.setFechaGeneracionConcepto(new Date());
r.setIdEmpresaFactura(1);
r.setImporteConcepto(2F);
r.setNumeroCuenta(1234);
r.setNumeroCuentaFactura(12343);
r.setNumeroFormaPago(Short.valueOf("2"));
lista.add(r);
resultado.setListaResultado(lista);
resultado.setCantidadRegistrosTotales(200);
resultado.setNumeroPagina(1);
resultado.setTamanoPagina(1);
return resultado;
}
来自我的客户的方法:
public <T> T ejecutarWebServiceJsonPost(Object requestEntity, Class<T> responseType) throws ClientErrorException {
return webTarget.request(javax.ws.rs.core.MediaType.APPLICATION_JSON).post(javax.ws.rs.client.Entity.entity(requestEntity, javax.ws.rs.core.MediaType.APPLICATION_JSON), responseType);
}
响应类:
@XmlRootElement
public class ResultadoConsulta<T> {
@XmlElement
private List<T> listaResultado;
@XmlElement
private Integer cantidadRegistrosTotales;
@XmlElement
private Integer numeroPagina;
@XmlElement
private Integer tamanoPagina;
}
答案 0 :(得分:0)
对于通用回复,您可以尝试:
import javax.ws.rs.core.Response;
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces("application/json; charset=utf-8")
public Response consultar(LiquidacionProvisoriaEntradaServicio parametro){
.....
return Response.status(200).entity(resultado).build();
}