Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Updates & Insights
  • Questions
  • Learning
    • E-learning Courses
    • Empower Replay: Limited Edition
    • Tutorials
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
      • About the DevOps Program
      • DataMiner DevOps Support
  • Downloads
  • More
    • DataMiner Releases & Updates
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

InterApp – Automation sending command to protocol and receiving response

Solved1.04K views31st October 2023InterApp
3
MAXIMILIANO FILHO [DevOps Member]918 27th October 2023 0 Comments

Hello,

I am developing a protocol to receive a command from an automation and return processed data. Looking at the documentation I saw that there are the InterApp classes, but It’s not working.

These are the model classes I created:

I created an executor using the DIS Snippet and this is the CreateReturnMessage method:

This is the Executor Trigger

Below is the automation script code that sends the command and waits for the response from the element.

Am I missing something?

Thanks in advance

Marieke Goethals [SLC] [DevOps Catalyst] Selected answer as best 31st October 2023

2 Answers

  • Active
  • Voted
  • Newest
  • Oldest
2
MAXIMILIANO FILHO [DevOps Member]918 Posted 30th October 2023 0 Comments

Hi João, It’s working now.

The problem is that the dll library Skyline.DataMiner.Core.DataMinerSystem.Common.dll was missing

Thanks

Marieke Goethals [SLC] [DevOps Catalyst] Selected answer as best 31st October 2023
1
João Severino [SLC] [DevOps Catalyst]13.09K Posted 30th October 2023 2 Comments

Hi,

At first glance, the logic seems correct, however I would check the following things to make sure:

  • Could you confirm in which part the flow is not working? Is it the QAction that is not receiving anything or is the automation that is not receiving a reply?
  • As per the note in this page, the classes used must have the same namespace and when just placing them on a QAction or Automaction script they will have different namespaces
  • Verify that the rest of the executor is correctly implemented and is reaching the CreateReturnMessage method (see: InterApp Executor)
MAXIMILIANO FILHO [DevOps Member] Posted new comment 30th October 2023
MAXIMILIANO FILHO [DevOps Member] commented 30th October 2023

Hi João,

Apparently, the automation does not receive the return message, the automation enters in Timeout waiting for the response. The API classes are in the same namespace (InterApp) in both protocol and automation. Below is the executor class.

///
/// Executor class.
///
public class AlarmCommandExecutor : MessageExecutor
{
public AlarmCommandExecutor(AlarmCommand message) : base(message)
{
}

///
/// Creates a return Message.
///
/// A message representing the response for the processed message.
public override Message CreateReturnMessage()
{
var valor = “ReturnMessageTest”;
var returnMessage = new AlarmCommandResult()
{
Guid = Message.Guid,
Source = Message.Source,
ReturnAddress = Message.ReturnAddress,
Resultado = valor,
};

return returnMessage;
}

///
/// Reads data from SLProtocol, Engine or other data sources.
///
/// SLProtocol, Engine, or other data sources.
public override void DataGets(object dataSource)
{
throw new System.NotImplementedException();
}

///
/// Writes data to SLProtocol, Engine, or another data destination.
///
/// SLProtocol, Engine, or another data destination.
public override void DataSets(object dataDestination)
{
SLProtocol protocol = dataDestination as SLProtocol; // Can be replaced if other dataDestination type is used.
if (protocol != null)
{
throw new System.NotImplementedException();
}
}

///
/// Modifies retrieved data and Message data into a correct format for setting.
///
public override void Modify()
{
var receivedMessage = Message;
throw new System.NotImplementedException();
}

///
/// Parses the data retrieved from a data source in DataGets.
///
public override void Parse()
{
throw new System.NotImplementedException();
}

///
/// Validates received data for validity.
///
/// A boolean indicating if the received data is valid.
public override bool Validate()
{
if (String.IsNullOrWhiteSpace(Message.Interval))
{
return false;
}

return true;
}
}

MAXIMILIANO FILHO [DevOps Member] commented 30th October 2023

I found an error in a QAction, but it still not working. The send command was missing:

returnMessage.Send(
protocol.SLNet.RawConnection,
message.ReturnAddress.AgentId,
message.ReturnAddress.ElementId,
message.ReturnAddress.ParameterId, knownTypes);

Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs