我有一个传统的肥皂客户端,我需要构建肥皂服务。客户端期望/连接和/断开两个SOAPAction。我有一个名为IProto的接口,它有两个连接和断开功能。问题是WCF在SOAPAction中预先设置了服务合同名称(IProto),并且客户端无法找到期望的操作。例如,服务SOAPAction IProto / connect和IProto / disconnect,客户端期望/ connect和/ disconnect。 有没有办法将服务合同名称设置为空?
PS。旧版客户端源代码无法更改。
答案 0 :(得分:3)
因此,您不希望将ServiceContract名称设置为空,您希望更改SOAPAction。提出正确的问题会给你一个解决方案。
查看OperationContract属性的Action
成员。
[OperationContract(Action="/connect")]
答案 1 :(得分:2)
看起来ServiceContract属性具有您可以设置的属性来实现此目的。
[ServiceContract(Name = "***", Namespace = "***")]
答案 2 :(得分:0)
替换IDispatchOperationSelector的默认实现?
答案 3 :(得分:-2)
尝试
[ServiceContract(Namespace = "")]
public interface IMyServiceContract