Quantcast
Channel: Service Bus forum
Viewing all 1916 articles
Browse latest View live

Which WindowsAzure ServiceBus versions are compatible with WindowsServer ServiceBus 1.1

$
0
0

Perusing the service bus release notes I find that 1.1 contains all the neat great features of Windows Azure 2.2 ( as stated under the section titled Service Bus Runtime Improvementshttp://msdn.microsoft.com/en-us/library/windowsazure/dn282143.aspx ) and includes a link to Windows Azure 2.2.

When I use nuget to install Azure Service Bus and the Web Platform Installer to install Service Bus 1.1, the two are incompatible.

With a little playing around I find that everything up to 2.1.4 of Windows Azure works with Service Bus 1.1, but going to 2.2.0 or higher breaks the compatibility.

So it would seem thatWindows Server Service Bus 1.1 DOES NOT SUPPORT Azure 2.2, only Azure 2.1.

Is this a true statement?



Is there an offline install option for Local Service Bus 1.1 ... I can only find the Web Platform Installer method

$
0
0

Some of our clients won't allow internet connectivity for their servers and we have to have the install media available via USB stick.

What are the install options for the Azure Pack: Service Bus 1.1 install?

Optimum number of clients for service bus

$
0
0

Hi

I'm new to service bus and kind of analyzing its capabilities. We're having a debate over whether we should have a front end component (most probably a REST service) sit in front of the service bus and off load incoming requests from clients OR we should allow clients to connect directly to service bus and long poll.

I'm looking for opinions and best practices. We could have up to 20000 clients long polling service bus. How does either approach affect scalability of the solution? What other things should be considered?

Appreciate peoples input on this. Thank you!

AMQP on Service Bus 1.1 (On-Premise)

$
0
0

Hi,  I would like to Use Windows Service Bus 1.1 on premise using the AMQP transport type from my .Net (and Java) applications. 

I have two questions:

Are the queues and topics I create via the .NetMessaging client, visible from an AMQP client ?

and

Can anyone guide me on how to create a connection string using the AMQP transport type to an on-premise Service bus ?  All the documentation I can find only mentions connecting to an Azure implementation.  (.Net and Java please).

(especially regarding Secret Issuer Name, and Secret. Where are these set ? )

Thanks

Geoff.

Service bus Name space share access policy name issue

$
0
0

The service bus namespace shared access policy is not so robust in the management portal.The name with the special charactor is not Actually allowed but the same can be created using the service bus library porgrammatically.

In other words,we are able to create a Service bus name space shared access policy with the name "!!!" programmatically using service bus library.But Actually the same is not allowed in Azure management portal.

SQL Server 2005

$
0
0

We are, for at least another year, stuck with platforms with SQL Server 2005 and we are about to launch a big project based on Service Bus 1.0 (on-premise). I know that prerequisites states SQL Server 2008 or newer, but I just wanted to know if someone tried to run on a SQL Server 2005 :)

Thanks

/Johan

Lost message body in Topics

$
0
0

I've done the sample from the Scott Gu blog. I've tried only Python and PHP clients (with Proton-C libs), not Java. All libraries are downloaded on Nov.29, 2013.

The strange things:

  • All messages went through, received as sent but not strings which done from one symbol "1" or "0". In this case the delivered message body is empty. Strings as "2", "3", "00", "11" come without lost. 
  • A junk symbol is delivered for all messages, as it described in this post.

Seems there is something in rules for subscriptions (1 ~ True, 0 ~ False). But if this a feature, it still looks unnatural.


Leonid Ganeline [BizTalk MVP] BizTalk Development Architecture

Call to NotificationHub.RegisterNativeAsync() throws RegistrationMismatchedETagException

$
0
0

Hi all,

I'm trying to add toast notifications to my Windows Phone 8 app using a Service Bus Notification Hub. My implementation is based on this tutorial but the code in my app have been slightly restructured.

The toast notifications works fine to begin with. My backend is able create the notification and it is received and displayed by the phone. However after the app has been starter a number of times (varies) a RegistrationMismatchedETagException exception is thrown from the call to NotificationHub.RegisterNativeAsync(). When it first starts happening then all calls to the method throws the exception. Only way to get rid of it is to uninstall and reinstall the app.

The full exception details is:

--------

HTTP request failed.

HTTP Details:
Status: 412
Reason: Precondition Failed
Full content: <Error><Code>412</Code><Detail>The ETag header is either missing or invalid. It should be "*", or a quoted ETag..TrackingId:56aaf5ae-573f-4310-bdaf-2a7c857916ea_G11,TimeStamp:12/2/2013 10:21:40 AM</Detail></Error>

--------

and the stack trace is:

--------

   at Microsoft.WindowsAzure.Messaging.Http.Internal.HttpChannel.ProcessResponse(HttpResponse response, Func`2[] handlers)
   at Microsoft.WindowsAzure.Messaging.Http.Internal.HttpChannel.<>c__DisplayClass4.<SendAsyncInternal>b__3(Task`1 t)
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

--------

The problem occurs on both an actual device and in the emulator.

The relevant part of my mobile phone code is:

        private static NotificationHub _notificationHub = new NotificationHub(<name of the notification hub>, <DefaultListenSharedAccessSignature of the notification hub>);
        private static HttpNotificationChannel _httpNotificationChannel;

        private void Application_Launching(object sender, LaunchingEventArgs e)
        {
            _httpNotificationChannel = HttpNotificationChannel.Find("MyPushChannel");
            if (_httpNotificationChannel == null)
            {
                _httpNotificationChannel = new HttpNotificationChannel("MyPushChannel");
                _httpNotificationChannel.Open();
                _httpNotificationChannel.BindToShellToast();
            }
            _httpNotificationChannel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(async (o, args) =>
            {
                await UpdateNotificationHubNotifications();
            });
        }

        public static async Task UpdateNotificationHubNotifications()
        {
            if (_httpNotificationChannel.ChannelUri != null)
            {
                List<string> tags = new List<string>();
                tags.Add("user:all");
                if (!string.IsNullOrWhiteSpace(Settings.Instance.Username))
                {
                    tags.Add("user:" + Settings.Instance.UserId);
                }
                try
                {
                    await _notificationHub.RegisterNativeAsync(_httpNotificationChannel.ChannelUri.ToString(), tags);
                }
                catch (Exception e)
                {
                    MessageBox.Show("Exception calling RegisterNativeAsync(): " + e.Message);
                }
            }
        }

Note that the UpdateNotificationHubNotifications() methos id called not only from the HttpNotificationChannel.ChannelUriUpdated event handler but also when the app is started and when the user logs in and out.I have searched the web for RegistrationMismatchedETagException and have not found anybody else that has the same problem. And also it puzzles me that it works to begin with but then after two or three app restarts it starts throwing the exception.

All help will be strongly appreciated.

Thanks

Jimmi


Service Bus Relay memory leak

$
0
0

Hi.

Looks like Service bus relay has memory leak on client side when listener does not listen.

There is 1 listener, 1 client.
Client sends one way messages to listener, and if message processed channel closed, otherwise (when there is no listener) channel aborted.
This is code (message sent from timer with 1 sec delay for test purposes) of sending message function:

void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            _timer.Stop();
            Debug.WriteLine("Timer stopped");
            var channel = _cf.CreateChannel();
            try
            {
                var msg = new HeartbeatMessage
                {
                    MessageId = DateTime.UtcNow.ToString("o")
                };

                if (channel != null)
                {
                    channel.ProcessHeartbeat(msg);
                    channel.Close();
                    Debug.WriteLine("Channel closed");
                }
            }
            catch (Exception hbChannelEx)
            {
                if (channel != null)
                {
                    channel.Abort();
                    Debug.WriteLine("Channel aborted");
                }

                            }
            finally
            {
                if (channel != null)
                {
                    channel.Dispose();
                    Debug.WriteLine("Disposed");
                }
            }
             _timer.Start();
            Debug.WriteLine("Timer Started");
        }
In the code above channel created from channel factory (

_cf = newChannelFactory<IHeartbeatListenerClientChannel>("Azure_NetTcpRelayClientEndpoint");

) and used to call method ProcessHeartBeat();
If there is listener -> no exception raised-> channel closed. Otherwise channel aborted.
Next timer loop everything is repeated.

Now the problem. If there is no listener client channel aborted and memory is leaking. Look at attached screenshot below.

 Memory profiling session is here: Memory profiling session for the image above

I did experiment, created local service which implements same service Interface and redirected client to local service (via channel factory config) using BasicHttpBinding.

Same test steps, service listening, and service down. Look at this picture:

With local service no memory leak.

Bug -((



Push Notification System is throttling the app

$
0
0
I have been testing the Notification Hub and am not clear about service delivery. Sometimes notification arrives as soon as it is sent and sometimes it doesn't arrive for many minutes. When I use SB Explorer I sometimes get 'The Push Notification System is throttling the app'. The question is, when does the system start throttling? I am doing testing and by no means I am generating a lot of notifications. And if the system is throttling, how do I know the capacity of the system?

Frank

"No service is hosted at the specified address" when accessing SB 1.1

$
0
0

Hi,

I've installed Service Bus for Windows Server 1.1 Preview on my Windows 8 Pro dev machine with SQL Express. My account is local administrator.

Although checking if a queue exists seems to work (at least, not generating any error), I got an exception when trying to create a queue, saying "No service is hosted at the specified address".

I believe my connection string is valid:
Endpoint=sb://additive/additive;StsEndpoint=https://additive:9355/additive;RuntimePort=9354;ManagementPort=9355;WindowsUsername=Thomas;WindowsDomain=additive;WindowsPassword=<MY_PASSWORD>

Any help would be appreciated.
Thanks
Thomas

Generic: There was an authorization failure. Make sure you have specified the correct SharedSecret, SimpleWebToken or Saml transport client credentials.

$
0
0

Hi this Ngkprasad,

Please help me in the below issue-

Generic: There was an authorization failure. Make sure you have specified the correct SharedSecret, SimpleWebToken or Saml transport client credentials.

I have worked on an example of the client and service example using azure namespace and using servicebus concept. I am getting the above mentioned error. when ever host.open() called.

thanks.

PeekLock makes multiple queue clients operate sequentially?

$
0
0

We have 4 worker processes on 4 servers using 4 queue clients onto the same queue. We hoped for nice load balancing but have to use PeekLock and it seems everything is being processed sequentially.

If clientA is processing a message with PeekLock then do clients B, C and D just sit and wait until A completes or abandons the message?

Does this mean you can't load balance a queue with PeekLock?

Effect of SubscriptionClient.Close on pending requests

$
0
0

Hi,

What's the effect of SubscriptionClient.Close on pending requests?

Are they supposed to throw, never complete or return some default values?

Thanks.

Unable to register channel uri

$
0
0

(I submitted this to StackOverflow a few days ago with no results http://stackoverflow.com/questions/20526705/invaliddatacontractexception-using-azure-notification-hub)

I'm following this article on how to notify users using Notification Hub push notifications (http://www.windowsazure.com/en-us/manage/services/notification-hubs/notify-users-aspnet/) and what doesn't work is trying to create a new Window registration using:

registration = await hubClient.CreateWindowsNativeRegistrationAsync(reg.ChannelUri, new string [] { reg.InstallationID, user._id });

Everytime it gets to this bit of code it fails with an InvalidDataContractExcepton. I realise this is to do with serialisation but the serialisation is happening behind the scenes in the Microsoft.ServiceBus where it's failing. I'm passing in valid uri's as strings and everything compiles fine. After keeping on experiencing this I decided to hardcode the uri as a string, that too failed with the following:

"Unsupported channel uri: http://test.com"

Still no idea how and why this happens. Passing in a uri doesn't compile.

I've inspected the request using Fiddler and can confirm the request is never sent.

Full code:

public async Task<bool> NotificationRegistration(User user, NotificationRegistration reg)
{
  var regs = await hubClient.GetRegistrationsByTagAsync(reg.InstallationID, 100);

  bool updated = false;
  bool firstRegistration = true;
  RegistrationDescription registration = null;

  foreach (var regDescription in regs)
  {
    if (firstRegistration)
    {
      regDescription.Tags = new HashSet<string>() { reg.InstallationID, user._id };

      // We need to handle each platform separately.
      switch (reg.Platform)
      {
        case "WP":
          var winReg = regDescription as WindowsRegistrationDescription;
          winReg.ChannelUri = new Uri(reg.ChannelUri);
          registration = await hubClient.UpdateRegistrationAsync(winReg);
          break;
      }
      updated = true;
      firstRegistration = false;
    }
    else
    {
      // We shouldn't have any extra registrations; delete if we do.
      await hubClient.DeleteRegistrationAsync(regDescription);
    }
  }

  // Create a new registration.
  if (!updated)
  {
    switch (reg.Platform)
    {
        case "WP":
        //always fails here
        registration = await hubClient.CreateWindowsNativeRegistrationAsync(reg.ChannelUri, new string [] { reg.InstallationID, user._id });
            break;
    }
  }
}



Cancellation support for SubscriptionClient.ReceiveAsync

$
0
0

Hi,

Is there any way to cancel pending ReceiveAsync request?

Thanks.

Relay and routing in REST WCF service

$
0
0

Hi,

Is it possible to build HTTP/REST WCF as RELAY service including ROUTING in HTTP?

Plz. provide links for reference.

Which binding is used? (webhttpbinding or relay binding)

Thanks in advance

Azure Service Bus 2.1, config changes

$
0
0

I have some code in a config file from an old project:

<extensions>

      <behaviorExtensions>

        <addname="transportClientEndpointBehavior"

            type="Microsoft.ServiceBus.Configuration.TransportClientEndpointBehaviorElement, Microsoft.ServiceBus, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

      </behaviorExtensions>

      <bindingExtensions>

        <addname="netTcpRelayBinding"

            type="Microsoft.ServiceBus.Configuration.NetTcpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

      </bindingExtensions>

    </extensions>

I now have the 2.1 SDK on my machine so my SB dll is v2.1.  I’ve tried running ‘sn –T’ against the assembly but apparently it isn’t strongly signed. Is the public key token the same as in v1.8?

Also, in 1.8, I used to be able to create my client credential like you see below, but it appears that transportClientEndpointBehavior no longer exists.  What would be the correct way to do the shared key?

<behaviors>

      <endpointBehaviors>

        <behaviorname="serviceBusCredentialBehavior">

          <transportClientEndpointBehaviorcredentialType="SharedSecret">

            <clientCredentials>

              <sharedSecretissuerName="[MY ISSUER NAME]"

                           issuerSecret="[MY KEY]”/>

            </clientCredentials>

          </behavior>

      </endpointBehaviors>

    </behaviors>


STom

Service Bus 1.0 for windows server configuration failed "The fabric data collection agent is desabled for this deployment"

$
0
0

We are trying to install servicebus 1.0 for windows server in our office. However, we got error message below. Anyone can help us?

Authorization needed to call TopicClient.SendBatch (Service Bus 1.0 for Window Server)

$
0
0

Hi,
I'm using Service Bus 1.0 for Windows Server (on premise) and I am tring to call TopicClient.SendBatch().
In the (Windows) user making the call is 'manage user' on the entire namespace, the call works fine.

If the user has onlysend and listen rights on a specific topic, the call toTopicClient.SendBatch() throws the following exception:
Unhandled Exception: System.UnauthorizedAccessException: 40100: Unauthorized.TrackingId:ed93d168-36a8-4357-b4755b0d679a2165_G******_G******,TimeStamp:19.12.2013 13:37:00 ---> System.ServiceModel.FaultException: 40100: Unauthorized. TrackingId:ed93d168-36a8-4357-b475-5b0d679a2165_G*******_G********,TimeStamp:19.12.2013 13:37:00

If I call TopicClient.Send(), with the above permissions, the call works fine.

The send and listen permissions are granted from code, as follows: 

topicDescription.Authorization.Add(
       new AllowRule("NamespaceName", "nameidentifier", "machine\\username", 
new List<AccessRights> { AccessRights.Listen, AccessRights.Send }));

All users are local Windows users, not domain accounts - no special permissions, just simple accounts members of the local 'Users' group. Both the client and the SB server are on the same machine.

Does anyone know if this is expected, or if the authorization should be set-up in another way?
---------------------------

The full stack trace is:

System.UnauthorizedAccessException occurred
  HResult=-2147024891
  Message=40100: Unauthorized.TrackingId:d2f234f1-b8bf-4b4b-8abf-a1dea7da11ff_G****-PC,TimeStamp:19.12.2013 15:44:41
  Source=Microsoft.ServiceBus
  StackTrace:
       at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.EndSendCommand(IAsyncResult result)
       at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnEndSend(IAsyncResult result)
       at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnSend(TrackingContext trackingContext, IEnumerable`1 messages, TimeSpan timeout)
       at Microsoft.ServiceBus.Messaging.MessageSender.Send(TrackingContext trackingContext, IEnumerable`1 messages, TimeSpan timeout)
       at Microsoft.ServiceBus.Messaging.MessageSender.SendBatch(IEnumerable`1 messages)
       at Microsoft.ServiceBus.Messaging.TopicClient.SendBatch(IEnumerable`1 messages)
       at...
  InnerException: System.ServiceModel.FaultException
       HResult=-2146233087
       Message=40100: Unauthorized.TrackingId:d2f234f1-b8bf-4b4b-8abf-a1dea7da11ff_G****-PC,TimeStamp:19.12.2013 15:44:41
       Source=Microsoft.ServiceBus
       Action=http://schemas.microsoft.com/servicebus/2010/08/protocol/Fault
       StackTrace:
         Server stack trace: 
            at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.ThrowIfFaultMessage(Message wcfMessage)
            at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.HandleMessageReceived(IAsyncResult result)
         Exception rethrown at [0]: 
            at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
            at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.DuplexCorrelationAsyncResult.End(IAsyncResult result)
            at Microsoft.ServiceBus.Messaging.Sbmp.DuplexRequestBindingElement.DuplexRequestSessionChannel.EndRequest(IAsyncResult result)
            at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.RequestAsyncResult.<GetAsyncSteps>b__4(RequestAsyncResult thisPtr, IAsyncResult r)
            at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
         Exception rethrown at [1]: 
            at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
            at Microsoft.ServiceBus.Common.AsyncResult`1.End(IAsyncResult asyncResult)
            at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.EndRequest(IAsyncResult result)
            at Microsoft.ServiceBus.Messaging.Sbmp.RedirectBindingElement.RedirectContainerChannelFactory`1.RedirectContainerSessionChannel.RequestAsyncResult.<>c__DisplayClass17.<GetAsyncSteps>b__a(RequestAsyncResult thisPtr, IAsyncResult r)
            at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
         Exception rethrown at [2]: 
            at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
            at Microsoft.ServiceBus.Common.AsyncResult`1.End(IAsyncResult asyncResult)
            at Microsoft.ServiceBus.Messaging.Sbmp.RedirectBindingElement.RedirectContainerChannelFactory`1.RedirectContainerSessionChannel.EndRequest(IAsyncResult result)
            at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.RequestAsyncResult.<GetAsyncSteps>b__4(RequestAsyncResult thisPtr, IAsyncResult r)
            at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
         Exception rethrown at [3]: 
            at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
            at Microsoft.ServiceBus.Common.AsyncResult`1.End(IAsyncResult asyncResult)
            at Microsoft.ServiceBus.Messaging.Channels.ReconnectBindingElement.ReconnectChannelFactory`1.RequestSessionChannel.EndRequest(IAsyncResult result)
            at Microsoft.ServiceBus.Messaging.Sbmp.SbmpTransactionalAsyncResult`1.<GetAsyncSteps>b__36(TIteratorAsyncResult thisPtr, IAsyncResult a)
            at Microsoft.ServiceBus.Messaging.IteratorAsyncResult`1.StepCallback(IAsyncResult result)
         Exception rethrown at [4]: 
            at Microsoft.ServiceBus.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
            at Microsoft.ServiceBus.Common.AsyncResult`1.End(IAsyncResult asyncResult)
            at Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.EndSendCommand(IAsyncResult result)


Viewing all 1916 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>