Skip to content

Commit

Permalink
Tractar respostes del negoci dels serveis dins DatosEspecificos amb …
Browse files Browse the repository at this point in the history
…els seus propis codis de resposta #23
  • Loading branch information
gdeignacio-fundaciobit committed Jun 26, 2024
1 parent c41a2be commit 94e6f43
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -239,9 +239,19 @@ components:
$ref: "#/components/schemas/TituloFamiliaNumerosaRetorno"
listaBeneficiariosRetorno:
$ref: "#/components/schemas/ListaBeneficiariosRetorno"
estadoRetorno:
$ref: "#/components/schemas/EstadoRetorno"
xml:
name: Resultado

EstadoRetorno:
type: object
properties:
codigoEstado:
type: string
literalError:
type: string

TituloFamiliaNumerosaRetorno:
type: object
properties:
Expand Down
10 changes: 10 additions & 0 deletions doc/interoperabilitat/SVDSCTFNWS01v3/cedent/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -239,9 +239,19 @@ components:
$ref: "#/components/schemas/TituloFamiliaNumerosaRetorno"
listaBeneficiariosRetorno:
$ref: "#/components/schemas/ListaBeneficiariosRetorno"
estadoRetorno:
$ref: "#/components/schemas/EstadoRetorno"
xml:
name: Resultado

EstadoRetorno:
type: object
properties:
codigoEstado:
type: string
literalError:
type: string

TituloFamiliaNumerosaRetorno:
type: object
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,8 @@ private void setDatosPeticion() throws JAXBException, IOException {

pde = manager.generateItem(peticionDatosEspecificos, false, true);

log.info("SVDSCTFNWS01v3Client :: Datos Especificos Peticion: " + ((pde != null) ? pde.toString() : ""));
log.info("SVDSCTFNWS01v3Client :: setDatosPeticion :: Datos Especificos Peticion: " + ((pde != null) ? pde.toString() : ""));

} catch (TransformerException ex) {
Logger.getLogger(SVDSCTFNWS01v3Client.class.getName()).log(Level.SEVERE, null, ex);
} catch (ParserConfigurationException ex) {
Expand All @@ -101,17 +102,17 @@ private void setDatosRespuesta() throws JAXBException, ParserConfigurationExcept

XmlSchema xmlSchemaAnnotation = manager.getXmlSchemaAnnotation();

log.info("SVDSCTFNWS01v3Client :: Datos Especificos NAMESPACE: "
log.info("SVDSCTFNWS01v3Client :: setDatosRespuesta :: Datos Especificos NAMESPACE: "
+ ((xmlSchemaAnnotation != null) ? xmlSchemaAnnotation.namespace() : "No xmlSchemaAnnotation"));
log.info("SVDSCTFNWS01v3Client :: Datos Especificos LOCATION: "
log.info("SVDSCTFNWS01v3Client :: setDatosRespuesta :: Datos Especificos LOCATION: "
+ ((xmlSchemaAnnotation != null) ? xmlSchemaAnnotation.location() : "No xmlSchemaAnnotation"));

XmlRootElement xmlRootElementAnnotation = manager.getXmlRootElementAnnotation();

log.info("SVDSCTFNWS01v3Client :: Datos Especificos XmlRoot NAMESPACE: "
log.info("SVDSCTFNWS01v3Client :: setDatosRespuesta :: Datos Especificos XmlRoot NAMESPACE: "
+ ((xmlRootElementAnnotation != null) ? xmlRootElementAnnotation.namespace()
: "No xmlRootElementAnnotation"));
log.info("SVDSCTFNWS01v3Client :: Datos Especificos XmlRoot LOCATION: "
log.info("SVDSCTFNWS01v3Client :: setDatosRespuesta :: Datos Especificos XmlRoot LOCATION: "
+ ((xmlRootElementAnnotation != null) ? xmlRootElementAnnotation.name()
: "No xmlRootElementAnnotation"));

Expand Down Expand Up @@ -285,6 +286,22 @@ private es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno

es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno retorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno();

es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.EstadoRetorno estret = res.getEstadoRetorno();

if (estret != null) {

es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado estado = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado();

String codest = estret.getCodigoEstado();
String literr = estret.getLiteralError();

estado.setCodigoEstado(codest);
estado.setLiteralError(literr);

retorno.setEstado(estado);
}


es.caib.scsp.api.cedent.client.SVDSCTFNWS01v3.model.TituloFamiliaNumerosaRetorno tfnret = res
.getTituloFamiliaNumerosaRetorno();

Expand Down Expand Up @@ -440,7 +457,7 @@ public void peticionSincrona() {

rde = new SVDSCTFNWS01v3RespuestaDatosEspecificos();

es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado respuestaEstado = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado();

es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno retorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno();

try {
Expand All @@ -457,12 +474,9 @@ public void peticionSincrona() {
log.info("SVDSCTFNWS01v3Client :: Resposta api del cedent " + modelApiResponse);

if (res != null) {

retorno = adaptaResultado(res);

respuestaEstado.setCodigoEstado(ErrorBackoffice.TRAMITADA.getEstat());
respuestaEstado.setLiteralError(ErrorBackoffice.TRAMITADA.getCodi());
retorno.setEstado(respuestaEstado);

log.info("SVDSCTFNWS01v3Client :: Resposta del cedent adaptada");

if (retorno != null) {
Expand All @@ -480,6 +494,7 @@ public void peticionSincrona() {
}

if (modelApiResponse != null) {
es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado respuestaEstado = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado();
retorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno();
respuestaEstado.setCodigoEstado(String.valueOf(modelApiResponse.getCode()));
respuestaEstado.setLiteralError(modelApiResponse.getMessage());
Expand All @@ -488,7 +503,7 @@ public void peticionSincrona() {

} catch (ApiException ex) {
Logger.getLogger(SVDSCTFNWS01v3Client.class.getName()).log(Level.SEVERE, null, ex);

es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado respuestaEstado = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Estado();
retorno = new es.caib.scsp.esquemas.SVDSCTFNWS01v3.respuesta.datosespecificos.Retorno();
respuestaEstado.setCodigoEstado(ErrorBackoffice.ERROR_CEDENT.getEstat());
respuestaEstado.setLiteralError("Error genèric del cedent. " + ex.getMessage());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,17 +82,6 @@
serviceName = EmiservBackofficeWsImpl.NAME_WS + "Service",
targetNamespace = "http://caib.es/emiserv/backoffice")
public class EmiservBackofficeWsImpl extends BaseWsImpl implements EmiservBackoffice {

// public static final String TRAMITADA = "0003";
// public static final String DOS_O_MES = "0232";
// public static final String NO_IDENTIFICAT = "0233";
// public static final String NOT_DISPONIBLE = "0238";
// public static final String SCHEMA_INCORRECTE = "0401";
// public static final String FALTA_SOLICITUD = "0401";
// public static final String FALTA_ATRIBUTOS = "0401";
// public static final String MULTIPLES_SOLICITUDS = "0415";
// public static final String ERROR_BACKOFFICE = "0242";
// public static final String ERROR_CEDENT = "0242";

public static final String NAME = "EmiservBackoffice";

Expand All @@ -114,7 +103,7 @@ public Respuesta peticionSincrona(Peticion peticion) {
return respuesta;
}

log.info("EmiservBackofficeWsImpl :: Peticion no nula" );
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Peticion no nula" );

Atributos peticionAtributos = peticion.getAtributos();

Expand All @@ -128,16 +117,16 @@ public Respuesta peticionSincrona(Peticion peticion) {
return respuesta;
}

log.info("EmiservBackofficeWsImpl :: Atributos: " + peticionAtributos.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Atributos: " + peticionAtributos.toString());

Estado peticionAtributosEstado = peticionAtributos.getEstado();

if (peticionAtributosEstado==null) {
log.info("EmiservBackofficeWsImpl :: Estado: Petició no subministra estat. Creant objecte Estado ");
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Estado : Petició no subministra estat. Creant objecte Estado.");
peticionAtributosEstado = new Estado();
}

log.info("EmiservBackofficeWsImpl :: Estado: " + peticionAtributosEstado.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Estado : " + peticionAtributosEstado.toString());

Solicitudes peticionSolicitudes = peticion.getSolicitudes();

Expand All @@ -153,7 +142,7 @@ public Respuesta peticionSincrona(Peticion peticion) {
return respuesta;
}

log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Size :" + peticionSolicitudesSolicitudTransmision.size());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Size :" + peticionSolicitudesSolicitudTransmision.size());

if (peticionSolicitudesSolicitudTransmision.size()>1){
respuesta = peticionErronea(MULTIPLES_SOLICITUDS, "El número de sol·licituds no pot ser major que 1");
Expand All @@ -168,7 +157,7 @@ public Respuesta peticionSincrona(Peticion peticion) {

String peticionSolicitudTransmisionId = peticionSolicitudTransmision.getId();

log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Id : " + peticionSolicitudTransmisionId);
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Id : " + peticionSolicitudTransmisionId);

DatosGenericos peticionDatosGenericos = peticionSolicitudTransmision.getDatosGenericos();

Expand All @@ -184,29 +173,29 @@ public Respuesta peticionSincrona(Peticion peticion) {
return respuesta;
}

log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Datos Especificos : " + strPeticionDatosEspecificos);
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Datos Especificos : " + strPeticionDatosEspecificos);

Emisor peticionEmisor = peticionDatosGenericos.getEmisor();
log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Emisor : " + peticionEmisor.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Emisor : " + peticionEmisor.toString());
Solicitante peticionSolicitante = peticionDatosGenericos.getSolicitante();
log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Solicitante : " + peticionSolicitante.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Solicitante : " + peticionSolicitante.toString());
Titular peticionTitular = peticionDatosGenericos.getTitular();
log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Titular : " + peticionTitular.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Titular : " + peticionTitular.toString());
Transmision peticionTransmision = peticionDatosGenericos.getTransmision();
log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Transmision : " + peticionTransmision.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Transmision : " + peticionTransmision.toString());

Consentimiento peticionSolicitanteConsentimiento = peticionSolicitante.getConsentimiento();
log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Consentimiento : " + peticionSolicitanteConsentimiento.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Consentimiento : " + peticionSolicitanteConsentimiento.toString());
Funcionario peticionSolicitanteFuncionario = peticionSolicitante.getFuncionario();
log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Funcionario : " + peticionSolicitanteFuncionario.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Funcionario : " + peticionSolicitanteFuncionario.toString());
Procedimiento peticionSolicitanteProcedimiento = peticionSolicitante.getProcedimiento();
log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: Procedimiento : " + peticionSolicitanteProcedimiento.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: Procedimiento : " + peticionSolicitanteProcedimiento.toString());
TipoDocumentacion peticionTitularTipoDocumentacion = peticionTitular.getTipoDocumentacion();

if (peticionTitularTipoDocumentacion==null) {
log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: TipoDocumentacion : Petició no subministra informació del titular.");
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: TipoDocumentacion : Petició no subministra informació del titular.");
} else{
log.info("EmiservBackofficeWsImpl :: SolicitudTransmision: TipoDocumentacion :" + peticionTitularTipoDocumentacion.toString());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: SolicitudTransmision: TipoDocumentacion :" + peticionTitularTipoDocumentacion.toString());
}

// Secció de tractament de la resposta
Expand All @@ -222,11 +211,11 @@ public Respuesta peticionSincrona(Peticion peticion) {

Propietats propietats = new Propietats(new PropertyFileConfigSource(), serveiBackoffice);

log.info("EmiservBackofficeWsImpl :: Configurant per al codi de certificat : " + codiCertificat);
log.info("EmiservBackofficeWsImpl :: Configurant per al servei : " + serveiBackoffice.getCodi());
log.info("EmiservBackofficeWsImpl :: Client backoffice : " + serveiBackoffice.getClient().getName());
log.info("EmiservBackofficeWsImpl :: Propietats: Endpoint : " + propietats.getEndpoint());
log.info("EmiservBackofficeWsImpl :: Propietats: Usuari : " + propietats.getUsuari());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Configurant per al codi de certificat : " + codiCertificat);
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Configurant per al servei : " + serveiBackoffice.getCodi());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Client backoffice : " + serveiBackoffice.getClient().getName());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Propietats: Endpoint : " + propietats.getEndpoint());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Propietats: Usuari : " + propietats.getUsuari());


TransmisionDatos respuestaTransmisionDatos = new TransmisionDatos();
Expand Down Expand Up @@ -260,7 +249,7 @@ public Respuesta peticionSincrona(Peticion peticion) {

try {
CedentClient client = (CedentClient) clazz.getConstructor(constructorParameters).newInstance(parameters);
log.info("EmiservBackofficeWsImpl :: Classe client instanciada per : " + client.getClass().getName());
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Classe client instanciada per : " + client.getClass().getName());
client.peticionSincrona();
strRespuestaDatosEspecificos = client.getStrRespuestaDatosEspecificos();
} catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
Expand All @@ -269,7 +258,7 @@ public Respuesta peticionSincrona(Peticion peticion) {
return respuesta;
}

log.info("EmiservBackofficeWsImpl :: Transmision: Respuesta Datos Especificos : " + strRespuestaDatosEspecificos);
log.info("EmiservBackofficeWsImpl :: peticionSincrona :: Transmision: Respuesta Datos Especificos : " + strRespuestaDatosEspecificos);

Element respuestaDatosEspecificos = null;

Expand Down Expand Up @@ -348,7 +337,7 @@ Respuesta peticionErronea(ErrorBackoffice error, String literalError) {
atributos.setEstado(estado);
respuesta.setAtributos(atributos);

log.info("EmiservBackofficeWsImpl :: " + "codigoEstado = " + estado.getCodigoEstado() + "literalError = " + estado.getLiteralError());
log.info("EmiservBackofficeWsImpl :: peticionErronea :: " + "codigoEstado = " + estado.getCodigoEstado() + "literalError = " + estado.getLiteralError());

return respuesta;

Expand Down Expand Up @@ -405,7 +394,7 @@ private Element camelCaseToCamelCaseLower(Element element){
Logger.getLogger(EmiservBackofficeWsImpl.class.getName()).log(Level.SEVERE, null, ex);
}

log.info("EmiservBackofficeWsImpl :: Transmision: Respuesta Datos Especificos : Adaptado " + xml);
log.info("EmiservBackofficeWsImpl :: camelCaseToCamelCaseLower :: Transmision: Respuesta Datos Especificos : Adaptado " + xml);

try {
element = stringToElement(xml);
Expand Down

0 comments on commit 94e6f43

Please sign in to comment.