If my previous posting was kind of sophisticated, this one is a lot more down-to-earth and basic...
I've been struggling during the morning trying to use the "Call Orchestration" feature of BizTalk. A pretty straightforward feature. But, I couldn't just get it to work. If the called orchestration was in the same project as the calling orchestration, it worked Just Fine<tm>, but as soon as I tried to put the called orchestration in its proper place, it just failed.
The solution? Well, I got the answer from someone who is much more experienced with BizTalk than me: Make the called orchestration public. This is pretty straightforward if you think about: orchestrations are really standard CLR classes (even though not generated manually by writing C# or VB.NET code), and as such, they have visibility parameters just like classes usually have.
If it doesn't immediately work after making sure the callee orchestration is public, try rebuilding the project that is referring to the callee. Yes, you heard me right. Even thought it might fail (since you are likely to have a Call Orchestration shape that is unconfigured), something happens when you build it that sometimes makes it work.
Restarting Visual Studio is also something that can be helpful.
For me, in this specific case, building the project didn't work straight away - one of the files was being locked. But when I restarted Visual Studio, it found the callee orchestration anyway, so - problem solved.