none
Trouble Enabling Metadata for HPCBasicProfile Web Service RRS feed

  • Question

  • I'm trying to set up my cluster so that I can access it through a web service.  I enabled the HPCBasicProfile service from Administrative Tools, but when I went to the web address that I am instructed to visit (in my case: https://micluster2-head.micluster/HPCBasicProfile), it gave me an error saying that metadata needed to be enabled.

    I found the HPCBasicProfileWebService config file:
     
    (Computer/Local Disk (C:)/Program Files/Microsoft HPC Pack/Bin/HPCBasicProfile.exe.config)

    and made the changes that the webpage instructed me to do.  After making those changes, the HPCBasicProfile service will not start anymore.  I'm pretty sure that it's a mistake that I've made in the config file because the service looks to the config file for appsettings, behavior configs, and the like.  Below is a copy of the config file.  The changes that I made are in bold.

    Any suggestions would be helpful.  Thanks a bunch.


    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <appSettings>
        </appSettings>
        <system.serviceModel>
            <services>
                <service name="Microsoft.Hpc.HpcBasicProfile.CCS.HPCBasicProfileService"
                    behaviorConfiguration="serviceMetadata">
                   
                        <endpoint name="BESFactoryPortType"
                        address=""
                        binding="basicHttpBinding"
                    bindingConfiguration="basicHttpBindingCustom"
                        contract="BESFactoryPortType" />

                        <endpoint name="BESManagementPortType"
                        address=""
                        binding="basicHttpBinding"
                    bindingConfiguration="basicHttpBindingCustom"
                        contract="BESManagementPortType" />   

                        <endpoint contract="ImetadataExchange"                     binding="mexHttpBinding" address="mex" />
                </service>
            </services>
            <bindings>
                <basicHttpBinding>
                    <binding name="basicHttpBindingCustom">
                        <security mode="TransportWithMessageCredential">
                            <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
                            <message clientCredentialType="UserName" />
                        </security>
                    </binding>
                </basicHttpBinding>
            </bindings>
            <behaviors>
                <serviceBehaviors>
                    <behavior name="serviceMetadata">
                        <serviceMetadata httpGetEnabled="true" />
              <!-- default is up to 8 calls simultaneously being processed spread among 8 clients -->
                              <serviceThrottling
                                maxConcurrentCalls="8"
                             maxConcurrentSessions="8"
                                maxConcurrentInstances="8">
                        </serviceThrottling>
                        </behavior>
                </serviceBehaviors>
            </behaviors>
            <diagnostics>
                <!-- See http://msdn2.microsoft.com/en-us/library/ms730064.aspx for details -->
                <!--
                <messageLogging logEntireMessage="true" logMalformedMessages="false"
                    logMessagesAtServiceLevel="false" logMessagesAtTransportLevel="true" />
                -->
            </diagnostics>
        </system.serviceModel>
        <system.diagnostics>
            <trace autoflush="true" />
            <switches>
                <add name="Common" value="All" />
            </switches>
            <sources>
                <source name="System.ServiceModel" switchValue="Error">
                    <listeners>
                        <add name="logging" />
                    </listeners>
                </source>
                <source name="System.ServiceModel.MessageLogging" switchValue="Error">
                    <listeners>
                        <add name="logging" />
                    </listeners>
                </source>
            </sources>
            <sharedListeners>
                <add name="logging"
                    type="System.Diagnostics.XmlWriterTraceListener"
                    initializeData="HPCBasicProfileWCF.svclog" />
            </sharedListeners>
        </system.diagnostics>
    </configuration>


    Monday, August 18, 2008 10:38 PM

Answers

  •  The normal method of enabling the basic profile is to run hpcbpws.ps1 in "Program Files\Microsoft HPC Pack\Bin\" from the HPC Powershell prompt.
    -Colin Microsoft HPC
    Wednesday, August 27, 2008 6:56 PM

All replies

  •  The normal method of enabling the basic profile is to run hpcbpws.ps1 in "Program Files\Microsoft HPC Pack\Bin\" from the HPC Powershell prompt.
    -Colin Microsoft HPC
    Wednesday, August 27, 2008 6:56 PM
  •  From the date of your post its not clear if you are using RC1 or RC2. RC2 has several changes that makes metadata publishing work so it is essential to upgrade to this release or later.

    Install and configure HPC Pack and the HPCBP web service as normal. Edit the HPCBasicProfile.exe.config and comment our the block:

     <serviceMetadata
                httpGetEnabled="True"
                httpGetUrl="http://HOSTNAME/WSDL"
                />

    putting your machine name. You should then be able to consume the specified URL through Visual Studio to generate a client config. The raw XML files are provided in the HPC Pack SDK which you can also use to generate the client stubs if you do not wish to upgrade.

    Wednesday, August 27, 2008 9:54 PM