2012-01-27 13 views
0

と休息APIを使用すると、あなたは、私たちは私たちは、そのページのXForms Orbeonフォームビルダで作成し、フォームのランナーに発表されたに含まれる外部Webアプリケーションを持っているOrbeonOrbeon:Oracleの永続化層

に関する問題にPLSのに役立つことができます。 永続化フォーム・データ用にOracle永続性レイヤーを構成しました。 これまでのところ、すべての環境は問題ありません。 外部Webアプリケーションから、新しいフォームデータに送信してOracleデータベースに保存するデータがあります。 したがって、Orbeonが提供するRest APIを使用して、ここで説明するようにデータを作成すると考えます。persistence API ajaxを呼び出してデータを作成します。 しかし、これを正確に達成する方法(ajax呼び出し、リクエストボディなどを構築する方法を意味する)はわかりません。それが良い解決策であり、どうやったらいいのか教えてください。

我々はまた、この(URLへのインスタンスの一部を投稿するAJAX呼び出し)試してみました:

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

によって

おかげで私は、Webブラウザからこれを行うことからあなたを思いとどまらでしょう。結果として、どのユーザーもデータの更新や削除など、データベース内のどのデータにもアクセスすることができます。

セキュリティが問題ではない場合や、Node.jsなどでサーバーからこのJavaScriptを実行している場合は、フォームランナーと同じようにPUTを実行する必要があります。送信する必要のあるXMLを正確に知るためには、フォームランナーで操作を行い、HTTP ScoopWiresharkなどのHTTPアナライザーを使用して、どのデータがパーシスタンスレイヤーに送信されるかを調べます。

+0

私はあなたの言ったことをfirebugでFormRunnerの保存ボタンを調べることで試しましたが、私は持続性APIについて説明したようなものではない/ orbeon/xforms-serverに投稿を見るだけです – trin86

+0

@ user1173005あなたはブラウザをサーバーに接続します。代わりに、HTTP経由で行われるサーバーからサーバーへの要求を調べる必要があります。このため、ブラウザプラグインは使用できません。 HTTP ScoopやWiresharkなどのソフトウェアを使用する必要があります(私の回答のリンクを参照)。 – avernet

関連する問題