Home Page › Forums › BizTalk 2004 – BizTalk 2010 › How do i configure RECEIVE shape in my situation.
- This topic has 5 replies, 1 voice, and was last updated 8 years, 9 months ago by
community-content.
-
AuthorPosts
-
-
July 10, 2008 at 8:01 AM #20105
Hi All,
I am facing one problem related with orchestration. My orchestration flow is like as follow.
1. Execute one EXE ( using Expression shape i did, EXE will generate XML files).
2. Wait for 5 Min to execute EXE.
3. Receive Shape (Receive those XML from local folder). I make receive shape active property = false. coz its not the start point.
4. Send those XML files to 3 different FTP server (3 Send Shape configured).
But i get one compiler time error.
“you must specify at least one already-initialized correlation set for a non-activation receive that is on a non-selfcorrelating port”
Please guide me to solve this problem.
Thanks,
Dhaval M.
-
July 10, 2008 at 8:14 AM #20106
What is the start point? An orchestration can be started 3 ways: activatable receive, called from another orch, started from another orch. I would consider invoking the EXE from an external process (scheduled task, windows service, etc.), and then making your receive activatable. That way, whenever it generates files, BizTalk will be there to pick them up.
-
July 10, 2008 at 10:35 AM #20107
Yeah you are right this option is good that i execute EXE using schedular of windows.
But for my knowledge if i wud like to start my orchestration without receive shape, for example In my orchestration start with expression shape and second action is receive shape.
So In above requirement how do i fix in orchestration. which sort of properties i need to set.
Thanks for your kind support
Regards,
Dhaval M.
-
July 10, 2008 at 11:27 AM #20108
Dhaval,
If you absolutely must have an expression shape as the first shape in the orchestration, invoke it from another orchestration (either via the call or start shape) and execute your EXE from the called orchestration and pickup your files to send to the FTP server. You would however still have to invoke the original orchestration somehow and that means a receive shape.
However, I would strongly recommend AGAINST this approach – you really, really shouldn’t be invoking exe’s from an orchestration expression shape. Follow Russel’s recommendation and use the Windows Task Scheduler to call the exe, dropping the files off into a folder that is being monitored by a BizTalk Receive Location. That Receive Location/Port can be bound to your orchestration to send the files to the FTP server, or simply go for a messaging only solution and bind the Send Ports directly to the Receive Port using the BTS.ReceivePortName promoted property.
Go for the second option, much more elegant and easier.
Hope this helps.
Nick.
-
July 10, 2008 at 11:29 AM #20109
Orchestrations have to start with a receive. They can also be called from another orch, but somewhere down the line a message has to be received to start the process. That is how the BizTalk engine works. If an orch could start with an expression shape, then how would BizTalk ever know it is time to fire up an instance of the orch? There has to be some external event to start the orch. Usually this is when data becomes available (a file appears in a folder, a new record appears in a database table, etc.)
-
July 10, 2008 at 12:07 PM #20111
Hi friends,
Thanks for your suggesions and help to clear my doubt. and get grip on biztalk.
Now EXE execution step i have put in to windows schedular.
Regards,
Dhaval M.
-
-
-
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.