samedi 18 juin 2016

How to Enable HTTPS on WCF WsHttp bindings

Hi i am trying to enable my wcf serive to run on https but i am getting this error

Configuration binding extension 'system.serviceModel/bindings/true' could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly.

Can any one let me know where i am going wrong.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.web>
      <compilation debug="true" />
      <authentication mode="None"/>
      <httpRuntime maxRequestLength="2097151"   />
      <hostingEnvironment shadowCopyBinAssemblies="false"/>
      <pages compilationMode="Never"/>
   </system.web>      
   <!-- When deploying the service library project, the content of the config file must be added to the host's 
  app.config file. System.Configuration does not support config files for libraries. -->
   <system.serviceModel>
      <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

      <services>
         <service name="MyWebApp.Medical.WebViewer.Wcf.StoreService" behaviorConfiguration="WebViewerServiceBehavior">
            <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IStoreService" behaviorConfiguration="WebViewerServiceBehavior" bindingConfiguration="HandleLargeData"/>
            <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
         </service>

        <service name="MyWebApp.Medical.WebViewer.Wcf.PatientService" behaviorConfiguration="WebViewerServiceBehavior">
          <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IPatientService" behaviorConfiguration="WebViewerServiceBehavior" bindingConfiguration="HandleLargeData"/>
          <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
        </service>

         <service name="MyWebApp.Medical.WebViewer.Wcf.ObjectQueryService" behaviorConfiguration="WebViewerServiceBehavior">
            <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IObjectQueryService" behaviorConfiguration="WebViewerServiceBehavior">
            </endpoint>         
            <endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="" contract="IMetadataExchange">         
            </endpoint>
         </service>
         <service name="MyWebApp.Medical.WebViewer.Wcf.ObjectRetrieveService" behaviorConfiguration="WebViewerServiceBehavior">
            <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IObjectRetrieveService" behaviorConfiguration="WebViewerServiceBehavior">
            </endpoint>
         </service>
         <service name="MyWebApp.Medical.WebViewer.Wcf.PacsQueryService" behaviorConfiguration="WebViewerServiceBehavior">
            <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IPACSQueryService" behaviorConfiguration="WebViewerServiceBehavior">
            </endpoint>
            <!-- Metadata Endpoints -->
            <!-- The Metadata Exchange endpoint is used by the service to describe itself to clients. -->
            <!-- This endpoint does not use a secure binding and should be secured or removed before deployment -->
            <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
         </service>
         <service name="MyWebApp.Medical.WebViewer.Wcf.PACSRetrieveService" behaviorConfiguration="WebViewerServiceBehavior">
            <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IPACSRetrieveService" behaviorConfiguration="WebViewerServiceBehavior">
            </endpoint>
         </service>
         <service name="MyWebApp.Medical.WebViewer.Wcf.AuthenticationService" behaviorConfiguration="WebViewerServiceBehavior">
            <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IAuthenticationService" behaviorConfiguration="WebViewerServiceBehavior">
            </endpoint>
            <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
         </service>
         <service name="MyWebApp.Medical.WebViewer.Wcf.PatientAccessRightsService" behaviorConfiguration="WebViewerServiceBehavior">
            <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IPatientAccessRightsService" behaviorConfiguration="WebViewerServiceBehavior">
            </endpoint>
         </service>
         <service name="MyWebApp.Medical.WebViewer.Wcf.AnnotationsService" behaviorConfiguration="WebViewerServiceBehavior">
            <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IAnnotationsService" behaviorConfiguration="WebViewerServiceBehavior" bindingConfiguration="HandleLargeData">
            </endpoint>
         </service>
          <service name="MyWebApp.Medical.WebViewer.Wcf.OptionsService" behaviorConfiguration="WebViewerServiceBehavior">
              <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IOptionsService" behaviorConfiguration="WebViewerServiceBehavior">
              </endpoint>
          </service>
          <service name="MyWebApp.Medical.WebViewer.Wcf.AuditLogService" behaviorConfiguration="WebViewerServiceBehavior">
              <endpoint address="" binding="webHttpBinding" contract="MyWebApp.Medical.WebViewer.ServiceContracts.IAuditLogService" behaviorConfiguration="WebViewerServiceBehavior">
              </endpoint>
          </service>
          <service name="MyWebApp.Medical.WebViewer.Wcf.ExportService"
                  behaviorConfiguration="WebViewerServiceBehavior">
              <endpoint address=""
      binding="webHttpBinding"
      contract="MyWebApp.Medical.WebViewer.ServiceContracts.IExportService"
      behaviorConfiguration="WebViewerServiceBehavior"
      bindingConfiguration="HandleLargeData">
              </endpoint>
          </service>
          <service name="MyWebApp.Medical.WebViewer.Wcf.MonitorCalibrationService"
                  behaviorConfiguration="WebViewerServiceBehavior">
              <endpoint address=""
      binding="webHttpBinding"
      contract="MyWebApp.Medical.WebViewer.ServiceContracts.IMonitorCalibrationService"
      behaviorConfiguration="WebViewerServiceBehavior"
      bindingConfiguration="HandleLargeData">
              </endpoint>
          </service>
          <service name="MyWebApp.Medical.WebViewer.Wcf.WorklistService"
                  behaviorConfiguration="WebViewerServiceBehavior">
              <endpoint address=""
      binding="webHttpBinding"
      contract="MyWebApp.Medical.WebViewer.ServiceContracts.IWorklistService"
      behaviorConfiguration="WebViewerServiceBehavior"
      bindingConfiguration="HandleLargeData">
              </endpoint>
          </service>
      </services>
      <extensions>
        <bindingExtensions>
          <add name="basic" type="basicHttpBinding"/>
          <add name="webBind" type="webHttpBinding"/>
          <add name="ws*bind" type="wsHttpBinding"/>
        </bindingExtensions>
         <behaviorExtensions>
            <add name="jsonWebHttp" type="MyWebApp.Dicom.Services.ErrorHandler.JsonErrorWebHttpBehaviorElement, MyWebApp.Medical.WebViewer.WCF" />
            <add name="CorsSupport" type="MyWebApp.Wcf.CorsSupportBehaviorElement, MyWebApp.Wcf.WebHttpCorsBehavior" />
         </behaviorExtensions>
      </extensions>
      <bindings>
         <webHttpBinding>

            <binding name="HandleLargeData"  maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" receiveTimeout="01:00:00" openTimeout="01:00:00" closeTimeout="01:00:00" sendTimeout="01:00:00">
              <security mode="Transport">
                <transport clientCredentialType="None"/>
              </security>
               <readerQuotas maxDepth="2147483647"
                  maxStringContentLength="2147483647"
                  maxArrayLength="2147483647"
                  maxBytesPerRead="2147483647"
                  maxNameTableCharCount="2147483647" />
            </binding>
         </webHttpBinding>
      </bindings>
      <behaviors>
         <serviceBehaviors>
            <behavior name="WebViewerServiceBehavior">
               <!-- To avoid disclosing metadata information, 
          set the value below to false and remove the metadata endpoint above before deployment -->
               <!--<serviceMetadata httpGetEnabled="true" httpGetUrl="anonymous" />-->
              <serviceMetadata  httpsGetBinding="true"  httpsGetUrl="anonymous" />
               <!-- To receive exception details in faults for debugging purposes, 
          set the value below to true.  Set to false before deployment 
          to avoid disclosing exception information -->
               <serviceDebug includeExceptionDetailInFaults="True" />
            </behavior>
         </serviceBehaviors>
         <endpointBehaviors>
            <behavior name="WebViewerServiceBehavior">
               <webHttp />
               <jsonWebHttp />
               <CorsSupport />
            </behavior>
         </endpointBehaviors>
      </behaviors>
   </system.serviceModel>
   <connectionStrings>
   </connectionStrings>
   <appSettings>

   </appSettings>
    <system.webServer>
        <staticContent>
            <remove fileExtension=".dcz"/>
            <mimeMap fileExtension=".dcz" mimeType="application/x-zip-compressed" />
        </staticContent>
    </system.webServer>
</configuration>

Aucun commentaire:

Enregistrer un commentaire