Ответ 1
Вы можете указать его в определении контракта на обслуживание:
[ServiceContract(Namespace = "http://www.TextXYZ.com/FUNC/1/0/action")]
public interface IMyServiceContract
{
[OperationContract]
void MyMethod();
}
Я создаю службу WCF, которая будет вызвана из другой службы.
В WSDL soapaction появляется следующим образом
<soap12:operation soapAction="http://tempuri.org/ISubscriptionEvents/MyMethod" style="document" />
Я хочу, чтобы он был
<soap12:operation soapAction="http://www.TextXYZ.com/FUNC/1/0/action/MyMethod" style="document" />
Как я могу указать пользовательское действие мыла?
Вы можете указать его в определении контракта на обслуживание:
[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
, если вам нужно.
В ответе Дарина будет установлено действие на основе пространства имен, имени контракта и имени операции, которое намного проще в использовании, но может не работать, если вам нужно установить действие именно так, как вы хотите.