| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod ReceiveMessage (LibDMF_CommunicationChannelRoot channelRoot_i, String channelName_i, NamedValueTree nvt_i) | 
| { | 
|   TextBody: | 
|   [* | 
|     // Get the Source information from the header of the NVT | 
|     sourceKind := LibInt_MessageAccessor::GetHeaderPropertyAsString( nvt_i, LibDMF_CommunicationChannel::HEADER_SOURCEKIND() ); | 
|     sourceName := LibInt_MessageAccessor::GetHeaderPropertyAsString( nvt_i, LibDMF_CommunicationChannel::HEADER_SOURCENAME() ); | 
|      | 
|     // Create an IntegrationEvent | 
|     event := channelRoot_i.EventCreate( sourceKind, sourceName, true ); | 
|      | 
|     channel := select( channelRoot_i, CommunicationChannel, channel, | 
|                        channel.Name() = channelName_i ); | 
|      | 
|     if( not isnull( channel ) ) | 
|     { | 
|       isNotificationOnly := LibInt_MessageAccessor::HasHeaderProperty( nvt_i, LibDMF_CommunicationChannel::HEADER_IS_NOTIFICATION() ) and | 
|                             LibInt_MessageAccessor::GetHeaderPropertyAsBoolean( nvt_i, LibDMF_CommunicationChannel::HEADER_IS_NOTIFICATION() ); | 
|      | 
|       if( isNotificationOnly ) | 
|       { | 
|         channel.NotificationReceive( nvt_i ); | 
|       } | 
|       else | 
|       { | 
|         isRequest := LibInt_MessageAccessor::HasHeaderProperty( nvt_i, LibDMF_CommunicationChannel::HEADER_IS_REQUEST() ) and | 
|                      LibInt_MessageAccessor::GetHeaderPropertyAsBoolean( nvt_i, LibDMF_CommunicationChannel::HEADER_IS_REQUEST() ); | 
|      | 
|         if( isRequest ) | 
|         { | 
|           channel.RequestReceive( nvt_i ); | 
|         } | 
|         else | 
|         { | 
|           channel.MessageReceive( nvt_i ); | 
|         } | 
|       } | 
|     } | 
|     else | 
|     { | 
|       channelRoot_i.EventLogActivityError( event, | 
|                                            "Received message for unknown Communication Channel", | 
|                                            "Received message for unknown Communication Channel '" + channelName_i + "'" ); | 
|     } | 
|   *] | 
| } |