January 6, 2006 at 10:57 PM #12611
Hey Guru’s !
I’ve used a sequential convoy to limit the # of concurrent orchestrations succesfully. (to avoid rujnning out of threads) Now I’m looking for a similiar pattern that could handle multiple destination orchestrations.
Currently I’m using the sqladpater with an envelope splitter pipeline feeding into a seq convoy pattern.
I’ve got some related services and I’m looking for a was to not have to create a seq convoy for each orchestration. (again to avoid thread pool limitations).
All the orchestrations can accept and return the same message type.
If there were a way I could have dynamic control over the orchestration name on the start shape for example, that would do the trick.
Any ideas ?
I would be happy if I find a way to either limit the total # of orch running (regardless of what each one does, or if I can limit each type individually)
January 8, 2006 at 6:33 PM #12612
thats interesting, but I assume I can’t have a variable of type orchestration ? I could use if logic to start different orchestrations, but then I have to modify the convoy each time a new servie is added. Perhaps thats what I will have to do.
The other idea I’m exploring (unsuccesful so far) is instead of starting an orch I direct bind with port filtering. This works but I’m haven’t found a workable way to get the \”ack\” message back to the convoy.
Its requiring me to use correlation, and since the convoy has to send shapes (originally the 2 start shapes) they can’t both initialize the correlation.
just as a test I init the correlation with the inital send shape using message type as the corrlated property and have both recieves follow. however no matter how I bind the receive port (direct-message box or direct w/parter orch set to the convoy orch) I get the dreaded no subscriber found when attempting to send the ack message back to the convoy.
any ideas ?
January 9, 2006 at 11:01 PM #12613
I’ll take a look at the dynamic mapping example.
January 12, 2006 at 11:18 PM #12614
I looked at the dynamic map example and tried to apply this to a dynamic exec. This is what I have. The expression editor doesn’t like the exec.
tOrchType is defined as System.Type as in your mapping example.
Any ideas ?
tOrchType = System.Type.GetType(\”testdynamicexec.BizTalk_Orchestration2 , testdynamicexec, Version=184.108.40.206, Culture=neutral, PublicKeyToken=22ac5e671a17a7fb\”);
exec tOrchType (Port_2, Message_1);
// note the below is whats in the odx file for a start shape
//exec testdynamicexec.BizTalk_Orchestration2 (Port_2, Message_1);
the error indicated on the exec part is Torchtype: can only call or exec a service
the error indicated on tOrchType is ‘TorchType’ is not a function
January 17, 2006 at 5:51 PM #12615
I appreciate the effort and really like the site. lots of good info here !
While its true true that I can write the same code as gets put in the odx file its not dynamic until I can make the orchestration name a variable 🙂
I’ll check back here occasionaly to see if anyone figues this one out
July 7, 2006 at 2:01 AM #12616
I was wondering if you ever worked out how to do a dynamic orchestration call? I Realise that you can submit the msg to the MsgBox with a specific promoted property and have a particular orchestration subscribe to a specific value of the promoted property. However I was after something similar to the dynamic transform calls, which seems to be what you were after originally. How did you go?
January 7, 2006 at 10:21 PM #12617
I sure wish they had a better way to limit running Orchestrations. Things get a little better in 2006 with per host watermark configurations.
I think you can dynamically start an Orchestration.
You can dynamically call one using something like:
call NS.BizTalk_Orchestration2 (Variable_1);
inside an expression shape.
You might want to check out masteringbiztalk.com. Jon might have a sample on this.
January 9, 2006 at 6:19 AM #12618
I would guess you would use a plain Type Object, just like if you were doing dynamic mapping (see my sample on the site).
I spent several days trying to get an Ack back as well doing something similar – with no luck.
Have you tried passing ports between your Started Orchestration? Maybe that would work better to get a message back. Charles Young covers it well here: http://geekswithblogs.net/cyoung/articles/19546.aspx
Might give you some other ideas but you have probably already looked at it
January 15, 2006 at 6:09 AM #12619
I have not tried it so I don’t know why would get that error.
What I have it what I would expect it to look like. Maybe it doesn’t work on the Start Shape? I would think it should though.
Jon Flanders posted this to a reply to someone on my blog:
“You already can dynamically call and orchestration. If you put the correct XLANGs into a expression shape (the same that would be generated from a Call Orchestration shape) – you can dynamically call different orchestrations”
Sorry I can not be of more help on this one.
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.