Je dois créer un service REST avec une méthode POST avec 4 paramètres de chaîneWCF méthode REST service POST
Je l'ai défini comme ci-dessous:
[WebInvoke(UriTemplate = "/", Method = "POST", BodyStyle= WebMessageBodyStyle.WrappedRequest)]
public Stream ProcessPost(string p1, string p2, string p3, string p4)
{
return Execute(p1, p2, p3, p4);
}
Et je veux l'appeler avec le code comme suit :
string result = null;
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
string paramz = string.Format("p1={0}&p2={1}&p3={2}&p4={3}",
HttpUtility.UrlEncode("str1"),
HttpUtility.UrlEncode("str2"),
HttpUtility.UrlEncode("str3"),
HttpUtility.UrlEncode("str4")
);
// Encode the parameters as form data:
byte[] formData =
UTF8Encoding.UTF8.GetBytes(paramz);
req.ContentLength = postData.Length;
// Send the request:
using (Stream post = req.GetRequestStream())
{
post.Write(formData, 0, formData.Length);
}
// Pick up the response:
using (HttpWebResponse resp = req.GetResponse()
as HttpWebResponse)
{
StreamReader reader =
new StreamReader(resp.GetResponseStream());
result = reader.ReadToEnd();
}
return result;
Cependant, le code client renvoie le code 400: Bad demande
Que dois-je faire mal?
Merci
Essayez d'activer le traçage WCF pour voir quel est le problème, mais je pense que le service s'attend à XML –