Возможно, я путаю некоторые вещи, но я не могу найти какие-либо вопросы или документацию по действиям по перегрузке для службы wcf, получающей сообщения SOAP.
Цель: у меня есть 3 SOAP-сообщения, поступающие в мою службу wcf с тем же именем действия в одной и той же конечной точке. Это исправлено, и я не могу изменить это.
Я бы ожидал, что будет работать следующий интерфейс wcf:
[OperationContract(Action = "urn:oasis:names:tc:SPML:2:0:req/active", Name = "addRequest")]
void Add(data data);
[OperationContract(Action = "urn:oasis:names:tc:SPML:2:0:req/active", Name = "modifyRequest")]
void Modify(psoID psoID, modification modification);
[OperationContract(Action = "urn:oasis:names:tc:SPML:2:0:req/active", Name = "deleteRequest")]
void Delete(psoID psoID);
Проблема: Если у меня только один действующий контракт, как это, мой сервис работает, ноесли у меня есть несколько операционных контрактов, появится следующее сообщение об ошибке: `
500System.ServiceModel.ServiceActivationException
Я считаю, что не может быть несколько операционных контрактов с одним и тем же именем действия. Я также считаю, что это должно быть возможно, потому что я заменяю сервис мыла, который обрабатывает все 3 сообщения с одинаковым именем действия. (wcf и мыло не должны быть так далеко?)
Я добавил операционные имена, чтобы исправить проблему, но без удачи.
Любая помощь будет оценена. Спасибо!