同时写入多个变量
- 更新时间2025-08-27
- 阅读时长4分钟
必需权限:VariableWrite
使用下列格式更新process1中的variable1、variable2。
POST http://my_server:3580/nivariable/BatchWrite
POST JSON数据
[{
"Url"
: "ni.var.psp://localhost/process1/variable1", "Value"
: "false"
}, {
"Url"
: "ni.var.psp://localhost/process1/variable2", "Value"
: "\"this is a new string value\""
}]
POST XML数据
<?xml version="1.0" encoding="utf-8"?>
<BatchWriteArguments>
<BatchWriteArgument>
<Url>ni.var.psp://localhost/process1/variable1</Url>
<Value>false</Value>
</BatchWriteArgument>
<BatchWriteArgument>
<Url>ni.var.psp://localhost/process1/variable2</Url>
<Value>this is a new string value</Value>
</BatchWriteArgument>
</BatchWriteArguments>
如写入所有变量成功,服务器返回下列回复,回复主体为空:
HTTP/1.1 200 OK
回复主体(JSON)
[]
回复主体(XML)
<?xml version="1.0" encoding="utf-8"?>
<BatchWriteErrors>
</BatchWriteErrors>
如写入失败,回复中包含错误的说明信息。例如,如无法写入variable2,服务器返回下列信息:
HTTP/1.1 200 OK
回复主体(JSON)
[{
"Url"
: "ni.var.psp://localhost/process1/variable2", "Error"
: {
"code"
: "", "message"
: {
"lang"
: "en-us", "value"
: "ni.var.psp://localhost/process1/variable2 is not writable"
}
}]
回复主体(XML)
<?xml version="1.0" encoding="utf-8"?>
<BatchWriteErrors>
<BatchWriteError>
<Url><ni.var.psp://localhost/process1/variable2</Url>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>0</code>
<message xml:lang="en-US">"ni.var.psp://localhost/process1/variable2 is not writable"</message>
</error>
</BatchWriteError>
</BatchWriteErrors>
注: 批量写入时会写入所有可写的变量,并返回所有写入失败的尝试。一个变量写入失败不会停止整个批量写入操作。