Я создаю сервис 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
, если вам нужно.
Ответ Дарина установит действие на основе пространства имен, имени контракта и имени операции, что намного проще в использовании, но может не сработать, если вам нужно настроить действие именно так, как вы хотите.