I've been following the Pluralsight demo from this new course, in the section "Demo: Configure an Existing Service to use the Relay Service".
All is well until I come to the point where I expect to see the services listed in appfabric at https://MyURL.servicebus.windows.net/
Nothing shows up.
I've gone through everything a number of times, checking and rechecking my settings.
My service is hosted in IIS, it's running, the web.config has it set to listen to the above URL, I've configured Auto-start, and it refreshed when I changed the setting, so it should be listening, but yet no services show up.
I had this net.pipe error, and I've followed the fix for that so that no errors show up in the event log.
Anything else I could be missing or that I could check?
How is my hosted service "listening" and how does it "publish" its service data onto the service bus? is there something I can sniff to see how/why it is failing?
I am aware the network setup is important and I need specific ports need to be open etc. Our IT guys assure me the correct ports are open and the machine should be able to get through them.
I have also enabled auto-start on the Site and the service.
Update I have managed to self-host the service programatically, which publishes the service into the Azure service bus feed and can call the service using the service bus endpoint across the web - this proves the network ports are all open, but I still want to have it hosted in IIS.
Here is my web.config with secure personal details removed (apologies, it's a biggie!)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<bindings>
<webHttpRelayBinding>
<binding name="anonymous">
<security relayClientAuthenticationType="None" />
</binding>
</webHttpRelayBinding>
<netTcpRelayBinding>
<binding name="Hybrid">
<security relayClientAuthenticationType="None" />
</binding>
</netTcpRelayBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="MyBehaviour">
<serviceRegistrySettings discoveryMode="Public" displayName="My Service" />
<transportClientEndpointBehavior credentialType="SharedSecret">
<clientCredentials>
<sharedSecret issuerName="Listener" issuerSecret="MYSECRET"></sharedSecret>
</clientCredentials>
</transportClientEndpointBehavior>
</behavior>
<behavior name="MyBehaviourRest">
<serviceRegistrySettings discoveryMode="Public" displayName="My Rest Service" />
<transportClientEndpointBehavior credentialType="SharedSecret">
<clientCredentials>
<sharedSecret issuerName="Listener" issuerSecret="MYSECRET"></sharedSecret>
</clientCredentials>
</transportClientEndpointBehavior>
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="MyService">
<endpoint address="" binding="basicHttpBinding" contract="My.NameSpace.IContract"></endpoint>
<endpoint address="Rest" binding="webHttpBinding" contract="My.NameSpace.IContract"></endpoint>
<endpoint address="https://MYURL.servicebus.windows.net/MyService" behaviorConfiguration="MyBehaviour" binding="basicHttpBinding" contract="My.NameSpace.IContract"></endpoint>
<endpoint address="sb://MYURL.servicebus.windows.net/MyServiceNet" behaviorConfiguration="MyBehaviour" binding="netTcpRelayBinding" contract="My.NameSpace.IContract"></endpoint>
<endpoint address="https://MYURL.servicebus.windows.net/MyServiceRest" behaviorConfiguration="MyBehaviourRest" binding="webHttpRelayBinding" bindingConfiguration="anonymous" contract="My.NameSpace.IContract"></endpoint>
</service>
</services>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<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, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="transportClientEndpointBehavior" type="Microsoft.ServiceBus.Configuration.TransportClientEndpointBehaviorElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="serviceRegistrySettings" type="Microsoft.ServiceBus.Configuration.ServiceRegistrySettingsElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</behaviorExtensions>
<bindingElementExtensions>
<add name="netMessagingTransport" type="Microsoft.ServiceBus.Messaging.Configuration.NetMessagingTransportExtensionElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="tcpRelayTransport" type="Microsoft.ServiceBus.Configuration.TcpRelayTransportElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="httpRelayTransport" type="Microsoft.ServiceBus.Configuration.HttpRelayTransportElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="httpsRelayTransport" type="Microsoft.ServiceBus.Configuration.HttpsRelayTransportElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="onewayRelayTransport" type="Microsoft.ServiceBus.Configuration.RelayedOnewayTransportElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</bindingElementExtensions>
<bindingExtensions>
<add name="basicHttpRelayBinding" type="Microsoft.ServiceBus.Configuration.BasicHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="webHttpRelayBinding" type="Microsoft.ServiceBus.Configuration.WebHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="ws2007HttpRelayBinding" type="Microsoft.ServiceBus.Configuration.WS2007HttpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="netTcpRelayBinding" type="Microsoft.ServiceBus.Configuration.NetTcpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="netOnewayRelayBinding" type="Microsoft.ServiceBus.Configuration.NetOnewayRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="netEventRelayBinding" type="Microsoft.ServiceBus.Configuration.NetEventRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add name="netMessagingBinding" type="Microsoft.ServiceBus.Messaging.Configuration.NetMessagingBindingCollectionElement, Microsoft.ServiceBus, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</bindingExtensions>
</extensions>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<directoryBrowse enabled="true" />
</system.webServer>
</configuration>