我有一个Jersey Web服务,其客户端在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各种MediaTypes,目前都没有工作。有人能告诉我如何将C#的xml请求发送到泽西网络服务吗?我也使用@XmlRootElement和我的pojo来处理输入xml。
提前感谢您的帮助。
答案 0 :(得分:0)
当请求contentType是“application / x-www-form-urlencoded”和jersey webservice @Consumes APPLICATION_FORM_URLENCODED时,我得到了它。事实上,contentType没有问题,但无法按照webresource的预期将Marshall xml输入到POJO对象中。因此,只要我将服务的参数类型修改为String,它就会开始工作。当然,除非有其他方法,否则你需要解析字符串xml来构建一个对象。