V3b117 combined with December 2006?

Topics: July and December Releases Forum, Service Factory Modeling Edition Forum
Aug 15, 2007 at 3:41 PM
Hi there,

I would like to create WCF based service with the best tool support available. I tried Dec. 2006 and it works ok. I also tried v3b117 and it has very nice modelling support, but misses things like the Database stuff and I cannot find translator support.

Is there a way to use the best of both releases? I also had a quick look at VS2008 and LINQ. Any idea when this will all play together?

Thanks in advance
Martin
Aug 15, 2007 at 4:30 PM
Hi Martin,

In fact, I think it is not as hard as it may sound. Both the v3 and the v2 should install next to eachother nicely. You can simply enable both guidance packages and start modelling your service layer using the v3 recipes. Then, use the v2 recipes to generate your data layer. Since your already need to create the business layer yourself, you can easily create the code to connect a v3 service implementation class to a v2 data access class.
Aug 16, 2007 at 8:32 AM
OK. So starting with the v3b117 walkthrough (which by the way is very usefull), I enabled the V2 stuff.

When I try Expose Service on the host project with all the project roles configured OK, it FAILS with a Recipe Framework Error, saying:

"The following arguments are required and don't have values: ServiceContractNamespace."

Actually I did have to set the Namespace manually. But with it fixed, it still fails the same way.

I use this:
ServiceContract(Namespace = "http://blueyonderairlines.com/scm/2007/08", Name = "IPartsMgmtServiceContract", SessionMode = SessionMode.Allowed)
public interface IPartsMgmtServiceContract

I sort of double-checked and re-check .... feeling helpless...

Any hints appreciated
Martin
Aug 16, 2007 at 9:49 AM
Hmm, so it did find the service interface in the Expose Service dialog box?

What you could try is to see what the difference is between a service contract interface generated by a v3 model and by the v2 recipe.

BTW: I have never tried this myself ;-)
Aug 16, 2007 at 11:23 AM
I got it!

In the solution file add to the section "GlobalSection(ExtensibilityGlobals) = postSolution"

Paste the following lines (got them from a v2 solution)
ServiceContractNamespace = http://MMZMServerTry2.ServiceContracts/2007/08
FaultContractNamespace = http://MMZMServerTry2.FaultContracts/2007/08
DataContractNamespace = http://MMZMServerTry2.DataContracts/2007/08

Reopen the solution and Expose Service just works fine! I wonder if we could get rid of this extra info in the solution file in future drop.