2009-03-16 15 views
10

He creado un servicio WCF que está expuesto tanto a través de SOAP como RESTfully. Todas las acciones de SOAP funcionan como se anuncia. GETS/PONE también lo hacen, pero cuando intento hacer un POST a una acción en mi servicio, me sale devuelve el error siguiente:El servicio RESTful WCF devuelve el error de "punto final no encontrado" en las operaciones POST

"Punto final no encontrado"

IPersonEditServiceContract fragmento:

[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); 

servicio se configura de esta manera:

<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> 

Desde que puedo hacer otras operaciones REST contra el mismo punto final, no estoy del todo seguro de por qué me da que el error semi-útil .

Ideas?

+0

tengo el mismo problema ( – Evgeny

Respuesta

5

Creo que WCF está dando el error porque realmente no puede encontrar el punto final. ¿Estás jugando con POST a la URL correcta debajo/resto? Pruebe Fiddler para crear una llamada POST.

+2

mágicamente desapareció; no tengo idea de cuál era el problema, pero, ya que eres el único que respondió, gracias! Por cierto, utilizo el violín para pruebas simples, realmente me gusta soapUI para construyendo algunos simulacros y probando proyectos desde un ángulo similar. –

+32

No marque la respuesta a menos que la pregunta haya sido realmente respondida. Es confuso para los usuarios que aparecen más tarde con el mismo problema. – reach4thelasers

+0

Tengo el mismo problema. HttpGet funciona, sin embargo, creé un método similar con el que quiero utilizar POST, y obtengo el error de punto final no encontrado. ¿Sabía cuál era el verdadero problema? – mservidio

Cuestiones relacionadas