0

C# にクライアントを持つジャージー Web サービスがあります。スニペットに従います。

var request =(HttpWebRequest)WebRequest.Create(uri);
        request.Method = "POST";
        request.ContentType = "application/xml";
        Stream stream = request.GetRequestStream();
        byte[] b = memstreamxml.ToArray();
        stream.Write(b, 0, b.Length);
        stream.Close();
        var response = (HttpWebResponse)request.GetResponse();

xml バイトで投稿するこの要求では、400 または 415 エラー応答が返されます。さまざまな MediaTypes を @Consumes しようとしましたが、現在は何も機能していません。C# から jersey Web サービスに xml リクエストを送信する方法を教えてもらえますか? また、@XmlRootElement を pojo で使用して、入力 xml を処理しています。

事前に助けてくれてありがとう。

4

1 に答える 1

0

リクエストの contentType が「application/x-www-form-urlencoded」で、ジャージ Web サービスが @Consumes APPLICATION_FORM_URLENCODED の場合に機能しました。実際、contentType には問題はありませんでしたが、webresource が期待するように XML 入力を POJO オブジェクトにマーシャリングできませんでした。そのため、サービスのパラメータ タイプを String に変更するとすぐに機能し始めます。もちろん、他の方法がない限り、文字列 xml を解析してオブジェクトを構築する必要があります。

于 2012-04-27T03:59:01.730 に答える