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
  • Blog
  • Questions
  • Learning
    • E-learning Courses
    • 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
    • Tutorials
    • 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
    • DataMiner Insights
      • Security
      • Integration Studio
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • 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
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • 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.00K 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
1
João Severino [SLC] [DevOps Catalyst]12.94K 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);

You are viewing 1 out of 2 answers, click here to view all answers.
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

Recent questions

Web Applications exception in Cube due to invalid certificate 0 Answers | 0 Votes
Redundancy Groups and Alarming – Duplicate Alarms 0 Answers | 0 Votes
Correlation Engine: “Test rule” doesn’t result in a hit, despite functional rule 1 Answer | 3 Votes

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (151) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
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

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin