none
Interoperabilidade entre Serviços - Configurações de Binding no WCF para habilitar o WS-Atomic Transactions RRS feed

  • Pergunta

  • Bom dia!

    Estou com um problema há dias, que não consigo resolver. Já fiz diversas pesquisas, mas não encontro nenhuma solução ou um exemplo prático.

    Necessito utilizar o conceito de transações distribuídas entre um ambiente WebLogic e Microsoft (WCF). Já consegui habilitar o WS-Atomic Transactions no Windows e também criei um certificado válido para isso.

    O meu problema atual é saber qual Binding em específico utilizar no WCF. Já utilizei os seguintes Bindings:

    - basicHttpBinding
    
    - ws2007HttpBinding
    
    - netTcpBinding

    Todos configurados com a tag 

    <security mode="Transport">

    Nessa última configuração (netTcpBinding), observei que existe a tag transactionProtocol e setei tanto para WSAtomicTransaction11 e WSAtomicTransactionOctober2004 e ocorreu o seguinte erro:

    Falha na validação de ligação porque o WSHttpBinding não oferece suporte a sessões confiáveis em segurança de transporte (HTTPS). A fábrica de canais ou host de serviço não pôde ser aberto. Use a segurança de mensagem para proteger a troca de mensagens confiáveis em HTTP.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

    Exception Details: System.InvalidOperationException: Falha na validação de ligação porque o WSHttpBinding não oferece suporte a sessões confiáveis em segurança de transporte (HTTPS). A fábrica de canais ou host de serviço não pôde ser aberto. Use a segurança de mensagem para proteger a troca de mensagens confiáveis em HTTP.

    Source Error: 
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace: 
    [InvalidOperationException: Falha na validação de ligação porque o WSHttpBinding não oferece suporte a sessões confiáveis em segurança de transporte (HTTPS). A fábrica de canais ou host de serviço não pôde ser aberto. Use a segurança de mensagem para proteger a troca de mensagens confiáveis em HTTP.]
       System.ServiceModel.WSHttpBinding.CreateBindingElements() +5190229
       System.ServiceModel.Channels.Binding.EnsureInvariants(String contractName) +25
       System.ServiceModel.Description.ServiceEndpoint.EnsureInvariants() +79
       System.ServiceModel.Description.ServiceDescription.EnsureInvariants() +40
       System.ServiceModel.Description.DispatcherBuilder.ValidateDescription(ServiceDescription description, ServiceHostBase serviceHost) +22
       System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost) +109
       System.ServiceModel.ServiceHostBase.InitializeRuntime() +60
       System.ServiceModel.ServiceHostBase.OnBeginOpen() +27
       System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) +50
       System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +318
       System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +206
       System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +651
    
    [ServiceActivationException: The service 'localhost/ConsultasService.svc' cannot be activated due to an exception during compilation.  The exception message is: Falha na validação de ligação porque o WSHttpBinding não oferece suporte a sessões confiáveis em segurança de transporte (HTTPS). A fábrica de canais ou host de serviço não pôde ser aberto. Use a segurança de mensagem para proteger a troca de mensagens confiáveis em HTTP..]
       System.Runtime.AsyncResult.End(IAsyncResult result) +688590
       System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +190
       System.ServiceModel.Activation.ServiceHttpModule.EndProcessRequest(IAsyncResult ar) +310694
       System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +94


    Gostaria de saber se alguém já teve o mesmo problema, e que poderia me indicar o que eu deva fazer para contornar esse problema.

    Muito obrigado,

    Willian

     

    segunda-feira, 26 de novembro de 2012 12:40

Respostas