I can't for the life of me work this one out. I have workflow service, declared thus:
<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"
It implements a service contract:
<WorkflowService.ImplementedContracts>
<x:Type Type="ns:IWorkflowService" />
</WorkflowService.ImplementedContracts>
I'm trying to enable a workflow control endpoint, so that I can resume suspended workflows from a remote client. So I've added the following section into the 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>
But everytime I visit http://myhost.lan/service/MyWorkflowService.xamlx, I'm receiving this message:
The contract name 'Name.Space.IWorkflowService' could not be found in the list of contracts implemented by the service 'MyWorkflowService'.
My contract looks like this:
[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);
}
Any help would be much appreciated!
Reflector revealed the answer to me. I had been using the wrong contract in the configuration.
I should have been using:
I had tried
but not
by itself.