I have a .Net Core 2 app that needs to call a WCF service. I've been able to add connected service and it consumed the WSDL ok. My problem is, the call needs to be made via Azure Service Bus Relay.
I realise that the MS docs suggest .Neg Core clients use "Hybrid Connections" instead of WCF Relay but I have a BizTalk 2016 app listening at the other side of the WCF Relay, waiting to return data to the client. As far as I can tell, there is no capability for BizTalk to work with Hybrid Connections.
In .Net core it seems the only option for the WCF client is to configure via code (no app.config or equivalent). I can use the following:
svc.Endpoint.Binding = new System.ServiceModel.BasicHttpBinding(System.ServiceModel.BasicHttpSecurityMode.None);
However, there is no System.ServiceModel.BasicHttpRelayBinding? Has anyone managed to make calls to the Azure Service Bus Relay from .Net Core?
I found a solution for this problem and blogged about it here: BizTalk and the Hybrid Connection Manager
Related
There is very limited information on azure signalR service. I need to clarify a question so any help would be highly appreciated.
how azure signalR service actually scale out ? I mean, as far I have worked on it. it seems that you have to include a primary key of azure signalR service to your hub. you can host you hub anywhere. So how hub scales out.?
SignalR Service manages all the client connections, as well as certain state information such as group membership. Your ASP.NET Core application establishes a connection to the SignalR Service instance.
When the application wants to send a message to connected clients, it uses this connection to instruct the service to do so. The service can also invoke hub methods via this connection.
You can read more about the service protocol.
When a client initiates a connection, it calls a negotiate endpoint on your ASP.NET Core application, which redirects the client to connect to the SignalR Service instance instead.
Because the ASP.NET Core application only needs to execute hub logic and most of the heavy lifting is done by SignalR Service, your application does not typically have to scale out to handle more SignalR connections. You can scale it based on the needs of the web traffic (serving web API and MVC requests, for example), and you can scale the service based on the needs of your SignalR traffic.
This is the documentation that I found and followed to have a signalr hub that worked across multiple App Service instances but behaving as a single hub.
You need to create a "backplane" in Azure using Storage queues and topics.
Details here: https://learn.microsoft.com/en-us/aspnet/signalr/overview/performance/scaleout-with-windows-azure-service-bus
#anthonychu is this still needed / applicable??
I have a node.js application and a WCF service hosted in a windows service running on the same machine. I need to pass messages from Node.JS app to the WCF service exposed via windows service.It can be uni or bi directional communication. Can you help me to know how to achieve this?
My requirement is to open a communication channel between NodeJS and the WCF service hosted inside Windows Service. My WCF service has net.tcp binding.
I solved by modifying my WCF service and adding another end point for webHttpBinding. From Node.Js application I can access this endpoint of my WCF service.
I have a question about the BizTalk Adapter Service for BizTalk Services. I know that the adapter runs in IIS - I would like to know if that is only necessary for development or for run-time too?
Because I would like to use BizTalk Services to insert XML messages into an Azure SQL:
Using Azure BizTalk Services to Insert XML Messages into an Azure SQL Server
Would I need to provide a server just for hosting the adapter? If so, that wouldn't make much sense to me
roxor, I believe that you are correct in the suspicion that you need to host the adapter service and I agree that it makes no sense. I simply do not think this is a scenario currently 'properly' covered by BizTalk Services.
The adapter service has been introduced to support integration with
several on-premises systems, SQL Server amongst them -
The BizTalk Adapter Service feature allows an application in the cloud
to communicate with a Line-of-Business (LOB) system on-premise, in
your network, behind your firewall. Using the LOB adapters in the
BizTalk Adapter Pack (BAP), a BizTalk Adapter Service application can
execute LOB operations to the following on-premise LOB systems: •
Microsoft SQL Server
• Oracle Database
• Oracle E-Business Suite
• SAP
• Siebel eBusiness Applications
(http://msdn.microsoft.com/en-us/library/windowsazure/hh689889.aspx)
It does that by utilising Windows Azure Service Bus' Relay service. I don't think that Windows Azure SQL Database natively fits the model and although I can see how it can be done it does seem very awkward and quite pointless. In my humble opinion this article shouldn't have been published.
I would imagine that integration with SQL Database would be added to WABS natively eventually, until then, if it was down to me, I'd front it with a web service. Makes sense architecturally anyway.
yes Adapter service is required during runtime .
the role of Adapter service is to pick the message from service bus relay and send it to Azure SQL DB .
i am checking how it works if Adapter service is in stop state .
you can refer the article for more knowledge of BiztalK adapter Service
http://msdn.microsoft.com/en-us/library/windowsazure/hh689786.aspx
Regards
Mohit Gupta
We've been writing services to access our on-premises databases through Azure Service Bus Relay for awhile now. That means that we've had to deploy them as WCF services. Our web site development is moving to node.js and I would like to begin deploying our API services on node as well. However, while the Azure NPM package has good support for queues/topics on Azure Service Bus, I can find no mention of the relaying capabilities. I've had a look at the code for the Azure SDK on github, but again, relay seems to be conspicuously absent.
Is it possible to use Azure Service Bus Relay with a node.js backend?
Now Azure support Node.js. You can find the infomration from here. This link is the samples for Node.js.
Right now, Relay only supports a WCF service. You can try to use Clemens Vasters' post on Port Bridge to get your scenario working. In his post, he describes creating a WCF client / service that will forward requests to a specific port.
I have searched a lot on this topic but didnt get any satifactory answer.
In Windows Azure how can we consume an external (third party) Web Service from the worker roles? Is it as simple as using a web reference in the solution or is it necessary to use Azure Service Bus?
It's as simple as calling the webservice using whatever method you need (REST, SOAP, etc.). For .NET developers using .asmx or WCF SOAP services, just generate the proxy like you normally would. In this model, there is no difference between what you do onpremises when the cloud is the client.
You would look at using the ServiceBus when you are hosting your own services (as opposed to consuming them), typically behind firewalls onpremises, and you want to give secure access to them or integrate them into cloud scenarios. There are other scenarios and capabilities of course, but that is a main one. If you simply want to consume another web service, the ServiceBus has nothing to do with that.
As long as the 3rd-party web service endpoint is reachable, use it the same way you'd use it from an on-premises server. If you need to connect to a service endpoint behind someone's firewall, then you'd want to consider AppFabric Service Bus.
Just remember that you'll be paying for bandwidth out of the data center (unless the 3rd-party web service is Windows Azure homed, and in the same data center).