View Single Post
 
Old December 9th, 2010, 04:52 PM
GeorgeMo GeorgeMo is offline
Registered User
 
Join Date: Feb 2010
Location: Austin, TX
Posts: 6
Thanks: 0
Thanked 0 Times in 0 Posts
Default Can't Get Ch 3 Example to Create ServiceB.Config.xml

Hello,

I'm trying to run the ServiceB example project from ProMRDS Chapter 3. I'm using Visual Studio 2008 v9.0.21022.8 RTM and .NET 3.5 SP1 on a WinXP Pro SP3 laptop.

I've built my Service A and Service B without any problems, except I can't get it to generate a config file for Service B. Yes, I added the "SaveState(_state);" line to ServiceB.cs. When I run the project in Debugger, the DssHost.exe console shows:

http://i209.photobucket.com/albums/b..._09DEC2010.jpg

The text mentions multiple times, namely pages 129 and 130, that if no path is specified the config file will be created in the same directory as the manifest file. For me, that's:

C:\Documents and Settings\owner\My Documents\Visual Studio 2008\Projects\ServiceB\ServiceB.manifest.xml

I know that's a different path than my "mountpoint":

C:\Documents and Settings\owner\Microsoft Robotics Dev Studio 2008 R3

but if I delete the ServiceB.manifest.xml file in the ServiceB folder above, the project will generate a new one in that same folder (ServiceB folder, not the mountpoint path).

My ServiceB.manifest.xml code looks like:

Code:
<?xml version="1.0" ?>
<Manifest 
    xmlns="http://schemas.microsoft.com/xw/2004/10/manifest.html"
    xmlns:dssp="http://schemas.microsoft.com/xw/2004/10/dssp.html"
    >
    <CreateServiceList>
        <ServiceRecordType>
            <dssp:Contract>http://schemas.us.com/2010/12/serviceb.html</dssp:Contract>
            <dssp:PartnerList>
              <dssp:Partner>
                <dssp:Service>ServiceB.Config.xml</dssp:Service>
                <dssp:Name>StateService</dssp:Name>
              </dssp:Partner>
            </dssp:PartnerList>
        </ServiceRecordType>
    </CreateServiceList>
</Manifest>
which is just adding the extra lines to the default manifest per page 130.

You can see in the screen shot that I added this to the Console's output in ServiceB.cs :

Code:
string sLogDir = LayoutPaths.RootDir + LayoutPaths.LogDir;
Console.WriteLine("Path: " + sLogDir);
It shows basically mountpoint\store\logs. I tried putting a self-created config file and a copy of the manifest there, but it ignored them.

Even though the text and the MRDS examples I found say that you don't need to, I've tried adding different paths to the <dssp:Service>ServiceB.Config.xml</dssp:Service> line in the manifest, such as "file:///C:/..." or just "C:/..." or C:\...", but it always gets the same DssHost.exe error. I tried:

Code:
<dssp:Service>http://localhost/ServiceB.Config.xml</dssp:Service>
and it didn't get the error - but I couldn't find an instance of the config file to modify.

I have no idea why it's not creating my ServiceB.Config.xml file in the same folder as my ServiceB.manifest.xml file or how to make it work.

Thank you,
George

Edit: fixed a typo

Last edited by GeorgeMo; December 10th, 2010 at 02:21 PM..