8187954: Update JAX-WS RI integration to latest version
authoraefimov
Thu, 23 Nov 2017 18:23:15 +0000
changeset 47930 f2de2c55c6c7
parent 47929 df9e7f2df01f
child 47931 b7ae1437111b
8187954: Update JAX-WS RI integration to latest version Reviewed-by: lancea Contributed-by: zheng.jun.li@oracle.com
src/java.xml.bind/share/classes/com/sun/xml/internal/bind/AnyTypeAdapter.java
src/java.xml.bind/share/classes/com/sun/xml/internal/bind/CycleRecoverable.java
src/java.xml.bind/share/classes/javax/xml/bind/ContextFinder.java
src/java.xml.bind/share/classes/javax/xml/bind/ModuleUtil.java
src/java.xml.bind/share/classes/javax/xml/bind/Unmarshaller.java
src/java.xml.bind/share/classes/javax/xml/bind/annotation/adapters/package-info.java
src/java.xml.bind/share/classes/javax/xml/bind/attachment/AttachmentUnmarshaller.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/LazyEnvelopeSource.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentFragment.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/NamedNodeMapImpl.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPCommentImpl.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPTextImpl.java
src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java
src/java.xml.ws/share/classes/com/sun/xml/internal/ws/protocol/soap/ServerMUTube.java
src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/version.properties
src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/xml/XmlCatalogUtil.java
src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java
src/java.xml.ws/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java
src/java.xml.ws/share/classes/javax/xml/soap/Detail.java
src/java.xml.ws/share/classes/javax/xml/soap/SAAJMetaFactory.java
src/java.xml.ws/share/classes/javax/xml/soap/SAAJResult.java
src/java.xml.ws/share/classes/javax/xml/soap/SOAPFactory.java
src/java.xml.ws/share/classes/javax/xml/soap/SOAPFault.java
src/java.xml.ws/share/classes/javax/xml/soap/SOAPHeader.java
src/java.xml.ws/share/classes/javax/xml/soap/SOAPHeaderElement.java
src/java.xml.ws/share/classes/javax/xml/ws/wsdl_customizationschema_2_0.xsd
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_de.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_es.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_it.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_de.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_es.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_it.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties
src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXSubstitutable.java
src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/version.properties
--- a/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/AnyTypeAdapter.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/AnyTypeAdapter.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, 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
@@ -30,7 +30,7 @@
 /**
  * {@link XmlAdapter} useful for mapping interfaces.
  *
- * See <a href="https://jaxb.dev.java.net/guide/Mapping_interfaces.html">The JAXB user's guide</a>
+ * See <a href="https://javaee.github.io/jaxb-v2/doc/user-guide/ch03.html#annotating-your-classes-mapping-interfaces">The JAXB user's guide</a>
  * for more about this adapter class.
  *
  * @author Kohsuke Kawaguchi
--- a/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/CycleRecoverable.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.bind/share/classes/com/sun/xml/internal/bind/CycleRecoverable.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, 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
@@ -32,14 +32,13 @@
  * to handle cycles in the object graph.
  *
  * <p>
- * As discussed in <a href="https://jaxb.dev.java.net/guide/Mapping_cyclic_references_to_XML.html">
+ * As discussed in <a href="https://javaee.github.io/jaxb-v2/doc/user-guide/ch03.html#annotating-your-classes-mapping-cyclic-references-to-xml">
  * the users' guide</a>, normally a cycle in the object graph causes the marshaller to report an error,
  * and when an error is found, the JAXB RI recovers by cutting the cycle arbitrarily.
  * This is not always a desired behavior.
  *
  * <p>
  * Implementing this interface allows user application to change this behavior.
- * Also see <a href="http://forums.java.net/jive/thread.jspa?threadID=13670">this related discussion</a>.
  *
  * @since JAXB 2.1 EA2
  * @author Kohsuke Kawaguchi
--- a/src/java.xml.bind/share/classes/javax/xml/bind/ContextFinder.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.bind/share/classes/javax/xml/bind/ContextFinder.java	Thu Nov 23 18:23:15 2017 +0000
@@ -182,6 +182,9 @@
                                    Map properties) throws JAXBException {
 
         try {
+
+            ModuleUtil.delegateAddOpensToImplModule(contextPathClasses, spFactory);
+
             /*
              * javax.xml.bind.context.factory points to a class which has a
              * static method called 'createContext' that
@@ -215,8 +218,6 @@
                 throw handleClassCastException(context.getClass(), JAXBContext.class);
             }
 
-            ModuleUtil.delegateAddOpensToImplModule(contextPathClasses, spFactory);
-
             return (JAXBContext) context;
         } catch (InvocationTargetException x) {
             // throw if it is exception not to be wrapped
@@ -274,6 +275,7 @@
                                    Map properties,
                                    Class spFactory) throws JAXBException {
         try {
+            ModuleUtil.delegateAddOpensToImplModule(classes,  spFactory);
 
             Method m = spFactory.getMethod("createContext", Class[].class, Map.class);
             Object obj = instantiateProviderIfNecessary(spFactory);
@@ -282,7 +284,6 @@
                 // the cast would fail, so generate an exception with a nice message
                 throw handleClassCastException(context.getClass(), JAXBContext.class);
             }
-            ModuleUtil.delegateAddOpensToImplModule(classes,  spFactory);
             return (JAXBContext) context;
 
         } catch (NoSuchMethodException | IllegalAccessException e) {
@@ -328,9 +329,8 @@
                 JAXBContextFactory.class, logger, EXCEPTION_HANDLER);
 
         if (obj != null) {
-            JAXBContext context = obj.createContext(contextPath, classLoader, properties);
             ModuleUtil.delegateAddOpensToImplModule(contextPathClasses, obj.getClass());
-            return context;
+            return obj.createContext(contextPath, classLoader, properties);
         }
 
         // to ensure backwards compatibility
@@ -385,9 +385,8 @@
                 ServiceLoaderUtil.firstByServiceLoader(JAXBContextFactory.class, logger, EXCEPTION_HANDLER);
 
         if (factory != null) {
-            JAXBContext context = factory.createContext(classes, properties);
             ModuleUtil.delegateAddOpensToImplModule(classes, factory.getClass());
-            return context;
+            return factory.createContext(classes, properties);
         }
 
         // to ensure backwards compatibility
--- a/src/java.xml.bind/share/classes/javax/xml/bind/ModuleUtil.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.bind/share/classes/javax/xml/bind/ModuleUtil.java	Thu Nov 23 18:23:15 2017 +0000
@@ -130,9 +130,6 @@
      */
     static void delegateAddOpensToImplModule(Class[] classes, Class<?> factorySPI) throws JAXBException {
         final Module implModule = factorySPI.getModule();
-        if (!implModule.isNamed()) {
-            return;
-        }
 
         Module jaxbModule = JAXBContext.class.getModule();
 
--- a/src/java.xml.bind/share/classes/javax/xml/bind/Unmarshaller.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.bind/share/classes/javax/xml/bind/Unmarshaller.java	Thu Nov 23 18:23:15 2017 +0000
@@ -251,7 +251,7 @@
  *     <tr>
  *       <th scope="col">JAXBElement Property</th>
  *       <th scope="col">Value</th>
- *     </tr>
+ *       </tr>
  *     <tr>
  *       <th scope="col">name</th>
  *       <th scope="col">{@code xml element name}</th>
--- a/src/java.xml.bind/share/classes/javax/xml/bind/annotation/adapters/package-info.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.bind/share/classes/javax/xml/bind/annotation/adapters/package-info.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2017, 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,7 +34,7 @@
  * </ul>
  *
  * <h2>Related Documentation</h2>
- * <p>
+ *
  * For overviews, tutorials, examples, guides, and tool documentation,
  * please see:
  * <ul>
--- a/src/java.xml.bind/share/classes/javax/xml/bind/attachment/AttachmentUnmarshaller.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.bind/share/classes/javax/xml/bind/attachment/AttachmentUnmarshaller.java	Thu Nov 23 18:23:15 2017 +0000
@@ -78,7 +78,7 @@
     *     <tr>
     *       <th scope="col">MIME Type</th>
     *       <th scope="col">Java Type</th>
-    *     </tr>
+    *       </tr>
     *     <tr>
     *       <th scope="col">{@code DataHandler.getContentType()}</th>
     *       <th scope="col">{@code instanceof DataHandler.getContent()}</th>
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/LazyEnvelopeSource.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/LazyEnvelopeSource.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2017, 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
@@ -26,7 +26,6 @@
 package com.sun.xml.internal.messaging.saaj;
 
 import javax.xml.namespace.QName;
-import javax.xml.soap.SOAPException;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java	Thu Nov 23 18:23:15 2017 +0000
@@ -890,7 +890,7 @@
         needsSave();
     }
 
-    static private final Iterator<AttachmentPart> nullIter = Collections.<AttachmentPart>EMPTY_LIST.iterator();
+    static private final Iterator<AttachmentPart> nullIter = Collections.EMPTY_LIST.<AttachmentPart>iterator();
 
     @Override
     public Iterator<AttachmentPart> getAttachments() {
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentFragment.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentFragment.java	Thu Nov 23 18:23:15 2017 +0000
@@ -43,6 +43,11 @@
         this.documentFragment = soapDocument.getDomDocument().createDocumentFragment();
     }
 
+    public SOAPDocumentFragment(SOAPDocumentImpl soapDocument, DocumentFragment documentFragment) {
+        this.soapDocument = soapDocument;
+        this.documentFragment = documentFragment;
+    }
+
     public SOAPDocumentFragment() {}
 
     @Override
@@ -192,7 +197,7 @@
     }
     @Override
     public Document getOwnerDocument() {
-        return documentFragment.getOwnerDocument();
+        return soapDocument;
     }
     @Override
     public Object getFeature(String feature, String version) {
@@ -231,4 +236,8 @@
     public Document getSoapDocument() {
         return soapDocument;
     }
+
+    public Node getDomNode() {
+        return documentFragment;
+    }
 }
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java	Thu Nov 23 18:23:15 2017 +0000
@@ -220,8 +220,8 @@
         if (importedNode instanceof javax.xml.soap.Node) {
             Node newSoapNode = createSoapNode(importedNode.getClass(), newNode);
             newNode.setUserData(SAAJ_NODE, newSoapNode, null);
-            if (deep && importedNode.hasChildNodes()) {
-                NodeList childNodes = importedNode.getChildNodes();
+            if (deep && newSoapNode.hasChildNodes()) {
+                NodeList childNodes = newSoapNode.getChildNodes();
                 for (int i = 0; i < childNodes.getLength(); i++) {
                     registerChildNodes(childNodes.item(i), deep);
                 }
@@ -233,8 +233,12 @@
         return findIfPresent(newNode);
     }
 
-    //If the parentNode is not registered to domToSoap, create soap wapper for parentNode and register it to domToSoap
-    //If deep = true, also register all children of parentNode to domToSoap map.
+    /**
+     * If the parentNode is not registered to domToSoap, create soap wapper for parentNode and register it to domToSoap
+     * If deep = true, also register all children transitively of parentNode to domToSoap map.
+     * @param parentNode node to wrap
+     * @param deep wrap child nodes transitively
+     */
     public void registerChildNodes(Node parentNode, boolean deep) {
         if (parentNode.getUserData(SAAJ_NODE) == null) {
             if (parentNode instanceof Element) {
@@ -251,6 +255,8 @@
                         new SOAPTextImpl(this, (CharacterData) parentNode);
                         break;
                 }
+            } else if (parentNode instanceof DocumentFragment) {
+                new SOAPDocumentFragment(this, (DocumentFragment) parentNode);
             }
         }
         if (deep) {
@@ -412,7 +418,11 @@
 
     @Override
     public NamedNodeMap getAttributes() {
-        return new NamedNodeMapImpl(document.getAttributes(), this);
+        NamedNodeMap attributes = document.getAttributes();
+        if (attributes == null) {
+            return null;
+        }
+        return new NamedNodeMapImpl(attributes, this);
     }
 
     @Override
@@ -624,6 +634,8 @@
             return ((SOAPCommentImpl)node).getDomElement();
         } else if (node instanceof CDATAImpl) {
             return ((CDATAImpl) node).getDomElement();
+        } else if (node instanceof SOAPDocumentFragment) {
+            return ((SOAPDocumentFragment)node).getDomNode();
         }
         return node;
     }
@@ -636,6 +648,8 @@
             return new SOAPCommentImpl(this, (Comment) node);
         } else if (CDATAImpl.class.isAssignableFrom(nodeType)) {
             return new CDATAImpl(this, (CDATASection) node);
+        } else if (SOAPDocumentFragment.class.isAssignableFrom(nodeType)) {
+            return new SOAPDocumentFragment(this, (DocumentFragment) node);
         }
         try {
             Constructor<Node> constructor = nodeType.getConstructor(SOAPDocumentImpl.class, Element.class);
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java	Thu Nov 23 18:23:15 2017 +0000
@@ -618,7 +618,7 @@
 
     @Override
     public Document getOwnerDocument() {
-        return document.getDomDocument().getOwnerDocument();
+        return document;
     }
 
     @Override
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java	Thu Nov 23 18:23:15 2017 +0000
@@ -46,20 +46,19 @@
 
     @Override
     protected CDATASection createN(SOAPDocumentImpl ownerDoc, String text) {
-        CDATASection c = ownerDoc.getDomDocument().createCDATASection(text);
-//        ownerDoc.register(this);
-        return c;
+        return ownerDoc.getDomDocument().createCDATASection(text);
     }
 
     @Override
     protected CDATASection createN(SOAPDocumentImpl ownerDoc, CharacterData data) {
-        CDATASection c = (CDATASection) data;
-        return c;
+        return (CDATASection) data;
     }
 
     @Override
     public Text splitText(int offset) throws DOMException {
-        return getDomElement().splitText(offset);
+        Text text = getDomElement().splitText(offset);
+        getSoapDocument().registerChildNodes(text, true);
+        return text;
     }
 
     @Override
@@ -74,7 +73,9 @@
 
     @Override
     public Text replaceWholeText(String content) throws DOMException {
-        return getDomElement().replaceWholeText(content);
+        Text text = getDomElement().replaceWholeText(content);
+        getSoapDocument().registerChildNodes(text, true);
+        return text;
     }
 
     @Override
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1720,7 +1720,11 @@
 
     @Override
     public NamedNodeMap getAttributes() {
-        return new NamedNodeMapImpl(element.getAttributes(), soapDocument);
+        NamedNodeMap attributes = element.getAttributes();
+        if (attributes == null) {
+            return null;
+        }
+        return new NamedNodeMapImpl(attributes, soapDocument);
     }
 
     public Element getDomElement() {
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/NamedNodeMapImpl.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/NamedNodeMapImpl.java	Thu Nov 23 18:23:15 2017 +0000
@@ -30,6 +30,8 @@
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 
+import java.util.Objects;
+
 /**
  * {@link NamedNodeMap} wrapper, finding SOAP elements automatically when possible.
  *
@@ -48,6 +50,8 @@
      * @param soapDocument soap document to find soap elements
      */
     public NamedNodeMapImpl(NamedNodeMap namedNodeMap, SOAPDocumentImpl soapDocument) {
+        Objects.requireNonNull(namedNodeMap);
+        Objects.requireNonNull(soapDocument);
         this.namedNodeMap = namedNodeMap;
         this.soapDocument = soapDocument;
     }
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPCommentImpl.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPCommentImpl.java	Thu Nov 23 18:23:15 2017 +0000
@@ -45,15 +45,12 @@
 
     @Override
     protected Comment createN(SOAPDocumentImpl ownerDoc, String text) {
-        Comment c = ownerDoc.getDomDocument().createComment(text);
-//        ownerDoc.register(this);
-        return c;
+        return ownerDoc.getDomDocument().createComment(text);
     }
 
     @Override
     protected Comment createN(SOAPDocumentImpl ownerDoc, CharacterData data) {
-        Comment c = (Comment) data;
-        return c;
+        return (Comment) data;
     }
 
     @Override
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPTextImpl.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/SOAPTextImpl.java	Thu Nov 23 18:23:15 2017 +0000
@@ -42,20 +42,19 @@
 
     @Override
     protected Text createN(SOAPDocumentImpl ownerDoc, String text) {
-        Text t = ownerDoc.getDomDocument().createTextNode(text);
-//        ownerDoc.register(this);
-        return t;
+        return ownerDoc.getDomDocument().createTextNode(text);
     }
 
     @Override
     protected Text createN(SOAPDocumentImpl ownerDoc, CharacterData data) {
-        Text t = (Text) data;
-        return t;
+        return (Text) data;
     }
 
     @Override
     public Text splitText(int offset) throws DOMException {
-        return getDomElement().splitText(offset);
+        Text text = getDomElement().splitText(offset);
+        getSoapDocument().registerChildNodes(text, true);
+        return text;
     }
 
     @Override
@@ -70,7 +69,9 @@
 
     @Override
     public Text replaceWholeText(String content) throws DOMException {
-        return getDomElement().replaceWholeText(content);
+        Text text = getDomElement().replaceWholeText(content);
+        getSoapDocument().registerChildNodes(text, true);
+        return text;
     }
 
     @Override
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java	Thu Nov 23 18:23:15 2017 +0000
@@ -136,62 +136,62 @@
 
     @Override
     public Node getParentNode() {
-        return domNode.getParentNode();
+        return soapDocument.findIfPresent(domNode.getParentNode());
     }
 
     @Override
     public NodeList getChildNodes() {
-        return domNode.getChildNodes();
+        return new NodeListImpl(soapDocument, domNode.getChildNodes());
     }
 
     @Override
     public Node getFirstChild() {
-        return domNode.getFirstChild();
+        return soapDocument.findIfPresent(domNode.getFirstChild());
     }
 
     @Override
     public Node getLastChild() {
-        return domNode.getLastChild();
+        return soapDocument.findIfPresent(domNode.getLastChild());
     }
 
     @Override
     public Node getPreviousSibling() {
-        return domNode.getPreviousSibling();
+        return soapDocument.findIfPresent(domNode.getPreviousSibling());
     }
 
     @Override
     public Node getNextSibling() {
-        return domNode.getNextSibling();
+        return soapDocument.findIfPresent(domNode.getNextSibling());
     }
 
     @Override
     public NamedNodeMap getAttributes() {
-        return domNode.getAttributes();
+        return new NamedNodeMapImpl(domNode.getAttributes(), soapDocument);
     }
 
     @Override
     public Document getOwnerDocument() {
-        return domNode.getOwnerDocument();
+        return soapDocument;
     }
 
     @Override
     public Node insertBefore(Node newChild, Node refChild) throws DOMException {
-        return domNode.insertBefore(newChild, refChild);
+        return soapDocument.findIfPresent(domNode.insertBefore(newChild, refChild));
     }
 
     @Override
     public Node replaceChild(Node newChild, Node oldChild) throws DOMException {
-        return domNode.replaceChild(newChild, oldChild);
+        return soapDocument.findIfPresent(domNode.replaceChild(newChild, oldChild));
     }
 
     @Override
     public Node removeChild(Node oldChild) throws DOMException {
-        return domNode.removeChild(oldChild);
+        return soapDocument.findIfPresent(domNode.removeChild(oldChild));
     }
 
     @Override
     public Node appendChild(Node newChild) throws DOMException {
-        return domNode.appendChild(newChild);
+        return soapDocument.findIfPresent(domNode.appendChild(newChild));
     }
 
     @Override
@@ -339,4 +339,7 @@
         domNode.replaceData(offset, count, arg);
     }
 
+    public SOAPDocumentImpl getSoapDocument() {
+        return soapDocument;
+    }
 }
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/protocol/soap/ServerMUTube.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/protocol/soap/ServerMUTube.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, 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
@@ -30,6 +30,8 @@
 import com.sun.xml.internal.ws.client.HandlerConfiguration;
 import javax.xml.namespace.QName;
 import java.util.Set;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
 
 /**
  * @author Rama Pulavarthi
@@ -40,6 +42,7 @@
     private ServerTubeAssemblerContext tubeContext;
     private final Set<String> roles;
     private final Set<QName> handlerKnownHeaders;
+    private final Lock lock = new ReentrantLock();
 
     public ServerMUTube(ServerTubeAssemblerContext tubeContext, Tube next) {
         super(tubeContext.getEndpoint().getBinding(), next);
@@ -69,7 +72,13 @@
      */
     @Override
     public NextAction processRequest(Packet request) {
-        Set<QName> misUnderstoodHeaders = getMisUnderstoodHeaders(request.getMessage().getHeaders(),roles, handlerKnownHeaders);
+        Set<QName> misUnderstoodHeaders=null;
+        lock.lock();
+        try{
+            misUnderstoodHeaders = getMisUnderstoodHeaders(request.getMessage().getHeaders(),roles, handlerKnownHeaders);
+        } finally {
+            lock.unlock();
+        }
         if((misUnderstoodHeaders == null)  || misUnderstoodHeaders.isEmpty()) {
             return doInvoke(super.next, request);
         }
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/version.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/version.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,7 +23,7 @@
 # questions.
 #
 
-build-id=2.3.0-SNAPSHOT
-build-version=JAX-WS RI 2.3.0-SNAPSHOT
-major-version=2.3.0
-svn-revision=3012ef421cf43774943c57736dac2207aeea9f07
+build-id=2.3.1-SNAPSHOT
+build-version=JAX-WS RI 2.3.1-SNAPSHOT
+major-version=2.3.1
+svn-revision=6a0b290fe358f9de4deeec2d1ec3f6e76afa8005
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/xml/XmlCatalogUtil.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/xml/XmlCatalogUtil.java	Thu Nov 23 18:23:15 2017 +0000
@@ -27,7 +27,6 @@
 
 import com.sun.istack.internal.Nullable;
 import com.sun.xml.internal.ws.server.ServerRtException;
-import java.io.File;
 import java.net.URI;
 import java.net.URL;
 import java.util.ArrayList;
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	Thu Nov 23 18:23:15 2017 +0000
@@ -85,11 +85,8 @@
         "http://xml.org/sax/properties/lexical-handler";
 
     private static final String DISALLOW_DOCTYPE_DECL = "http://apache.org/xml/features/disallow-doctype-decl";
-
     private static final String EXTERNAL_GE = "http://xml.org/sax/features/external-general-entities";
-
     private static final String EXTERNAL_PE = "http://xml.org/sax/features/external-parameter-entities";
-
     private static final String LOAD_EXTERNAL_DTD = "http://apache.org/xml/features/nonvalidating/load-external-dtd";
 
     private static final Logger LOGGER = Logger.getLogger(XmlUtil.class.getName());
@@ -341,15 +338,15 @@
             factory.setFeature(featureToSet, securityOn);
             factory.setNamespaceAware(true);
             if (securityOn) {
-                factory.setExpandEntityReferences(false);
-                featureToSet = DISALLOW_DOCTYPE_DECL;
-                factory.setFeature(featureToSet, true);
-                featureToSet = EXTERNAL_GE;
-                factory.setFeature(featureToSet, false);
-                featureToSet = EXTERNAL_PE;
-                factory.setFeature(featureToSet, false);
-                featureToSet = LOAD_EXTERNAL_DTD;
-                factory.setFeature(featureToSet, false);
+               factory.setExpandEntityReferences(false);
+               featureToSet = DISALLOW_DOCTYPE_DECL;
+               factory.setFeature(featureToSet, true);
+               featureToSet = EXTERNAL_GE;
+               factory.setFeature(featureToSet, false);
+               featureToSet = EXTERNAL_PE;
+               factory.setFeature(featureToSet, false);
+               featureToSet = LOAD_EXTERNAL_DTD;
+               factory.setFeature(featureToSet, false);
             }
         } catch (ParserConfigurationException e) {
             LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[] {factory.getClass().getName()} );
--- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/wsdl/writer/WSDLGenerator.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, 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
@@ -309,7 +309,7 @@
     private static class CommentFilter implements XmlSerializer {
         final XmlSerializer serializer;
         private static final String VERSION_COMMENT =
-                " Generated by JAX-WS RI (http://jax-ws.java.net). RI's version is " + RuntimeVersion.VERSION + ". ";
+                " Generated by JAX-WS RI (http://javaee.github.io/metro-jax-ws). RI's version is " + RuntimeVersion.VERSION + ". ";
 
         CommentFilter(XmlSerializer serializer) {
             this.serializer = serializer;
--- a/src/java.xml.ws/share/classes/javax/xml/soap/Detail.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/javax/xml/soap/Detail.java	Thu Nov 23 18:23:15 2017 +0000
@@ -54,7 +54,7 @@
  *    Name name = se.createName("GetLastTradePrice", "WOMBAT",
  *                                "http://www.wombat.org/trader");
  *    d.addDetailEntry(name);
- *    Iterator it = d.getDetailEntries();
+ *    Iterator<DetailEntry> it = d.getDetailEntries();
  * }</pre>
  *
  * @since 1.6
--- a/src/java.xml.ws/share/classes/javax/xml/soap/SAAJMetaFactory.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/javax/xml/soap/SAAJMetaFactory.java	Thu Nov 23 18:23:15 2017 +0000
@@ -28,7 +28,7 @@
 /**
 * The access point for the implementation classes of the factories defined in the
 * SAAJ API. The {@code newInstance} methods defined on factories {@link SOAPFactory} and
-* {@link MessageFactory} in SAAJ 1.3 defer to instances of this class to do the actual object creation.
+* {@link MessageFactory} in SAAJ 1.4 defer to instances of this class to do the actual object creation.
 * The implementations of {@code newInstance()} methods (in {@link SOAPFactory} and {@link MessageFactory})
 * that existed in SAAJ 1.2 have been updated to also delegate to the SAAJMetaFactory when the SAAJ 1.2
 * defined lookup fails to locate the Factory implementation class name.
--- a/src/java.xml.ws/share/classes/javax/xml/soap/SAAJResult.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/javax/xml/soap/SAAJResult.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2017, 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
@@ -73,7 +73,7 @@
      * internally. The {@code SOAPPart} returned by {@link DOMResult#getNode()}
      * is not guaranteed to be well-formed.
      *
-     * @param protocol - the name of the SOAP protocol that the resulting SAAJ
+     * @param protocol the name of the SOAP protocol that the resulting SAAJ
      *                      tree should support
      *
      * @throws SOAPException if a {@code SOAPMessage} supporting the
@@ -95,7 +95,7 @@
      * after the transformation can be guaranteed only by means outside SAAJ
      * specification.
      *
-     * @param message - the message whose {@code SOAPPart} will be
+     * @param message the message whose {@code SOAPPart} will be
      *                  populated as a result of some transformation or
      *                  marshalling operation
      *
@@ -114,7 +114,7 @@
      * incoming data can be guaranteed by means outside of the SAAJ
      * specification.
      *
-     * @param rootNode - the root to which the results will be appended
+     * @param rootNode the root to which the results will be appended
      *
      * @since 1.6, SAAJ 1.3
      */
--- a/src/java.xml.ws/share/classes/javax/xml/soap/SOAPFactory.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/javax/xml/soap/SOAPFactory.java	Thu Nov 23 18:23:15 2017 +0000
@@ -64,7 +64,7 @@
      * part of the tree rooted in {@code domElement} violates SOAP rules, a
      * {@code SOAPException} will be thrown.
      *
-     * @param domElement - the {@code Element} to be copied.
+     * @param domElement the {@code Element} to be copied.
      *
      * @return a new {@code SOAPElement} that is a copy of {@code domElement}.
      *
--- a/src/java.xml.ws/share/classes/javax/xml/soap/SOAPFault.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/javax/xml/soap/SOAPFault.java	Thu Nov 23 18:23:15 2017 +0000
@@ -468,7 +468,7 @@
      * this {@code SOAPFault} object. The Node element
      * is optional in SOAP 1.2.
      *
-     * @param uri - the URI of the Node
+     * @param uri the URI of the Node
      *
      * @exception SOAPException  if there was an error in setting the
      *            Node for this  {@code SOAPFault} object.
@@ -500,7 +500,7 @@
      * this {@code SOAPFault} object. The Role element
      * is optional in SOAP 1.2.
      *
-     * @param uri - the URI of the Role
+     * @param uri the URI of the Role
      *
      * @exception SOAPException  if there was an error in setting the
      *            Role for this  {@code SOAPFault} object.
--- a/src/java.xml.ws/share/classes/javax/xml/soap/SOAPHeader.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/javax/xml/soap/SOAPHeader.java	Thu Nov 23 18:23:15 2017 +0000
@@ -188,11 +188,11 @@
 
     /**
      * Creates a new Upgrade {@code SOAPHeaderElement} object initialized
-     * with the specified String Iterator of supported SOAP URIs and adds
-     * it to this {@code SOAPHeader} object.
+     * with the specified List of supported SOAP URIs and adds it to this
+     * {@code SOAPHeader} object.
      * This operation is supported on both SOAP 1.1 and SOAP 1.2 header.
      *
-     * @param supportedSOAPURIs an URI Strings {@code Iterator} of SOAP
+     * @param supportedSOAPURIs an {@code Iterator} object with the URIs of SOAP
      *          versions supported.
      * @return the new {@code SOAPHeaderElement} object that was
      *          inserted into this {@code SOAPHeader} object
--- a/src/java.xml.ws/share/classes/javax/xml/soap/SOAPHeaderElement.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/java.xml.ws/share/classes/javax/xml/soap/SOAPHeaderElement.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2017, 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
@@ -60,7 +60,7 @@
      * Sets the {@code Role} associated with this {@code SOAPHeaderElement}
      * object to the specified {@code Role}.
      *
-     * @param uri - the URI of the {@code Role}
+     * @param uri the URI of the {@code Role}
      *
      * @throws SOAPException if there is an error in setting the role
      *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.xml.ws/share/classes/javax/xml/ws/wsdl_customizationschema_2_0.xsd	Thu Nov 23 18:23:15 2017 +0000
@@ -0,0 +1,458 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2005, 2017, 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
+ under the terms of the GNU General Public License version 2 only, as
+ published by the Free Software Foundation.  Oracle designates this
+ particular file as subject to the "Classpath" exception as provided
+ by Oracle in the LICENSE file that accompanied this code.
+
+ This code is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ version 2 for more details (a copy is included in the LICENSE file that
+ accompanied this code).
+
+ You should have received a copy of the GNU General Public License version
+ 2 along with this work; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ or visit www.oracle.com if you need additional information or have any
+ questions.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+           elementFormDefault="qualified"
+           targetNamespace="http://java.sun.com/xml/ns/jaxws"
+           attributeFormDefault="unqualified">
+  <xsd:annotation>
+    <xsd:documentation>
+
+      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+      
+      Copyright (c) 2006-2017 Oracle and/or its affiliates. All rights reserved.
+      
+      The contents of this file are subject to the terms of either the GNU
+      General Public License Version 2 only ("GPL") or the Common Development
+      and Distribution License("CDDL") (collectively, the "License").  You
+      may not use this file except in compliance with the License.  You can
+      obtain a copy of the License at
+      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+      or packager/legal/LICENSE.txt.  See the License for the specific
+      language governing permissions and limitations under the License.
+      
+      When distributing the software, include this License Header Notice in each
+      file and include the License file at packager/legal/LICENSE.txt.
+      
+      GPL Classpath Exception:
+      Oracle designates this particular file as subject to the "Classpath"
+      exception as provided by Oracle in the GPL Version 2 section of the License
+      file that accompanied this code.
+      
+      Modifications:
+      If applicable, add the following below the License Header, with the fields
+      enclosed by brackets [] replaced by your own identifying information:
+      "Portions Copyright [year] [name of copyright owner]"
+      
+      Contributor(s):
+      If you wish your version of this file to be governed by only the CDDL or
+      only the GPL Version 2, indicate your decision by adding "[Contributor]
+      elects to include this software in this distribution under the [CDDL or GPL
+      Version 2] license."  If you don't indicate a single choice of license, a
+      recipient has the option to distribute your version of this file under
+      either the CDDL, the GPL Version 2 or to extend the choice of license to
+      its licensees as provided above.  However, if you add GPL Version 2 code
+      and therefore, elected the GPL Version 2 license, then the option applies
+      only if the new code is made subject to such option by the copyright
+      holder.
+      
+    </xsd:documentation>
+  </xsd:annotation>
+
+    <xs:annotation>
+        <xs:documentation>
+            Schema for JAX-WS 2.0 WSDL customization.
+        </xs:documentation>
+    </xs:annotation>
+
+    <xs:group name="declaration">
+        <xs:annotation>
+            <xs:documentation>
+                TODO
+            </xs:documentation>
+        </xs:annotation>
+        <xs:choice>
+            <xs:element ref="jaxws:package"/>
+            <xs:element ref="jaxws:enableWrapperStyle"/>
+            <xs:element ref="jaxws:enableAsyncMapping"/>
+            <xs:element ref="jaxws:enableMIMEContent"/>
+            <xs:element ref="jaxws:class"/>
+            <xs:element ref="jaxws:method"/>
+            <xs:element ref="jaxws:parameter"/>
+            <xs:element ref="jaxws:provider"/>
+            <xs:any namespace="##other" processContents="lax" />
+        </xs:choice>
+    </xs:group>
+    
+    <xs:element name="bindings">
+        <xs:annotation>
+            <xs:documentation>
+                WSDL customization binding declaration.
+
+                There are two ways to specify binding declarations.
+
+                1. All binding declarations pertainingto a given WSDL document are grouped together in a standalone
+                document, called an external binding file.
+
+                2. The second approach consists in embeddeding binding declarations directly inside a WSDL document. In
+                either case, the jaxws:bindings element is used as a container for JAX-WS binding declarations. It
+                contains a (possibly empty) list of binding declarations, in any order.
+
+                A binding declaration embedded in a WSDL document can only affect the WSDL element it extends. When a
+                jaxws:bindings element is used as a WSDL extension, it MUST NOT have a node attribute. Moreover, it MUST
+                NOT have an element whose qualified name is jaxws:bindings amongs its children.
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:sequence>
+                <xs:choice minOccurs="0" maxOccurs="unbounded">
+                    <xs:group ref="jaxws:declaration"/>
+                    <xs:element ref="jaxws:bindings"/>
+                </xs:choice>               
+            </xs:sequence>
+
+            <xs:attribute name="wsdlLocation" type="xs:anyURI">
+                <xs:annotation>
+                    <xs:documentation>
+                        Location of the remote WSDL to associate binding declarations with. It MUST NOT be present if
+                        the jaxws:bindings element is used as an extension inside a WSDL document or one of its ancestor
+                        jaxws:bindings elements already contains this attribute.
+                    </xs:documentation>
+                </xs:annotation>
+
+            </xs:attribute>
+
+            <xs:attribute name="node" type="xs:string">
+                <xs:annotation>
+                    <xs:documentation>
+                        The value of the string is an XPATH 1.0 compliant string that resolves to a node in a remote
+                        WSDL to associate binding declarations with. The remote WSDL is specified by the
+                        wsdlLocation attribute occuring in the current element or in a parent of this element.
+
+                        The node attribute can be used to customize the inlined schema inside the WSDL, in this case the
+                        node attribute must point to the xs:schema node inside the WSDL. Further jaxb:bindings should be
+                        used as the child of jaxws:bindings.
+
+                        Example:
+                        <!--
+                        <jaxws:bindings wsdlLocation="..."
+                                        xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                                        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                                        xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+                                        xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
+                            <jaxws:bindings
+                                    node="wsdl:definitions/wsdl:types/xs:schema[@targetNamespace='urn:test:types']">
+                                <jaxb:schemaBindings>
+                                    <jaxb:package name="client.types"/>
+                                </jaxb:schemaBindings>
+                                <jaxb:bindings node="//xs:complexType[@name='class']">
+                                    <jaxb:class name="Clazz"/>
+                                </jaxb:bindings>
+                            </jaxws:bindings>
+                        </jaxws:bindings>
+                        -->
+                        NOTE: It MUST NOT be present if the jaxws:bindings appears inside a WSDL document.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+
+            <xs:attribute name="version" type="xs:token" default="2.0">
+                <xs:annotation>
+                    <xs:documentation>
+                        Used to indicate the version of WSDL customization declarations. Only valid on root level
+                        bindings element.
+                        If this is absent, it will implicitly be assumed to be 2.0.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+
+    </xs:element>
+
+    <xs:complexType name="tJavaDoc">
+        <xs:annotation></xs:annotation>
+        <xs:sequence>
+            <xs:element name="javadoc" type="xs:string" minOccurs="0"/>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:element name="package">
+        <xs:annotation>
+            <xs:documentation>
+                If absent, the default package name is computed from the targetNamespace of the WSDL in scope. The rules
+                of targetNamespace to Java package name is described in the JAXB specification.
+
+                Appears in the context of a WSDL document, either as an extension to the wsdl:definitions element or in
+                an external binding file at a place where there is a WSDL document in scope.
+
+                Scope:
+                wsd;definitions
+
+                Example:
+                <!--
+                <jaxws:bindings wsdlLocation="..."
+                                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                                xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+                                xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
+                    <jaxws:package></jaxws:package>
+                </jaxws:bindings>
+                -->
+            </xs:documentation>
+        </xs:annotation>
+
+        <xs:complexType>
+            <xs:complexContent>
+                <xs:extension base="jaxws:tJavaDoc">
+                    <xs:attribute name="name" type="xs:string" use="required"/>
+                </xs:extension>
+            </xs:complexContent>
+        </xs:complexType>
+    </xs:element>
+
+
+    <xs:element name="enableWrapperStyle" type="xs:boolean">
+        <xs:annotation>
+            <xs:documentation>
+                enableWrapperStyle can be used to disable wrapper style Java method generation. If absent the default
+                value of enableWrapperStyle is true. Setting it to true may not result into wrapper style method
+                generation unless the wrapper style rules are satisfied as defined in JAX-WS 2.1 specification 2.3.1.2.
+
+                Scope:
+                wsd;definitions, wsdl:portType, wsdl:portType/wsdl:operation.
+
+                Example:
+                <jaxws:bindings wsdlLocation="..."
+                                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                                xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+                                xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
+                    <!-- Turn off wrapper style Java method signature generation -->
+                    <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle>
+                </jaxws:bindings>
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+
+    <xs:element name="enableAsyncMapping" type="xs:boolean">
+        <xs:annotation>
+            <xs:documentation>
+                enableAsyncMapping can be used to enable async method generation in the entpoint interface generated
+                from a WSDL. If absent the default value of enableAsyncMapping is false. See JAX-WS 2.1 spec
+                section 2.3.4.2.
+
+                Scope:
+                wsd;definitions, wsdl:portType, wsdl:portType/wsdl:operation.
+
+                Note: These generated async methods can be used only on the client side.
+
+                Example:
+                <jaxws:bindings wsdlLocation="..."
+                                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                                xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+                                xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
+                    <!-- Generate async methods in the generated Java endpoint interface for all the portTypes and
+                    operations in the WSDL's scope.  -->
+                    <jaxws:enableAsyncMapping>false</jaxws:enableAsyncMapping>
+                </jaxws:bindings>
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+
+    <xs:element name="enableMIMEContent" type="xs:boolean">
+        <xs:annotation>
+            <xs:documentation>
+                If present the use of the mime:content information is enabled as defined in the JAX-WS 2.1 spec
+                section 2.6.3.1
+
+                Scope:
+                wsdl:definitions, wsdl:binding, wsdl:binding/wsdl:operation
+
+                Example:
+                <jaxws:bindings wsdlLocation="..."
+                                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                                xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+                                xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
+
+                    <!-- Enables MIME content for all the bindings in the WSDL's scope.  -->
+                    <jaxws:enableMIMEContent>false</jaxws:enableMIMEContent>
+                </jaxws:bindings>
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+
+    <xs:element name="class">
+        <xs:annotation>
+            <xs:documentation>
+                Customizes the name of generated classes for the SEI, service class or the fault class.
+
+                Scope:
+                wsd;portType - The name of generated SEI (Service Endpoint Interface)
+                wsdl:portType/wsdl:operation/wsdl:fault - The generated fault class name.
+                wsdl:service - Name of the generated Service class.
+
+                Example:
+
+                <jaxws:bindings wsdlLocation="..."
+                                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                                xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+                                xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
+
+                    <!-- Customize the generated SEI class name -->
+                    <jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='Hello']">
+                        <jaxws:class name="HelloWorld"/>
+                    </jaxws:bindings>
+
+                    <!-- customize the generated Service class name -->
+                    <jaxws:bindings node="wsdl:definitions/wsdl:service[@name='Hello']">
+                        <jaxws:class name="CustomService"/>
+                    </jaxws:bindings>
+
+                    <!-- customize the generated fault class name -->
+                    <jaxws:bindings
+                            node="wsdl:definitions/wsdl:portType[@name='Hello']/wsdl:operation[@name='Foo']/wsdl:fault[@name='FooFault']">
+                        <jaxws:class name="FooException"/>
+                    </jaxws:bindings>
+                </jaxws:bindings>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:complexContent>
+                <xs:extension base="jaxws:tJavaDoc">
+                    <xs:attribute name="name" type="xs:string" use="required"/>
+                </xs:extension>
+            </xs:complexContent>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="method">
+        <xs:annotation>
+            <xs:documentation>
+                Customizes the name of Java method in the generated classes.
+
+                Scope:
+                wsd;portType/wsdl:operation - name of Java methods corresponding to wsdl:operation
+                wsdl:service/wsdl:port - Name of the port getter in the generated Service class
+
+                Example:
+
+                <jaxws:bindings wsdlLocation="..."
+                                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                                xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+                                xmlns:jaxb="http://java.sun.com/xml/ns/jaxb">
+
+                    <!-- Renames Java method from hello() to helloWorld() -->
+                    <jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='Hello']/wsdl:operation[@name='Hello']">
+                        <jaxws:class name="helloWorld"/>
+                    </jaxws:bindings>
+
+                    <!-- Renames the generated port getter method form getHelloPort(), which is default for "HelloPort",
+                     to getCustomizedPort -->
+                    <jaxws:bindings node="wsdl:definitions/wsdl:service[@name='Hello']/wsdl:port[@name='HelloPort']">
+                        <jaxws:method name="getCustomizedPort"/>
+                    </jaxws:bindings>
+
+                </jaxws:bindings>
+            </xs:documentation>
+        </xs:annotation>
+
+        <xs:complexType>
+            <xs:complexContent>
+                <xs:extension base="jaxws:tJavaDoc">
+                    <xs:attribute name="name" type="xs:string" use="required"/>
+                </xs:extension>
+            </xs:complexContent>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="parameter">
+        <xs:annotation>
+            <xs:documentation>
+                Customizes the name of the Java method parameters in the generated SEI.
+
+                Scope:
+                wsd;portType/wsdl:operation
+                wsdl:binding/wsdl:operation To rename wsdl:header (additional header parameters, this support is
+                optional as JAX-WS 2.1 spec makes additional header mapping optional.
+                Example:
+
+                <jaxws:bindings wsdlLocation="..."
+                                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                                xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                                xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
+                                xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+                                xmlns:types1="urn:test:types">
+
+                    <!-- Rename a wrapper child parameter 'argument' to 'helloArgument'-->
+                    <jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='Hello']/wsdl:operation[@name='Hello']">
+                        <jaxws:parameter
+                                part="wsdl:definitions/wsdl:message[@name='HelloRequest']/wsdl:part[@name='parameters']"
+                                childElementName="types1:argument" name="helloArgument"/>
+                    </jaxws:bindings>
+
+                    <!-- Rename a BARE parameter 'in' to 'fooRequest'-->
+                    <jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='Hello']/wsdl:operation[@name='Foo']">
+                        <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle>
+                        <jaxws:parameter part="wsdl:definitions/wsdl:message[@name='FooRequest']/wsdl:part[@name='in']"
+                                         name="fooRequest"/>
+                    </jaxws:bindings>
+                </jaxws:bindings>
+
+            </xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:attribute name="part" type="xs:string" use="required">
+                <xs:annotation>
+                    <xs:documentation>
+                        A XPath expression identifying a wsdl:part child of a wsdl:message.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="childElementName" type="xs:QName" use="optional">
+                <xs:annotation>
+                    <xs:documentation>
+                        The qualified name of a child element information item of the global type definition or global
+                        element declaration referred to by the wsdl:part identified by the previous attribute. It is
+                        optional and you need it only to rename parameters corresponding to wrapper style operation.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+            <xs:attribute name="name" type="xs:string" use="required">
+                <xs:annotation>
+                    <xs:documentation>
+                        The name of the Java formal parameter corresponding to the parameter identified by the previous
+                        two attributes.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="provider">
+        <xs:annotation>
+            <xs:documentation>
+                This binding declaration specifies that the annotated port will be used with the
+                javax.xml.ws.Provider interface.
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+
+</xs:schema>
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -30,10 +30,10 @@
     Non-existent directory: {0}
 
 VERSION = \
-        schemagen 2.3.0-b170531.0717
+        schemagen 2.3.1-b171012.0423
 
 FULLVERSION = \
-        schemagen full version "2.3.0-b170531.0717"
+        schemagen full version "2.3.1-b171012.0423"
 
 USAGE = \
 Usage: schemagen [-options ...] <java files> \n\
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_de.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_de.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = Nicht vorhandenes Verzeichnis: {0}
 
-VERSION = schemagen 2.3.0-b170531.0717
+VERSION = schemagen 2.3.1-b171012.0423
 
-FULLVERSION = schemagen vollst\u00E4ndige Version "2.3.0-b170531.0717"
+FULLVERSION = schemagen vollst\u00E4ndige Version "2.3.1-b171012.0423"
 
 USAGE = Verwendung: schemagen [-options ...] <java files> \nOptionen: \n\\ \\ \\ \\ -d <path>             : Gibt an, wo die von Prozessor und javac generierten Klassendateien gespeichert werden sollen\n\\ \\ \\ \\ -cp <path>            : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -classpath <path>     : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -encoding <encoding>  : Gibt die Codierung f\u00FCr die Annotationsverarbeitung/den javac-Aufruf an \n\\ \\ \\ \\ -episode <file>       : Generiert Episodendatei f\u00FCr separate Kompilierung\n\\ \\ \\ \\ -version              : Zeigt Versionsinformation an\n\\ \\ \\ \\ -fullversion          : Zeigt vollst\u00E4ndige Versionsinformationen an\n\\ \\ \\ \\ -help                 : Zeigt diese Verwendungsmeldung an
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_es.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_es.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = Directorio no existente: {0}
 
-VERSION = schemagen 2.3.0-b170531.0717
+VERSION = schemagen 2.3.1-b171012.0423
 
-FULLVERSION = versi\u00F3n completa de schemagen "2.3.0-b170531.0717"
+FULLVERSION = versi\u00F3n completa de schemagen "2.3.1-b171012.0423"
 
 USAGE = Sintaxis: schemagen [-options ...] <archivos java> \nOpciones: \n\\ \\ \\ \\ -d <ruta de acceso>             : especifique d\u00F3nde se colocan los archivos de clase generados por javac y el procesador\n\\ \\ \\ \\ -cp <ruta de acceso>            : especifique d\u00F3nde se encuentran los archivos especificados por el usuario\n\\ \\ \\ \\ -encoding <codificaci\u00F3n>  : especifique la codificaci\u00F3n que se va a utilizar para el procesamiento de anotaciones/llamada de javac\n\\ \\ \\ \\ -episode <archivo>       : genera un archivo de episodio para una compilaci\u00F3n diferente\n\\ \\ \\ \\ -version              : muestra la informaci\u00F3n de la versi\u00F3n\n\\ \\ \\ \\ -fullversion          : muestra la informaci\u00F3n completa de la versi\u00F3n\n\\ \\ \\ \\ -help                 : muestra este mensaje de sintaxis
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = R\u00E9pertoire {0} inexistant
 
-VERSION = schemagen 2.3.0-b170531.0717
+VERSION = schemagen 2.3.1-b171012.0423
 
-FULLVERSION = version compl\u00E8te de schemagen "2.3.0-b170531.0717"
+FULLVERSION = version compl\u00E8te de schemagen "2.3.1-b171012.0423"
 
 USAGE = Syntaxe : schemagen [-options ...] <java files> \nOptions : \n\ \ \ \ -d <path> : indiquez o\u00F9 placer les fichiers de classe g\u00E9n\u00E9r\u00E9s par le processeur et le compilateur javac\n\ \ \ \ -cp <path> : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -classpath <path> : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -encoding <encoding> : indiquez l'encodage \u00E0 utiliser pour l'appel de javac/traitement de l'annotation \n\ \ \ \ -episode <file> : g\u00E9n\u00E9rez un fichier d'\u00E9pisode pour la compilation s\u00E9par\u00E9e\n\ \ \ \ -version : affichez les informations de version\n\ \ \ \ -fullversion : affichez les informations compl\u00E8tes de version\n\ \ \ \ -help : affichez ce message de syntaxe
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_it.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_it.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = Directory non esistente: {0}
 
-VERSION = schemagen 2.3.0-b170531.0717
+VERSION = schemagen 2.3.1-b171012.0423
 
-FULLVERSION = versione completa schemagen "2.3.0-b170531.0717"
+FULLVERSION = versione completa schemagen "2.3.1-b171012.0423"
 
 USAGE = Uso: schemagen [-options ...] <java files> \nOpzioni: \n\ \ \ \ -d <path>             : specifica dove posizionare il processore e i file della classe generata javac\n\ \ \ \ -cp <path>            : specifica dove trovare i file specificati dall'utente\n\ \ \ \ -classpath <path>     : specifica dove trovare i file specificati dall'utente\n\ \ \ \ -encoding <encoding>  : specifica la codifica da usare per l'elaborazione dell'annotazione/richiamo javac \n\ \ \ \ -episode <file>       : genera il file di episodio per la compilazione separata\n\ \ \ \ -version              : visualizza le informazioni sulla versione\n\ \ \ \ -fullversion          : visualizza le informazioni sulla versione completa\n\ \ \ \ -help                 : visualizza questo messaggio sull'uso
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u5B58\u5728\u3057\u307E\u305B\u3093: {0}
 
-VERSION = schemagen 2.3.0-b170531.0717
+VERSION = schemagen 2.3.1-b171012.0423
 
-FULLVERSION = schemagen\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.3.0-b170531.0717"
+FULLVERSION = schemagen\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.3.1-b171012.0423"
 
 USAGE = \u4F7F\u7528\u65B9\u6CD5: schemagen [-options ...] <java files> \n\u30AA\u30D7\u30B7\u30E7\u30F3: \n\ \ \ \ -d <path>             : \u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073javac\u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -cp <path>            : \u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -classpath <path>     : \u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -encoding <encoding>  : \u6CE8\u91C8\u51E6\u7406/javac\u547C\u51FA\u3057\u306B\u4F7F\u7528\u3059\u308B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -episode <file>       : \u30B3\u30F3\u30D1\u30A4\u30EB\u3054\u3068\u306B\u30A8\u30D4\u30BD\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3057\u307E\u3059\n\ \ \ \ -version              : \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3057\u307E\u3059\n\ \ \ \ -fullversion          : \u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3057\u307E\u3059\n\ \ \ \ -help                 : \u3053\u306E\u4F7F\u7528\u4F8B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3057\u307E\u3059
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294 \uB514\uB809\uD1A0\uB9AC: {0}
 
-VERSION = schemagen 2.3.0-b170531.0717
+VERSION = schemagen 2.3.1-b171012.0423
 
-FULLVERSION = schemagen \uC815\uC2DD \uBC84\uC804 "2.3.0-b170531.0717"
+FULLVERSION = schemagen \uC815\uC2DD \uBC84\uC804 "2.3.1-b171012.0423"
 
 USAGE = \uC0AC\uC6A9\uBC95: schemagen [-options ...] <java files> \n\uC635\uC158: \n\ \ \ \ -d <path>             : \uD504\uB85C\uC138\uC11C \uBC0F javac\uC5D0\uC11C \uC0DD\uC131\uD55C \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uBC30\uCE58\uD560 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -cp <path>            : \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uD30C\uC77C\uC744 \uCC3E\uC744 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -classpath <path>     : \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uD30C\uC77C\uC744 \uCC3E\uC744 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -encoding <encoding>  : \uC8FC\uC11D \uCC98\uB9AC/javac \uD638\uCD9C\uC5D0 \uC0AC\uC6A9\uD560 \uC778\uCF54\uB529\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4. \n\ \ \ \ -episode <file>       : \uBCC4\uB3C4 \uCEF4\uD30C\uC77C\uC744 \uC704\uD574 episode \uD30C\uC77C\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4.\n\ \ \ \ -version              : \uBC84\uC804 \uC815\uBCF4\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n\ \ \ \ -fullversion          : \uC815\uC2DD \uBC84\uC804 \uC815\uBCF4\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n\ \ \ \ -help                 : \uC774 \uC0AC\uC6A9\uBC95 \uBA54\uC2DC\uC9C0\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = Diret\u00F3rio n\u00E3o existente: {0}
 
-VERSION = gera\u00E7\u00E3o do esquema 2.3.0-b170531.0717
+VERSION = gera\u00E7\u00E3o do esquema 2.3.1-b171012.0423
 
-FULLVERSION = vers\u00E3o completa da gera\u00E7\u00E3o do esquema "2.3.0-b170531.0717"
+FULLVERSION = vers\u00E3o completa da gera\u00E7\u00E3o do esquema "2.3.1-b171012.0423"
 
 USAGE = Uso: gera\u00E7\u00E3o do esquema [-options ...] <java files> \nOp\u00E7\u00F5es: \n\\ \\ \\ \\ -d <path>             : especificar onde colocar o processador e os arquivos da classe gerados por javac\n\\ \\ \\ \\ -cp <path>            : especificar onde localizar arquivos especificados pelo usu\u00E1rio\n\\ \\ \\ \\ -classpath <path>     : especificar onde localizar os arquivos especificados pelo usu\u00E1rio\n\\ \\ \\ \\ -encoding <encoding>  : especificar codifica\u00E7\u00E3o a ser usada para processamento de anota\u00E7\u00E3o/chamada javac \n\\ \\ \\ \\ -episode <file>       : gerar arquivo do epis\u00F3dio para compila\u00E7\u00E3o separada\n\\ \\ \\ \\ -version              : exibir informa\u00E7\u00F5es da vers\u00E3o\n\\ \\ \\ \\ -fullversion          : exibir informa\u00E7\u00F5es da vers\u00E3o completa\n\\ \\ \\ \\ -help                 : exibir esta mensagem de uso
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = \u4E0D\u5B58\u5728\u7684\u76EE\u5F55: {0}
 
-VERSION = schemagen 2.3.0-b170531.0717
+VERSION = schemagen 2.3.1-b171012.0423
 
-FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.3.0-b170531.0717"
+FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.3.1-b171012.0423"
 
 USAGE = \u7528\u6CD5: schemagen [-options ...] <java files> \n\u9009\u9879: \n\ \ \ \ -d <path>             : \u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -cp <path>            : \u6307\u5B9A\u67E5\u627E\u7528\u6237\u6307\u5B9A\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -classpath <path>     : \u6307\u5B9A\u67E5\u627E\u7528\u6237\u6307\u5B9A\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -encoding <encoding>  : \u6307\u5B9A\u7528\u4E8E\u6CE8\u91CA\u5904\u7406/javac \u8C03\u7528\u7684\u7F16\u7801\n\ \ \ \ -episode <file>       : \u751F\u6210\u7247\u6BB5\u6587\u4EF6\u4EE5\u4F9B\u5355\u72EC\u7F16\u8BD1\n\ \ \ \ -version              : \u663E\u793A\u7248\u672C\u4FE1\u606F\n\ \ \ \ -fullversion          : \u663E\u793A\u5B8C\u6574\u7684\u7248\u672C\u4FE1\u606F\n\ \ \ \ -help                 : \u663E\u793A\u6B64\u7528\u6CD5\u6D88\u606F
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -27,8 +27,8 @@
 
 BASEDIR_DOESNT_EXIST = \u4E0D\u5B58\u5728\u7684\u76EE\u9304: {0}
 
-VERSION = schemagen 2.3.0-b170531.0717
+VERSION = schemagen 2.3.1-b171012.0423
 
-FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.3.0-b170531.0717"
+FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.3.1-b171012.0423"
 
 USAGE = \u7528\u6CD5: schemagen [-options ...] <java files> \n\u9078\u9805: \n\\ \\ \\ \\ -d <path>             : \u6307\u5B9A\u8655\u7406\u5668\u4EE5\u53CA javac \u7522\u751F\u7684\u985E\u5225\u6A94\u6848\u653E\u7F6E\u4F4D\u7F6E\n\\ \\ \\ \\ -cp <path>            : \u6307\u5B9A\u8981\u5C0B\u627E\u4F7F\u7528\u8005\u6307\u5B9A\u6A94\u6848\u7684\u4F4D\u7F6E\n\\ \\ \\ \\ -classpath <path>     : \u6307\u5B9A\u8981\u5C0B\u627E\u4F7F\u7528\u8005\u6307\u5B9A\u6A94\u6848\u7684\u4F4D\u7F6E\n\\ \\ \\ \\ -encoding <encoding>  : \u6307\u5B9A\u8981\u7528\u65BC\u8A3B\u89E3\u8655\u7406/javac \u547C\u53EB\u7684\u7DE8\u78BC \n\\ \\ \\ \\ -episode <file>       : \u7522\u751F\u7368\u7ACB\u7DE8\u8B6F\u7684\u4E8B\u4EF6 (episode) \u6A94\u6848\n\\ \\ \\ \\ -version              : \u986F\u793A\u7248\u672C\u8CC7\u8A0A\n\\ \\ \\ \\ -fullversion          : \u986F\u793A\u5B8C\u6574\u7248\u672C\u8CC7\u8A0A\n\\ \\ \\ \\ -help                 : \u986F\u793A\u6B64\u7528\u6CD5\u8A0A\u606F
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = \
         unknown location
@@ -173,23 +174,23 @@
 Driver.FailedToGenerateCode = \
         Failed to produce code.
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
 Driver.FilePrologComment = \
-        This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0-b170531.0717 \n\
-        See <a href="https://jaxb.java.net/">https://jaxb.java.net/</a> \n\
+        This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.1-b171012.0423 \n\
+        See <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> \n\
         Any modifications to this file will be lost upon recompilation of the source schema. \n\
         Generated on: {0} \n
 
 Driver.Version = \
-        xjc 2.3.0-b170531.0717
+        xjc 2.3.1-b171012.0423
 
 Driver.FullVersion = \
-        xjc full version "2.3.0-b170531.0717"
+        xjc full version "2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_de.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_de.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = unbekanntes Verzeichnis
 
@@ -127,17 +128,17 @@
 
 Driver.FailedToGenerateCode = Code konnte nicht erzeugt werden.
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
-Driver.FilePrologComment = Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0-b170531.0717 generiert \nSiehe <a href="https://jaxb.java.net/">https://jaxb.java.net/</a> \n\u00c4nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. \nGeneriert: {0} \n
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
+Driver.FilePrologComment = Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.1-b171012.0423 generiert \nSiehe <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> \n\u00c4nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. \nGeneriert: {0} \n
 
-Driver.Version = xjc 2.3.0-b170531.0717
+Driver.Version = xjc 2.3.1-b171012.0423
 
-Driver.FullVersion = xjc vollst\u00E4ndige Version "2.3.0-b170531.0717"
+Driver.FullVersion = xjc vollst\u00E4ndige Version "2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_es.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_es.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = ubicaci\u00f3n desconocida
 
@@ -127,17 +128,17 @@
 
 Driver.FailedToGenerateCode = Fallo al producir c\u00f3digo.
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
-Driver.FilePrologComment = Este archivo ha sido generado por la arquitectura JavaTM para la implantaci\u00f3n de la referencia de enlace (JAXB) XML v2.3.0-b170531.0717 \nVisite <a href="https://jaxb.java.net/">https://jaxb.java.net/</a> \nTodas las modificaciones realizadas en este archivo se perder\u00e1n si se vuelve a compilar el esquema de origen. \nGenerado el: {0} \n
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
+Driver.FilePrologComment = Este archivo ha sido generado por la arquitectura JavaTM para la implantaci\u00f3n de la referencia de enlace (JAXB) XML v2.3.1-b171012.0423 \nVisite <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> \nTodas las modificaciones realizadas en este archivo se perder\u00e1n si se vuelve a compilar el esquema de origen. \nGenerado el: {0} \n
 
-Driver.Version = xjc 2.3.0-b170531.0717
+Driver.Version = xjc 2.3.1-b171012.0423
 
-Driver.FullVersion = versi\u00F3n completa de xjc "2.3.0-b170531.0717"
+Driver.FullVersion = versi\u00F3n completa de xjc "2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = emplacement inconnu
 
@@ -131,17 +132,17 @@
 
 Driver.FailedToGenerateCode = Echec de la production du code.
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
-Driver.FilePrologComment = Ce fichier a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l''impl\u00e9mentation de r\u00e9f\u00e9rence JavaTM Architecture for XML Binding (JAXB), v2.3.0-b170531.0717 \nVoir <a href="https://jaxb.java.net/">https://jaxb.java.net/</a> \nToute modification apport\u00e9e \u00e0 ce fichier sera perdue lors de la recompilation du sch\u00e9ma source. \nG\u00e9n\u00e9r\u00e9 le : {0} \n
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
+Driver.FilePrologComment = Ce fichier a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l''impl\u00e9mentation de r\u00e9f\u00e9rence JavaTM Architecture for XML Binding (JAXB), v2.3.1-b171012.0423 \nVoir <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> \nToute modification apport\u00e9e \u00e0 ce fichier sera perdue lors de la recompilation du sch\u00e9ma source. \nG\u00e9n\u00e9r\u00e9 le : {0} \n
 
-Driver.Version = xjc 2.3.0-b170531.0717
+Driver.Version = xjc 2.3.1-b171012.0423
 
-Driver.FullVersion = version compl\u00E8te xjc "2.3.0-b170531.0717"
+Driver.FullVersion = version compl\u00E8te xjc "2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_it.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_it.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = posizione sconosciuta
 
@@ -127,17 +128,17 @@
 
 Driver.FailedToGenerateCode = Produzione del codice non riuscita.
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
-Driver.FilePrologComment = Questo file \u00e8 stato generato dall''architettura JavaTM per XML Binding (JAXB) Reference Implementation, v2.3.0-b170531.0717 \nVedere <a href="https://jaxb.java.net/">https://jaxb.java.net/</a> \nQualsiasi modifica a questo file andr\u00e0 persa durante la ricompilazione dello schema di origine. \nGenerato il: {0} \n
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
+Driver.FilePrologComment = Questo file \u00e8 stato generato dall''architettura JavaTM per XML Binding (JAXB) Reference Implementation, v2.3.1-b171012.0423 \nVedere <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> \nQualsiasi modifica a questo file andr\u00e0 persa durante la ricompilazione dello schema di origine. \nGenerato il: {0} \n
 
-Driver.Version = xjc 2.3.0-b170531.0717
+Driver.Version = xjc 2.3.1-b171012.0423
 
-Driver.FullVersion = versione completa xjc "2.3.0-b170531.0717"
+Driver.FullVersion = versione completa xjc "2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = \u4e0d\u660e\u306a\u5834\u6240
 
@@ -127,17 +128,17 @@
 
 Driver.FailedToGenerateCode = \u30b3\u30fc\u30c9\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
-Driver.FilePrologComment = \u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3001JavaTM Architecture for XML Binding(JAXB) Reference Implementation\u3001v2.3.0-b170531.0717\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u307e\u3057\u305f \n<a href="https://jaxb.java.net/">https://jaxb.java.net/</a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 \n\u30bd\u30fc\u30b9\u30fb\u30b9\u30ad\u30fc\u30de\u306e\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u306f\u5931\u308f\u308c\u307e\u3059\u3002 \n\u751f\u6210\u65e5: {0} \n
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
+Driver.FilePrologComment = \u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3001JavaTM Architecture for XML Binding(JAXB) Reference Implementation\u3001v2.3.1-b171012.0423\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u307e\u3057\u305f \n<a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 \n\u30bd\u30fc\u30b9\u30fb\u30b9\u30ad\u30fc\u30de\u306e\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u306f\u5931\u308f\u308c\u307e\u3059\u3002 \n\u751f\u6210\u65e5: {0} \n
 
-Driver.Version = xjc 2.3.0-b170531.0717
+Driver.Version = xjc 2.3.1-b171012.0423
 
-Driver.FullVersion = xjc\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.3.0-b170531.0717"
+Driver.FullVersion = xjc\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = \uc54c \uc218 \uc5c6\ub294 \uc704\uce58
 
@@ -127,17 +128,17 @@
 
 Driver.FailedToGenerateCode = \ucf54\ub4dc \uc0dd\uc131\uc744 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
-Driver.FilePrologComment = \uc774 \ud30c\uc77c\uc740 JAXB(JavaTM Architecture for XML Binding) \ucc38\uc870 \uad6c\ud604 2.3.0-b170531.0717 \ubc84\uc804\uc744 \ud1b5\ud574 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \n<a href="https://jaxb.java.net/">https://jaxb.java.net/</a>\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. \n\uc774 \ud30c\uc77c\uc744 \uc218\uc815\ud558\uba74 \uc18c\uc2a4 \uc2a4\ud0a4\ub9c8\ub97c \uc7ac\ucef4\ud30c\uc77c\ud560 \ub54c \uc218\uc815 \uc0ac\ud56d\uc774 \uc190\uc2e4\ub429\ub2c8\ub2e4. \n\uc0dd\uc131 \ub0a0\uc9dc: {0} \n
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
+Driver.FilePrologComment = \uc774 \ud30c\uc77c\uc740 JAXB(JavaTM Architecture for XML Binding) \ucc38\uc870 \uad6c\ud604 2.3.1-b171012.0423 \ubc84\uc804\uc744 \ud1b5\ud574 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \n<a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a>\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. \n\uc774 \ud30c\uc77c\uc744 \uc218\uc815\ud558\uba74 \uc18c\uc2a4 \uc2a4\ud0a4\ub9c8\ub97c \uc7ac\ucef4\ud30c\uc77c\ud560 \ub54c \uc218\uc815 \uc0ac\ud56d\uc774 \uc190\uc2e4\ub429\ub2c8\ub2e4. \n\uc0dd\uc131 \ub0a0\uc9dc: {0} \n
 
-Driver.Version = XJC 2.3.0-b170531.0717
+Driver.Version = XJC 2.3.1-b171012.0423
 
-Driver.FullVersion = XJC \uC815\uC2DD \uBC84\uC804 "2.3.0-b170531.0717"
+Driver.FullVersion = XJC \uC815\uC2DD \uBC84\uC804 "2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = localiza\u00e7\u00e3o desconhecida
 
@@ -127,17 +128,17 @@
 
 Driver.FailedToGenerateCode = Falha ao produzir o c\u00f3digo.
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
-Driver.FilePrologComment = Este arquivo foi gerado pela Arquitetura JavaTM para Implementa\u00e7\u00e3o de Refer\u00eancia (JAXB) de Bind XML, v2.3.0-b170531.0717 \nConsulte <a href="https://jaxb.java.net/">https://jaxb.java.net/</a> \nTodas as modifica\u00e7\u00f5es neste arquivo ser\u00e3o perdidas ap\u00f3s a recompila\u00e7\u00e3o do esquema de origem. \nGerado em: {0} \n
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
+Driver.FilePrologComment = Este arquivo foi gerado pela Arquitetura JavaTM para Implementa\u00e7\u00e3o de Refer\u00eancia (JAXB) de Bind XML, v2.3.1-b171012.0423 \nConsulte <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> \nTodas as modifica\u00e7\u00f5es neste arquivo ser\u00e3o perdidas ap\u00f3s a recompila\u00e7\u00e3o do esquema de origem. \nGerado em: {0} \n
 
-Driver.Version = xjc 2.3.0-b170531.0717
+Driver.Version = xjc 2.3.1-b171012.0423
 
-Driver.FullVersion = vers\u00E3o completa de xjc "2.3.0-b170531.0717"
+Driver.FullVersion = vers\u00E3o completa de xjc "2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = \u672a\u77e5\u4f4d\u7f6e
 
@@ -131,17 +132,17 @@
 
 Driver.FailedToGenerateCode = \u65e0\u6cd5\u751f\u6210\u4ee3\u7801\u3002
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
-Driver.FilePrologComment = \u6b64\u6587\u4ef6\u662f\u7531 JavaTM Architecture for XML Binding (JAXB) \u5f15\u7528\u5b9e\u73b0 v2.3.0-b170531.0717 \u751f\u6210\u7684\n\u8bf7\u8bbf\u95ee <a href="https://jaxb.java.net/">https://jaxb.java.net/</a> \n\u5728\u91cd\u65b0\u7f16\u8bd1\u6e90\u6a21\u5f0f\u65f6, \u5bf9\u6b64\u6587\u4ef6\u7684\u6240\u6709\u4fee\u6539\u90fd\u5c06\u4e22\u5931\u3002\n\u751f\u6210\u65f6\u95f4: {0} \n
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
+Driver.FilePrologComment = \u6b64\u6587\u4ef6\u662f\u7531 JavaTM Architecture for XML Binding (JAXB) \u5f15\u7528\u5b9e\u73b0 v2.3.1-b171012.0423 \u751f\u6210\u7684\n\u8bf7\u8bbf\u95ee <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> \n\u5728\u91cd\u65b0\u7f16\u8bd1\u6e90\u6a21\u5f0f\u65f6, \u5bf9\u6b64\u6587\u4ef6\u7684\u6240\u6709\u4fee\u6539\u90fd\u5c06\u4e22\u5931\u3002\n\u751f\u6210\u65f6\u95f4: {0} \n
 
-Driver.Version = xjc 2.3.0-b170531.0717
+Driver.Version = xjc 2.3.1-b171012.0423
 
-Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.3.0-b170531.0717"
+Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,6 +23,7 @@
 # questions.
 #
 
+
 # Concatenated with Driver.ErrorMessage, Driver.WarningMessage, Driver.InfoMessage (Driver.InfoMessage + exception message + ConsoleErrorReporter.UnknownLocation) if location of the error is not known.
 ConsoleErrorReporter.UnknownLocation = \u4e0d\u660e\u7684\u4f4d\u7f6e
 
@@ -127,17 +128,17 @@
 
 Driver.FailedToGenerateCode = \u7121\u6cd5\u7522\u751f\u7a0b\u5f0f\u78bc.
 
-# DO NOT localize the 2.3.0-b170531.0717 string - it is a token for an mvn <properties filter>
-Driver.FilePrologComment = \u6b64\u6a94\u6848\u662f\u7531 JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0-b170531.0717 \u6240\u7522\u751f \n\u8acb\u53c3\u95b1 <a href="https://jaxb.java.net/">https://jaxb.java.net/</a> \n\u4e00\u65e6\u91cd\u65b0\u7de8\u8b6f\u4f86\u6e90\u7db1\u8981, \u5c0d\u6b64\u6a94\u6848\u6240\u505a\u7684\u4efb\u4f55\u4fee\u6539\u90fd\u5c07\u6703\u907a\u5931. \n\u7522\u751f\u6642\u9593: {0} \n
+# DO NOT localize the 2.3.1-b171012.0423 string - it is a token for an mvn <properties filter>
+Driver.FilePrologComment = \u6b64\u6a94\u6848\u662f\u7531 JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.1-b171012.0423 \u6240\u7522\u751f \n\u8acb\u53c3\u95b1 <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> \n\u4e00\u65e6\u91cd\u65b0\u7de8\u8b6f\u4f86\u6e90\u7db1\u8981, \u5c0d\u6b64\u6a94\u6848\u6240\u505a\u7684\u4efb\u4f55\u4fee\u6539\u90fd\u5c07\u6703\u907a\u5931. \n\u7522\u751f\u6642\u9593: {0} \n
 
-Driver.Version = xjc 2.3.0-b170531.0717
+Driver.Version = xjc 2.3.1-b171012.0423
 
-Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.3.0-b170531.0717"
+Driver.FullVersion = xjc \u5B8C\u6574\u7248\u672C "2.3.1-b171012.0423"
 
-Driver.BuildID = 2.3.0-b170531.0717
+Driver.BuildID = 2.3.1-b171012.0423
 
 # for JDK integration - include version in source zip
-jaxb.jdk.version=2.3.0-b170531.0717
+jaxb.jdk.version=2.3.1-b171012.0423
 
 # see java.text.SimpleDateFormat for format syntax
 # DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
--- a/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXSubstitutable.java	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.bind/share/classes/com/sun/tools/internal/xjc/reader/xmlschema/bindinfo/BIXSubstitutable.java	Thu Nov 23 18:23:15 2017 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, 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,7 +34,7 @@
  * Forces a non-collapsing behavior to allow extension schemas
  * to perform element substitutions.
  *
- * See https://jaxb.dev.java.net/issues/show_bug.cgi?id=289
+ * See https://github.com/javaee/jaxb-v2/issues/289
  *
  * @author Kohsuke Kawaguchi
  * @since 2.1.1
--- a/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/version.properties	Thu Nov 23 16:20:10 2017 +0100
+++ b/src/jdk.xml.ws/share/classes/com/sun/tools/internal/ws/version.properties	Thu Nov 23 18:23:15 2017 +0000
@@ -23,7 +23,8 @@
 # questions.
 #
 
-build-id=2.3.0-SNAPSHOT
-build-version=JAX-WS RI 2.3.0-SNAPSHOT
-major-version=2.3.0
-svn-revision=3012ef421cf43774943c57736dac2207aeea9f07
+
+build-id=2.3.1-SNAPSHOT
+build-version=JAX-WS RI 2.3.1-SNAPSHOT
+major-version=2.3.1
+svn-revision=6a0b290fe358f9de4deeec2d1ec3f6e76afa8005