RicezioneBusteConnector.java
- /*
- * GovWay - A customizable API Gateway
- * https://govway.org
- *
- * Copyright (c) 2005-2025 Link.it srl (https://link.it).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3, as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
- package org.openspcoop2.pdd.services.connector;
- import java.util.Date;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.openspcoop2.pdd.logger.OpenSPCoop2Logger;
- import org.openspcoop2.pdd.services.connector.messages.HttpServletConnectorInMessage;
- import org.openspcoop2.pdd.services.connector.messages.HttpServletConnectorOutMessage;
- import org.openspcoop2.pdd.services.error.RicezioneBusteExternalErrorGenerator;
- import org.openspcoop2.pdd.services.service.RicezioneBusteService;
- import org.openspcoop2.protocol.sdk.IProtocolFactory;
- import org.openspcoop2.protocol.sdk.constants.CodiceErroreIntegrazione;
- import org.openspcoop2.protocol.sdk.constants.ErroriIntegrazione;
- import org.openspcoop2.protocol.sdk.constants.IDService;
- import org.openspcoop2.protocol.sdk.constants.IntegrationFunctionError;
- import org.openspcoop2.protocol.sdk.state.RequestInfo;
- import org.openspcoop2.utils.Utilities;
- import org.openspcoop2.utils.date.DateManager;
- import org.openspcoop2.utils.transport.http.HttpRequestMethod;
- import org.slf4j.Logger;
- /**
- * RicezioneBusteSOAPConnector
- *
- * @author Poli Andrea (apoli@link.it)
- * @author Lorenzo Nardi (nardi@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class RicezioneBusteConnector {
- /** Variabile che indica il Nome del modulo dell'architettura di OpenSPCoop rappresentato da questa classe */
- public static final IDService ID_SERVICE = IDService.PORTA_APPLICATIVA;
- public static final String ID_MODULO = ID_SERVICE.getValue();
-
- public void doEngine(RequestInfo requestInfo,
- HttpServletRequest req, HttpServletResponse res, HttpRequestMethod method) throws ServletException {
-
- Date dataAccettazioneRichiesta = DateManager.getDate();
-
- // Devo prima leggere l'API invocata per comprendere il service binding effettivo
- if(method!=null) {
- // nop
- }
- /**if(HttpRequestMethod.GET.equals(method)){
- java.util.Enumeration<?> parameters = req.getParameterNames();
- while(parameters.hasMoreElements()){
- String key = (String) parameters.nextElement();
- String value = req.getParameter(key);
- if("wsdl".equalsIgnoreCase(key) && (value==null || "".equals(value)) ){
- ConnectorDispatcherUtils.doWsdl(req, res, method, ID_SERVICE);
- return;
- }
- }
- }
-
- if(org.openspcoop2.message.constants.ServiceBinding.SOAP.equals(requestInfo.getProtocolServiceBinding()) && !HttpRequestMethod.POST.equals(method)){
- ConnectorDispatcherUtils.doMethodNotSupported(req, res, method, ID_SERVICE);
- return;
-
- }*/
-
-
- Logger logCore = OpenSPCoop2Logger.getLoggerOpenSPCoopCore();
-
- RicezioneBusteExternalErrorGenerator generatoreErrore = null;
- try{
- generatoreErrore =
- new RicezioneBusteExternalErrorGenerator(logCore,ID_MODULO, requestInfo, null);
- }catch(Exception e){
- String msg = "Inizializzazione Generatore Errore fallita: "+Utilities.readFirstErrorValidMessageFromException(e);
- logCore.error(msg,e);
- ConnectorDispatcherUtils.doError(requestInfo, generatoreErrore, // il metodo doError gestisce il generatoreErrore a null
- ErroriIntegrazione.ERRORE_5XX_GENERICO_PROCESSAMENTO_MESSAGGIO.
- get5XX_ErroreProcessamento(msg,CodiceErroreIntegrazione.CODICE_501_PDD_NON_INIZIALIZZATA),
- IntegrationFunctionError.GOVWAY_NOT_INITIALIZED, e, res, logCore);
- return;
- }
-
-
- RicezioneBusteService ricezioneBuste = new RicezioneBusteService(generatoreErrore);
-
- HttpServletConnectorInMessage httpIn = null;
- try{
- httpIn = new HttpServletConnectorInMessage(requestInfo, req, ID_SERVICE, ID_MODULO);
- }catch(Exception e){
- doError("HttpServletConnectorInMessage init error", e);
- }
-
- IProtocolFactory<?> protocolFactory = null;
- try{
- protocolFactory = httpIn.getProtocolFactory();
- }catch(Exception e){
- // ignore
- }
-
- HttpServletConnectorOutMessage httpOut = null;
- try{
- httpOut = new HttpServletConnectorOutMessage(requestInfo, protocolFactory, res, ID_SERVICE, ID_MODULO);
- }catch(Exception e){
- doError("HttpServletConnectorOutMessage init error", e);
- }
-
- try{
- ricezioneBuste.process(httpIn, httpOut, dataAccettazioneRichiesta);
- }catch(Exception e){
- doError("RicezioneBuste.process error", e);
- }
-
-
- }
-
- private void doError(String msg, Exception e) throws ServletException {
- String msgError = msg+": "+e.getMessage();
- ConnectorUtils.getErrorLog().error(msgError,e);
- throw new ServletException(e.getMessage(),e);
- }
- }