HTTP POST를 통해 WCF 서비스를 호출하려고하는데 서비스가 400 오류를 반환합니다. 이것이 OperationContract 또는 POST를 수행하는 방식 때문인지 여부는 알 수 없습니다.WCF 서비스에 대한 HTTP POST
HttpWebRequest webRequest = WebRequest.Create("http://localhost:8000/File/Download") as
HttpWebRequest;
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
byte[] bytes = Encoding.ASCII.GetBytes("username=test&fileid=1");
Stream os = null;
webRequest.ContentLength = bytes.Length;
os = webRequest.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
os.Close();
WebResponse webResponse = webRequest.GetResponse();
이 편집 : 내가 그것을해야 내가 테스트 콘솔 응용 프로그램을 통해 서비스를 호출하기 위해 노력하고있어 방법
[OperationContract, WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped)]
Stream Download(string username, int fileid);
을 그리고 여기이 계약은 서버 측에 모습입니다 내 목표는 서비스를 테스트하는 것이지 원시 HTTP POST를 허용하지 않는 것입니다. 서비스를 테스트 할 수있는 더 좋은 방법이 있다면 언제든지 공유하십시오.
모든 응용 프로그램에서 사용하기로되어 있기 때문에'application/x-www-form-urlencoded '를 사용하고있었습니다. 나는'application/json'에 대해 몰랐다. 고맙습니다. – rafale