Hi
I following tutorial of service bus brokered messaging using REST API https://msdn.microsoft.com/en-us/library/azure/hh416754.aspx
I get an exception
Could not connect to net.tcp://<Machinename>.local:9350/. The connection attempt lasted for a time span of 00:00:02.1312727. TCP error code 10061: No connection could be made because the target machine actively refused it xx.xx.xx.xx:9350.
I am using Windows Server Service Bus 1.1 [NOT AZURE service bus] and below is the configuration file and code
App.config:
<configuration><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /></startup><system.net><defaultProxy useDefaultCredentials="true"><proxy bypassonlocal="True" usesystemdefault="True"/></defaultProxy></system.net><system.serviceModel><bindings><!-- Application Binding --><webHttpRelayBinding><binding name="default"><security relayClientAuthenticationType="None" /></binding></webHttpRelayBinding></bindings><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><services><!-- Application Service --><service name="Micosoft.ServiceBus.Samples.ImageService" behaviorConfiguration="default"><endpoint name="RelayEndpoint" contract="Micosoft.ServiceBus.Samples.IImageContract" binding="webHttpRelayBinding" bindingConfiguration="default" behaviorConfiguration="sbTokenProvider" address="sb://machinename.local/sbDefaultNamespace" /></service></services><behaviors><endpointBehaviors><behavior name="sbTokenProvider"><transportClientEndpointBehavior><tokenProvider><sharedAccessSignature keyName="RootManageSharedAccessKey" key="12345678090123456780901234567809012345678090" /></tokenProvider></transportClientEndpointBehavior></behavior></endpointBehaviors><serviceBehaviors><behavior name="default"><serviceDebug httpHelpPageEnabled="false" httpsHelpPageEnabled="false" /></behavior></serviceBehaviors></behaviors></system.serviceModel><appSettings><!-- Service Bus specific app setings for messaging connections --><add key="Microsoft.ServiceBus.ConnectionString" value="Endpoint=sb://[your namespace].servicebus.windows.net;SharedSecretIssuer=owner;SharedSecretValue=[your secret]" /></appSettings></configuration>
code:
using Microsoft.ServiceBus; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Web; using System.Text; using System.Threading.Tasks; namespace Micosoft.ServiceBus.Samples { [ServiceContract(Name = "ImageContract", Namespace = "http://samples.microsoft.com/ServiceModel/Relay/RESTTutorial1")] public interface IImageContract { [OperationContract, WebGet] Stream GetImage(); } [ServiceBehavior(Name = "ImageService", Namespace = "http://samples.microsoft.com/ServiceModel/Relay/")] public class ImageService : IImageContract { const string imageFileName = "image.jpg"; Image bitmap; public ImageService() { this.bitmap = Image.FromFile(imageFileName); } public Stream GetImage() { MemoryStream stream = new MemoryStream(); this.bitmap.Save(stream, ImageFormat.Jpeg); stream.Position = 0; WebOperationContext.Current.OutgoingResponse.ContentType = "image/jpeg"; return stream; } } public interface IImageChannel : IImageContract, IClientChannel { } class Program { static void Main(string[] args) { string serviceNamespace = "sbDefaultNamespace"; Uri address = ServiceBusEnvironment.CreateServiceUri("https", serviceNamespace, "Image"); WebServiceHost host = new WebServiceHost(typeof(ImageService), address); host.Open(); Console.WriteLine("Copy the following address into a browser to see the image: "); Console.WriteLine(address + "GetImage"); Console.WriteLine(); Console.WriteLine("Press [Enter] to exit"); Console.ReadLine(); host.Close(); } } }
Radhakrishna