Please Vote &/or "Mark As Answer" if this post is helpful to you. Thanks and happy coding :D
Best Method To Monitor WebApi POST
Static WCF Relay
Hi ,
Could someone tell me What is the usage of the new portal static WCF relays (Is Dynamic false as above image).
Cheers,
Madura
WCF Relay changes in new portal
Hi,
Here I'm referring the url https://azure.microsoft.com/en-us/blog/service-bus-and-the-new-azure-portal/.
Does breaking relay services out into their own namespaces have been changed the old architecture of the service bus or is it still same as the https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-architecture.
Cheers,
Madura
Can't uninstall service bus
Hi,
When trying to uninstall Service Bus i get this error:
"This computer is part of a farm. To uninstall, first leave the farm either using 'Leave from Farm' option in Service Bus Configuration tool or Remove-SBHost cmd-let in PowerShell."
When trying the Remove-SBHost powershell command I get this error:
"Remove-SBHost : Certificate requested with thumbprint EC808B911009F8A8E21FE73DE5216E6B596527F4 not found in the certificate store LocalMachine\My."
When trying to open the configuration tool it just craches with this information in the eventlog:
Application: Microsoft.ServiceBus.ConfigWizard.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Windows.Markup.XamlParseException
How can I uninstall the Service Bus?
TR
Need assistance in creating eventhub using REST api
Hello,
I am able to find the documentation for creating eventhub using management api through REST, but I am still struggling with that. (https://docs.microsoft.com/en-us/rest/api/eventhub/eventhubs?redirectedfrom=MSDN)
I am looking at examples like provide in this link of send events REST of eventhub (https://msdn.microsoft.com/en-us/library/azure/dn790664.aspx?f=255&MSPPError=-2147217396)
Please assist me with that.
Thanks,
Varun Verma
amqp1.0 using sasl PLAIN
Hi Microsoft,
currently im developing my own amqp1.0 client, i have done with basic implementation , Now started implementing SASL support for my amqp client, I started with SASL PLAIN and took help of rabbitmq as my broker with plugin enabled to support 1.0
please find the attached wireshark logs in link
let me know am i missing anything, in my log i see version negotiation, sasl negotiation,version negotiation, amqp open, is success but i didnt understood why amqp session is failed in this case broker is replying with amqp close.
Please help me in understanding the issue.
below info from captured packet
IN CLOSE PACKET i see as below in description
Reader error: {badmatch,
{error,
{'EXIT',
{{badmatch,
{error,
{{{badmatch,{error,not_allowed}},
[{rabbit_amqp1_0_session_process,init,1,
[{file,"src/rabbit_amqp1_0_session_process.erl"},
{line,45}]},
{gen_server2,init_it,6,
[{file,"src/gen_server2.erl"},{line,559}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,247}]}]},
{child,undefined,channel,
{rabbit_amqp1_0_session_process,start_link,
[{0,<0.340.0>,<0.345.0>,
{user,<<"guest1">>,
[administrator],
[{rabbit_auth_backend_internal,none}]},<<"/">>,4294967287,
{amqp_adapter_info,
{0,0,0,0,0,65535,2600,527},
5672,
{0,0,0,0,0,65535,2600,549},
50007,<<"10.40.2.37:50007 -> 10.40.2.15:5672">>,
{'AMQP',"1.0"},
[{ssl,false}]},<0.342.0>}]},
intrinsic,4294967295,worker,
[rabbit_amqp1_0_session_process]}}}},
[{rabbit_amqp1_0_session_sup,start_link,1,
[{file,"src/rabbit_amqp1_0_session_sup.erl"},{line,54}]},
{supervisor2,do_start_child_i,3,
[{file,"src/supervisor2.erl"},{line,437}]},
{supervisor2,handle_call,3,
[{file,"src/supervisor2.erl"},{line,463}]},
{gen_server,try_handle_call,4,
[{file,"gen_server.erl"},{line,615}]},
{gen_server,handle_msg,5,
[{file,"gen_server.erl"},{line,647}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,247}]}]}}}}
[{rabbit_amqp1_0_reader,send_to_new_1_0_session,3,
[{file,"src/rabbit_amqp1_0_reader.erl"},{line,665}]},
{rabbit_amqp1_0_reader,handle_1_0_session_frame,3,
[{file,"src/rabbit_amqp1_0_reader.erl"},{line,449}]},
{rabbit_amqp1_0_reader,handle_1_0_frame,4,
[{file,"src/rabbit_amqp1_0_reader.erl"},{line,303}]},
{rabbit_amqp1_0_reader,recvloop,2,
[{file,"src/rabbit_amqp1_0_reader.erl"},{line,119}]},
{rabbit_reader,run,1,[{file,"src/rabbit_reader.erl"},{line,427}]},
{rabbit_reader,start_connection,4,
[{file,"src/rabbit_reader.erl"},{line,385}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]
Thanks & Regards,
Teja.
communicating azure using AMQP and SASL plain as security mechanism
HI Microsoft,
Please may i know how to communicate azure using AMQP 1.0 ( my own amqp client implementation)
Is sasl PLAIN is supported ?
if yes from connection string how can i get the authorization id, authentication id and password?
Please answer asap, Thanks in advance
Getting AMQP exception trying to open connection to Azure Service bus relay
I have configured an Azure Service bus relay for allowing an application behind the firewall to open a WCF connection to allow third-parties to connect to it. The third-party in this case is a web api running on Azure that provides services for a mobile app. This has worked fine for around a month now: the mobile app contacts Azure web api, which relays calls thru the service bus relay to an installation behind the firewall. But just this morning I started running into problems. The issue occurs when the application attempts to open the service host.
(Note: running in debug mode Visual Studio 2015, .NET Framework 4.5.2).
The Service Host is configured here:
ServiceHost mobileService =null;...var azureBinding =newNetTcpRelayBinding();
azureBinding.MaxBufferSize*=10;
azureBinding.MaxBufferPoolSize*=10;
azureBinding.MaxReceivedMessageSize*=10;
mobileService.AddServiceEndpoint(typeof(IActMobileService),
azureBinding,ServiceBusEnvironment.CreateServiceUri("sb","<sbname>", uniqueAzureID)).EndpointBehaviors.Add(newTransportClientEndpointBehavior{TokenProvider=TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey","<privatekey>")});try{
mobileService.Open();// this is where the Exception occurs}catch(Exception ex){...}
The exception thrown is an AMQP exception. Exception thrown: 'Microsoft.ServiceBus.Messaging.Amqp.AmqpException' in Microsoft.ServiceBus.dll Exception thrown: 'System.ServiceModel.CommunicationException' in Microsoft.ServiceBus.dll An AMQP error occurred (condition='amqp:internal-error').
Here's the stack trace:
at Microsoft.ServiceBus.RelayedOnewayListener.RelayedOnewayAmqpListenerClient.AmqpRelayedConnection.Open(TimeSpan timeout) at Microsoft.ServiceBus.RelayedOnewayListener.RelayedOnewayAmqpListenerClient.GetOrCreateConnection(Uri via, TimeSpan timeout) at Microsoft.ServiceBus.RelayedOnewayListener.RelayedOnewayAmqpListenerClient.Connect(TimeSpan timeout) at Microsoft.ServiceBus.RelayedOnewayTcpClient.EnsureConnected(TimeSpan timeout, Boolean isRetry) at Microsoft.ServiceBus.RelayedOnewayTcpClient.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at Microsoft.ServiceBus.RelayedOnewayListener.OnOpen(TimeSpan timeout) at Microsoft.ServiceBus.Channels.RefcountedCommunicationObject.Open(TimeSpan timeout) at Microsoft.ServiceBus.RelayedOnewayChannelListener.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at Microsoft.ServiceBus.RelayedSocketListener.Open(TimeSpan timeout) at Microsoft.ServiceBus.Channels.BufferedConnectionListener.Open(TimeSpan timeout) at Microsoft.ServiceBus.SocketConnectionTransportManager.OnOpen(TimeSpan timeout) at Microsoft.ServiceBus.Channels.TransportManager.Open(TimeSpan timeout, TransportChannelListener channelListener) at Microsoft.ServiceBus.Channels.TransportManagerContainer.Open(TimeSpan timeout, SelectTransportManagersCallback selectTransportManagerCallback) at Microsoft.ServiceBus.Channels.TransportChannelListener.OnOpen(TimeSpan timeout) at Microsoft.ServiceBus.Channels.ConnectionOrientedTransportChannelListener.OnOpen(TimeSpan timeout) at Microsoft.ServiceBus.SocketConnectionChannelListener`2.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) at HostActEnterprise.StartApp.OpenTheHost() in C:\Users\tony.scannell\Source\Workspaces\ACTEnterprise\Development\Service\HostActEnterprise\StartApp.cs:line 403
I have tried getting diagnostics thru the Azure portal, but it reports nothing. I have Googled for this specific error and cannot find any resolution. Since I have done nothing different with the code since last week (when it worked fine!) I am at a loss as to what is happening.
Service bus AMQP error on production
Dear Support,
We are having problems with our Azure Service bus which is running on our production machines. It is impossible for clients to open a new connection to the relay agent. Which results in a AMQP internal error.
The strange thing is, the service bus on our test environment works perfectly..
We're clueless at this moment.
Can you assist us in this matter?
Kind regards,
Rick
REST Endpoint Uri for Topic Get Operation
Hi ,
My requirement is to get the service bus topic message count in run time . For this I am using the rest API documentation and can found the link associated https://docs.microsoft.com/en-us/rest/api/servicebus/topics#Topics_Get . When i tried with the uri mentioned in the document I always get atom feed response
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}?api-version=2016-07
I can see the documentation is bit old one . Can anyone point me with correct uri format to get Topic properties listed in response.
Thanks
Abhishek
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply
Azure Event Hubs and maximum 20 consumer groups ... increase possible?
Unpredictable latency for writing into Event Hub
We are experience unpredictable latencies for writing into an Event Hub. In general the synchronous write to Event Hub returns in under 100ms. But in 1-2% of the writes we see up to 10.000ms latency. I dont't think it's a client problem, because I run multiple producers on different machines and all experience the same delays at the same time.
Producers use the Java SDK 0.9.0; Event Hub has 10 partitions; 1.1 Million Events are inserted into Event Hub over 30 Minutes; There are 2 Producers (2 VM in the same Azure Region as the Event Hub) each has 50 Threads to insert events.
Any idea if this is the normal behavior of Event Hub - or can we do something to prevent theses long delays?
Kind regards, André
Design question - real time weather data application
Hi
We currently have a weather data application that does the following;
- Several console applications runs as web jobs. They read data from different weather stations every x second (xml, json,...). Data is posted (async) to the same "hub" website the web jobs are running on.
- Using web.api from other websites, we read weather data and generate weather data UI elements as seen on this page,http://www.geilofjellandsby.no/vaeret.
- We do not save any data (SQL/Storage).
This work well and is a stable service. But we plan to add more weather sensor/locations and also store weather data (SQL) for statistics. I do not think our current solution scales well and we want to redesign this solution. Can the Azure service bus be the heart of this solution? How can we use Azure components to create a scalable and near real time solution?
Best regards
Jon Ivar Nielsen
Create service bus with resource group
Hi,
I would like to create Service Bus name space of messaging type with specific resource group provided instead of default one but I did not find parameter to specify resource group
Looks like we have the below cmdlet but it does not have parameter to specify resource group
New-AzureSBNamespace -name "testsb" -Location "West US" -NamespaceType "Messaging"
Any help would be appreciated
Thanks,
Praveen V
Notification Hub GetAllRegistrationsAsync only returning 100 items
I am using the Azure Servicebus - Notification Hub to send messages to apple devices.
I also want to be able to get a list of active devices and view some of the properties. I use the GetAllRegistrationsAsync(int32) call to get a list of users but I am only ever being returned 100 results where I can see from the Azure control panel that there are well over 100 active devices.
The code I am using is:
static void Main(string[] args) { SendNotificationAsync(); Console.ReadLine(); } private static async void SendNotificationAsync() { NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString("Endpoint=sb://nwappnotificationhub-ns.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","nwappnotificationhub"); var allusers = await hub.GetAllRegistrationsAsync(Int32.MaxValue); Console.WriteLine(allusers.Count()); for (int i = 0; i < 10; i++) { var q = from x in allusers where x.Tags.Count == i select x; Console.WriteLine("users with " + i + "tage: " + q.Count()); } }
From all the documentation and examples I have seen this should return a full list of devices.. however it is always 100
I have tried reducing the number I select to 50 and then I get 50 results back.
Below is the summary I can see from azure showing I have more than 100 active devices..
How to find the last reciever information from Azure Service Bus Queue management api
Partitioned Queue - Connection String
Hi,
For the CRM to Azure function integration, most of the sending of the messages and the receiving of the messages is handled automatically, if you use the OOB functionality. All you do is specify the connection strings on both ends, and that will do most things.
With the support for partioning queues, I wonder if there is anything you can do from the connection string level to send and receive messages to specific partitions (Is there a format to follow)? I know from a code level you can send to a particular partition, but it would be good to specify at the connection string level to automatically route all messages to a specific partition.
Then from a consumer level, using the connection string, point to a particular partition to receive the messages (on a side note, is it also possible to do this from a .NET level?).
Thanks
ServiceBus RBAC control
I believe the service bus has been fully ported to RM.
However, we have users who are assigned to the contributor role scoped to the subscription.
Their contributor role permissions are properly inherited to new resource groups.
However, neither the contributor role at subscription nor the contributor scoped at any resource groups has the service bus provider listed in the RBAC role permission set.
When a user who is a contributor at both subscription and resource group tries to create a service bus they get the following error:
"You don't have the required permission (Microsoft.ServiceBus/register/action)"
I attempted to resolve this with the following cmds:
$role = Get-AzureRmRoleDefinition "Contributor"
$role.AssignableScopes.Add("/subscriptions/<MYSUBSCRIPTONGUID>")
$role.Actions.Add("Microsoft.ServiceBus/*")
Set-AzureRmRoleDefinition -Role $role
This fails because I am not authorized even though I am a Subscription Admin (ie coadmin).
We wish to manage permission to the service bus the same way we manage access to all ARM resources.
Please adivse why read\write access is not assigned to the servicebus provider on the contributror RBAC role.
Thanks!!
ESB Relay with webHttpRelayBinding binding IIS hosting
Hello,
I try to expose legacy LOB WCF service using webHttpBinding binding to the internet by refactoring it to use webHttpRelayBinding binding so it can be accessed through Azure ESB relay endpoint.
The service operates as expected when self-hosted in console app but we are not successful so far using IIS as the hosting environment.
We suspect that the issue we are facing is related to proper configuration of SSL support on our IIS server.
I had no lack so far in finding any detailed info related to set up of relays in Azure and what is required to properly configure IIS to host HTTP based requests coming through the relay endpoint.
Any help/input is appreciated
Regards
Jack
Here is response I am currently getting
<Reason>
<Text xml:lang="en-US">The message with Action 'GET' cannot be processed at the receiver,
due to a ContractFilter mismatch at the EndpointDispatcher.
This may be because of either a contract mismatch (mismatched Actions between sender and receiver)
or a binding/security mismatch between the sender and the receiver.
Check that sender and receiver have the same contract and the same binding (including security requirements,
e.g. Message, Transport, None).
</Text>
</Reason>
Here is web.config
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/>
<!-- Service Bus specific app setings for messaging connections -->
<add key="Microsoft.ServiceBus.ConnectionString"
value="Endpoint=sb://MyNamesapce.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=akey123456677777777777=;EntityPath=CalcSvc"/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5"/>
<httpRuntime targetFramework="4.5"/>
</system.web>
<system.serviceModel>
<protocolMapping>
<add binding="webHttpRelayBinding" scheme="http"/>
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="false"/>
<extensions>
<!-- In this extension section we are introducing all known service bus extensions. User can remove the ones they don't need. -->
<behaviorExtensions>
<add name="connectionStatusBehavior"
type="Microsoft.ServiceBus.Configuration.ConnectionStatusElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="transportClientEndpointBehavior"
type="Microsoft.ServiceBus.Configuration.TransportClientEndpointBehaviorElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="serviceRegistrySettings"
type="Microsoft.ServiceBus.Configuration.ServiceRegistrySettingsElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</behaviorExtensions>
<bindingElementExtensions>
<add name="netMessagingTransport"
type="Microsoft.ServiceBus.Messaging.Configuration.NetMessagingTransportExtensionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="tcpRelayTransport"
type="Microsoft.ServiceBus.Configuration.TcpRelayTransportElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="httpRelayTransport"
type="Microsoft.ServiceBus.Configuration.HttpRelayTransportElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="httpsRelayTransport"
type="Microsoft.ServiceBus.Configuration.HttpsRelayTransportElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="onewayRelayTransport"
type="Microsoft.ServiceBus.Configuration.RelayedOnewayTransportElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</bindingElementExtensions>
<bindingExtensions>
<add name="basicHttpRelayBinding"
type="Microsoft.ServiceBus.Configuration.BasicHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="webHttpRelayBinding"
type="Microsoft.ServiceBus.Configuration.WebHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ws2007HttpRelayBinding"
type="Microsoft.ServiceBus.Configuration.WS2007HttpRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="netTcpRelayBinding"
type="Microsoft.ServiceBus.Configuration.NetTcpRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="netOnewayRelayBinding"
type="Microsoft.ServiceBus.Configuration.NetOnewayRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="netEventRelayBinding"
type="Microsoft.ServiceBus.Configuration.NetEventRelayBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="netMessagingBinding"
type="Microsoft.ServiceBus.Messaging.Configuration.NetMessagingBindingCollectionElement, Microsoft.ServiceBus, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</bindingExtensions>
</extensions>
<bindings>
<!-- Application Binding -->
<webHttpRelayBinding>
<binding name="default" isDynamic="false">
<security relayClientAuthenticationType="None" />
</binding>
</webHttpRelayBinding>
</bindings>
<services>
<!-- Application Service -->
<service name="CalcSvcIIS.CalcService"
behaviorConfiguration="default">
<endpoint name="RelayEndpoint"
contract="CalcSvcIIS.ICalcService"
binding="webHttpRelayBinding"
bindingConfiguration="default"
behaviorConfiguration="sbTokenProvider"
address="https://ESBPLay.servicebus.windows.net/CalcSvc" />
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="sbTokenProvider">
<transportClientEndpointBehavior>
<tokenProvider>
<sharedAccessSignature keyName="RootManageSharedAccessKey" key="akey123456677777777777=" />
</tokenProvider>
</transportClientEndpointBehavior>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="default">
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" httpHelpPageEnabled="false" httpsHelpPageEnabled="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="POST, GET" />
<!--<add name="Access-Control-Max-Age" value="1728000" />-->
</customHeaders>
</httpProtocol>
<modules runAllManagedModulesForAllRequests="true" />
<!--
To browse web app root directory during debugging, set the value below to true.
Set to false before deployment to avoid disclosing web app folder information.
-->
<directoryBrowse enabled="true"/>
<applicationInitialization>
<add initializationPage="/CalcService.svc" />
</applicationInitialization>
</system.webServer>
</configuration>
How to send data to Event Hub by Arduino uno?
I have Arduino Starter kit. I found out that because of lack of SSL in Uno model, I cannot send data to IoT Hub.
Possible to send data to Event Hub anyway?
Does anybody know good tutorial or sample code? Looking for sending simple data like temperature.
Kenny_I