2012-01-27 7 views
0

는 당신이 우리를 도와 줄 수 오라클 영속 계층에 사용 나머지의 API는 우리가 페이지 Orbeon 폼 빌더로 생성 및 양식 러너에 게시들을 Xforms에 포함하는 외부 웹 응용 프로그램이 Orbeon :

Orbeon

에 관한 문제 PLS. 우리는 지속적인 양식 데이터를위한 Oracle 지속성 계층을 구성했습니다. 지금까지 모든 환경은 괜찮습니다. 이제 새로운 양식 데이터로 보내고 Oracle 데이터베이스에 저장하려는 외부 웹 응용 프로그램의 데이터가 있습니다. 따라서 우리는 Orbeon에서 제공하는 Rest API를 사용하여 여기에 설명 된대로 데이터를 생성하는 것으로 생각합니다 : persistence API ajax를 호출하여 데이터를 양식으로 만듭니다. 그러나, 우리는 정확히 이것을 달성하는 방법을 모릅니다 (아약스 호출, 요청 본문을 만드는 법을 의미합니다 ... 등). 좋은 해결책인지 어떻게해야하는지 알려주세요.

우리는 또한 (URL에 인스턴스의 일부 게시 아약스 호출)이 시도 :

var buffer = "<form>" + 
       "<attachment>" + 
       "<attachment_one filename=" + info.attachment.name + " mediatype=" + info.attachment.contentType 
      + " size=" + info.attachment.size + " >" + info.attachment.bytes + "</attachment_one>" + 
       "</attachment>" + 
       "</form>"; 
     var xmlDoc = document.implementation.createDocument("", "", null); 
     xmlDoc.load(buffer); 
     $.ajax({ 
      type: "PUT", 
      url: urlToXml, // "/crud/[APPLICATION_NAME]/[FORM_NAME]/data/[FORM_DATA_ID]/data.xml" 
      processData: false, 
      data: xmlDoc, 
      dataType: "xml", 
      success: function(msg) { 
       alert ("xml data sent successfully"); 
      } 
     }); 

을하지만 응답은 잘못된 XML 문서를 반환합니다. 이것은 당신이 인터넷에서 당신의 영속 API에 액세스 할 수 있도록해야한다는 의미로 사전

답변

0

에 의해

덕분에 나는 웹 브라우저에서이 일에서 당신을 낙담 것입니다. 결과적으로 모든 사용자는 데이터 업데이트 및 삭제를 포함하여 데이터베이스의 모든 데이터에 액세스 할 수 있습니다.

보안이 문제가되지 않거나 Node.js와 같은 서버에서이 JavaScript를 실행하는 경우 양식 러너처럼 PUT을 수행해야합니다. 보낼 XML이 무엇인지 정확하게 알고 싶다면 Form Runner에서 작업을 수행하고 어떤 데이터가 HTTP 분석기 (예 : HTTP Scoop 또는 Wireshark)와 함께 지속성 계층으로 전송되는지 살펴보십시오.

+0

나는 당신이 firebug로 FormRunner 저장 버튼을 검사하여 말한 것을 시도했지만, 지속성 API에 대해 설명 된 것과 같지 않은/orbeon/xforms-server에 대한 게시물 만 보았습니다. – trin86

+0

@ user1173005 브라우저를 서버에 연결하십시오. 대신 HTTP를 통해 수행되는 서버에서 서버로의 요청을보고 싶습니다. 이를 위해서는 분명히 브라우저 플러그인을 사용할 수 없습니다. HTTP Scoop이나 Wireshark와 같은 소프트웨어를 사용해야합니다 (내 대답의 링크 참조). – avernet