diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/azure/blob_storage/AzureUtils.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/azure/blob_storage/AzureUtils.java
index 0dc9ad2..13480fd 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/azure/blob_storage/AzureUtils.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/azure/blob_storage/AzureUtils.java
@@ -118,7 +118,11 @@
         if (endpoint == null) {
             throw new CompilationException(PARAMETERS_REQUIRED, ENDPOINT_FIELD_NAME);
         }
-        builder.endpoint(endpoint);
+        try {
+            builder.endpoint(endpoint);
+        } catch (Exception ex) {
+            throw new CompilationException(ErrorCode.EXTERNAL_SOURCE_ERROR, ex, getMessageOrToString(ex));
+        }
 
         // Shared Key
         if (accountName != null || accountKey != null) {
@@ -271,7 +275,11 @@
         if (endpoint == null) {
             throw new CompilationException(PARAMETERS_REQUIRED, ENDPOINT_FIELD_NAME);
         }
-        builder.endpoint(endpoint);
+        try {
+            builder.endpoint(endpoint);
+        } catch (Exception ex) {
+            throw new CompilationException(ErrorCode.EXTERNAL_SOURCE_ERROR, ex, getMessageOrToString(ex));
+        }
 
         // Shared Key
         if (accountName != null || accountKey != null) {
diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml
index e4d9a26..7799ddc 100644
--- a/asterixdb/pom.xml
+++ b/asterixdb/pom.xml
@@ -660,7 +660,7 @@
             <dependency>
               <groupId>com.github.javaparser</groupId>
               <artifactId>javaparser-core</artifactId>
-              <version>3.25.5</version>
+              <version>3.26.3</version>
             </dependency>
           </dependencies>
         </plugin>
diff --git a/hyracks-fullstack/pom.xml b/hyracks-fullstack/pom.xml
index 66b4ebb..1b65a1b 100644
--- a/hyracks-fullstack/pom.xml
+++ b/hyracks-fullstack/pom.xml
@@ -775,7 +775,7 @@
             <dependency>
               <groupId>com.github.javaparser</groupId>
               <artifactId>javaparser-core</artifactId>
-              <version>3.25.5</version>
+              <version>3.26.3</version>
             </dependency>
           </dependencies>
         </plugin>
