2

C# で基本的な WCF REST Web サービスを作成しました。HTTP POST で "application/xml" のコンテンツ タイプを受け入れる必要があります。私が持っているコードは、POST のコンテンツ タイプが「application/x-www-form-urlencode」の場合にのみ機能し、POST データのコンテンツ タイプを「application/xml」にしようとすると、400 エラーが発生します。メッセージ。

WCF Web サービスは、"RestBehavior" の behaviorConfiguration と "webHttpBinding" のバインドを使用しています。

投稿を作成して送信するクライアント コードは次のようになります。

HttpWebRequest request = (HttpWebRequest) WebRequest.Create(GetURL());
request.Method = "POST";
request.ContentLength = byteArray.Length;
request.ContentType = "application/xml";
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Stream data = response.GetResponseStream();
response.Close();

コンテンツ タイプを「application/x-www-form-urlencoded」に変更すると機能しますが、このクライアント コードは Web サービスから 400 エラーを受け取ります。「application/xml」のコンテンツ タイプを操作するには、これが必要です。ありがとう。

4

0 に答える 0