Я создал службу WCF, которая была показана как через SOAP, так и RESTfully. Все действия SOAP работают как рекламируемые. GETS/PUTS тоже делают, но когда я пытаюсь сделать POST для действия в моей службе, я получаю следующую ошибку:
"Конечная точка не найдена"
IPersonEditServiceContract snippet:
[OperationContract]
[WebInvoke(Method="POST",
UriTemplate="/persons",
RequestFormat=WebMessageFormat.Xml,
ResponseFormat=WebMessageFormat.Xml)]
SavePersonResponse SavePerson(SavePersonRequest request);
[OperationContract]
WebGet(UriTemplate = "/persons/{personId}",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Bare,
RequestFormat = WebMessageFormat.Xml)]
Person GetClaimantById(string personId);
Служба настроена следующим образом:
<behaviors>
<endpointBehaviors>
<behavior name="restBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service>
<endpoint address="" binding="basicHttpBinding"
name="DefaultEndpoint"
bindingNamespace="http://mycompany.com/ServiceContracts"
contract="IPersonEditServiceContract" />
<endpoint
address="rest" binding="webHttpBinding"
name="RESTEndpoint"
bindingNamespace="http://mycompany.com/ServiceContracts"
contract="IPersonEditServiceContract"
behaviorConfiguration="restBehavior"/>
</service>
</services>
Так как я могу выполнять другие операции RESTful против одной и той же конечной точки, я не совсем уверен, почему это дает мне такую полуобщественную ошибку.
Идеи?