3

I'm trying to clear up the Events Viewer in my UAT environment, and one of the errors I'm getting is Event 8313.

A failure was reported when trying to invoke a service application: EndpointFailure
Process Name: w3wp
Process ID: 4136
AppDomain Name: /LM/W3SVC/1299132374/ROOT-1-131878147433506875
AppDomain ID: 2
...

It came up with a link the MetadataWebService.scv (http://<Server>:<Port>/740c9be36e4c4762b1beedfca16f92fd/MetadataWebService.svc) stating that

This is a Windows© Communication Foundation service. 
Metadata publishing for this service is currently disabled.

It says in order to fix the issue I should...

  1. Add <serviceMetadata httpGetEnabled="true" /> to the service behaviour configuration
  2. Add the behaviourConfiguration attribute to the Service tag if it doesn't exist yet (already existed)
  3. And add the endpoint (<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />) to the service.

So that the web.config for the service looked similar CODE-BLOCK 1, below. The Config file I edited now looks like the one in CODE-BLOCK 2.

As far as I can tell, done as the page said, but I still get the error. Can someone help me figure out a solution?

CODE-BLOCK 1

<configuration>
    <system.serviceModel>

        <services>
            <!-- Note: the service name must match the configuration name for the service implementation. -->
            <service name="MyNamespace.MyServiceType" behaviorConfiguration="MyServiceTypeBehaviors" >
                <!-- Add the following endpoint.  -->
                <!-- Note: your service must have an http base address to add this endpoint. -->
                <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
            </service>
        </services>

        <behaviors>
            <serviceBehaviors>
                <behavior name="MyServiceTypeBehaviors" >
                    <!-- Add the following element to your service behavior configuration. -->
                    <serviceMetadata httpGetEnabled="true" />
                </behavior>
            </serviceBehaviors>
        </behaviors>

    </system.serviceModel>
</configuration>

CODE-BLOCK 2

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="Microsoft.SharePoint.SPTopologyWebServiceApplication" behaviorConfiguration="TopologyServiceTypeBehavior" >
          <endpoint address="" binding="customBinding" bindingConfiguration="TopologyWebServiceHttpBinding" contract="Microsoft.SharePoint.ITopologyWebServiceApplication" />
          <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="TopologyServiceTypeBehavior" >
          <serviceMetadata httpGetEnabled="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <customBinding>
        <binding name="TopologyWebServiceHttpBinding">
          <security authenticationMode="IssuedTokenOverTransport" />
          <textMessageEncoding>
            <readerQuotas maxStringContentLength="8388608" maxArrayLength="2097152"/>
          </textMessageEncoding>
          <httpsTransport maxReceivedMessageSize="1073741824" authenticationScheme="Anonymous" useDefaultWebProxy="false" />
        </binding>
      </customBinding>
    </bindings>
  </system.serviceModel>
  <system.webServer>
    <security>
      <authentication>
        <anonymousAuthentication enabled="true" />
        <windowsAuthentication enabled="false" />
      </authentication>
    </security>
  </system.webServer>
</configuration>
1
  • This may as well be some breaking change in the runtime, gone unnoticed. I am facing the exact same issue for a newly minted WCF service in a brand new environment. Following the instructions in the given link doesn't change anything, my configuration file looks very similar to yours except the naming differences. Commented Aug 24, 2021 at 8:50

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.