如何为WCF指定自定义SoapAction

我正在创建一个将从另一个服务调用的WCF服务。

在WSDL中,soapaction出现如下

 

我想要它

  

如何指定自定义soap操作?

您可以在服务合同定义中指定它:

 [ServiceContract(Namespace = "http://www.TextXYZ.com/FUNC/1/0/action")] public interface IMyServiceContract { [OperationContract] void MyMethod(); } 

您还可以在操作合同上指定Action属性:

 [ServiceContract] public interface IMyServiceContract { [OperationContract(Action = "http://www.TextXYZ.com/FUNC/1/0/action/MyMethod")] void MyMethod(); } 

如果需要,您还可以设置ReplyAction

Darin的答案将根据命名空间,合同名称和操作名称设置操作,这更容易使用,但如果您需要将操作设置为您想要的操作,则可能无效。