2010-07-07 11 views
11

Tworzę usługę WCF, która będzie wywoływana z innej usługi.Jak określić niestandardowe SoapAction dla WCF

W SOAPAction WSDL jest wyświetlana w następujący sposób

<soap12:operation soapAction="http://tempuri.org/ISubscriptionEvents/MyMethod" style="document" /> 

chcę go mieć

<soap12:operation soapAction="http://www.TextXYZ.com/FUNC/1/0/action/MyMethod" style="document" /> 

Jak mogę określić działanie niestandardowe mydła?

Odpowiedz

8

Można określić ją w definicji umowy usługę:

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

Można również określić właściwość Action na umowie Operation:

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

Można również ustawić ReplyAction jeśli trzeba .

Odpowiedź Darina ustawi akcję w oparciu o przestrzeń nazw, nazwę kontraktu i nazwę operacji, która jest znacznie łatwiejsza w użyciu, ale może nie działać, jeśli musisz ustawić akcję dokładnie tak, jak chcesz.

Powiązane problemy