Как указать пользовательский SoapAction для WCF

Я создаю сервис 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" />

Как я могу указать пользовательское действие мыла?

11
задан Ram 7 July 2010 в 07:03
поделиться

2 ответа

Его можно указать в определении контракта службы:

[ServiceContract(Namespace = "http://www.TextXYZ.com/FUNC/1/0/action")]
public interface IMyServiceContract
{
    [OperationContract]
    void MyMethod();
}
8
ответ дан 3 December 2019 в 02:52
поделиться

Вы также можете указать свойство Action в контракте операции:

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

Вы также можете установить ReplyAction , если вам нужно.

Ответ Дарина установит действие на основе пространства имен, имени контракта и имени операции, что намного проще в использовании, но может не сработать, если вам нужно настроить действие именно так, как вы хотите.

22
ответ дан 3 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: