URI Format

WAMP uses URIs (Uniform Resource Identifiers) to identify topics, registered procedures, and errors. All of these form a single, global, hierarchical namespace.

To avoid resource naming conflicts, WAMP follows the package naming convention from Java, where URIs should begin with (reversed) domain names owned by the organization defining the URI.

So for a company using the domain “expressweasel.com” an URL for a login procedure could be

com.expressweasel.user.login

URI format rules

Crossbar.io implements the strict URI conventions from the WAMP specification. This is in order to assure that URIs are valid identifiers across as many languages as possible.

This means:

  • Allowed characters are lower case letters, numbers, ‘.’ and ‘_’. (Lower case letters are used to ensure compatibility with languages which have case-insensitive identifiers.)

  • There can be no non-empty parts between the separating full-stops, e.g. com.expressweasel.user..start is not a valid URI. (It could be used as part of patter-based subscriptions/registrations though.)

  • wamp as an inital URI part is not allowed, since this is reserved for URIs predefined with the WAMP protocol itself.

  • crossbar as an initial URI part is not allowed, since this is used by Crossbar.io itself for internal messaging.