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.
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.
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.
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!
Can you check with streamviewer on the element what the communication looks like.