Mensagem de erro: “Dois contratos diferentes têm o mesmo nome de configuração” ao baixar o WSDL de Xamlx no Appfabric Beta 2

StackOverflow https://stackoverflow.com/questions/2392975

Pergunta

Recebo a seguinte mensagem de erro quando tento usar svcutil Para gerar um proxy de cliente para um xamlx Arquivo que é hospedado pelo Appfabric Beta 2:

Dois contratos diferentes têm o mesmo nome de configuração

Entendo a mensagem, no entanto, não consigo encontrar sua causa ou como corrigi -la. Estou acompanhando o laboratório 'Introdução ao Workflow Services' do kit de treinamento VS2010RC. O aplicativo da web possui dois serviços: subitapplication.xamlx e educationscreening.xamlx. Não sei por que, mas os dois têm quatro pontos de extremidade. Se eu dar uma olhada no painel Appfabric no IIS MGMT Studio:

basicHttpBinding (Contract: *)
    (Type: Application(Default))
netNamedPipeBinding (Contract: System.ServiceModel.Activities.IWorkflowInstanceManagement)
    (Type: System (workflowControlEndpoint))
netNamedPipeBinding (Contract: *)
    (Type: Application (Default))
serviceMetadataHttpGetBinding (Contract: serviceMetadataHttpGetContract)
    (Type: System (serviceMetadataEndpoint))

Ao dar uma olhada no subitapplication.xamlx em um navegador, vejo o seguinte Stacktrace:

[InvalidOperationException: Two different contracts have the same ConfigurationName.]
System.ServiceModel.Activities.WorkflowServiceHost.CreateDescription(IDictionary`2& implementedContracts) +361
System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses) +174
System.ServiceModel.Activities.WorkflowServiceHost.InitializeDescription(WorkflowService serviceDefinition, UriSchemeKeyedCollection baseAddresses) +82
System.ServiceModel.Activities.WorkflowServiceHost.InitializeFromConstructor(WorkflowService serviceDefinition, Uri[] baseAddresses) +206
System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory.CreateWorkflowServiceHost(WorkflowService service, Uri[] baseAddresses) +43
System.ServiceModel.Activities.Activation.WorkflowServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +974
System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +1423
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +50
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +1132

[ServiceActivationException: The service '/HRApplicationServices/SubmitApplication.xamlx' cannot be activated due to an exception during compilation. The exception message is: Two different contracts have the same ConfigurationName..]
System.Runtime.AsyncResult.End(IAsyncResult result) +889824
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +179150
System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +107

Alguém pode me dizer o que estou fazendo de errado?

Eu não configurei nenhuma das ligações. O BasichttpBinding é o que você recebe por padrão no .NET 4 ao hospedar um serviço dentro de um aplicativo da Web. As outras ligações são configuradas pelo AppFabric. Não consigo encontrar a configuração deles em nenhum lugar.

Atualizar: Removido um dos Serviços Xamlx (EducationScreening.xamlx). Sem efeito.

Atenciosamente,
Ronald Wildenberg

Foi útil?

Solução

Fiz algumas pesquisas adicionais e encontrei o problema. Existem duas atividades de recebimento no fluxo de trabalho subitapplication.xamlx. Eles tinham dois serviceCotratName de serviço diferente:

{http://contoso.com/hr}IApplicationService
{http://contoso.com/hr/}IApplicationService

Ainda não entendo a mensagem. Qual é o nome da configuração de um serviço XAMLX? E por que é diferente quando eu altero o nome do serviceContractNe?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top