Service Bus Explorer 2.1 adds support for Notification Hubs and Service Bus 1.1

The Service Bus Explorer 2.1 uses the Microsoft.ServiceBus.dllclient library which is compatible with the Service Bus for Windows Server 1.1, but not with the version 1.0. For this reason, I included the old version of the Service Bus Explorer in a zip file called 1.8 which in turn is contained in the zip file of the current version. The old version of the Service Bus Explorer uses the Microsoft.ServiceBus.dll 1.8 which is compatible with the Service Bus for Windows Server.

  • This functionality allows to clone and send the selected messages to a the same or alternative queue or topic in the Service Bus namespace. If you want to edit the payload, system properties or user-defined properties, you have to select, edit and send messages one at a time. In order to do so, double click a message in the DataGridView or right click the message and click Repair and Resubmit Selected Message from the context menu. This opens up the following dialog that allows to modify and resubmit the message or to save the payload to a text file.

Important Note: the Service Bus does not allow to receive and delete a peeked BrokeredMessage by SequenceNumber. Only deferred messages can by received by SequenceNumber. As a consequence, when editing and resubmitting a peeked message, there's no way to receive and delete the original copy.

  • The context menu allows to perform the following actions:
    • Create Notification Hub: create a new notification hub
    • Delete Notification Hubs: delete all the notification hubs defined in the current namespace.
    • Refresh Notification Hubs: refreshed the list of notification hubs.
    • Export Notification Hubs: exports the definition of all the notification hubs to a XML file.
    • Expand Subtree: expands the tree under Notification Hubs node.
    • Collapse Subtree: collapse the tree under Notification Hubs node.
  • The Create Notification Hub allows to define the path, credentials, and metadata for a new notification hub:

  • If you click an existing notification hub, you can view and edit credentials and metadata:

  • The Authorization Rules tab allows to review or edit the Shared Access Policies for the selected notification hub.

  • The Registrations buttons opens a a dialof that allows the registrations to query:

  • You can select one of the following options:
    • PNS Handle: this option allows to retrieve registrations by ChannelUri (Windows Phone 8 and Windows Store Apps registrations), DevieToken (Apple registrations), GcmRegistrationId (Google registrations)
    • Tag: this options allows to find all the registrations sharing the specified tag.
    • All: this options allows to receive n registrations where n is specified by the Top Count parameter. This value specifies also the page size. In fact, the tool supports registration data paging and allows to retrieve more data using the continuation mechanism.
  • The Registrations tab allows to select one or multiple registrations from the DataGridView.

  • The navigation control in the bottom of the registrations control allows to navigate through pages.
  • The DataGridView context menu provides access to the following actions:
    • Update Selected Registrations: update the selected registrations.
    • Delete Selected Registrations: delete the selected registrations.
  • The PropertyGrid on the right-hand side allows to edit the properties (e.g. Tags or BodyTemplate) of an existing registration.
  • The Create button allows to create a new registration. Select the registration type from the dropdownlist and enter mandatory and optional (e.g. Tags, Headers) information and click the Ok button to confirm.

  • The Template tab allows to send template notifications:
    • The Notification Payload read-only texbox shows the payload in JSON format.
    • The Notification Properties datagridview allows to define the template properties. 
    • The Notification Tags datagridview allows to define one or multiple tags. A separate notification is sent for each tag.
    • The Additional Headers datagridview allows to define additional custom headers for the notification.

  • The Windows Phone tab allows to send native notifications to Windows Phone 8devices.
    • The Notification Payload texbox shows the payload in JSON format. When the Manual option is selected in the dropdownmenu under Notification Template, you can edit or paste the payload direcly in the control. When any of the other options (Tile, Toast, Raw) is selected, this field is read-only.
    • The Notification Template dropdownlist allows to select between the following types of notification:
      • Manual
      • Toast
      • Tile
      • Raw
    • When Toast, Tile, or Raw is selected, the datagridview under the Notification Template section allows to define the properties for the notification, as shown in the figures below.
    • The Notification Tags datagridview allows to define one or multiple tags. A separate notification is sent for each tag.
    • The Additional Headers datagridview allows to define additional custom headers for the notification.

  • The Windows tab allows to send native notifications to Windows Store Apps running on Windows 8 and Windows 8.1.
    • The Notification Payload texbox shows the payload in JSON format. When the Manual option is selected in the dropdownmenu under Notification Template, you can edit or paste the payload direcly in the control. When any of the other options (Tile, Toast, Raw) is selected, this field is read-only.
    • The Notification Template dropdownlist allows to select between the following types of notification:
    • When Toast, Tile, or Raw is selected, the datagridview under the Notification Templatesection allows to define the properties for the notification, as shown in the figures below.
    • The Notification Tags datagridview allows to define one or multiple tags. A separate notification is sent for each tag.
    • The Additional Headers datagridview allows to define additional custom headers for the notification.

  • The Apple and Google tabs provides the ability to send, respectively, Apple and Gcm native notifications. For brevity, I omit the description of the Apple tab as it works the same way as the Google one. 
    • The Json Payload texbox allows to enter the payload in JSON format.
    • The Notification Tags datagridview allows to define one or multiple tags. A separate notification is sent for each tag.
    • The Additional Headers datagridview allows to define additional custom headers for the notification.

  • Added the possibility to select and resubmit multiple messages in a batch mode from the Messages and Deadletter tabs of queues and subscriptions. It's sufficient to select messages in the DataGridView as shown in the following picture, right click to show the context menu and choose Resubmit Selected Messages in Batch Mode.

  • Minor changes

    • Fixed code of the Click event handler for the Default button in the Options Form.
    • Replaced the DataContractJsonSerializer with the JavaScriptSerializer class in the JsonSerializerHelper class.
    • Fixed a problem when reading Metrics data from the RESTul services exposed by a Windows Azure Service Bus namespace.
    • Changes the look and feel of messages in the Messages and Deadletter tabs of queues and subscriptions.
    • Introduced indent formatting when showing and editing XML messages.

    You can download the tool from MSDN Code Gallery.

Comments

  • Anonymous
    February 13, 2014
    I can connect to SQL Server on production domain using the RUNAS command with /netonly flag.  I've tried this method with Service Bus explorer 2.1, but no success.  Is there a way to connect to Service Bus using Service Bus Explorer across different domain?

  • Anonymous
    February 16, 2015
    The comment has been removed

  • Anonymous
    February 16, 2015
    Hi Radha First of all I need to know which version of the Service Bus Explorer you are talking about ;) If you talk of the 2.4 on, the tool tries to understand if the payload is in text or binary format. If the payload is in text format (e.g. JSON or XML) it shows the message in text format, otherwise it shows the message in binary format. Ciao Paolo

  • Anonymous
    February 17, 2015
    Hi Paolo, I am using version 2.5.3.1 of service bus explorer. My requirement that I should not show any thing in the Message text.I do not want to send the object/payload data (which increases the size of the message). I just want to send the Table name (in which the actual data object is stored in message properties) and the Partition Key in the BrokeredMessage object to the queue. So want to know from where this message test is populated and make it empty/NULL so that nothing would me shown in the message text area.... Thanks, Radha.

  • Anonymous
    February 17, 2015
    Populating the payload when you create a BrokeredMessage is not mandatory. you can leave it null and just send data as items of the Properties collection. Just pass null to the BrokeredMessage constructor. In my tool, leave the Message Text empty. Ciao Paolo

  • Anonymous
    February 17, 2015
    Superb it working! I was sending the Partition Key in the constructor....now removed it ! Thanks a Lot Paolo!!! Regards, Radha.