views:

85

answers:

1

i want to use wshttpbinding (with ssl and without ssl) in single service but it not works,,anybody had implemented ittt,,,so please guide how can i achieve that????

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="CommonBehaviour">
      <dataContractSerializer maxItemsInObjectGraph="2147483647" />
      <serviceCredentials>
        <serviceCertificate findValue="AzilenTechnology" x509FindType="FindBySubjectName" />
      </serviceCredentials>
      <serviceDebug includeExceptionDetailInFaults="false" />
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <basicHttpBinding>
    <binding name="basicHttpBindingConfig" closeTimeout="00:10:00"
      openTimeout="00:10:00" sendTimeout="00:10:00" maxBufferSize="2147483647"
      maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
      messageEncoding="Mtom">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
    </binding>
  </basicHttpBinding>
  <wsHttpBinding>
    <binding name="wsHttpBindingConfig" closeTimeout="00:10:00" openTimeout="00:10:00"
      sendTimeout="00:10:00" bypassProxyOnLocal="true" maxBufferPoolSize="2147483647"
      maxReceivedMessageSize="2147483647" messageEncoding="Mtom">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      <security mode="None" />
    </binding>
  </wsHttpBinding>
</bindings>
<services>
  <service behaviorConfiguration="CommonBehaviour" name="wcfAllInOne.wcfFileIO">
    <endpoint binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" />
    <endpoint address="http://localhost:82/WCFAllInOne/wcfFileIO.svc/basicHttpEndPoint" binding="basicHttpBinding"
      bindingConfiguration="basicHttpBindingConfig" name="BasicHttp"
      contract="wcfAllInOne.IwcfFileIO" />
    <endpoint address="http://localhost:82/WCFAllInOne/wcfFileIO.svc/wsHttpBindingEndPoint" binding="wsHttpBinding"
      bindingConfiguration="wsHttpBindingConfig" name="wsHttp" contract="wcfAllInOne.IwcfFileIO" />
    <endpoint address="https://localhost:444/WCFAllInOne/wcfFileIO.svc/wsHttpSslEndPoint" binding="wsHttpBinding"
      bindingConfiguration="wsHttpBindingConfig" name="wsHttpSsl"
      contract="wcfAllInOne.IwcfFileIO" />
    <endpoint binding="mexHttpsBinding" bindingConfiguration="" contract="IMetadataExchange" />
         </service>
</services>

A: 

I found the solution,,why my last configuration doesn't work,

My first mistake is that i used same configuration for wsHttpBinding with ssl and wsHttpBinding Without SSL

Here in my config file,i had just created only one "wsHttpBindingConfig" for both endpoint (one has http address and another one has https address),,

Now i am using two different configuration for to solve dis prob,.

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="CommonBehaviour">
      <dataContractSerializer maxItemsInObjectGraph="2147483647" />
      <serviceCredentials>
        <serviceCertificate findValue="AzilenTechnologies" x509FindType="FindBySubjectName" />
      </serviceCredentials>
      <serviceDebug includeExceptionDetailInFaults="false" />
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <basicHttpBinding>
    <binding name="basicHttpBindingConfig" closeTimeout="00:10:00"
      openTimeout="00:10:00" sendTimeout="00:10:00" maxBufferSize="2147483647"
      maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
      messageEncoding="Mtom">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      <security>
        <transport>
          <extendedProtectionPolicy policyEnforcement="Never" />
        </transport>
      </security>
    </binding>
  </basicHttpBinding>
  <wsHttpBinding>
    <binding name="wsHttpsBindingConfig" closeTimeout="00:10:00"
      openTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="true"
      maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
      messageEncoding="Mtom">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      <security mode="Transport">
        <transport clientCredentialType="None">
          <extendedProtectionPolicy policyEnforcement="Never" />
        </transport>
      </security>
    </binding>
    <binding name="wsHttpBindingConfig" closeTimeout="00:10:00" openTimeout="00:10:00"
      sendTimeout="00:10:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
      messageEncoding="Mtom">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      <security>
        <transport>
          <extendedProtectionPolicy policyEnforcement="Never" />
        </transport>
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<services>
  <service behaviorConfiguration="CommonBehaviour" name="wcfAllInOne.wcfFileIO">
    <endpoint binding="mexHttpBinding" bindingConfiguration="" contract="IMetadataExchange" />
    <endpoint address="/basicHTTPEndPoint" binding="basicHttpBinding"
      bindingConfiguration="basicHttpBindingConfig" name="basicHttp"
      contract="wcfAllInOne.IwcfFileIO" />
    <endpoint address="/wsHTTPEndPoint" binding="wsHttpBinding" bindingConfiguration="wsHttpBindingConfig"
      name="wsHttp" contract="wcfAllInOne.IwcfFileIO" />
    <endpoint address="/wsHTTPSEndPoint" binding="wsHttpBinding"
      bindingConfiguration="wsHttpsBindingConfig" name="wsHttpSsl"
      contract="wcfAllInOne.IwcfFileIO" />
    <endpoint binding="mexHttpsBinding" bindingConfiguration="" contract="IMetadataExchange" />
  </service>
</services>

Miraj
so,now this configuration workssss,,,
Miraj