繁体   English   中英

Restlet:在HTTP请求中发送xml

[英]Restlet: sending xml in an HTTP request

如何在HTTP GET或HTTP put请求中发送xml文件? 我正在使用restlet框架。 这是我的新手,根据我所读的内容,我应该序列化xml。 完成之后,如何在HTTP请求中发送它?

即使您不使用将片段组合在一起的库,这也非常简单(我假设Restlet确实提供了一些简化):就像您提到的那样,您需要的只是HTTP连接/请求,以及产生(可能消耗)的能力。 XML。 因此,除了Restlet特有的东西(希望其他人可以解释)之外,这是一种“游击”方法,仅使用独立的部件。

要获得HTTP连接,您可以仅使用JDK功能(如果不起作用,则apache http客户端或async-http-client可以提供更多功能); 就像是:

URL url = new URL("http://myservice.mycompany.com:8080/path/to/service");
// configure settings here if/as necessary
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// if you need to post stuff, do:
conn.setRequestMethod("POST");
// need to set content type too possibly
conn.setDoOutput(true); // but only if you do POST stuff
OutputStream out = conn.getOutputStream();
// here you would output XML request
//...
out.close();
// and now read response
InputStream in = conn.getInputStream();
// and process it
// ...
in.close();

现在,关于生成/使用XML,您可以使用所有使用输入/输出流读取/写入XML的常用工具。 如果您喜欢数据绑定(到XML的XML POJO /从XML到XML的Java POJO),则使用JAXB (javax.xml.bind。*); JDK 1.6及更高版本捆绑包的默认实现。

另外,您可以简单地使用Stax(javax.xml.stream。*)实现(例如Woodstox )来通过简单的调用来读取/写入XML。 要获得奖励积分,请查看StaxMate ,它大大简化了此样式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM