Closed nikhilgupta10 closed 7 years ago
nikhilgupta10 imported these comments from Sourceforge: The user dchassin does not exist anymore. Therefore assigning this to afisher1. "jcfuller":- status: new --> assigned
Priority: none --> major ,
"dchassin":- status: assigned --> closed
Resolution: none --> wontfix ,
"dchassin":This is how it is supposed to work. Having it parse on a ':' would cause it to be unable to parse module globals, which use the \module::global\ syntax. For the server the proper syntax is to separate object name and property with a '/'.,
The specification for HTTP requests for XML in the format: http://server:port/xml/object:property does not work. It thinks that the object:property string is a global.
In
core\server.c
, the arguments for an xml request are split on/
:Where uri is the request string (e.g.,
/xml/network_node:voltage_A
, uri=network_node:voltage_A
. If there is no slash separator in the request, then GridLAB-D assumes it is a global variable (i.e., nargs=1):The code to split by
:
is never run and it returns an error.Even if it does run, it looks like it tries to convert the property string from object:property into an integer ID to access the object instead of the name (e.g., network_node). The deprecated message does not have any impact on the behavior of the program (it executes after the object is read/write).
Test output that verifies my analysis:
xml/network_node:voltage_A
ERROR [2020-04-16 00:01:00 PDT] : global variable 'network_node:voltage_A' not found
HTTP/1.1 404 Not Found (len=0, mime=none)
xml/network_node/voltage_A
HTTP/1.1 200 Ok (len=154, mime=text/xml)
,