リモートサーバーからのデータインポートが java.io.IOException: Method failed で失敗するIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } リモートサーバーからインポートされたデータが失敗し、次の例外を生成します。 これは、スケジュールされたインポート時、または Data Source レコードで Load All Records を選択したときに発生する場合があります。 com.glide.db.impex.datasource.DataSourceException: com.glide.db.impex.datasource.DataSourceException: java.io.IOException: Method failed:(https://remoteserver/filename) null with code: 0 at com.glide.processors.ImportProcessorWorker.loadDataSource(ImportProcessorWorker.java:181) at com.glide.processors.ImportProcessorWorker.startWork(ImportProcessorWorker.java:104) at com.glide.worker.AbstractProgressWorker.startAndWait(AbstractProgressWorker.java:86) at com.glide.worker.HierarchicalProgressWorker.startAndWait(HierarchicalProgressWorker.java:37) at com.glide.worker.ProgressWorkerThread.run(ProgressWorkerThread.java:53) Caused by: com.glide.db.impex.datasource.DataSourceException: java.io.IOException: Method failed: (https://remoteserver/filename) null with code: 0 at com.glide.db.impex.datasource.DataSource.getFile(DataSource.java:312) at com.glide.db.impex.datasource.DataSource.getFile(DataSource.java:252) at com.glide.db.impex.CSVLoader.setDataSource(CSVLoader.java:127) at com.glide.db.impex.JDBCLoader.setImportDataSource(JDBCLoader.java:551) at com.glide.db.impex.datasource.CSVDataSource.getLoader(CSVDataSource.java:21) at com.glide.processors.ImportProcessorWorker.loadDataSource(ImportProcessorWorker.java:139) ... 4 more Caused by: java.io.IOException: Method failed: (https://remoteserver/filename) null with code: 0 at com.glide.protocol.http.HTTPURLConnection.connect(HTTPURLConnection.java:38) at com.glide.protocol.http.HTTPURLConnection.getInputStream(HTTPURLConnection.java:46) at com.glide.db.impex.datasource.DataSource.writeFile(DataSource.java:336) at com.glide.db.impex.datasource.DataSource.getFile(DataSource.java:305) Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } この問題は、ServiceNow Instance Hardening KB0550654 を適用し、9.1 Certificate Trust の一部として com.glide.communications.trustmanager_trust_all システムプロパティを false に設定した後に発生します。 デフォルトでは、ServiceNow は証明書の CA を信頼します。これにより、ServiceNow が自己署名証明書を受け入れることを確認できます。このプロパティが false に設定され、リモートサーバーが信頼された CA ではなく自己署名 CA によって保護されている場合、プラットフォームはこの接続を許可しないため、インポートは失敗します。 Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } お客様は、この問題を修正するために次のいずれかを選択できます。 システムプロパティ com.glide.communications.trustmanager_trust_all を true に設定します。または、リモートサーバー上の自己署名証明書を、信頼された CA によって署名された別の証明書に置き換えます。 この問題を解決するためのオプションは 2 つあります。 1. リモートサーバー上の自己署名証明書を、信頼された CA によって署名された証明書に置き換えます。このオプションは、Instance Hardening によって確立されたセキュリティ態勢を維持し、推奨されるアプローチです。 2. com.glide.communications.trustmanager_trust_all システムプロパティを true に設定します。システムプロパティ領域に移動し、com.glide.communications.trustmanager_trust_all を検索して、その値を true に設定します。このオプションは、意図的な Instance Hardening のセキュリティ制御を元に戻すことに注意してください。このプロパティを true に設定すると、ServiceNow は信頼されていない証明書や自己署名証明書を含むすべての証明書を信頼するようになり、ハードニングによって排除することを意図していたセキュリティ上の露出が再び導入されます。このオプションを選択する前に、セキュリティリスクを慎重に評価してください。