0

どのようにしてMFPのJSONStore & HTTPアダプタが動作するかを理解しようとしています。私はソースコードhereをダウンロードしました。私はアプリを構築するための手順に従った。私はこのアダプターhereも配備しました。しかし、汚れたデータをアダプタにプッシュしようとしたとき、私はそこに気付いていました。アダプターはまだ未定義を記録します。ここでWorklight JavaScript HTTPアダプタがリクエストデータを受信できません

がプッシュ機能コードです:

function pushToAdapter(){ 
    alert("pushToAdapter"); 
    try { 
     WL.JSONStore.get(collectionName).push().then(function (res) { 
      if(Array.isArray(res) && res.length < 1){ // I changed this to res.length > 1 
       document.getElementById("resultsDiv").innerHTML = "Documents Pushed Successfuly"; 
      } else { 
       document.getElementById("resultsDiv").innerHTML = "Failed To Push Documents to Adapter: "+ res[0].errorObject; 
      } 
     }).fail(function (errorObject) { 
      alert(errorObject.msg); 
     }); 
    } catch (e) { 
     alert("Failed To Push Documents to Adapter"); 
    } 
} 

&これは、アダプタのコードです:

function pushPeople(data) { 
    MFP.Logger.debug('Adapter: JSONStoreAdapter, procedure: pushPeople called.'); 
    MFP.Logger.debug('Got data from JSONStore to ADD: ' + JSON.stringify(data)); //always undefined 
    return; 
} 

function addPerson(data) { 
    MFP.Logger.debug('Adapter: JSONStoreAdapter, procedure: addPerson called.'); 
    MFP.Logger.debug('Got data from JSONStore to ADD: ' + JSON.stringify(data)); //always undefined 
    return; 
} 

function removePerson(data) { 
    MFP.Logger.debug('Adapter: JSONStoreAdapter, procedure: removePerson called.'); 
    MFP.Logger.debug('Got data from JSONStore to REMOVE: ' + JSON.stringify(data)); //always undefined 
    return; 
} 

は私がコルドバ・プラグインMFP-jsonstoreのパッチを当てたバージョンを使用していますのでご注意ください。これは、(次のように)ライン5238を除いthis versionと同じである。パラメータはプッシュ要求の一部として渡されていなかったよう

resourceRequest = new WLResourceRequest('adapters/' + invocationData.adapter + '/' + invocationData.procedure, WLResourceRequest.POST); 
resourceRequest.setHeader('Content-Type','application/x-www-form-urlencoded'); //patched version 
resourceRequest.send().then(ipOpts.onSuccess, ipOpts.onFailure); 
+0

私はまったく同じ手順を試して、アプリケーションは期待どおりに動作します。ここで、Androidプロジェクトに[ヘッダーの設定]を適用した[link](https://ibm.box.com/s/b91pi00wdj4q4752wg4fs0pk8xyvv9o9)が適用されます。 **注:Androidスタジオにそのままプロジェクトをインポートして、サーバーのエンドポイントを変更してプロジェクトを実行します。 ** まだ問題が発生している場合は、プロジェクトを共有することもできます。そのコードを見ることができます。 –

+0

同じです。アダプタでデータが受信されません。ここに私がアダプターで得たものがあります: 'MFP.Logger Iアダプター:JSONStoreAdapter、手続き:addPersonが呼び出されました。 MFP.Logger私はJSONStoreからADDへのデータを取得しました:未定義 データはどこに送られますか? 'invocationData.parameters'(' jsonstore.js'の5224行目)は決してどこでも使用されていません!また、 'resourceRequest.send()'はパラメータなしです!これがアダプターで何も受け取らない原因になるかもしれませんか? – user1040987

答えて

2

が見えます。 jsonstore.js(here)を使用して問題が解決するかどうかを確認することができます。これは次のiFixで正式にリリースされます。

+0

最新のリリースに修正が含まれていなかったと思いますか? – user1040987

関連する問題