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

POST HTTP request protocol no response – element goes into timeout

Solved1.19K views25th March 2024
11
Zhing Hang Lee672 18th March 2024 2 Comments

Hi, I am creating a protocol with HTTP POST request. I followed every instructions provided and looked through a lot of examples but still my protocol does not work.

Here's what I did:

  • created a protocol with type http

  • I specified the port settings

  • Then I start creating the flow until it reaches the session. Timer > Group > Session

  • In my POST session, I am consuming the authorization token as a form of header from a parameter which user can change. The same goes for the SQL statement, warehouseID, wait_timeout and on_wait_timeout information which if I understood correctly will be parse in the body as a form of JSON.
  • Next I have defined paramaters that hold the response status code and content.
  • The paramater content 107 is then linked to a QAction which will perform the data parsing.

Then I create a new element with this protocol and I configure all the details needed. I also specified the IP address of which the url destination I am consuming from.

What I expect is that the call is to be made successful and QAction is being called. But after I set the values nothing is happeing. The QAction is not being executed and status code is not showing the result such as 200ok and now the element goes into timeout immediately.

May I know what is the problem here? I followed every step I know but nothing is working.

Marieke Goethals [SLC] [DevOps Catalyst] Selected answer as best 25th March 2024
Robbie Demaegdt [SLC] [DevOps Advocate] commented 18th March 2024

Can you check with streamviewer on the element what the communication looks like.

Zhing Hang Lee commented 19th March 2024

Hi Robbie,

Thank you for the quick response. I have checked the stream viewer as you mentioned and there seems to be a request timeout.

-> 15:28:12 – Error : 12002. [ERROR_WINHTTP_TIMEOUT]
-> 15:28:12 – Get for ResponseContent () had error : Error : 12002. [ERROR_WINHTTP_TIMEOUT]
-> 15:28:12 – Continuing get for ResponseContent ()

Do you know what this means? I used the bypassProxy in the bus address and also specified an IP address in the protocol paramater proxyServer.

3 Answers

  • Active
  • Voted
  • Newest
  • Oldest
1
Jeroen Neyt [SLC] [DevOps Advocate]2.31K Posted 20th March 2024 1 Comment

From your explanation I understood that the requests only work if you configure them to go through the proxy server which is why you have added the proxyServer attribute to the Session tag.

However if you then set the bypassproxy value in the bus address of the connection, you're overriding that setting again configuring all the requests to be sent straight to the webserver.

The DataMiner docs mention the following:

Bus address: The bus address of the device. This is not always required. If the proxy server has to be bypassed, specify bypassproxy.

If you remove the bypassproxy value from the bus address input field, I believe your requests will stop timing out.

Marieke Goethals [SLC] [DevOps Catalyst] Selected answer as best 25th March 2024
Zhing Hang Lee commented 21st March 2024

Hi Jeroen, thank you so much for your reply!

The timeout issue has been fixed, it was indeed due to the bypassproxy value in the bus address.

Very thankful for your answer!

7
Daniela Prada [SLC] [DevOps Advocate]456 Posted 18th March 2024 3 Comments

Hello,

As Robbie previously mentioned, starting with the StreamViewer is the best approach.

However, based on your description, it appears that the POST request you're constructing may require the body to be formatted as a JSON with a specific format.

Since you're currently using the parameter tag, the body will be constructed as follows:
statement=[VALUE]&warehouse_ID=[VALUE]...

See documentation

If the endpoint does require the body to have a specific JSON format, I recommend instead constructing the body in a QAction and saving it in a parameter.

Afterward, you can link the parameter to the session using the data tag:

<Request verb="POST" url="">
   ...
  <Data pid="[Parameter_ID]"></Data>
...
</Request>

Zhing Hang Lee Posted new comment 20th March 2024
Zhing Hang Lee commented 19th March 2024

Hi Daniela,

Thank you for the quick response. I have checked the stream viewer as you mentioned and there seems to be a request timeout.

-> 15:28:12 – Error : 12002. [ERROR_WINHTTP_TIMEOUT]
-> 15:28:12 – Get for ResponseContent () had error : Error : 12002. [ERROR_WINHTTP_TIMEOUT]
-> 15:28:12 – Continuing get for ResponseContent ()

Do you know what this means? I used the bypassProxy in the bus address and also specified an IP address in the protocol paramater proxyServer.

Also, thank you so much for the suggestion of using the data tag instead of the paramater tag, I will give it a try once the request timeout error is fixed.

Daniela Prada [SLC] [DevOps Advocate] commented 19th March 2024

It seems that Dataminer is not able to reach the endpoint. It could be because of firewall settings, an incorrect port…
Can you check with a third party app if you are able to reach the end point? Postman is a good option in these cases.

Zhing Hang Lee commented 20th March 2024

Using postman I am able to reach the end point but only after I turn on the bypassproxy setting in Google Chrome browser settings. For Dataminer, in logs and streamviewer it shows the client is connected but there is still an issue with getting the ResponseContent() or ConnectionStatus()

0
Sebastián Cuéllar [SLC] [DevOps Advocate]132 Posted 20th March 2024 0 Comments

Hello Lee,

Following the advices that Robbie and Daniela gave you, I would recommend you the following:

  1. Download and test the request with the Postman Desktop App.
    1. Be sure that the HTTPS port (443) that you are using to establish the communication is correct.
    2. Be sure that the HTTP method you are using is correct (GET, POST, PUT, etc.)
    3. Be sure that the JSON data content is in the proper format.
  2. If the process succeeds in Postman, the same configuration should work for Dataminer and the Error : 12002. [ERROR_WINHTTP_TIMEOUT] should disappear as this typically means that the URL is not reachable.
    1. If the error persists, you could try to increase the value of the timeout in the element settings to the max (120000 if I'm not mistaken).
  3. As Daniela suggested, the best approach to built the data content of the request is through a QAction and saving it in a parameter.
  4. You should trigger the Session execution after the QAction.

Let me know if you manage to solve the problem following these steps.

Sebastián Cuéllar [SLC] [DevOps Advocate] Answered question 20th March 2024
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

Correlation Engine: “Test rule” doesn’t result in a hit, despite functional rule 1 Answer | 3 Votes
When using the Setter = true attribute, will the copy action always be executed first? 1 Answer | 2 Votes
Multiple Set on Table parameters for DVE’s 1 Answer | 2 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 (150) 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