0

我有一个 Jersey 网络服务,它的客户端在 C# 中。按照片段。

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 错误响应。我试图@Consumes 各种媒体类型,目前没有工作。有人可以告诉我如何将 xml 请求从 C# 发送到 jersey web 服务吗?我还使用@XmlRootElement 和我的pojo 来处理输入xml。

提前感谢您的帮助。

4

1 回答 1

0

当请求 contentType 为“application/x-www-form-urlencoded”并且 jersey webservice @Consumes APPLICATION_FORM_URLENCODED 时,我得到了它。事实上,contentType 没有问题,而是无法按照 webresource 的预期将 xml 输入到 POJO 对象中。因此,只要我将服务的参数类型修改为字符串,它就会开始工作。当然,除非有其他方法,否则您需要解析字符串 xml 来构建对象。

于 2012-04-27T03:59:01.730 回答