EclipseでSAP NetWeaver PO 7.5アプリケーションサーバーにデプロイされたSAPUI5 Webアプリケーションをいくつか作成しました。 これらのアプリケーションはすべて、一般的なプロジェクトで汎用コンポーネントを使用しています。私はちょうどこのブートストラップスクリプトタグとindex.html
にヘッダを経由して特定のアプリケーションでそれらを利用可能に:SAP Cloud5を介してWebIDEからSAP Cloudの別のプロジェクトを参照する方法
<!-- Bootstrapping UI5 -->
<script id="sap-ui-bootstrap"
src="/sapui5/resources/sap-ui-cachebuster/sap-ui-core.js"
data-sap-ui-libs="sap.m"
data-sap-ui-theme="path.to.custom.theme"
data-sap-ui-compatVersion="edge"
data-sap-ui-resourceroots='{"com.namespace.ui.specificapp": ".", "com.namespace.ui.common" :"/com.namespace~ui~common~web"}'
data-sap-ui-frameOptions="trusted"
data-sap-ui-appCacheBuster = "./,/com.namespace~ui~common~web/" >
</script>
すべてが正常に動作します。しかし、今日の課題は、これらのアプリケーションをSAPクラウドに移行することです。私が今行ったことは、プロジェクト(共通プロジェクトを含む)をWebIDEにインポートすることです。私が最初に発見したのは、アプリケーションが共通プロジェクトからコンポーネントを見つけることができないため、data-sap-ui-resourceroots
属性はもはや機能しません。だから私は、SAPクラウドに共通のアプリケーションを展開し、このようなのindex.htmlのブートストラップスクリプトタグ内の対応するURLを挿入:
<script id="sap-ui-bootstrap"
src="/sapui5/resources/sap-ui-cachebuster/sap-ui-core.js"
data-sap-ui-libs="sap.m"
data-sap-ui-theme="path.to.custom.theme"
data-sap-ui-compatVersion="edge"
data-sap-ui-resourceroots='{"com.namespace.ui.specificapp": ".", "com.namespace.ui.common" :"/https://common-aXXXXXXXX.dispatcher.hana.ondemand.com/"}'
data-sap-ui-frameOptions="trusted"
data-sap-ui-appCacheBuster = "./,/com.namespace~ui~common~web/" >
これは、ブラウザがより汎用的な部品のためのJS-ファイルを検索してみましょう一般的なプロジェクトが、次のエラーに私をリード:
Note: Your browser does not support JavaScript or it is turned off. Press the button to proceed.
これはhttps://common-aXXXXXXXX.dispatcher.hana.ondemand.com/ホストによって応答します。 HTTPリクエストを分析すると、パラメータAccept:text/plain, */*; q=0.01
が設定されていることがわかります。 SAPUI5がプレーンテキストを要求している理由、またはこの動作を変更できる理由はわかりません。このアプリケーション構造をSAPクラウドに移行する方法を知っている人はいますか?
neo-app.jsonファイルに一般的なアプリケーションへのリンクを定義しましたか? –