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

Websocket connection is opened and closes immediately

Solved2.11K views27th March 2024WebSocket
2
Fenta Alemahu [SLC] [DevOps Enabler]1.10K 26th March 2024 0 Comments

Hi all,

I am working on a connector with HTTP main connection and Websocket secondary connection. The websocket connection seems to be opened and then closes immediately. I verified that the websocket connection is working with postman (it is opened and stays open till the user Disconnects it) but couldn’t make it with Dataminer.

The connections tag implementation is like this:

I also tried to use the Type attribute but the same result.

The custom Websocket opening handshake:

The handshake URL is dynamic ip which is filled in after element startup and can also be changed by the user (ws://[ip]:[port]/as/system/status).

Wireshark capture shows that the opening handshake request is correctly formatted (the full request URI is correct).

The handshake seems successful as the server responds the following:

While the websocket is supposed to stay open, it closes immediately after the handshake. The strange thing is the websocket response from the server shows that it looks like the URI didn’t arrive at the server correctly. As can be seen below, the IP part is missing, and the URL contains the port and the last part of the URI.

Any help on this is much appreciated.

Fenta Alemahu [SLC] [DevOps Enabler] Selected answer as best 27th March 2024

3 Answers

  • Active
  • Voted
  • Newest
  • Oldest
1
Tom Waterbley [SLC] [DevOps Catalyst]8.89K Posted 27th March 2024 1 Comment

Hi Fenta,

As we investigated together this is most likely caused by the “Upgrade” header in the websocket handshake which is parsed in a case-sensitive way by the receiving device. DataMiner is sending “Websocket” as value, while the device expects “websocket”.

However, according to websocket RFC 6455 this value should be parsed in a case-insensitive way.

Section 4.2.1

3. An |Upgrade| header field containing the value “websocket”,
treated as an ASCII case-insensitive value.

4. A |Connection| header field that includes the token “Upgrade”,
treated as an ASCII case-insensitive value.

Fenta Alemahu [SLC] [DevOps Enabler] Selected answer as best 27th March 2024
Fenta Alemahu [SLC] [DevOps Enabler] commented 27th March 2024

Thanks a lot Tom for the investigation and answer.

2
Flávio Jacinto [SLC] [DevOps Advocate]718 Posted 27th March 2024 1 Comment

Hi Fenta,

I believe the problem is that it’s not possible to use the ‘dynamic ip’ parameter to dinamically modify the URL of a session, as the ‘dynamic ip’ should only contain “IP:PORT”, as stated in Dynamic polling | DataMiner Docs.
Therefore, I’d recommend to use a regular read parameter to hold the URL (ws://[ip]:[port]/as/system/status) of your WebSocket handshake session.

Fenta Alemahu [SLC] [DevOps Enabler] Posted new comment 27th March 2024
Fenta Alemahu [SLC] [DevOps Enabler] commented 27th March 2024

Hi Flavio,
Thanks for the answer. That didn’t make a difference. The issue seems what Tom explained in the answer.

0
Nejra Fehratovic [SLC] [DevOps Enabler]145 Posted 26th March 2024 1 Comment

Hi,

I’m not sure this will solve the issue, but I see that you are using url attribute to refer a parameter ID in your Session. That may cause unexpected behavior. For that you need to use the pid attribute.

Fenta Alemahu [SLC] [DevOps Enabler] Edited comment 27th March 2024
Fenta Alemahu [SLC] [DevOps Enabler] commented 26th March 2024

Hi Nejra,
Changing the url to pid gives the same result. When using the url, the full URL is filled in the parameter.

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