June 16, 2006 at 1:21 AM #13868
Is it possible and/or recommended to spawn or execute a .exe file within an orchestration? How? Recommendations?
Currently, I’m thinking of consuming a webservice in my .odx, and the web service will run the .exe file in the server. Is this recommended?
Please advise ASAP.
June 16, 2006 at 3:25 AM #13869
I dont know if it is necessarily recommended or not, but sometimes it is definately a needed and thats when you gotta do what you gotta do.
A few things to keep in mind before you attempt to do this though:
– set up your orchestration as \”long running\”, this will allow it to be dehydrated when it gives control to your external code, freeing up resources.
– use the scope shape and add an exception handler that will handle the error response to your web service in case something hits the fan. I know this shouldnt be an issue, but ive had suspended orchestrations deployed as webservices either return a server error to the browser causing a nasty .net screen… or just hanging and causing a timeout.
– if you have the luxury, add an external project to your biztalk solution that lets you do all your functionality in the .net flavor of your choice, add the reference to your biztalk project, and call in an expression shape. (you can code all you want in the expression shape and get as sofisticated as youd like, it is easier and more sane to do it in an external project and calling it from the expression)
which brings us to how, if you are going to be editing your message in any way, you will need a message construct shape with a message assignment shape within that… its interesting, it allows you to manipulate your message, be it in DOM or through promoted props or whatever you prefer, but it wont let you code, you will need to add an expression shape. (which does the opposite, code but no msg manip) ** of course you cannot use control statements, if’s whiles etc.. those are in decision shapes 🙂
but, you add a ref to your project that has the methods you need, go to your orchestration properties and add a variable, choose the .NET method that determines that variable type. In your expression, create a new instance of that variable (ie. something = new System.Xml.XmlDocument;) and use it as you would normally.
its that simple.
again, is it recommended, I recommended to my guys if they follow a few guidelines and not choke my server… but i do not know what others have to say.
Hope that helps.
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.