Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-1491

FIWARE.Request.Tech.IoT.BackendIoTBroker.MissingRepo

    Details

    • HD-Chapter:
      IoT
    • HD-Enabler:
      IoT Broker

      Description

      Hello,

      I’m having some problems using all the functionalities of the IoT Broker GE. If I use an instance from the fewer cloud i can get to the starting page but when I try to go to the admin panel it gives a redirect loop both on Safari and Chrome.

      I tried copying the binaries from the instance to a local Ubuntu machine and i can get the GE running but when I try to access the starting page it gives me a blank page.

      As a last resort, since the installation documentation is very poor, I am trying to compile the sources available to download on the GE catalogue but on the last step of mvn install i get:

      root@ubuntu:/home/IoTBroker_OpenSource_3/eu.neclab.iotplatform.iotbroker.builder# mvn install
      [INFO] Scanning for projects...
      Downloading: http://scm.ops4j.org/repos/ops4j/projects/pax/runner-repository/eu/neclab/iotplatform/IoTbrokerParent/3.3.3/IoTbrokerParent-3.3.3.pom
      Nov 25, 2014 5:24:25 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultHttpClient tryConnect
      INFO: I/O exception (java.net.NoRouteToHostException) caught when connecting to the target host: No route to host
      Nov 25, 2014 5:24:25 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultHttpClient tryConnect
      INFO: Retrying connect
      Nov 25, 2014 5:24:30 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultHttpClient tryConnect
      INFO: I/O exception (java.net.NoRouteToHostException) caught when connecting to the target host: No route to host
      Nov 25, 2014 5:24:30 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultHttpClient tryConnect
      INFO: Retrying connect
      Nov 25, 2014 5:24:35 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultHttpClient tryConnect
      INFO: I/O exception (java.net.NoRouteToHostException) caught when connecting to the target host: No route to host
      Nov 25, 2014 5:24:35 PM org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultHttpClient tryConnect
      INFO: Retrying connect
      Downloading: http://repo.maven.apache.org/maven2/eu/neclab/iotplatform/IoTbrokerParent/3.3.3/IoTbrokerParent-3.3.3.pom
      [ERROR] The build could not read 1 project -> [Help 1]
      [ERROR]
      [ERROR] The project eu.neclab.iotplatform:iotbroker.builder:3.3.3 (/home/IoTBroker_OpenSource_3/eu.neclab.iotplatform.iotbroker.builder/pom.xml) has 1 error
      [ERROR] Non-resolvable parent POM: Could not transfer artifact eu.neclab.iotplatform:IoTbrokerParent:pom:3.3.3 from/to ops4j-runner-snapshot (http://scm.ops4j.org/repos/ops4j/projects/pax/runner-repository): No route to host and 'parent.relativePath' points at wrong local POM @ line 5, column 10 -> [Help 2]
      [ERROR]
      [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [ERROR]
      [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
      [ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

      Please advise what to do next. We need to get a fully working instance to develop an application for Phase 2.

      OS: Mac OS X (accessing the web interface), Ubuntu Server 14.04.1 x64 (installing and running the GE)

      Best Regards.

        Activity

        Hide
        pmbento Patrício Batista (Inactive) added a comment -

        I contacted the authors of the code and they gave me some pointers. Turns out one of the pom.xml files was pointing to a wrong version of the broker upon compilation (3.3.3). The current version provided in the same source code is 3.4.2 still there are no further instructions on how to run the generated files.

        Nevertheless, I managed to copy the code from the FIWARE Cloud image and run it on a local machine. I figured out I had to have another GE, the IoT Configuration Manager working parallel to the IoT Broker in order to manage the entities from which we will get data. Now, it seems that the XMLValidator code is giving me some trouble. I registered an entity via HTTP POST osgi9 directly with the configuration manager. Then I try to access it by communicating via osgi10 with the IoT broker. The IoT Broker communicates with the IoT DIscovery service and gets a response, but then the XMLValidator says the XML is wrong even tough it clearly is not. See below:

        This is the IoT Broker asking for the availability of a resource to the IoT ConfMan:
        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>

        Then IoT Broker gets:
        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.

        It is clearly seen by the received xml that at least the providingApplication is received but XMLValidator is not seeing this.

        Show
        pmbento Patrício Batista (Inactive) added a comment - I contacted the authors of the code and they gave me some pointers. Turns out one of the pom.xml files was pointing to a wrong version of the broker upon compilation (3.3.3). The current version provided in the same source code is 3.4.2 still there are no further instructions on how to run the generated files. Nevertheless, I managed to copy the code from the FIWARE Cloud image and run it on a local machine. I figured out I had to have another GE, the IoT Configuration Manager working parallel to the IoT Broker in order to manage the entities from which we will get data. Now, it seems that the XMLValidator code is giving me some trouble. I registered an entity via HTTP POST osgi9 directly with the configuration manager. Then I try to access it by communicating via osgi10 with the IoT broker. The IoT Broker communicates with the IoT DIscovery service and gets a response, but then the XMLValidator says the XML is wrong even tough it clearly is not. See below: This is the IoT Broker asking for the availability of a resource to the IoT ConfMan: 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> Then IoT Broker gets: 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. It is clearly seen by the received xml that at least the providingApplication is received but XMLValidator is not seeing this.
        Hide
        pmbento Patrício Batista (Inactive) added a comment -

        Also, the schema regarding context registration is:

        <xs:complexType name="ContextRegistration">
        <xs:sequence>
        <xs:element name="entityIdList" type="EntityIdList"
        minOccurs="0" maxOccurs="1" />
        <xs:element name="contextRegistrationAttributeList" type="ContextRegistrationAttributeList"
        minOccurs="0" maxOccurs="1" />
        <xs:element name="registrationMetaData" type="RegistrationMetaData"
        minOccurs="0" maxOccurs="1" />
        <xs:element name="providingApplication" type="xs:anyURI"
        minOccurs="1" maxOccurs="1" />
        </xs:sequence>
        </xs:complexType>

        And the error regards missing registrationMetaData when it is not even mandatory.

        Show
        pmbento Patrício Batista (Inactive) added a comment - Also, the schema regarding context registration is: <xs:complexType name="ContextRegistration"> <xs:sequence> <xs:element name="entityIdList" type="EntityIdList" minOccurs="0" maxOccurs="1" /> <xs:element name="contextRegistrationAttributeList" type="ContextRegistrationAttributeList" minOccurs="0" maxOccurs="1" /> <xs:element name="registrationMetaData" type="RegistrationMetaData" minOccurs="0" maxOccurs="1" /> <xs:element name="providingApplication" type="xs:anyURI" minOccurs="1" maxOccurs="1" /> </xs:sequence> </xs:complexType> And the error regards missing registrationMetaData when it is not even mandatory.
        Hide
        tjacobs Tobias Jacobs added a comment -

        Thank you for pointing out these issues.
        We are currently working on a new release to appear in a ffew weeks where these issues will be addressed.

        Show
        tjacobs Tobias Jacobs added a comment - Thank you for pointing out these issues. We are currently working on a new release to appear in a ffew weeks where these issues will be addressed.
        Hide
        gessler Stefan Gessler added a comment -

        The problem should have been already fixed with the release 4.1 .

        Show
        gessler Stefan Gessler added a comment - The problem should have been already fixed with the release 4.1 .

          People

          • Assignee:
            gessler Stefan Gessler
            Reporter:
            pmbento Patrício Batista (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: