データを取得するエンティティを管理するために、別の GE、つまり IoT ブローカーと並行して動作する IoT 構成マネージャーが必要であることがわかりました。さて、XMLValidator コードが問題を引き起こしているようです。HTTP POST osgi9 を介してエンティティを構成マネージャーに直接登録しました。次に、osgi10 経由で IoT ブローカーと通信してアクセスを試みます。IoT Broker は IoT DIScovery サービスと通信して応答を受け取りますが、XMLValidator は XML が間違っていることを示していますが、明らかにそうではありません。
これは、IoT ConfMan にリソースの可用性を要求する IoT ブローカーです。
2014-11-27 10:31:13,682 | INFO | (HttpConnectionClient.java:initializeConnection:170) | Output
Stream: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<discoverContextAvailabilityRequest>
<entityIdList>
<entityId isPattern="false">
<id>Dorm</id>
</entityId>
</entityIdList>
<attributeList/>
<restriction>
<scope>
<operationScope>
<scopeType>IncludeAssociations</scopeType>
<scopeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">SOURCES</scopeValue></operationScope>
</scope>
</restriction>
</discoverContextAvailabilityRequest>
次に、IoT ブローカーは次を取得します。
2014-11-27 10:31:13,947 | INFO | (HttpConnectionClient.java:initializeConnection:188) |
<?xml version="1.0" encoding="UTF-8"?><discoverContextAvailabilityResponse>
<contextRegistrationResponseList>
<contextRegistrationResponse>
<contextRegistration>
<entityIdList>
<entityId type="Room" isPattern="false">
<id>Dorm</id>
</entityId>
</entityIdList>
<contextRegistrationAttributeList>
<contextRegistrationAttribute>
<name>temperature</name>
<type>degree</type>
<isDomain>false</isDomain>
<metadata>
<contextMetadata>
<name>ID</name>
<type>string</type>
<value/>
</contextMetadata>
<contextMetadata>
<name/>
<type/>
<value/>
</contextMetadata>
</metadata>
</contextRegistrationAttribute>
</contextRegistrationAttributeList>
<providingApplication>http://192.168.100.1:70
</providingApplication>
</contextRegistration>
</contextRegistrationResponse>
</contextRegistrationResponseList>
<errorCode>
<code>200</code>
<reasonPhrase>OK</reasonPhrase>
<details xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Result</details>
</errorCode>
</discoverContextAvailabilityResponse>
2014-11-27 10:31:13,949 | INFO | (HttpConnectionClient.java:initializeConnection:218) | Connection Closed!
2014-11-27 10:31:13,987 | INFO | (XmlValidator.java:error:128) |
ERROR
org.xml.sax.SAXParseException; lineNumber: 0; columnNumber: 0; cvc-complex-type.2.4.b: The content of element 'contextRegistration' is not complete. One of '
{registrationMetaData, providingApplication}
' is expected.
受信した xml から、少なくともproviningApplication が受信されていることが明確にわかりますが、XMLValidator はこれを認識していません。