也许我混淆了一些东西,但我找不到任何关于接收 SOAP 消息的 wcf 服务的重载操作的问题或文档。
目标:我有 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和soap不应该那么远吗?)
我添加了操作名称以解决问题,但没有运气。
任何帮助都将不胜感激。谢谢!