强制 Restlet 客户端使用“text/xml”
我必须使用 POST 向后端发送一些数据,该后端检查内容类型并强制使用“text/xml”。 我正在使用这段代码:
final ClientResource resource = new ClientResource(url);
String data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> ..."
StringRepresentation stringRep = new StringRepresentation(data);
stringRep.setMediaType(MediaType.TEXT_XML);
resource.post(stringRep);
Restlet 似乎使用“text/plain”作为内容类型。是否可以强制内容类型?我在 Android 2.2 上使用 Restlet 2.0。
预先感谢
史蒂文
I have to send some data using POST to a backend that checks the content type and forces "text/xml".
I'm using this code:
final ClientResource resource = new ClientResource(url);
String data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> ..."
StringRepresentation stringRep = new StringRepresentation(data);
stringRep.setMediaType(MediaType.TEXT_XML);
resource.post(stringRep);
It seems that Restlet uses "text/plain" as content type. Is it possible to force the content type? I'm using Restlet 2.0 on Android 2.2.
Thanks in advance
Steven
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用您在 Restlet 2.0.3 中提供的代码进行了一些测试,并且更改表示上的内容类型实际上更改了 HTTP 请求中的相应标头。
您说“Restlet 似乎使用“text/plain”作为内容类型”。你如何检查?在我这边,我使用 Apache 的 Tcp Mon 工具作为代理来查看请求内容 (http://ws.apache.org/commons/tcpmon/download.cgi)。否则你用哪个2.0版本?这将允许拥有与您相同的环境...
谢谢,
蒂埃里
I made some tests using the code your gave with Restlet 2.0.3 and changing the content type on the representation actually changes the corresponding header in HTTP request.
You say "It seems that Restlet uses "text/plain" as content type". How do you check that? On my side, I used the Tcp Mon tool from Apache as a proxy to see the request content (http://ws.apache.org/commons/tcpmon/download.cgi). Otherwise which 2.0 version do you use? This will allow having the same environment as you...
Thanks,
Thierry