はじめに
今回SAP Integration Suiteで作成したiFlowを、SAP Cloud Transport Management(cTMS)を利用してソース環境からターゲット環境へ移送しました。
移送時に遭遇したエラーと解決策について、記載します。
エラー1:Exception during start of deployment for deploy type 'SLP_CTS'
エラーメッセージ
Transport request 'パッケージ名' (id: 移送ID): Exception during start of deployment for deploy type 'SLP_CTS': Detailed error message was written into application server log
原因及び解決策
移送先の宛先に記載する「Org Name」「Space Name」に含まれているスペースを「%20」、コンマを「%2C」に置換できていないことが原因のため、宛先の設定を確認してください。
以下画像のURLがhttps://deploy-service.cf.<domain>/slprot/<Org Name>/<Space Name>/slp
形式の場合
<Org Name>
や<Space Name>
の部分にスペースやコンマが含まれていないか、含まれている場合は正しく置換できているかを確認してください。
例)<Org Name>
が「SAMPLE Co., Ltd.」の場合、「SAMPLE%20Co.%2C%20Ltd.」に置換する必要があります。
補足
「Org Name」「Space Name」の代わりにCloud Foundryコマンド ライン インターフェイス(CLI)から取得できるguidを使用することも可能です。
guidを使用する場合はhttps://deploy-service.cf.<domain>/slprot/<my-space-guid>/slp
形式で記載します。
guidはCLIで組織にログオンし、コマンドcf space <my-space-name> --guid
を実行することで取得が可能です。
エラー2:CF-UnprocessableEntity(10008)
エラーメッセージ
CTS+ process failed. Error: "Service operation failed: Controller operation failed: 422 Updating service "process_integration_transport_instance_mtls" failed: Unprocessable Entity: Error creating service "process_integration_transport_instance_mtls" from offering "it-rt" and plan "api": CF-UnprocessableEntity(10008): Invalid service plan. Ensure that the service plan exists, is available, and you have access to it. "
原因及び解決策
移送先のサブアカウントに以下のService Planが必要なので、Entitlementsに追加されているか確認します。
エラー3:Unauthorized
エラーメッセージ
Transport request 'パッケージ名 change userId_pw' (id: 移送ID): Exception during start of deployment for deploy type 'SLP_CTS': Error during deployment initialization: Unauthorized
補足
上記エラーの状態で、移送先の宛先設定でCheck Connectionを実行すると以下のエラーとなります。
原因及び解決策
移送先の宛先に設定している認証がBasic認証かつ、認証で利用しているアカウントのSIDのPWとユニバーサルIDのPWが異なっているのが原因のため、PWを揃える必要があります。
PW状況の確認
CLIでコマンド「cf login」を実行してログインすると以下のエラーが表示されます。
Error Code: 401 Raw Response: {"error":"invalid_client","error_description":"{\"error\":\"invalid_grant\",\"error_description\":\"User authentication failed: PASSWORD_LOCKED\"}"}
解決手順
SAP Manage my Accountへアクセスし、認証で利用しているアカウントの詳細の「Reset Account Password」からユニバーサルIDのPWと同じものを設定します。
参考:SAP Community>Technology Q&A
エラー4:UniquenessViolationException
エラーメッセージ
CTS+ deployment for "パッケージ名.mtar" failed: "Content deployment for module "パッケージ名" to resource "process_integration_transport_instance_mtls" failed: org.cloudfoundry.multiapps.controller.persistence.services.FileStorageException: com.sap.cloud.lm.sl.cf.sap.content.client.ContentDeployerException: CPI deployment failed: com.sap.it.spc.ondemand.storage.exception.UniquenessViolationException: "
原因及び解決策
手動でインポートエクスポートを行うなど、cTMSを利用した移送以外で同じ名称のパッケージまたはiFlowを作成したら起こるエラーです。同じ名称で作成しても、内部で保持しているリソースIDが異なるのでエラーとなります。
該当するパッケージを削除してから、再度移送を行う必要があります。
参考:SAP for Me>note:3003834
エラー5:LockException
エラーメッセージ
CTS+ deployment for "パッケージ名.mtar" failed: "Content deployment for module "パッケージ名" to resource "process_integration_transport_instance_mtls" failed: CPI deployment failed: com.sap.it.spc.ondemand.storage.exception.LockException: Lock cannot be acquired for reource リソースID "
原因及び解決策
移送元か移送先の対象パッケージまたはiFlowがロックされていることが原因で起こるエラーです。
対象パッケージまたはiFlowのロックを解除してから、再度移送を行います。
※ロックを解除しても即時反映されない場合もあるようです。その場合は反映を待つしかなさそうです。
※自分の画面上ではロックが解除されていても、他の人の画面ではロック状態のままの場合もあります。
おわりに
今回実際に移送を試しながら上記エラーに直面し、その都度調査して解決策を探っていきました。解決策が見つからない場合は別環境への移送を試して、環境ごとの差異を確認したりもして、解消までに結構時間がかかる場合もありました。
この記事が参考になれば幸いです。