MNP_RU_638 - Middleware Modernization 2024: Servizi GISP lotto5 (DROP 2 - R58-24-0029 - 310095)

This commit is contained in:
manuelstefanile
2024-06-25 11:54:00 +02:00
parent 044efe150b
commit 5cca394c24
23 changed files with 856 additions and 65 deletions

View File

@@ -20,5 +20,4 @@ URL_WS_O2C_TERZEPARTI_DONOR={URL O2C WS IBK63}
# SWITCH TIPO COMUNICAZIONE DA GISP AD O2C (VALORI: 0 = COMUNICAZIONE INFOBUS, 1 = COMUNICAZIONE SOAP O2C)
SOAP_O2C_RICH_DISATMNPG_CO_ENABLED=0
TIMEOUT_WS_O2C_DISATMNPG_CO_DONOR=30000
URL_WS_O2C_DISATMNPG_CO_DONOR={URL O2C WS IBK50}

View File

@@ -305,6 +305,8 @@
<file name="Castor-GispRestTP.jar"/>
<file name="WSIBK50client.jar"/>
<file name="WSO2CIBK61Client.jar"/>
<file name="WSO2CIBK63Client.jar"/>
<file name="WSO2CIBK65Client.jar"/>
<file name="WSEsitoCessMnpCommon.jar"/>
<file name="WSEsitoRicMvnoCommon.jar"/>
<file name="Castor-GispCessTP.jar"/>

View File

@@ -0,0 +1,8 @@
@set ANT_HOME=apache-ant-1.9.2
@set JAVA_HOME=C:\jdk1.6.0_45
@set PATH=%ANT_HOME%/bin;%JAVA_HOME%/bin
@set ANT_OPTS=-Xms512m -Xmx512m
@call ant -buildfile build_ws.xml WSO2CIBK63ClientGen
@pause

View File

@@ -0,0 +1,8 @@
@set ANT_HOME=apache-ant-1.9.2
@set JAVA_HOME=C:\jdk1.6.0_45
@set PATH=%ANT_HOME%/bin;%JAVA_HOME%/bin
@set ANT_OPTS=-Xms512m -Xmx512m
@call ant -buildfile build_ws.xml WSO2CIBK65ClientGen
@pause

View File

@@ -706,5 +706,59 @@ dest="${wsdev.dbss.building.path}/temp" /> -->
</target>
<!--
***********************************************************************
TARGET CREAZIONE ARTEFATTI CLIENT PER WS IBK63 VERSO O2C
***********************************************************************
-->
<target name="WSO2CIBK63ClientGen" depends="">
<mkdir dir="${wsdev.o2c.client.path}/IBK63/tmp" />
<!-- Nel file handlerClientIBK63.config.xml definire la classe mnp.proxy.ws.o2c.client.IBK63SOAPHandler.java di log -->
<clientgen
wsdl="${wsdev.wsdl.o2c.path}/IBK63/IBK63_Concrete.wsdl"
destDir="${wsdev.o2c.client.path}/IBK63/tmp"
handlerChainFile="${wsdev.wsdl.o2c.path}/IBK63/handlerClientIBK63.config.xml"
packageName="it.valueteam.mnp.ws.o2c.client"
type="JAXRPC"
/>
<!-- Compila i sorgenti e impacchetta le classi in un jar allo scopo di utilizzarlo con Eclipse -->
<javac includeantruntime="false" srcdir="${wsdev.o2c.client.path}/IBK63/tmp" includes="**/*.java">
<classpath refid="ws.gen.all.classpath"/>
</javac>
<jar destfile="${wsdev.o2c.client.path}/IBK63/WSO2CIBK63Client.jar">
<fileset dir="${wsdev.o2c.client.path}/IBK63/tmp"/>
</jar>
<copy todir="${mnp.ear.path}/APP-INF/lib" file="${wsdev.o2c.client.path}/IBK63/WSO2CIBK63Client.jar"/>
<delete dir="${wsdev.o2c.client.path}/IBK63/tmp" />
</target>
<!--
***********************************************************************
TARGET CREAZIONE ARTEFATTI CLIENT PER WS IBK65 VERSO O2C
***********************************************************************
-->
<target name="WSO2CIBK65ClientGen" depends="">
<mkdir dir="${wsdev.o2c.client.path}/IBK65/tmp" />
<!-- Nel file handlerClientIBK65.config.xml definire la classe mnp.proxy.ws.o2c.client.IBK65SOAPHandler.java di log -->
<clientgen
wsdl="${wsdev.wsdl.o2c.path}/IBK65/IBK65_Concrete.wsdl"
destDir="${wsdev.o2c.client.path}/IBK65/tmp"
handlerChainFile="${wsdev.wsdl.o2c.path}/IBK65/handlerClientIBK65.config.xml"
packageName="it.valueteam.mnp.ws.o2c.client"
type="JAXRPC"
/>
<!-- Compila i sorgenti e impacchetta le classi in un jar allo scopo di utilizzarlo con Eclipse -->
<javac includeantruntime="false" srcdir="${wsdev.o2c.client.path}/IBK65/tmp" includes="**/*.java">
<classpath refid="ws.gen.all.classpath"/>
</javac>
<jar destfile="${wsdev.o2c.client.path}/IBK65/WSO2CIBK65Client.jar">
<fileset dir="${wsdev.o2c.client.path}/IBK65/tmp"/>
</jar>
<copy todir="${mnp.ear.path}/APP-INF/lib" file="${wsdev.o2c.client.path}/IBK65/WSO2CIBK65Client.jar"/>
<delete dir="${wsdev.o2c.client.path}/IBK65/tmp" />
</target>
</project>

View File

@@ -0,0 +1,206 @@
package mnp.proxy.ws.o2c.client.IBK63;
import com.tibco.tns.bw.json.x1718966450929.Header;
import com.tibco.tns.bw.json.x1718966450929.IBK63_RequestElementType;
import com.tibco.tns.bw.json.x1718966450929.Message;
import com.tibco.tns.bw.json.x1718966450929.RequestParameters;
import it.valueteam.mnp.ws.o2c.client.IBK63_PortType;
import it.valueteam.mnp.ws.o2c.client.IBK63_Service_Impl;
import mnp.database.hb.dto.MnpGispCessResttpOut;
import mnp.log.Loggable;
import mnp.log.ProcessLogger;
import mnp.objects.LogInfo;
import mnp.objects.LogProcess;
import mnp.utility.Resources;
import org.example.ibk63_responseresource.IBK63_ResponseElementType;
import tim.infobus.data.TID;
import javax.ejb.CreateException;
import javax.xml.rpc.Stub;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class IBK63Client implements Loggable {
private String url;
private int timeOut;
private static final int defaultTimeOut = 30000;
private static final String dateFormat = "yyyy-MM-dd";
private static final String timeFormat = "HH:mm:ss";
protected ProcessLogger log;
protected String codiceProcesso = "MS"; // come da MNP_ANAGRAFICA_PROCESSO
private static final String SYSTEM_DBC = "DBC";
public static final String DATA_ESPL_FORMAT = "dd-MMM-yyyy HH:mm:ss";
protected String versione = "1.0.0.0";
public IBK63Client() throws Exception{
try {
LogProcess logProcess = new LogProcess();
logProcess.setCodice(codiceProcesso);
logProcess.setProcess(this);
log = new ProcessLogger(logProcess);
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("Errore nella creazione del ProcessLogger, classe:" + IBK63Client.class + " - " + ex.toString());
throw new CreateException();
}
log.write("0001", " versione " + versione);
//setto l'url che verrà utilizzato nelle richieste di Cessazione Terze Parti
url = Resources.getURL_WS_O2C_TERZEPARTI_DONOR();
if ("".equals(url)) {
log.write("0003", "");
throw new Exception("errore in creazione client IBK63Client - impossibile recuperare url del ws da properties");
}
String timeOutStr = Resources.getTIMEOUT_WS_O2C_TERZEPARTI_DONOR();
log.write("9999", " IBK63Client - url: " + url + " - timeOut: " + timeOutStr);
//se non esiste la properties timer, allora la setto con la var. statica della classe
try {
timeOut = Integer.parseInt(timeOutStr);
} catch (NumberFormatException nfe) {
log.write("9999", " impossibile recuperare property timeout - impostato valore di default: " + defaultTimeOut);
timeOut = defaultTimeOut;
}
}
@Override
public LogInfo getLogInfo() throws Exception {
LogInfo logInfo = new LogInfo();
logInfo.setProcess(getClass().getName());
logInfo.setLogPath(Resources.getLogPath());
logInfo.setTypeInfo(Resources.getTypeInfo());
logInfo.setTypeDebug(Resources.getTypeDebug());
logInfo.setTypeError(Resources.getTypeError());
return logInfo;
}
/**
* Creazione Request servizio gestioneTerzeParti esposto da O2C
* per richieste di cessazione (Cessazione Terze Parti)
*
* @param mnpGispCessResttpOut oggetto legato al dao che referenzia la tabella MNP_GISP_CESS_RESTTP_OUT
* @return oggetto di tipo IBK63_RequestElementType
*/
public IBK63_RequestElementType createRequest(MnpGispCessResttpOut mnpGispCessResttpOut) {
IBK63_RequestElementType richiestaCessTP = new IBK63_RequestElementType();
Message message = new Message();
List<RequestParameters> parameters = new ArrayList<RequestParameters>();
RequestParameters nomeRichiesta = new RequestParameters();
if (mnpGispCessResttpOut.getNomeRichiesta() != null) {
nomeRichiesta.setName("NOME_RICHIESTA");
nomeRichiesta.setValue(mnpGispCessResttpOut.getNomeRichiesta());
parameters.add(nomeRichiesta);
}
RequestParameters cas = new RequestParameters();
if (mnpGispCessResttpOut.getCas() != null) {
cas.setName("CAS");
cas.setValue(mnpGispCessResttpOut.getCas());
parameters.add(cas);
}
RequestParameters numTel = new RequestParameters();
if (mnpGispCessResttpOut.getNumTel() != null) {
numTel.setName("NUM_TEL");
numTel.setValue(mnpGispCessResttpOut.getNumTel());
parameters.add(numTel);
}
//è una stirnga non una DATE
RequestParameters dataEspl = new RequestParameters();
if (mnpGispCessResttpOut.getDataEspl() != null) {
dataEspl.setName("DATA_ESPL");
dataEspl.setValue(mnpGispCessResttpOut.getDataEspl());
parameters.add(dataEspl);
}
RequestParameters rgnd = new RequestParameters();
if (mnpGispCessResttpOut.getRgnd() != null) {
rgnd.setName("RGND");
rgnd.setValue(mnpGispCessResttpOut.getRgnd());
parameters.add(rgnd);
}
RequestParameters rgnr = new RequestParameters();
if (mnpGispCessResttpOut.getRgnr() != null) {
rgnr.setName("RGNR");
rgnr.setValue(mnpGispCessResttpOut.getRgnr());
parameters.add(rgnr);
}
RequestParameters tid = new RequestParameters();
if (mnpGispCessResttpOut.getTid() != null) {
tid.setName("TID");
tid.setValue(mnpGispCessResttpOut.getTid());
parameters.add(tid);
}
//trasformo la lista in array
RequestParameters[] array_param = new RequestParameters[parameters.size()];
int p = 0;
for (RequestParameters param : parameters) {
array_param[p] = param;
p++;
}
message.setRequestParameters(array_param);
richiestaCessTP.setMessage(message);
return richiestaCessTP;
}
/** Metodo utilizzato per invocare l'endPoint di IBK63 sul
* servizio gestioneTerzeParti per attivazioni
*
* @param body
* @param eventType
* @return
* @throws Exception
*/
public IBK63_ResponseElementType iBK63GestioneTerzeParti(IBK63_RequestElementType body, String eventType) throws Exception {
IBK63_Service_Impl service = new IBK63_Service_Impl();
IBK63_PortType endPoint;
endPoint = service.getIBK63SOAP();
((Stub) endPoint)._setProperty("javax.xml.rpc.service.endpoint.address", url);
((Stub) endPoint)._setProperty("weblogic.wsee.transport.connection.timeout", timeOut);
Header header = new Header();
Date date = new Date();
header.setInteractionDateDate(new SimpleDateFormat(dateFormat).format(date));
header.setInteractionDateTime(new SimpleDateFormat(timeFormat).format(date));
header.setSourceSystem(SYSTEM_DBC);
header.setChannel(SYSTEM_DBC);
header.setEventType(eventType);
header.setBusinessID(new TID().toString());
header.setTransactionID(new TID().toString());
header.setMessageID(new TID().toString());
//in uniformità alla IBK50 non mettiamo SessionID
body.setHeader(header);
IBK63_ResponseElementType response = endPoint.gestioneTerzeParti(body);
return response;
}
}

View File

@@ -0,0 +1,52 @@
package mnp.proxy.ws.o2c.client.IBK63;
import javax.xml.namespace.QName;
import javax.xml.rpc.handler.GenericHandler;
import javax.xml.rpc.handler.MessageContext;
import javax.xml.rpc.handler.soap.SOAPMessageContext;
import java.io.ByteArrayOutputStream;
public class IBK63SOAPHandler extends GenericHandler {
private QName[] headers;
public QName[] getHeaders() {
return headers;
}
public boolean handleRequest(MessageContext context) {
SOAPMessageContext soapMsgCtx = (SOAPMessageContext) context;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
System.out.println("[IBK63SOAPHandler] - Inizio Log Invio Notifica");
System.out.println("----------------------------------------------------------------------------------------------");
soapMsgCtx.getMessage().writeTo(baos);
System.out.println(baos.toString());
System.out.println("[IBK63SOAPHandler] - Fine Log Invio Notifica");
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
return true;
}
public boolean handleFault(MessageContext context) {
SOAPMessageContext soapMsgCtx = (SOAPMessageContext) context;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
System.out.println("[IBK63SOAPHandler] - Inizio Log Errore Invio Notifica");
System.out.println("----------------------------------------------------------------------------------------------");
soapMsgCtx.getMessage().writeTo(baos);
System.out.println(baos.toString());
System.out.println("[IBK63SOAPHandler] - Fine Log Errore Invio Notifica");
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
return true;
}
}

View File

@@ -0,0 +1,187 @@
package mnp.proxy.ws.o2c.client.IBK65;
import com.tibco.tns.bw.json.x1718966450929.Header;
import com.tibco.tns.bw.json.x1718966450929.IBK65_RequestElementType;
import com.tibco.tns.bw.json.x1718966450929.RequestParameters;
import com.tibco.tns.bw.json.x1718966450929.Message;
import it.valueteam.mnp.ws.o2c.client.IBK65_PortType;
import it.valueteam.mnp.ws.o2c.client.IBK65_Service_Impl;
import mnp.database.hb.dto.MnpGispCessRestituzioneOut;
import mnp.log.Loggable;
import mnp.log.ProcessLogger;
import mnp.objects.LogInfo;
import mnp.objects.LogProcess;
import mnp.utility.Resources;
import org.example.ibk65_responseresource.IBK65_ResponseElementType;
import tim.infobus.data.TID;
import javax.ejb.CreateException;
import javax.xml.rpc.Stub;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class IBK65Client implements Loggable {
private String url;
private int timeOut;
private static final int defaultTimeOut = 30000;
private static final String dateFormat = "yyyy-MM-dd";
private static final String timeFormat = "HH:mm:ss";
protected ProcessLogger log;
protected String codiceProcesso = "MS"; // come da MNP_ANAGRAFICA_PROCESSO
private static final String SYSTEM_DBC = "DBC";
public static final String DATA_ESPL_FORMAT = "dd-MMM-yyyy HH:mm:ss";
protected String versione = "1.0.0.0";
public IBK65Client() throws Exception{
try {
LogProcess logProcess = new LogProcess();
logProcess.setCodice(codiceProcesso);
logProcess.setProcess(this);
log = new ProcessLogger(logProcess);
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("Errore nella creazione del ProcessLogger, classe:" + IBK65Client.class + " - " + ex.toString());
throw new CreateException();
}
log.write("0001", " versione " + versione);
//setto l'url che verrà utilizzato nelle richieste di Restituzione
url = Resources.getURL_WS_O2C_RESTITUZIONE_DONOR();
if ("".equals(url)) {
log.write("0003", "");
throw new Exception("errore in creazione client IBK65Client - impossibile recuperare url del ws da properties");
}
String timeOutStr = Resources.getTIMEOUT_WS_O2C_RESTITUZIONE_DONOR();
log.write("9999", " IBK65Client - url: " + url + " - timeOut: " + timeOutStr);
//se non esiste la properties timer, allora la setto con la var. statica della classe
try {
timeOut = Integer.parseInt(timeOutStr);
} catch (NumberFormatException nfe) {
log.write("9999", " impossibile recuperare property timeout - impostato valore di default: " + defaultTimeOut);
timeOut = defaultTimeOut;
}
}
@Override
public LogInfo getLogInfo() throws Exception {
LogInfo logInfo = new LogInfo();
logInfo.setProcess(getClass().getName());
logInfo.setLogPath(Resources.getLogPath());
logInfo.setTypeInfo(Resources.getTypeInfo());
logInfo.setTypeDebug(Resources.getTypeDebug());
logInfo.setTypeError(Resources.getTypeError());
return logInfo;
}
/**
* Creazione Request servizio richiestaRestituzioneNUM esposto da O2C
* per richieste di Restituzione
*
* @param mnpGispCessRestituzioneOut oggetto legato al dao che referenzia la tabella MNP_GISP_CESS_RESTITUZIONE_OUT
* @return oggetto di tipo IBK65_RequestElementType
*/
public IBK65_RequestElementType createRequest(MnpGispCessRestituzioneOut mnpGispCessRestituzioneOut) {
IBK65_RequestElementType richiestaRestituzione = new IBK65_RequestElementType();
Message message = new Message();
List<RequestParameters> parameters = new ArrayList<RequestParameters>();
RequestParameters nomeRichiesta = new RequestParameters();
if (mnpGispCessRestituzioneOut.getNomeRichiesta() != null) {
nomeRichiesta.setName("NOME_RICHIESTA");
nomeRichiesta.setValue(mnpGispCessRestituzioneOut.getNomeRichiesta());
parameters.add(nomeRichiesta);
}
RequestParameters cas = new RequestParameters();
if (mnpGispCessRestituzioneOut.getCas() != null) {
cas.setName("CAS");
cas.setValue(mnpGispCessRestituzioneOut.getCas());
parameters.add(cas);
}
RequestParameters numTel = new RequestParameters();
if (mnpGispCessRestituzioneOut.getNumTel() != null) {
numTel.setName("NUM_TEL");
numTel.setValue(mnpGispCessRestituzioneOut.getNumTel());
parameters.add(numTel);
}
//è una stringa non una DATE
RequestParameters dataEspl = new RequestParameters();
if (mnpGispCessRestituzioneOut.getDataEspl() != null) {
dataEspl.setName("DATA_ESPL");
dataEspl.setValue(mnpGispCessRestituzioneOut.getDataEspl());
parameters.add(dataEspl);
}
RequestParameters tid = new RequestParameters();
if (mnpGispCessRestituzioneOut.getTid() != null) {
tid.setName("TID");
tid.setValue(mnpGispCessRestituzioneOut.getTid());
parameters.add(tid);
}
//trasformo la lista in array
RequestParameters[] array_param = new RequestParameters[parameters.size()];
int p = 0;
for (RequestParameters param : parameters) {
array_param[p] = param;
p++;
}
message.setRequestParameters(array_param);
richiestaRestituzione.setMessage(message);
return richiestaRestituzione;
}
/** Metodo utilizzato per invocare l'endPoint di IBK65 sul
* servizio richiestaRestituzioneNUM per attivazioni
*
* @param body
* @param eventType
* @return
* @throws Exception
*/
public IBK65_ResponseElementType iBK65richiestaRestituzioneNUM(IBK65_RequestElementType body, String eventType) throws Exception {
IBK65_Service_Impl service = new IBK65_Service_Impl();
IBK65_PortType endPoint;
endPoint = service.getIBK65SOAP();
((Stub) endPoint)._setProperty("javax.xml.rpc.service.endpoint.address", url);
((Stub) endPoint)._setProperty("weblogic.wsee.transport.connection.timeout", timeOut);
Header header = new Header();
Date date = new Date();
header.setInteractionDateDate(new SimpleDateFormat(dateFormat).format(date));
header.setInteractionDateTime(new SimpleDateFormat(timeFormat).format(date));
header.setSourceSystem(SYSTEM_DBC);
header.setChannel(SYSTEM_DBC);
header.setEventType(eventType);
header.setBusinessID(new TID().toString());
header.setTransactionID(new TID().toString());
header.setMessageID(new TID().toString());
//in uniformità alla IBK50 non mettiamo SessionID
body.setHeader(header);
IBK65_ResponseElementType response = endPoint.richiestaRestituzioneNUM(body);
return response;
}
}

View File

@@ -0,0 +1,52 @@
package mnp.proxy.ws.o2c.client.IBK65;
import javax.xml.namespace.QName;
import javax.xml.rpc.handler.GenericHandler;
import javax.xml.rpc.handler.MessageContext;
import javax.xml.rpc.handler.soap.SOAPMessageContext;
import java.io.ByteArrayOutputStream;
public class IBK65SOAPHandler extends GenericHandler {
private QName[] headers;
public QName[] getHeaders() {
return headers;
}
public boolean handleRequest(MessageContext context) {
SOAPMessageContext soapMsgCtx = (SOAPMessageContext) context;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
System.out.println("[IBK65SOAPHandler] - Inizio Log Invio Notifica");
System.out.println("----------------------------------------------------------------------------------------------");
soapMsgCtx.getMessage().writeTo(baos);
System.out.println(baos.toString());
System.out.println("[IBK65SOAPHandler] - Fine Log Invio Notifica");
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
return true;
}
public boolean handleFault(MessageContext context) {
SOAPMessageContext soapMsgCtx = (SOAPMessageContext) context;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
System.out.println("[IBK65SOAPHandler] - Inizio Log Errore Invio Notifica");
System.out.println("----------------------------------------------------------------------------------------------");
soapMsgCtx.getMessage().writeTo(baos);
System.out.println(baos.toString());
System.out.println("[IBK65SOAPHandler] - Fine Log Errore Invio Notifica");
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
return true;
}
}

View File

@@ -295,7 +295,14 @@ public class GispRequestAttOutEventHandler extends AbstractEventHandler {
mnpGispRicAttOut.setDataInvio(new Date());
dao.merge(mnpGispRicAttOut);
dao.flush();
sendToIB(mnpGispRicAttOut);
if(!Resources.SOAP_O2C_RICH_ATTIVGSM_ENABLED()) {
sendToIB(mnpGispRicAttOut);
}
else {
sendToO2C(mnpGispRicAttOut);
}
String processType = BoFactory.getMacroProcessType(mnpGispRicAttOut.getTid());
}

View File

@@ -107,8 +107,9 @@ public class GispRequestCessOutDonAbbEventHandler extends AbstractEventHandler {
boolean isCo = GispMap.GISP_CESS_TIPO_RICHIESTA_COABB.equals(mnpGispCessOutDonAbb.getNomeRichiesta());
boolean requestSent = false;
/** SOAP_GISP_RICH_CESS_ENABLED utilizzata per abilitare la chiamata al servizio DBC_DISATMNPG_BU
* la var SOAP_O2C_RICH_DISATMNPG_CO_ENABLED abilita la chiamata al servizio DBC_DISATMNPG_CO
/** SOAP_GISP_RICH_CESS_ENABLED utilizzata per abilitare la chiamata al servizio di
* CO e di BU
* la var SOAP_O2C_RICH_DISATMNPG_CO_ENABLED abilita la chiamata UNICAMENTE al servizio DBC_DISATMNPG_CO
* **/
if(!Resources.SOAP_GISP_RICH_CESS_ENABLED() || (isCo && !Resources.SOAP_O2C_RICH_DISATMNPG_CO_ENABLED())) {
if(sendToIB(mnpGispCessOutDonAbb)) {
@@ -119,7 +120,6 @@ public class GispRequestCessOutDonAbbEventHandler extends AbstractEventHandler {
requestSent = true;
}
}
if (requestSent) {
dao.merge(mnpGispCessOutDonAbb);
@@ -226,7 +226,7 @@ public class GispRequestCessOutDonAbbEventHandler extends AbstractEventHandler {
mnpGispCessOutDonAbb.setDataInvio(new Date());
dao.merge(mnpGispCessOutDonAbb);
dao.flush();
if(!Resources.SOAP_GISP_RICH_CESS_ENABLED() || isCo) {
if(!Resources.SOAP_GISP_RICH_CESS_ENABLED() || (isCo && !Resources.SOAP_O2C_RICH_DISATMNPG_CO_ENABLED())) {
sendToIB(mnpGispCessOutDonAbb);
} else {
sendToO2C(mnpGispCessOutDonAbb);

View File

@@ -298,7 +298,10 @@ public class GispRequestCessOutEventHandler extends AbstractEventHandler {
mnpGispCessOut.setDataInvio(new Date());
dao.merge(mnpGispCessOut);
dao.flush();
sendToIB(mnpGispCessOut);
if(!Resources.SOAP_O2C_RICH_DISATMNPG_ENABLED())
sendToIB(mnpGispCessOut);
else
sendToO2C(mnpGispCessOut);
}
else {
throw new Exception("Notifica avente UNIQUEID: " + uniqueId +

View File

@@ -6,6 +6,7 @@ import java.util.*;
import com.tibco.tns.bw.json.x1698392386014.RequestType;
import com.tibco.tns.bw.json.x1698420077301.IBK50ResponseElementType;
import com.tibco.tns.bw.json.x1718966450929.IBK65_RequestElementType;
import mnp.bo.RequestIF;
import mnp.database.*;
import mnp.database.dao.RichiestaCessazioneDAO;
@@ -21,9 +22,11 @@ import mnp.objects.dao.RichiestaCessazione;
import mnp.objects.dao.RichiestaPorting;
import mnp.proxy.ToWTC.*;
import mnp.proxy.ws.gisp.client.GISPClient;
import mnp.proxy.ws.o2c.client.IBK65.IBK65Client;
import mnp.systemcontroller.eventhandler.*;
import mnp.systemcontroller.gisp.formatcontroller.GispRestOutFormatController;
import mnp.utility.Resources;
import org.example.ibk65_responseresource.IBK65_ResponseElementType;
/**
@@ -100,18 +103,14 @@ public class GispRestOutEventHandler extends AbstractEventHandler {
mnpGispCessRestituzioneOut.setDataUltimoInvio(new Date());
dao.merge(mnpGispCessRestituzioneOut);
dao.flush();
/** switch in base alla properties ed invia a o2c
* if(!Resources.SOAP_GISP_RICH_RESTITUZIONE_ENABLED()) {
* if(sendToIB(mnpGispCessRestituzioneOut)) {
* requestSent = true;
* }
* } else {
* if(sendToO2C(mnpGispCessRestituzioneOut)) {
* requestSent = true;
* }
* }
* **/
sendToIB(mnpGispCessRestituzioneOut);
if(!Resources.SOAP_O2C_RICH_RESTITUZIONE_ENABLED()){
sendToIB(mnpGispCessRestituzioneOut);
}
else {
sendToO2C(mnpGispCessRestituzioneOut);
}
break;
default:
throw new UnsupportedOperationException("PARAMETRO DA_SCODARE SCONOSCIUTO!");
@@ -207,7 +206,12 @@ public class GispRestOutEventHandler extends AbstractEventHandler {
mnpGispCessRestituzioneOut.setDataUltimoInvio(new Date());
dao.merge(mnpGispCessRestituzioneOut);
dao.flush();
sendToIB(mnpGispCessRestituzioneOut);
if(!Resources.SOAP_O2C_RICH_RESTITUZIONE_ENABLED()){
sendToIB(mnpGispCessRestituzioneOut);
}
else {
sendToO2C(mnpGispCessRestituzioneOut);
}
} else {
throw new Exception("Notifica avente UNIQUEID: " + uniqueId +
"non presente nella tabella MNP_GISP_CESS_RESTITUZIONE_OUT");
@@ -247,7 +251,7 @@ public class GispRestOutEventHandler extends AbstractEventHandler {
/**
* invia la notifica
*
* @param mnpGispCessResttpOut MnpGispCessResttpOut
* @param mnpGispCessRestituzioneOut
*/
private void sendToIB(MnpGispCessRestituzioneOut mnpGispCessRestituzioneOut) throws
IBSendException, InfobusHandlerException, Exception {
@@ -347,24 +351,28 @@ public class GispRestOutEventHandler extends AbstractEventHandler {
inserisciNotificaInCoda(this.creaNotificationMessage(ris,idRichiesta));
}
/**
public boolean sendToO2C(mnpGispCessRestituzioneOut mnpGispCessRestituzioneOut) throws Exception {
/**
* Metodo utilizzato per inviare la richiesta di Restituzione ad O2C utilizzando il Client IBK65.
* NOTA: eventType = "lineeMobili_restituzioneNumero"
*
* @param mnpGispCessRestituzioneOut
* @throws Exception
*/
public void sendToO2C(MnpGispCessRestituzioneOut mnpGispCessRestituzioneOut) throws Exception {
GISPClient client = new GISPClient();
RequestType requesto2c = client.createRequest(mnpGispCessRestituzioneOut);
IBK65ResponseElementType response;
boolean esito = false;
IBK65Client client = new IBK65Client();
IBK65_RequestElementType requesto2c = client.createRequest(mnpGispCessRestituzioneOut);
IBK65_ResponseElementType response;
try {
response = client.iBK65RichiestaRestituzioneLineaDonor(requesto2c, "lineeMobili_restituzioneNumero");
response = client.iBK65richiestaRestituzioneNUM(requesto2c, "lineeMobili_restituzioneNumero");
log.write("9999", "Response ricevuta OK: " + (response != null && response.getResponse() != null ?
response.getResponse().getReturnCode() : ""));
esito = true;
} catch(Exception e) {
log.write("9999", "Eccezione ricevuta su ibk50RichiestaCessazioneLineaDonor" + e.getMessage());
log.write("9999", "Eccezione ricevuta su iBK65richiestaRestituzioneNUM" + e.getMessage());
throw e;
}
return esito;
}
*/
}

View File

@@ -6,11 +6,14 @@ import java.util.*;
import javax.transaction.UserTransaction;
import com.tibco.tns.bw.json.x1718779962104.IBK61_RequestElementType;
import com.tibco.tns.bw.json.x1718966450929.IBK63_RequestElementType;
import mnp.bo.RequestIF;
import mnp.database.*;
import mnp.database.dao.OloDAO;
import mnp.database.dao.RichiestaPortingDAO;
import mnp.database.hb.dao.*;
import mnp.database.hb.dto.MnpGispAttOut;
import mnp.database.hb.dto.MnpGispCessResttpOut;
import mnp.exception.infobus.*;
import mnp.jms.MessageHandler;
@@ -20,10 +23,14 @@ import mnp.objects.*;
import mnp.objects.dao.Richiesta;
import mnp.objects.dao.RichiestaPorting;
import mnp.proxy.ToWTC.*;
import mnp.proxy.ws.o2c.client.IBK61Client;
import mnp.proxy.ws.o2c.client.IBK63.IBK63Client;
import mnp.systemcontroller.eventhandler.*;
import mnp.systemcontroller.gisp.formatcontroller.GispTpOutFormatController;
import mnp.utility.Resources;
import mnp.utility.date.GISPTimeUtil;
import org.example.ibk61_responseresource.IBK61_ResponseElementType;
import org.example.ibk63_responseresource.IBK63_ResponseElementType;
/**
@@ -103,19 +110,13 @@ public class GispTpOutEventHandler extends AbstractEventHandler {
dao.merge(mnpGispCessResttpOut);
dao.flush();
/** switch in base alla properties ed invia a o2c
* if(!Resources.SOAP_GISP_RICH_TERZEPARTI_ENABLED()) {
* if(sendToIB(mnpGispCessResttpOut)) {
* requestSent = true;
* }
* } else {
* if(sendToO2C(mnpGispCessResttpOut)) {
* requestSent = true;
* }
* }
* **/
if(!Resources.SOAP_O2C_RICH_TERZEPARTI_ENABLED()){
sendToIB(mnpGispCessResttpOut);
}
else {
sendToO2C(mnpGispCessResttpOut);
}
sendToIB(mnpGispCessResttpOut);
if(mnpGispCessResttpOut.getNumInvii().intValue()==1) RequestManagerPorting.avanzaStato(mnpGispCessResttpOut.getTid(), String.valueOf(TipoFlusso.GISP_TERZEPARTI_IN),
StatoRichiestaPorting.ACQUISITA, StatoRichiestaPorting.ATTESAEVASIONE, "", -1);
@@ -214,7 +215,12 @@ public class GispTpOutEventHandler extends AbstractEventHandler {
mnpGispCessResttpOut.setDataUltimoInvio(new Date());
dao.merge(mnpGispCessResttpOut);
dao.flush();
sendToIB(mnpGispCessResttpOut);
if(!Resources.SOAP_O2C_RICH_TERZEPARTI_ENABLED()){
sendToIB(mnpGispCessResttpOut);
}
else {
sendToO2C(mnpGispCessResttpOut);
}
} else {
throw new Exception("Notifica avente UNIQUEID: " + uniqueId +
"non presente nella tabella MNP_GISP_CESS_RESTTP_OUT");
@@ -381,23 +387,28 @@ public class GispTpOutEventHandler extends AbstractEventHandler {
}
/**
public boolean sendToO2C(mnpGispCessResttpOut mnpGispCessResttpOut) throws Exception {
GISPClient client = new GISPClient();
RequestType requesto2c = client.createRequest(mnpGispCessResttpOut);
IBK63ResponseElementType response;
boolean esito = false;
try {
response = client.iBK63RichiestaTerzePartiLineaDonor(requesto2c, "lineeMobili_gestioneTerzeParti");
log.write("9999", "Response ricevuta OK: " + (response != null && response.getResponse() != null ?
response.getResponse().getReturnCode() : ""));
esito = true;
} catch(Exception e) {
log.write("9999", "Eccezione ricevuta su ibk50RichiestaCessazioneLineaDonor" + e.getMessage());
throw e;
}
return esito;
}
* Metodo utilizzato per inviare la richiesta di cessazione Terze Parti ad O2C utilizzando il Client IBK63.
* NOTA: eventType = "lineeMobili_gestioneTerzeParti"
*
* @param mnpGispCessResttpOut
* @throws Exception
*/
public void sendToO2C(MnpGispCessResttpOut mnpGispCessResttpOut) throws Exception {
IBK63Client client = new IBK63Client();
IBK63_RequestElementType requesto2c = client.createRequest(mnpGispCessResttpOut);
IBK63_ResponseElementType response;
try {
response = client.iBK63GestioneTerzeParti(requesto2c, "lineeMobili_gestioneTerzeParti");
log.write("9999", "Response ricevuta OK: " + (response != null && response.getResponse() != null ?
response.getResponse().getReturnCode() : ""));
} catch(Exception e) {
log.write("9999", "Eccezione ricevuta su iBK63GestioneTerzeParti" + e.getMessage());
throw e;
}
}
}

View File

@@ -2495,7 +2495,7 @@ public class Resources {
String valoreProp = trim(props.getProperty("SOAP_O2C_RICH_DISATMNPG_CO_ENABLED"));
return ("1".equalsIgnoreCase(valoreProp));
}
public static String getURL_WS_O2C_DISATMNPG_CO_DONOR() {
/*public static String getURL_WS_O2C_DISATMNPG_CO_DONOR() {
init();
return trim(props.getProperty("URL_WS_O2C_DISATMNPG_CO_DONOR"));
}
@@ -2503,4 +2503,6 @@ public class Resources {
init();
return trim(props.getProperty("TIMEOUT_WS_O2C_DISATMNPG_CO_DONOR"));
}
*/
}

View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.tibco.com/IBK63/" xmlns:tns0="http://www.example.org/IBK63_ResponseResource" xmlns:tns1="http://tns.tibco.com/bw/json/1718966450929" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IBK63" targetNamespace="http://www.tibco.com/IBK63/">
<wsdl:types>
<xsd:schema xmlns:tns="http://www.example.org/IBK63_ResponseResource" elementFormDefault="qualified" targetNamespace="http://www.example.org/IBK63_ResponseResource">
<xsd:complexType name="IBK63_ResponseElementType">
<xsd:sequence>
<xsd:element minOccurs="0" name="Response">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" name="ReturnCode" type="xsd:string"/>
<xsd:element minOccurs="0" name="ReturnMessage" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="IBK63_ResponseElement" type="tns:IBK63_ResponseElementType"/>
</xsd:schema>
<xsd:schema xmlns:tns="http://tns.tibco.com/bw/json/1718966450929" elementFormDefault="qualified" targetNamespace="http://tns.tibco.com/bw/json/1718966450929">
<xsd:complexType name="IBK63_RequestElementType">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="header">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="sourceSystem" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="channel" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="interactionDate-Date" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="interactionDate-Time" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="businessID" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="sessionID" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="transactionID" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="messageID" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="eventType" type="xsd:string"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="destinationSystem" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="message">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="RequestParameters">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="name" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="value" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="IBK63_RequestElement" type="tns:IBK63_RequestElementType"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="gestioneTerzePartiRequest">
<wsdl:part name="body" element="tns1:IBK63_RequestElement"/>
</wsdl:message>
<wsdl:message name="gestioneTerzePartiResponse">
<wsdl:part name="body" element="tns0:IBK63_ResponseElement"/>
</wsdl:message>
<wsdl:portType name="IBK63">
<wsdl:operation name="gestioneTerzeParti">
<wsdl:input message="tns:gestioneTerzePartiRequest"/>
<wsdl:output message="tns:gestioneTerzePartiResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SOAPServiceBinding" type="tns:IBK63">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="gestioneTerzeParti">
<soap:operation soapAction="gestioneTerzeParti" style="document"/>
<wsdl:input>
<soap:body parts="body" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body parts="body" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="IBK63">
<wsdl:port name="IBK63SOAP" binding="tns:SOAPServiceBinding">
<soap:address location="http://localhost:8080/IBK63gestioneTerzeParti"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@@ -0,0 +1,10 @@
<weblogic-wsee-clientHandlerChain
xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee">
<handler>
<j2ee:handler-name>IBK63SOAPHandler</j2ee:handler-name>
<j2ee:handler-class>mnp.proxy.ws.o2c.client.IBK63SOAPHandler</j2ee:handler-class>
</handler>
</weblogic-wsee-clientHandlerChain>

View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.tibco.com/IBK65/" xmlns:tns0="http://www.example.org/IBK65_ResponseResource" xmlns:tns1="http://tns.tibco.com/bw/json/1718966450929" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IBK65" targetNamespace="http://www.tibco.com/IBK65/">
<wsdl:types>
<xsd:schema xmlns:tns="http://www.example.org/IBK65_ResponseResource" elementFormDefault="qualified" targetNamespace="http://www.example.org/IBK65_ResponseResource">
<xsd:complexType name="IBK65_ResponseElementType">
<xsd:sequence>
<xsd:element minOccurs="0" name="Response">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" name="ReturnCode" type="xsd:string"/>
<xsd:element minOccurs="0" name="ReturnMessage" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="IBK65_ResponseElement" type="tns:IBK65_ResponseElementType"/>
</xsd:schema>
<xsd:schema xmlns:tns="http://tns.tibco.com/bw/json/1718966450929" elementFormDefault="qualified" targetNamespace="http://tns.tibco.com/bw/json/1718966450929">
<xsd:complexType name="IBK65_RequestElementType">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="header">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="sourceSystem" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="channel" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="interactionDate-Date" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="interactionDate-Time" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="businessID" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="sessionID" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="transactionID" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="messageID" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="eventType" type="xsd:string"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="destinationSystem" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs="1" minOccurs="0" name="message">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="RequestParameters">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="name" type="xsd:string"/>
<xsd:element maxOccurs="1" minOccurs="0" name="value" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="IBK65_RequestElement" type="tns:IBK65_RequestElementType"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="richiestaRestituzioneNUMRequest">
<wsdl:part name="body" element="tns1:IBK65_RequestElement"/>
</wsdl:message>
<wsdl:message name="richiestaRestituzioneNUMResponse">
<wsdl:part name="body" element="tns0:IBK65_ResponseElement"/>
</wsdl:message>
<wsdl:portType name="IBK65">
<wsdl:operation name="richiestaRestituzioneNUM">
<wsdl:input message="tns:richiestaRestituzioneNUMRequest"/>
<wsdl:output message="tns:richiestaRestituzioneNUMResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SOAPServiceBinding" type="tns:IBK65">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="richiestaRestituzioneNUM">
<soap:operation soapAction="richiestaRestituzioneNUM" style="document"/>
<wsdl:input>
<soap:body parts="body" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body parts="body" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="IBK65">
<wsdl:port name="IBK65SOAP" binding="tns:SOAPServiceBinding">
<soap:address location="http://localhost:8080/IBK65richiestaRestituzioneNUM"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@@ -0,0 +1,10 @@
<weblogic-wsee-clientHandlerChain
xmlns="http://www.bea.com/ns/weblogic/90"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee">
<handler>
<j2ee:handler-name>IBK65SOAPHandler</j2ee:handler-name>
<j2ee:handler-class>mnp.proxy.ws.o2c.client.IBK65SOAPHandler</j2ee:handler-class>
</handler>
</weblogic-wsee-clientHandlerChain>