2010-02-24 2 views
1

java에서 레일스 애플리케이션으로 XML 문서를 게시하려고합니다. 나는 힘든 시간을 여기에 HTTP 요청 를 작성을 내 자바 코드입니다 : 대가로xml 데이터를 자바에서 레일스에 게시 (편안한 서비스)

 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

브라우저에서 http://127.0.0.1:3000/mycontrollers.xml에 액세스하면 어떻게됩니까? –

+1

Ruby 앱이 브라우저의 요청에 응답합니까? 이 포트의 텔넷 에서요? 'commons-httpclient'를 쓰지 않는 이유 ps'+ path' 앞에 4 번 줄에 따옴표 (")를 잊어 버렸습니다. –

답변

0

왜 만일 caucho에서 이미 구현 솔루션을 사용하지 : hessian 또는 burlap 라이브러리를? 이것은 루비와 자바에서 사용할 수 있습니다.

그리고 more simple tools (예 : firefox 플러그인)으로 xml을 게시하려 했습니까?

나는 당신도 implement the rails side 일해야한다고 생각합니다. (내가 생각하기에 레일에서 xml을 쉽게 찾을 수 있지만 그 반대편에서는 쉽게 찾을 수 없다는 것을 알고 있습니다.)

0

Rails 애플리케이션에서 /mycontrollers.xml을 처리 할 라우팅 설정이없는 것처럼 보이는 오류가 발생했습니다. 리소스 도우미를 사용하고 있습니까, 아니면 사용자 지정 경로를 정의 했습니까?

자신 만의 경로를 정의한 경우 레일에 .:format을 추가해야 레일스가 URL에서 콘텐츠 유형을 선택할 수 있습니다.

또 다른 방법은 POSTAccept 헤더를 보내고 /mycontrollers.xml이 아닌 /mycontrollers으로 전송하는 것입니다.

관련 문제