I am new to BizTalk server and I want to know that is it possible to communicate with bizTalk like a web server? My scenario is like this.
I have a application in silverlight that will send request to biztalk (web service or http) with some parameter, biztalk will send that request to third party web service, third party web service will give response to Biztalk, this response will be sent back to my silverlight application.
Is this possible? if yes can anybody give me an article that help in creating this type of application.
Yes - Use the SOAP adapter and a web service port
Service Station from MS
You will need to create an orchestration and a map (if the schema are different between the 2 services) to handle the actual passing of Messages between the 2 web services.
First Steps in Orchestrations
Creating Maps in BizTalk
and a good guide and tutorial for Webservices here
Calling biztalk webservice from Silverlight
http://weblogs.asp.net/jgalloway/archive/2007/06/14/calling-an-asmx-webservice-from-silverlight-use-a-static-port.aspx
Yes. You can set up an HTTP Receive Port and handle straight XML messages from SilverLight and then pass back whatever message SilverLight requires (be sure to use a 2-Way Receive/Send Port). The bigger question here is why? Why not talk to the far end web service directly from SilverLight? Is BizTalk adding any value here? Are you including BizTalk as an abstractionlayer for future functionality? Is BizTalk some how enriching the messages?
My questions are the same as ChrisLoris.. Why use Biztalk here? If its just to call Service A and then B and deliver information back to the silverlight app, I would rather create acustom .net .dll to handle it. If you really want to have a workflow you can use WorkflowFoundation..
I found the solution for this problem. You need to install the certificate in the user store of the user under which biztalk host instance is running and also grant access to private key of the certificate using winhttpcertcfg tool.
1)Open the mmc using runas /user:<> mmc
and import the certificate into the user store.
2)winhttpcertcfg -g -c LOCAL_MACHINE\My -s <> -a <>
These two steps should do the trick.
Related
Current State: BizTalk receive message via Web Service A (hosted on the same machine). BizTalk process the message and send it to backend.
Future State: BizTalk still receive message via Web Service A. If a field inside the message matches a certain value, BizTalk needs to send the message to a different web service (Web Service) on another server. Else, proceed with existing flow.
BizTalk is required as a middleware between Application and Web Service B due to network connection. Server for Web Service B only accept TLS1.2 which Application Server yet to support.
Is it possible to reroute the message even before it enter the first orchestration?
Kindly provide best way to do it with detail guidance on changes required or point to existing question or documentation if any.
p/s: Newbie to BizTalk. Let me know if further information need to be provided.
Yes, quite possible
Promote the field that you wish to route on in the schema
Set the filter expressions on the send ports that look at this promoted property
Note: For TLS 1.2 you will need a Custom End Point behaviour on the send port to specify to use TLS 1.2.
As #Dijkgraaf says, you can use Promote field on the schema and then use filter expressions on the send ports to redirect the incoming message to the new Web Service B.
If you need an Orchestration to implement some process before send to the Web Service B, you can use Filter Expression property of the first Receive Shape, to catch the messages with the Promoted Property value that you need.
I have a ASP.Net WebAPI service that is used by my AngularJS front end and I am making use of Owin and bearer token.
Now there is a need that we need to install an agent on the few of the client machines (developed in .Net core mostly) that is able to connect to our application and make similar calls. I can create a separate controller for this need, but want to host it in the same website.
How can I create a secure connection between this agent and the ASP.Net server hosted on Azure?
Currently I am looking at generating a Token during the agent installation based on the client MAC address and giving it with each call, but I am checking if there are any better way to address this need.
Any help in this direction is welcome.
Regards
Kiran
It seems that you’d like to enable only valid “agents” that installed on the client machines to communicate with your server, if that is the case, Azure AD provides Native Application to Web API authentication scenario (a native application that runs on a phone, tablet, or PC needs to authenticate a user to get resources from a web API that is secured by Azure AD), you could refer to it.
I'm trying to consume a Java Web Service from third party, so i dont have any control over it. I have a pfx file which is password protected, and i installed it in my development box.
This is the code i'm using:
var proxy = new MyServiceReference.WsaaServerBeanService();
var result = proxy.login("test");
I'm getting System.Net.Sockets.SocketError.TimedOut exception when invoking the login web method. The first thing that come to my mind is an authentication issue. Apart from installing the pfx, do i need to send some other info to the web server to authenticate?
System.Net.Sockets.SocketError.TimedOut
Does not indicate an authentication issue, it indicates that you either are not able to contact the remote web service endpoint, or you are and the service is taking too long to respond. Make sure you can actually hit the endpoint from your machine via telnet, a web browser etc...
Authentication failures will usually return immediately.
I developed a BizTalk 2010 application that receives files from a ftp server, elaborates these files and sends them to another ftp server.
About Receive step, authentication is made using ESSO. I created two Affiliate Application, one for each ftp server storing credentials.
In Send step I created a method in a C# class library that is responsible for SSO ticket issuing. So before the send shape, orchestration calls the IssueSSOTicket method that returns an SSO ticket and it attaches it to the message using BTS.SSOTicket context property.
Everything works fine, but sometimes I get the error: A message sent to adapter "FTP" on send port "SendPortName" with URI "ftp://[ipaddress]:[port]/[path]/%SourceFileName%" is suspended. Error details: A failure occurred when retrieving the SSO ticket.
Someone knows if there are some best practices in order to manage this scenario?
Thanks!
Massimo
If you can reproduce the problem locally, then you should be able to debug your custom assembly code that issues the SSO ticket by attaching to the BTSNTSvc process.
Here is a nifty post that describes how to attach Visual Studio's debugger to the BizTalk process and figure out which BizTalk process to attach to (if you have more than one): http://biztalkmessages.vansplunteren.net/2010/01/05/retrieve-the-btsntsvc-exe-pid-with-powershell/
If you can't do that, then how about posting the complete stack trace here?
I was thinking about integrating some instant messaging function into an existing ASP.NET web application, e.g:
the web application can display the online-status of users (are they currently logged in with their IM client)
users can send messages from the web application to the IM client of other users
users can initiate a IM chat from the web application (without having to know the other user's IM identification beforehand)
Does anyone know about some existing libraries, sample applications or other resources that might help implementing such a feature?
Thanks a lot for sharing your knowledge.
You should try Jabber. Demo client avaiable here.
There is an architectural overview, the main concept looks like this:
(source: webta.net)
And some citation from the site:
1. Goal
Create an multi-service instant messaging AJAX-based web application with internal accounting.
2. Main problem
We need to connect to IM servers from HTTP client (browser).
HTTP is a stateless protocol. This means that, theoretically, each HTTP request is being proccessed by separate http daemon proccess.
Once request proccessed (data sent to client), server fogets about client.
All IM services protocols are stateful.
When client connects to IM server, socket connection being created and connection much remain open for succesfull communication.
There's a list on the ASP.net site.
http://www.asp.net/Community/Control-gallery/browse.aspx?category=54
You might want to look at the .net implementation of jabber:
http://code.google.com/p/jabber-net/