我在Spain2上使用“orion-psb-image-R4.1”启动了一个实例。 我可以远程登录并启动上下文代理,如下所示:“/ etc / init.d / contextBroker start”。
但发送命令时
(curl localhost:1026/v1/updateContext -s -S --header 'Content-Type: application/xml' -d @- | xmllint --format - ) <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<updateContextRequest>
<contextElementList>
<contextElement>
<entityId type="Room" isPattern="false">
<id>Room1</id>
</entityId>
<contextAttributeList>
<contextAttribute>
<name>temperature</name>
<type>float</type>
<contextValue>23</contextValue>
</contextAttribute>
<contextAttribute>
<name>pressure</name>
<type>integer</type>
<contextValue>720</contextValue>
</contextAttribute>
</contextAttributeList>
</contextElement>
</contextElementList>
<updateAction>APPEND</updateAction>
</updateContextRequest>
EOF
始终有这样的回应:
<?xml version="1.0"?>
<orionError>
<code>400</code>
<reasonPhrase>Bad Request</reasonPhrase>
<details>service '/v1/updateContext' not found</details>
</orionError>
感谢任何帮助。
答案 0 :(得分:0)
检查经纪人的版本:
contextBroker --version
要识别'/ v1',它必须真的很旧 我不鼓励使用这个旧版本的代理,但如果你真的需要使用那个确切的版本,请尝试使用'/ ngsi10 / updateContext'代替'/ v1 / updateContext'。
答案 1 :(得分:0)
如果您的请求在其旅行(端口转发或代理)期间被转换(严重),则会发生这种情况。 在将nginx_proxyPass设置为Orion Context代理时,我遇到了同样的问题。