Quintiq file version 2.0
|
#parent: #root
|
StaticMethod EchoFromQI (
|
String msg_i
|
) as String
|
{
|
Description:
|
[*
|
Let the QIntegrator echo a message back to the QAE.
|
Can be used to 'fake' messages coming from external systems via the QIntegrator.
|
Assumes a QI-route called "Echo" to be present.
|
*]
|
TextBody:
|
[*
|
echoedMsg := "";
|
|
//info( ">>> MSG" );
|
//info( msg_i );
|
|
// Create a NVT that contains msg_i as content as request for the QIntegrator.
|
requestNVT := LibDIF_IntegrationDataset::CreateRequestForQI( msg_i );
|
|
//info( ">>> RequestNVT" );
|
//info( requestNVT.ToString() );
|
|
// Trigger the action in the QIntegrator and wait for its response.
|
integratorID := LibDIF_Util::INTEGRATORID_ECHO();
|
errMsg := "";
|
responseNVT := LibInt_IntegratorProxy::SyncNvtRequest( integratorID, "", requestNVT, errMsg );
|
|
if( errMsg <> "" )
|
{
|
info( "ERROR received from QIntegrator" );
|
error( errMsg );
|
}
|
else
|
{
|
//info( ">>> ResponseNVT" );
|
//info( responseNVT.ToString() );
|
|
// Retrieve the message from the Body of the replied NVT.
|
bodyNode := responseNVT.Root().Child( responseNVT.GetHandle( "Body" ) );
|
echoedMsg := bodyNode.GetValueAsString();
|
|
//info( ">>> Echoed MSG" );
|
//info( echoedMsg );
|
}
|
|
return echoedMsg;
|
*]
|
}
|