In meinem aktuellen Projekt sende ich eine POST-Anforderung an einen WCF-Dienst. Aber ich bekomme eine leere Antwort. Ich habe versucht, den ähnlichen Beitrag auf stackoverflow zu verwenden: POST1 und [POST2] [2], aber ich konnte das Problem nicht lösen. Mein WCF-Service-Code ist wie folgt:Postanforderung an WCF-Dienst von einem REST-Client
namespace RestfulWCFService
{
[OperationContract]
[WebInvoke(Method="GET", ResponseFormat= WebMessageFormat.Xml, UriTemplate="xml/?firstname={firstname}&lastname={lastname}")]
string SayHelloXml(string firstname, string lastname);
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "json/{name}")]
string SayHelloJson(string name);
[ServiceContract]
public interface IRestfulTestService
{
[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/data")]
string SayHelloJSONPOSTRequest(string jsonRequestString);
}
}
Die Implementierung der Schnittstelle ist wie folgt:
namespace RestfulWCFService
{
string IRestfulTestService.SayHelloXml(string firstname, string lastname)
{
return "Hello " + firstname + " " + lastname;
}
string IRestfulTestService.SayHelloJson(string name)
{
return "Hello " + name;
}
public class RestfulTestService : IRestfulTestService
{
string IRestfulTestService.SayHelloJSONPOSTRequest(string jsonRequestString)
{
return "Hello " + jsonRequestString;
}
}
}
nun von einem REST-Client, mein Wunsch ist wie folgt:
http://localhost/RestfulWCFService/RestfulTestService.svc/data
und die Content-Type:application/json
und Nutzlast ist {"firstname":"Pankesh"}
. Ich bekomme keine Antwort von WCF.
Zu Ihrer Information, ich füge den Screenshot meines Clients an.
Sie scheinen 500. Die zu bekommen Service kann nicht aktiviert werden. Navigieren Sie zu http: //localhost/RestfulWCFService/RestfulTestService.svc und sehen Sie, warum. – smoksnes
@smoksnes: Der Dienst ist bereits aktiviert, wenn ich eine GET-Anfrage mache. Ich aktualisiere Vertragsdefinitionen und seine Implementierungsdatei für Ihre Referenz. – Pankesh
OK, die Statusmeldung, die Sie im Client zeigen, hängt nicht mit der Anfrage zusammen, die Sie stellen. – smoksnes