sexta-feira, 27 de dezembro de 2013

Could not find a base address that matches scheme https for the endpoint with binding WSHttpBinding. Registered base address schemes are [http]

Link to get the project example: click here

I was having a problem to configure a WCF with wsHttpBinding, and after a big research I found a solution. Here the web.config:

<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5"/>
  </system.web>
  <system.serviceModel>
    <services>
      <service name="WCFServiceAuthentication.ServiceAuthentication" behaviorConfiguration="ServiceBehavior">
        <!-- Service Endpoints -->
        <endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransportSecurity" contract="WCFServiceAuthentication.IServiceAuthentication">
          <!--<identity>
            <dns value="localhost" />
          </identity>-->
        </endpoint>
      </service>
    </services>
    <bindings>
      <wsHttpBinding>
        <binding name="TransportSecurity">
          <security mode="TransportWithMessageCredential">
            <transport clientCredentialType="Basic" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior">
          <serviceMetadata httpsGetEnabled="true" httpsGetUrl="" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <!--
        To browse web app root directory during debugging, set the value below to true.
        Set to false before deployment to avoid disclosing web app folder information.
      -->
    <directoryBrowse enabled="false"/>
  </system.webServer>

</configuration>

Just paste this code into your web.config that gonna work.

Thank you and see you on the next POST.

Credits: MSDN Forum

segunda-feira, 16 de dezembro de 2013

Como descobrir meu número vivo

Simples! Basta mandar uma mensagem com a palavra NUMERO para 8300 e pronto! Muito Obrigado e até o próximo POST!

quinta-feira, 12 de dezembro de 2013

Como habilitar WSDL do WCF

Acredito que se você está nesta página deve ter de deparado com essa mensagem no seu serviço:
"Metadata publishing for this service is currently disabled."

É bem simples de revolver. Normalmente quando você está trabalhando com http essa função já vem habilitada no Behavior do Webconfig. Agora se você resolver aumentar a segurança do serviço e tiver que trabalhar com https, provalmente tem que habilitar.

Segue como deve ficar seu webconfig:


Note que basta adicionar a tag serviceMetadata http e httpsGetEnabled='true'

Outra forma pode ser feita clicanco com botão direito do mouse no webconfig e depois clicar em Edit WCF Configuration. No próximo POST eu vou detalhar mais essa função.
Segue um outro blog que fala mais detalhadamente:
WCF Service with multiple bindings and endpoints

Muito Obrigado e até o próximo POST!

terça-feira, 10 de dezembro de 2013

Conectar uma Máquina Virtual no Domínio

Durante essa semana eu passei por uma pesquisa grande sobre como conectar uma máquina virtual ao domínio da rede.
Depois de passar por diversos sites sem sucesso cheguei a uma solução bem simples de configuração.

Estou usando VWware Player com uma máquina virtual Windows Server 2008 R2

Antes de qualquer alteração de IP e nome do Domínio na máquina virtual, é preciso alterar a forma de conexão da máquina virtual de NAT para Bridge.

Segue os prints:




1 - Configuração da minha máquina - TCP/IP Versão 4:


2 - Configuração da máquina virtual - TCP/IP Versão 4:


3 - Configuração do nome da minha máquina:



4 -  Configuração do nome da máquina virtual:




Muito Obrigado e até o próximo POST!


segunda-feira, 9 de dezembro de 2013

Certificado Digital SSL

Hoje depois de muita pesquisa configurei uma aplicação web para aceitar Certificado Digital (SSL).
Neste POST vou tentar simplificar o passo a passo para essa configuração.

1 - Instalei uma máquina Virtual com Windows Server 2008
2 - Adicionei IIS
3 - Criei um site "WCFTestSeguro"


4 - Instalar o Certification Authority


5 - Criar um Self-Signed Certificate


6 - Agora é hora de criar o site e habilitar o SSL Secure.


Segue dois links que me ajudaram a chegar nessa solução:



Uma nota importante é verificar o Firewall. No próximo POST vou falar um pouco mais sobre os Certificados Digitais não confiáveis. Muito Obrigado e até o próximo POST.