我正在尝试将java中的xml文档发布到rails应用程序。我很难写出http请求 这是我的java代码:
Socket sock = new Socket(addr, port);
String path = "http://127.0.0.1:3000/mycontrollers.xml";
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream(), "UTF-8"));
wr.write("POST +path+ " HTTP/1.0\r\n");
wr.write("Host: http://127.0.0.1:3000\r\n");
wr.write("Content-Length: " + xmldata.length() + "\r\n");
wr.write("Content-Type: text/xml; charset=\"utf-8\"\r\n");
wr.write("\r\n");
//Send data
wr.write(xmldata);
wr.flush();
作为回报,我有:找不到:/mycontrollers.xml
有什么想法吗?
非常感谢
答案 0 :(得分:0)
为什么不使用来自caucho:hessian或burlap库的已实施解决方案?这适用于ruby和java。
您是否尝试使用more simple tools发布xml(例如firefox插件)?
我认为你的工作也需要implement the rails side。 (我知道人们可以轻松地从轨道中检索xml,但不是我认为的其他方式)
答案 1 :(得分:0)
从您看到的错误中听起来您没有路由设置来处理Rails应用程序中的/mycontrollers.xml
。您使用资源助手还是已定义自定义路线?
如果您已定义自己的路线,则需要在路线中添加.:format
,以便Rails可以从网址中选取内容类型。
另一种方法是在Accept
中发送POST
标题,然后将其发送到/mycontrollers
而不是/mycontrollers.xml
。