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...
- Add
<serviceMetadata httpGetEnabled="true" />
to the service behaviour configuration - Add the behaviourConfiguration attribute to the Service tag if it doesn't exist yet (already existed)
- 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>