2014-09-15 2 views
1

Я не могу на всю жизнь работать с этим. Я службы документооборота, заявив при этом:Workflow Services: название контракта не найдено в списке контрактов, выполняемых службой

<WorkflowService mc:Ignorable="sap sap2010 sads" p1:TextExpression.Namespaces="{x:Reference __ReferenceID79}" p1:TextExpression.References="{x:Reference __ReferenceID80}" ConfigurationName="MyWorkflowService" sap2010:ExpressionActivityEditor.ExpressionActivityEditor="C#" sap2010:WorkflowViewState.IdRef="WorkflowService_1" Name="MyWorkflowService" 

Он реализует контракт на обслуживание:

<WorkflowService.ImplementedContracts> 
    <x:Type Type="ns:IWorkflowService" /> 
    </WorkflowService.ImplementedContracts> 

Я пытаюсь включить контроль рабочего процесса конечной точки, так что я могу возобновить приостановленные рабочие процессы с удаленного клиента , Поэтому я добавил следующий раздел в web.config:

<services> 
     <service name="MyWorkflowService"> 
     <endpoint binding="basicHttpBinding" name="BasicHttpBinding_IWorkflowService" contract="Name.Space.IWorkflowService" /> 
     <endpoint binding="basicHttpBinding" name="wceEndpoint" address="wce" kind="workflowControlEndpoint" contract="System.ServiceModel.Activities.IWorkflowInstanceManagement" /> 
     </service> 
    </services> 

Но каждый раз, когда я посещаю http://myhost.lan/service/MyWorkflowService.xamlx, я получаю это сообщение:

Имя контракта «Name.Space.IWorkflowService» не удалось найти в списке контрактов, реализованных службой «MyWorkflowService».

Мой контракт выглядит следующим образом:

[ServiceContract(Name = "IService", Namespace = "http://mycompany/myservice/")] 
    public interface IWorkflowService 
    { 
     [OperationContract] 
     int DoStuff(string filePath); 

     [OperationContract] 
     [FaultContract(typeof(ThingNotFoundException))] 
     void Take(string baseDirectory, int id); 
    } 

Любая помощь будет высоко ценится!

ответ

0

Рефлектор показал мне ответ. Я использовал неправильный контракт в конфигурации.

Я должен был с помощью:

<endpoint binding="basicHttpBinding" name="BasicHttpBinding_IWorkflowService" contract="IService" /> 

Я попытался

http://mycompany/myservice/IService 

но не

IService

сам по себе.