I was able to simulate netconf devices with opendaylight simulators. During startup, I provided the yang schemas path too.
But, when I login to the device through netconf and send any RPC request applicable for the yang schemas, there is no response from the device.
Though the simulator device throws error if there is any syntax errors in my rpc requests, it is not responding with any data.
It is mentioned in the opendaylight github page that, for "set" requests, there will be OK response by default, but I dont see any response for any request.
Also, I do not see any error log in the simulator running bash session.
Any ideas on what is going wrong?
Related
I'm working with an IoT device that has an embedded HTTP Server that returns csv formatted status data. Everything works fine between my data collector app and the IoT device in terms of communications - I make a request and the server returns data, no big deal.
However, the request fails when I attempt to connect to the server with a Web Browser due to the fact that the IoT device does not return any HTTP Response Headers and, apparently, modern Web Browsers reject packets that have no/malformed Response Headers.
Since I have no way of updating the IoT device's HTTP Response Headers, I'm stuck with having to find a solution on the browser side.
I've searched for Flags/Settings in Chromium and Firefox that would allow malformed/missing Response Headers, but to no avail. I've also tried using the ModHeader plugin to manipulate the Response Headers, but that doesn't solve the problem (ModHeader manipulates the response header AFTER the browser has already rejected the response).
I'm out of ideas on how to solve this problem for browser users. Do you have any tips/ideas on how to use a browser successfully with an HTTP Server that returns zero Response Headers?
PS The errors that are displayed by different client consoles for malformed response headers are:
Chromium: Failed to load resource: net::ERR_INVALID_HTTP_RESPONSE (Failed to load response data: No data found for resource with given identifier)
Firefox: XML Parsing Error: syntax error
Wireshark: Expert Info (Warning/Protocol): Illegal characters found in header name
We have a few APIs that are being long polled through Azure API Management. For some reason, we are receiving a response of 200 [not sent in full (see exception telemetries)] and then a System.Exception: A task was canceled. exception in App Insights.
Taking a look at the server app service telemetry, the requests were completed without any exception there.
Can anyone help me figure out what this status response means and why are we getting this exception?
These errors mean that APIM started to send response to client, sent status code and description, and some portion of headers and body. These traces must be accompanied by exception telemetry as response code suggests. Depending on what you see there it may be:
Client connectivity error - client terminated connection before response was sent in full
Backend connectivity error - backend terminated connection before providing full response
The reasons for both may vary a lot, but given small duration I'd suspect that it's client closing connection. One of the reasons for this, for example, is if this API is used from browser it is normal for browser to terminate connection and abort reading response if user navigates away from page that made the call.
I am using Bluedroid stack for developiong my bluetooth apllication.
I am using A2DP src profile to make connection between Mobile and my device.
I have issue in following scenario:
When i switch from A2DP SINK profile to A2DP Source profile, the first connection request from Mobile site is always failure.
And after first connection request its always success.
I found the reason for fail is:
AV connection state is changing from
BTAV_CONNECTION_STATE_CONNECTING
...
...
BTAV_CONNECTION_STATE_DISCONNECTED
I have checked the flow in Bluedrod Stack, and found that streamming open is failed and due to this i gets BTAV_CONNECTION_STATE_DISCONNECTED event to my app.
Any help would be appreciated.
For more information please comment.
The fail status is BTA_AV_FAIL_STREAM in bluedroid stack
I got the answer/solution of this problem.
Qualcomm engineer has provided a patch to solve the issue.
Whenever there were switch between A2DP sync to A2DP src profile the SDP records is not set properly due to that the first connection request is rejected.
When the rejection happens on first time it sets the value of A2DP SRC in SDP records properly and due to that further connection request is accepted.
I am trying to make a get/post request to a multi-purpose modem for web interface and gsm interface using a PLC(Programmable Logic Controller).
I have been trying to send string data to the modem through the TCP library currently with Schneider Somachine. Every time I make a request, I receive an Error 400 bad request. I am hoping that my program is correct as I can receive an error statement via the modem, but am not sure about the request I need to make in order to receive a positive OK response from the controller.
I have tried making the following requests and all returned with an Error 400 bad request.
GET https://192.168.2.1
GET https://192.168.2.1/api/login?username=admin&password=admin
I have also tried the above without the GET statement and with POST statements as well.
The above requests were done with carriage return and new line characters in the end.
I would really appreciate if someone could help out with the request type that has to be made in order to get that response.
As far as I know, accessing PLC through ajax is not a routine operation. If you can, you can try LECPServer, an open source middleware. It can expose the PLC node address for reading and writing through HTTP POST.
https://github.com/xeden3/LECPServer
Your requests are malformed (that's why you get the 400 response).
It should look like:
GET /path/to/resource/index.html HTTP/1.0
The server (192.168.2.1) and the transport (http vs https) have already been taken care of by the connection. All you're trying to do is tell the device what you want to do. In this case you want to access the login page with your credentials. You also need to specify which version of the protocol to use.
Get /api/login?username=admin&password=admin HTTP/1.0
I was under the impression that since a TEARDOWN request releases resources that are normally allocated when a SETUP is made, a TEARDOWN request was only necessary after the SETUP request.
However, I just had an Android device that sent a TEARDOWN immediately after receiving the response to a DESCRIBE request (before the SETUP request, the Session: parameter of the request was empty).
This was unexpected, and I was not able to have a confirmation, even by re-reading the RFC, if this is legit or not.
Can anybody provide information on this? Ideally with am official reference...
Servers should typically be prepared to talk to various clients, and it is a good idea to design servers error prone: clients might send weird commands and servers should reasonably respond. TEARDOWN stops streaming, so it makes no sense to issue it before SETUP, however it is still legit to send this command without SETUP, the server receiving it would just have nothing to do, no resources to free. It is up to server to decide whether to respond with 200 OK, or another status indicating that command makes no sense in this context (e.g. the provided session identifier is not valid).