Merge
diff --git a/LICENSE b/LICENSE
index b40a0f4..8b400c7 100644
--- a/LICENSE
+++ b/LICENSE
@@ -3,7 +3,7 @@
 Version 2, June 1991
 
 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
 Everyone is permitted to copy and distribute verbatim copies of this license
 document, but changing it is not allowed.
@@ -287,8 +287,8 @@
     more details.
 
     You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc., 59
-    Temple Place, Suite 330, Boston, MA 02111-1307 USA
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 Also add information on how to contact you by electronic and paper mail.
 
diff --git a/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizable.java b/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizable.java
index fa50dd0..2f4da84 100644
--- a/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizable.java
+++ b/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,9 @@
 
 package com.sun.istack.internal.localization;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 /**
  * Localizable message.
  *
@@ -51,6 +54,9 @@
     public Object[] getArguments();
     public String getResourceBundleName();
 
+    public default ResourceBundle getResourceBundle(Locale locale) {
+        return null;
+    }
 
     /**
      * Special constant that represents a message that
diff --git a/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessage.java b/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessage.java
index d575d6e..1d7ace5 100644
--- a/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessage.java
+++ b/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,11 @@
 
 package com.sun.istack.internal.localization;
 
+import com.sun.istack.internal.localization.LocalizableMessageFactory.ResourceBundleSupplier;
+
 import java.util.Arrays;
+import java.util.Locale;
+import java.util.ResourceBundle;
 
 /**
  * @author WS Development Team
@@ -33,17 +37,31 @@
 public final class LocalizableMessage implements Localizable {
 
     private final String _bundlename;
+    private final ResourceBundleSupplier _rbSupplier;
+
     private final String _key;
     private final Object[] _args;
 
     public LocalizableMessage(String bundlename, String key, Object... args) {
         _bundlename = bundlename;
+        _rbSupplier = null;
         _key = key;
         if(args==null)
             args = new Object[0];
         _args = args;
     }
 
+    public LocalizableMessage(String bundlename, ResourceBundleSupplier rbSupplier,
+                              String key, Object... args) {
+        _bundlename = bundlename;
+        _rbSupplier = rbSupplier;
+        _key = key;
+        if(args==null)
+            args = new Object[0];
+        _args = args;
+    }
+
+
     public String getKey() {
         return _key;
     }
@@ -55,4 +73,12 @@
     public String getResourceBundleName() {
         return _bundlename;
     }
+
+    @Override
+    public ResourceBundle getResourceBundle(Locale locale) {
+        if (_rbSupplier == null)
+            return null;
+
+        return _rbSupplier.getResourceBundle(locale);
+    }
 }
diff --git a/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessageFactory.java b/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessageFactory.java
index 081d066..bf8a28b 100644
--- a/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessageFactory.java
+++ b/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/LocalizableMessageFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,19 +25,37 @@
 
 package com.sun.istack.internal.localization;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 /**
  * @author WS Development Team
  */
 public class LocalizableMessageFactory {
 
     private final String _bundlename;
+    private final ResourceBundleSupplier _rbSupplier;
 
     public LocalizableMessageFactory(String bundlename) {
         _bundlename = bundlename;
+        _rbSupplier = null;
+    }
+
+    public LocalizableMessageFactory(String bundlename, ResourceBundleSupplier rbSupplier) {
+        _bundlename = bundlename;
+        _rbSupplier = rbSupplier;
     }
 
     public Localizable getMessage(String key, Object... args) {
-        return new LocalizableMessage(_bundlename, key, args);
+        return new LocalizableMessage(_bundlename, _rbSupplier, key, args);
     }
 
+    public interface ResourceBundleSupplier {
+        /**
+         * Gets the ResourceBundle.
+         * @param locale the requested bundle's locale
+         * @return ResourceBundle
+         */
+        ResourceBundle getResourceBundle(Locale locale);
+    }
 }
diff --git a/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizer.java b/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizer.java
index 3bdde0d..2f78673 100644
--- a/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizer.java
+++ b/src/java.xml.bind/share/classes/com/sun/istack/internal/localization/Localizer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
 
 package com.sun.istack.internal.localization;
 
+import com.sun.istack.internal.localization.LocalizableMessageFactory.ResourceBundleSupplier;
 import java.text.MessageFormat;
 import java.util.HashMap;
 import java.util.Locale;
@@ -61,6 +62,7 @@
             // this message is not localizable
             return (String) l.getArguments()[0];
         }
+
         String bundlename = l.getResourceBundleName();
 
         try {
@@ -68,6 +70,13 @@
                 (ResourceBundle) _resourceBundles.get(bundlename);
 
             if (bundle == null) {
+                bundle = l.getResourceBundle(_locale);
+                if (bundle != null) {
+                    _resourceBundles.put(bundlename, bundle);
+                }
+            }
+
+            if (bundle == null) {
                 try {
                     bundle = ResourceBundle.getBundle(bundlename, _locale);
                 } catch (MissingResourceException e) {
@@ -151,5 +160,4 @@
         }
         return sb.toString();
     }
-
 }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/policy/privateutil/LocalizationMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/policy/privateutil/LocalizationMessages.java
index 2283e88..1c6f1d6 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/policy/privateutil/LocalizationMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/policy/privateutil/LocalizationMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class LocalizationMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.policy.privateutil.Localization");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.policy.privateutil.Localization";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, LocalizationMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableWSP_0017_UNABLE_TO_ACCESS_POLICY_SOURCE_MODEL_PLUS_REASON(Object arg0, Object arg1) {
         return messageFactory.getMessage("WSP_0017_UNABLE_TO_ACCESS_POLICY_SOURCE_MODEL_PLUS_REASON", arg0, arg1);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/AddressingMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/AddressingMessages.java
index 2f642dc..a1ae07c 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/AddressingMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/AddressingMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class AddressingMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.addressing");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.addressing";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, AddressingMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableNON_ANONYMOUS_RESPONSE_ONEWAY() {
         return messageFactory.getMessage("nonAnonymous.response.oneway");
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/BindingApiMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/BindingApiMessages.java
index 36c07b4..c044aca 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/BindingApiMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/BindingApiMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class BindingApiMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.bindingApi");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.bindingApi";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, BindingApiMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableBINDING_API_NO_FAULT_MESSAGE_NAME() {
         return messageFactory.getMessage("binding.api.no.fault.message.name");
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ClientMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ClientMessages.java
index aad65ee..21228d5 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ClientMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ClientMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class ClientMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.client");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.client";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, ClientMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableFAILED_TO_PARSE(Object arg0, Object arg1) {
         return messageFactory.getMessage("failed.to.parse", arg0, arg1);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/DispatchMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/DispatchMessages.java
index e920e86..4d5c7fa 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/DispatchMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/DispatchMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class DispatchMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.dispatch");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.dispatch";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, DispatchMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableINVALID_NULLARG_XMLHTTP_REQUEST_METHOD(Object arg0, Object arg1) {
         return messageFactory.getMessage("invalid.nullarg.xmlhttp.request.method", arg0, arg1);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/EncodingMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/EncodingMessages.java
index 54fa163..ecbf83b 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/EncodingMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/EncodingMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class EncodingMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.encoding");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.encoding";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, EncodingMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableFAILED_TO_READ_RESPONSE(Object arg0) {
         return messageFactory.getMessage("failed.to.read.response", arg0);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/HandlerMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/HandlerMessages.java
index f373303..2582b89 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/HandlerMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/HandlerMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class HandlerMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.handler");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.handler";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, HandlerMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableHANDLER_MESSAGE_CONTEXT_INVALID_CLASS(Object arg0, Object arg1) {
         return messageFactory.getMessage("handler.messageContext.invalid.class", arg0, arg1);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/HttpserverMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/HttpserverMessages.java
index 4463de2..0a21d3e 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/HttpserverMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/HttpserverMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class HttpserverMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.httpserver");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.httpserver";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, HttpserverMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableUNEXPECTED_HTTP_METHOD(Object arg0) {
         return messageFactory.getMessage("unexpected.http.method", arg0);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ManagementMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ManagementMessages.java
index a7262f9..ee61ddb 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ManagementMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ManagementMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class ManagementMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.management");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.management";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, ManagementMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableWSM_1008_EXPECTED_INTEGER_DISPOSE_DELAY_VALUE(Object arg0) {
         return messageFactory.getMessage("WSM_1008_EXPECTED_INTEGER_DISPOSE_DELAY_VALUE", arg0);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ModelerMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ModelerMessages.java
index 8c9b05c..30708d3 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ModelerMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ModelerMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class ModelerMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.modeler");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.modeler";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, ModelerMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableNESTED_MODELER_ERROR(Object arg0) {
         return messageFactory.getMessage("nestedModelerError", arg0);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/PolicyMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/PolicyMessages.java
index 5fcba09..bde32f2 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/PolicyMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/PolicyMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class PolicyMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.policy");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.policy";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, PolicyMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableWSP_1007_POLICY_EXCEPTION_WHILE_FINISHING_PARSING_WSDL() {
         return messageFactory.getMessage("WSP_1007_POLICY_EXCEPTION_WHILE_FINISHING_PARSING_WSDL");
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ProviderApiMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ProviderApiMessages.java
index d861df1..347dc7f 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ProviderApiMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ProviderApiMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class ProviderApiMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.providerApi");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.providerApi";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, ProviderApiMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableNULL_ADDRESS_SERVICE_ENDPOINT() {
         return messageFactory.getMessage("null.address.service.endpoint");
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/SenderMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/SenderMessages.java
index 30456c0..c95550e 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/SenderMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/SenderMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class SenderMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.sender");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.sender";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, SenderMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableSENDER_REQUEST_ILLEGAL_VALUE_FOR_CONTENT_NEGOTIATION(Object arg0) {
         return messageFactory.getMessage("sender.request.illegalValueForContentNegotiation", arg0);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ServerMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ServerMessages.java
index 097ddcb..9059972 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ServerMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/ServerMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class ServerMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.server");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.server";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, ServerMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableRUNTIME_PARSER_WSDL_INCORRECTSERVICE(Object arg0, Object arg1) {
         return messageFactory.getMessage("runtime.parser.wsdl.incorrectservice", arg0, arg1);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/SoapMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/SoapMessages.java
index 5eecb1d..2710db4 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/SoapMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/SoapMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class SoapMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.soap");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.soap";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, SoapMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableSOAP_FAULT_CREATE_ERR(Object arg0) {
         return messageFactory.getMessage("soap.fault.create.err", arg0);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/StreamingMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/StreamingMessages.java
index 9117c57..65ce3fe 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/StreamingMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/StreamingMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class StreamingMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.streaming");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.streaming";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, StreamingMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableFASTINFOSET_DECODING_NOT_ACCEPTED() {
         return messageFactory.getMessage("fastinfoset.decodingNotAccepted");
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/TubelineassemblyMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/TubelineassemblyMessages.java
index ad2673e..e1842a7 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/TubelineassemblyMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/TubelineassemblyMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class TubelineassemblyMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.tubelineassembly");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.tubelineassembly";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, TubelineassemblyMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableMASM_0019_MSG_LOGGING_SYSTEM_PROPERTY_ILLEGAL_VALUE(Object arg0, Object arg1) {
         return messageFactory.getMessage("MASM0019_MSG_LOGGING_SYSTEM_PROPERTY_ILLEGAL_VALUE", arg0, arg1);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/UtilMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/UtilMessages.java
index 2da81f3..d62c0d8 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/UtilMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/UtilMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class UtilMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.util");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.util";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, UtilMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableUTIL_LOCATION(Object arg0, Object arg1) {
         return messageFactory.getMessage("util.location", arg0, arg1);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/WsdlmodelMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/WsdlmodelMessages.java
index fc9d778..a431885 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/WsdlmodelMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/WsdlmodelMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class WsdlmodelMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.wsdlmodel");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.wsdlmodel";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, WsdlmodelMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableWSDL_PORTADDRESS_EPRADDRESS_NOT_MATCH(Object arg0, Object arg1, Object arg2) {
         return messageFactory.getMessage("wsdl.portaddress.epraddress.not.match", arg0, arg1, arg2);
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/WsservletMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/WsservletMessages.java
index 1374a65..efcdcb7 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/WsservletMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/WsservletMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class WsservletMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.wsservlet");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.wsservlet";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, WsservletMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableERROR_WSDL_PUBLISHER_CANNOT_READ_CONFIGURATION() {
         return messageFactory.getMessage("error.wsdlPublisher.cannotReadConfiguration");
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/XmlmessageMessages.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/XmlmessageMessages.java
index 9894c2a..3680416 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/XmlmessageMessages.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/resources/XmlmessageMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class XmlmessageMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.xml.internal.ws.resources.xmlmessage");
+    private final static String BUNDLE_NAME = "com.sun.xml.internal.ws.resources.xmlmessage";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, XmlmessageMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableXML_NULL_HEADERS() {
         return messageFactory.getMessage("xml.null.headers");
     }
diff --git a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java
index 9e7e0da..c2ec0fc 100644
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,8 @@
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
+import java.util.Locale;
+import java.util.ResourceBundle;
 import javax.xml.ws.WebServiceException;
 
 /**
@@ -125,7 +127,8 @@
                 args[i] = in.readObject();
             }
         }
-        msg = new LocalizableMessageFactory(resourceBundleName).getMessage(key,args);
+        msg = new LocalizableMessageFactory(resourceBundleName, this::getResourceBundle)
+                        .getMessage(key,args);
     }
 
     private static Throwable findNestedException(Object[] args) {
@@ -149,6 +152,16 @@
      */
     protected abstract String getDefaultResourceBundleName();
 
+    /*
+     * Returns the ResourceBundle in this module.
+     *
+     * Subclasses in a different module has to override this method.
+     */
+    @Override
+    public ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(getDefaultResourceBundleName(), locale);
+    }
+
 //
 // Localizable delegation
 //
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/processor/ProcessorException.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/processor/ProcessorException.java
index 5ff8ba9..eb8fe7b 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/processor/ProcessorException.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/processor/ProcessorException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,9 @@
 
 import com.sun.xml.internal.ws.util.exception.JAXWSExceptionBase;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 /**
  * ProcessorException represents an exception that occurred while processing
  * a web service.
@@ -52,4 +55,9 @@
     public String getDefaultResourceBundleName() {
         return "com.sun.tools.internal.ws.resources.processor";
     }
+
+    @Override
+    public ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(getDefaultResourceBundleName(), locale);
+    }
 }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ConfigurationMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ConfigurationMessages.java
index ba729f6..d46e6cf 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ConfigurationMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ConfigurationMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,20 +29,29 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class ConfigurationMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.configuration");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.configuration";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, ConfigurationMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableCONFIGURATION_NOT_BINDING_FILE(Object arg0) {
         return messageFactory.getMessage("configuration.notBindingFile", arg0);
     }
 
+
     /**
      * Ignoring: binding file "{0}". It is not a jaxws or a jaxb binding file.
      *
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java
index 96f25b7..a750a57 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class GeneratorMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.generator");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.generator";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, GeneratorMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableGENERATOR_SERVICE_CLASS_ALREADY_EXIST(Object arg0, Object arg1) {
         return messageFactory.getMessage("generator.service.classAlreadyExist", arg0, arg1);
     }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/JavacompilerMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/JavacompilerMessages.java
index 7e9c3d4..8c72a46 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/JavacompilerMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/JavacompilerMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class JavacompilerMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.javacompiler");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.javacompiler";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, JavacompilerMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableNO_JAVACOMPILER_ERROR() {
         return messageFactory.getMessage("no.javacompiler.error");
     }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java
index d5bb8e5..722a0a7 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class ModelMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.model");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.model";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, ModelMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableMODEL_NESTED_MODEL_ERROR(Object arg0) {
         return messageFactory.getMessage("model.nestedModelError", arg0);
     }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java
index 3f94a06..708ffc3 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class ModelerMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.modeler");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.modeler";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, ModelerMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableMIMEMODELER_INVALID_MIME_CONTENT_INVALID_SCHEMA_TYPE(Object arg0, Object arg1) {
         return messageFactory.getMessage("mimemodeler.invalidMimeContent.invalidSchemaType", arg0, arg1);
     }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ProcessorMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ProcessorMessages.java
index 5c383cc..e929645 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ProcessorMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/ProcessorMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,14 +28,21 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class ProcessorMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.processor");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.processor";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, ProcessorMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
 }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/UtilMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/UtilMessages.java
index 1bab798..c90a9ab 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/UtilMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/UtilMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class UtilMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.util");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.util";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, UtilMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableSAX_2_DOM_NOTSUPPORTED_CREATEELEMENT(Object arg0) {
         return messageFactory.getMessage("sax2dom.notsupported.createelement", arg0);
     }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java
index af11a83..b4918e4 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class WebserviceapMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.webserviceap");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.webserviceap";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, WebserviceapMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableWEBSERVICEAP_ENDPOINTINTERFACES_DO_NOT_MATCH(Object arg0, Object arg1) {
         return messageFactory.getMessage("webserviceap.endpointinterfaces.do.not.match", arg0, arg1);
     }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java
index a3db122..f186c7b 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class WscompileMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.wscompile");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.wscompile";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, WscompileMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizableWSIMPORT_ARCHIVING_ARTIFACTS(Object arg0) {
         return messageFactory.getMessage("wsimport.archivingArtifacts", arg0);
     }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java
index 52c4bfb..a4ac6af 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,16 +29,24 @@
 import com.sun.istack.internal.localization.LocalizableMessageFactory;
 import com.sun.istack.internal.localization.Localizer;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 
 /**
  * Defines string formatting method for each constant in the resource file
  *
  */
 public final class WsdlMessages {
-
-    private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.wsdl");
+    private final static String BUNDLE_NAME = "com.sun.tools.internal.ws.resources.wsdl";
+    private final static LocalizableMessageFactory messageFactory =
+        new LocalizableMessageFactory(BUNDLE_NAME, WsdlMessages::getResourceBundle);
     private final static Localizer localizer = new Localizer();
 
+    private static ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(BUNDLE_NAME, locale);
+    }
+
     public static Localizable localizablePARSING_ELEMENT_EXPECTED() {
         return messageFactory.getMessage("parsing.elementExpected");
     }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/util/WSDLParseException.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/util/WSDLParseException.java
index ebe4647..b9ceb98 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/util/WSDLParseException.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/util/WSDLParseException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,9 @@
 
 import com.sun.xml.internal.ws.util.exception.JAXWSExceptionBase;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 /**
   * @author WS Development Team
   */
@@ -43,4 +46,9 @@
     public String getDefaultResourceBundleName() {
         return "com.sun.tools.internal.ws.resources.util";
     }
+
+    @Override
+    public ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(getDefaultResourceBundleName(), locale);
+    }
 }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParseException.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParseException.java
index ae6a159..f98dfcf 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParseException.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/framework/ParseException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,9 @@
 import com.sun.istack.internal.localization.Localizable;
 import com.sun.xml.internal.ws.util.exception.JAXWSExceptionBase;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 /**
  * An exception signalling a parsing error.
  *
@@ -50,4 +53,9 @@
     public String getDefaultResourceBundleName() {
         return "com.sun.tools.internal.ws.resources.wsdl";
     }
+
+    @Override
+    public ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(getDefaultResourceBundleName(), locale);
+    }
 }
diff --git a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/framework/ValidationException.java b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/framework/ValidationException.java
index 4275b2b..708d8b1 100644
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/framework/ValidationException.java
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/wsdl/framework/ValidationException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,9 @@
 
 import com.sun.xml.internal.ws.util.exception.JAXWSExceptionBase;
 
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 /**
  * An exception signalling that validation of an entity failed.
  *
@@ -45,4 +48,9 @@
     public String getDefaultResourceBundleName() {
         return "com.sun.tools.internal.ws.resources.wsdl";
     }
+
+    @Override
+    public ResourceBundle getResourceBundle(Locale locale) {
+        return ResourceBundle.getBundle(getDefaultResourceBundleName(), locale);
+    }
 }