robsonwk
robsonwk

Reputation: 173

How to enable Wcf help page with basicHttpBinding (SOAP, not REST)

I am trying to enable Wcf Service Help Page in my Wcf service, but no attempt worked, no avaiable help page with service's methods descriptions under link <.....{servicename}.svc/help>

I tried any hint I managed to find, without result.

It is possible at all to enable automatic Help Page for wcf service with basicHttpBinding ?

My Wcf service is hosted in Asp.net application

here is my wcf configuration section from we.config:

<serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
        <behavior name="EcoscadaApi">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" httpGetUrl="" />
          <serviceDebug includeExceptionDetailInFaults="true" httpHelpPageEnabled="true"   httpsHelpPageEnabled="true" />
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="EndpointBehavior">
          <webHttp helpEnabled="true"/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_HvacControlService" sendTimeout="00:05:00" />
        <binding name="ecoWcfBinding" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"  >
          <readerQuotas maxArrayLength="2147483647" maxStringContentLength="2147483647" />
        </binding>
      </basicHttpBinding>
    </bindings>
    <services>
      <service name="EcoSCADA.Web.Services.Wcf.BuildingComponentService" behaviorConfiguration="EcoscadaApi">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost/Services/wcf/BuildingComponentService" />
          </baseAddresses>
        </host>
        <endpoint address="" binding="basicHttpBinding" bindingConfiguration="ecoWcfBinding" contract="EcoSCADA.Web.Services.Wcf.IBuildingComponentService" />
        <endpoint address="mex" binding="mexHttpBinding" name="Metadata"  contract="IMetadataExchange" />
      </service>

Any remarks/hints will be appreciated.

Upvotes: 3

Views: 8795

Answers (2)

Lukas Kubis
Lukas Kubis

Reputation: 929

Help page is available only for webHttpBinding

Upvotes: 3

BCdotWEB
BCdotWEB

Reputation: 1048

Did you try this:

<endpointBehaviors>
    <behavior name="DefaultEndPointBehavior">
        <webHttp helpEnabled="true" />
    </behavior>
</endpointBehaviors>

Update: Looking at this I notice that they include a specific endpoint for the help page:

<services>
  <service behaviorConfiguration="RESTWebServiceBehavior" name="RESTWebService">
    <endpoint address="" kind="webHttpEndpoint" behaviorConfiguration="RESTEndpointBehavior" contract="IHello" />
  </service>
</services>

Upvotes: 6

Related Questions