私はJavaセキュリティポリシーを取得しようとしています。私のコードは、login.salesforce.com
とxx99.salesforce.com
の両方に解決して接続する必要があります。ここで、xx99
は約100種類の値のいずれかを取ることができます。java.net.SocketPermissionの奇数ワイルドカード動作
特定のホストをハードコードすると機能します。
permission java.net.SocketPermission "login.salesforce.com:443", "connect, resolve";
permission java.net.SocketPermission "na30.salesforce.com:443", "connect, resolve";
しかし、これはすべての可能性をカバーするために私のセキュリティポリシーファイルに100のエントリについての追加私につながる、とSalesforceはメンテナンスに悪夢を作り、新しいインスタンスのすべての時間を追加します。
私は任意のホスト/ポートをワイルドカードならばそれは動作します:
permission java.net.SocketPermission "*", "connect, resolve";
しかし、明白な答えが失敗した - この
permission java.net.SocketPermission "*.salesforce.com:443", "connect, resolve";
は私に
は、いくつかのために、このを見つめてき
2016-03-20 22:19:56,024 [user:*admin] [pipeline:Pipeline1] [thread:preview-pool-1-thread-1] WARN Pipeline - Stage 'com_streamsets_stage_destination_waveanalytics_WaveAnalyticsDTarget_1' initialization error: java.security.AccessControlException: access denied ("java.net.SocketPermission" "login.salesforce.com:443" "connect,resolve")
java.security.AccessControlException: access denied ("java.net.SocketPermission" "login.salesforce.com:443" "connect,resolve")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1051)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:510)
...etc...
を与えます時間は今 - 私はそれを得ることはありません!