Merge pull request #22963 from lukasj/rpc

#22925: Remove Pruned API Jakarta XML RPC
diff --git a/appserver/admin/template/src/main/resources/config/default-web.xml b/appserver/admin/template/src/main/resources/config/default-web.xml
index 33f6c03..e16a530 100644
--- a/appserver/admin/template/src/main/resources/config/default-web.xml
+++ b/appserver/admin/template/src/main/resources/config/default-web.xml
@@ -313,7 +313,6 @@
         jakarta.security.auth.message-api.jar
         jakarta.authorization-api.jar
         jakarta.transaction-api.jar
-        jakarta.xml.rpc-api.jar
         webservices-osgi.jar
         weld-osgi-bundle.jar
         jersey-mvc-jsp.jar
diff --git a/appserver/core/api-exporter-fragment/pom.xml b/appserver/core/api-exporter-fragment/pom.xml
index f540319..c482434 100755
--- a/appserver/core/api-exporter-fragment/pom.xml
+++ b/appserver/core/api-exporter-fragment/pom.xml
@@ -290,13 +290,6 @@
 javax.xml.parsers; \
 javax.xml.registry; \
 javax.xml.registry.infomodel; \
-javax.xml.rpc; \
-javax.xml.rpc.encoding; \
-javax.xml.rpc.handler; \
-javax.xml.rpc.handler.soap; \
-javax.xml.rpc.holders; \
-javax.xml.rpc.server; \
-javax.xml.rpc.soap; \
 javax.xml.soap; \
 javax.xml.stream; \
 javax.xml.stream.events; \
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/ServiceReferenceDescriptor.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/ServiceReferenceDescriptor.java
index 235e765..594fdee 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/ServiceReferenceDescriptor.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/ServiceReferenceDescriptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -211,7 +211,7 @@
     }
 
     public boolean hasGenericServiceInterface() {
-        return "javax.xml.rpc.Service".equals(serviceInterface);
+        return false;
     }
 
     public boolean hasGeneratedServiceInterface() {
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jax-rpc-ri-config.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jax-rpc-ri-config.xsd
deleted file mode 100644
index b45afba..0000000
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jax-rpc-ri-config.xsd
+++ /dev/null
@@ -1,433 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
-    This program and the accompanying materials are made available under the
-    terms of the Eclipse Public License v. 2.0, which is available at
-    http://www.eclipse.org/legal/epl-2.0.
-
-    This Source Code may also be made available under the following Secondary
-    Licenses when the conditions for such availability set forth in the
-    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-    version 2 with the GNU Classpath Exception, which is available at
-    https://www.gnu.org/software/classpath/license.html.
-
-    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<xsd:schema
-        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-        xmlns:tns="http://java.sun.com/xml/ns/jax-rpc/ri/config"
-        targetNamespace="http://java.sun.com/xml/ns/jax-rpc/ri/config"
-        elementFormDefault="qualified"
-        attributeFormDefault="unqualified"
-        version="1.0">
-
-    <xsd:annotation>
-        <xsd:documentation>
-        This is the schema for wscompile configuration files.
-        The only allowed top-level element is "configuration".
-        </xsd:documentation>
-    </xsd:annotation>
-
-    <xsd:element name="configuration">
-        <xsd:annotation>
-            <xsd:documentation>
-            The top-level element. It must contain one out of three possible elements,
-            corresponding to three different ways to feed service information to the tool.
-            
-            Elements: (mutually exclusive)
-                "service" - a service description based on a set of service endpoint interfaces;
-                "wsdl" - a WSDL document to import and process;
-                "modelfile" - a previously saved model file (-model option in wscompile).
-                "j2eeMappingFile" - J2EE mapping information defined by JSR 109
-            </xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexType>
-            <xsd:sequence>
-                <xsd:choice>
-                    <xsd:element name="service" type="tns:serviceType"/>
-                    <xsd:element name="wsdl" type="tns:wsdlType"/>
-                    <xsd:element name="modelfile" type="tns:modelfileType"/>
-			  <xsd:element name="j2eeMappingFile" type="tns:j2eeMappingFileType"/>
-                </xsd:choice>
-            </xsd:sequence>
-        </xsd:complexType>
-    </xsd:element>
-
-    <xsd:complexType name="serviceType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A description of a service based on a set of Java interfaces (called "service endpoint
-            interfaces" in the spec).
-            
-            Attributes:
-                "name" - service name;
-                "targetNamespace" - target namespace for the generated WSDL document;
-                "typeNamespace" - target namespace for the XML Schema embedded in the generated WSDL document;
-                "packageName" - name of the Java package to use by default.
-                
-            Elements:
-                "interface"* - a sequence of service endpoint interface descriptions;
-                "typeMappingRegistry"? - the type mapping registry to use for this service;
-                "handlerChains"? - default handler chains for the endpoints in this service;
-                "namespaceMappingRegistry"? - XML namespace to Java package mapping information.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="interface" type="tns:interfaceType" minOccurs="0" maxOccurs="unbounded"/>
-            <xsd:element name="typeMappingRegistry" type="tns:typeMappingRegistryType" minOccurs="0"/>
-            <xsd:element name="handlerChains" type="tns:handlerChainsType" minOccurs="0"/>
-            <xsd:element name="namespaceMappingRegistry" type="tns:namespaceMappingRegistryType" minOccurs="0"/>
-        </xsd:sequence>
-        <xsd:attribute name="name" type="xsd:string" use="required"/>
-        <xsd:attribute name="targetNamespace" type="xsd:anyURI" use="required"/>
-        <xsd:attribute name="typeNamespace" type="xsd:anyURI" use="required"/>
-        <xsd:attribute name="packageName" type="xsd:string" use="required"/>
-    </xsd:complexType>
-
-    <xsd:complexType name="interfaceType">
-        <xsd:annotation>
-            <xsd:documentation>
-            An endpoint definition based on a service endpoint interface.
-            
-            Attributes:
-                "name" - name of the service endpoint interface (a Java interface);
-                "servantName" (optional) - name of the service endpoint implementation class;
-                "soapAction" (optional) - SOAPAction string to use for all operations in the interface;
-                "soapActionBase" (optional) - base URI for the SOAPAction string; the SOAPAction for
-                    a given operation will be obtained by appending the operation name to the value provided
-                    here; this attribute is exclusive with the "soapAction" one.
-                    
-            Elements:
-                "handlerChains" - specifies the handler chains for this endpoint.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="handlerChains" type="tns:handlerChainsType" minOccurs="0"/>
-        </xsd:sequence>
-        <xsd:attribute name="name" type="xsd:string" use="required"/>
-        <xsd:attribute name="servantName" type="xsd:string"/>
-        <xsd:attribute name="soapAction" type="xsd:string"/>
-        <xsd:attribute name="soapActionBase" type="xsd:string"/>
-    </xsd:complexType>
-
-    <xsd:complexType name="wsdlType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A description of a service based on an existing WSDL document.
-            
-            Attributes:
-                "location" - URL of the WSDL document;
-                "packageName" - name of the Java package to use by default.
-                
-            Elements:
-                "typeMappingRegistry"? - the type mapping registry to use for this service;
-                "handlerChains"? - default handler chains for the endpoints in this service;
-                "namespaceMappingRegistry"? - XML namespace to Java package mapping information.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="typeMappingRegistry" type="tns:typeMappingRegistryType" minOccurs="0"/>
-            <xsd:element name="handlerChains" type="tns:handlerChainsType" minOccurs="0"/>
-            <xsd:element name="namespaceMappingRegistry" type="tns:namespaceMappingRegistryType" minOccurs="0"/>
-        </xsd:sequence>
-        <xsd:attribute name="location" type="xsd:anyURI" use="required"/>
-        <xsd:attribute name="packageName" type="xsd:string" use="required"/>
-    </xsd:complexType>
-
-    <xsd:complexType name="modelfileType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A description of a service based on an existing model file.
-            
-            Attributes:
-                "location" - URL of the model file (typically ending in .xml.gz);
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-        </xsd:sequence>
-        <xsd:attribute name="location" type="xsd:anyURI" use="required"/>
-    </xsd:complexType>
-
-    <xsd:complexType name="j2eeMappingFileType">
-        <xsd:annotation>
-            <xsd:documentation>
-            
-            Attirbutes:
-                "location" - the J2EE mapping file URL
-                "wsdlLocation" - the wsdl file URL
-                
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:attribute name="location" type="xsd:anyURI" use="required"/>
-        <xsd:attribute name="wsdlLocation" type="xsd:anyURI" use="required"/>
-    </xsd:complexType>
-
-
-    <xsd:complexType name="handlerChainsType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A set of handlerChains.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="chain" type="tns:chainType" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="chainType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A handler chain.
-            
-            Attributes:
-                "runAt" - specifies whether the chain must run on the client or the server;
-                "roles" - the SOAP roles for the chain.
-                
-            Elements:
-                "handler"* - a sequence of handlers that form this chain.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="handler" type="tns:handlerType" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-        <xsd:attribute name="runAt" type="tns:runAtType" use="required"/>
-        <xsd:attribute name="roles" type="tns:roleListType"/>
-    </xsd:complexType>
-
-    <xsd:simpleType name="roleListType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A list of SOAP roles, i.e. a list of URIs.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:list itemType="xsd:anyURI"/>
-    </xsd:simpleType>
-
-    <xsd:complexType name="handlerType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A handler description.
-            
-            Attributes:
-                "className" - the name of the handler's class;
-                "headers" - the names of the headers consumed by this handler.
-            
-            Elements:
-                "property"* - initialization properties for this handler.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="property" type="tns:propertyType" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-        <xsd:attribute name="className" type="xsd:string" use="required"/>
-        <xsd:attribute name="headers" type="tns:headerListType"/>
-    </xsd:complexType>
-
-    <xsd:simpleType name="headerListType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A list of header names, i.e. a list of QNames.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:list itemType="xsd:QName"/>
-    </xsd:simpleType>
-
-    <xsd:complexType name="propertyType">
-        <xsd:annotation>
-            <xsd:documentation>
-            An initialization property for a handler.
-            
-            Attributes:
-                "name" - the name of the property;
-                "value" - its value.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-        </xsd:sequence>
-        <xsd:attribute name="name" type="xsd:string" use="required"/>
-        <xsd:attribute name="value" type="xsd:string" use="required"/>
-    </xsd:complexType>
-
-    <xsd:simpleType name ="runAtType">
-        <xsd:annotation>
-            <xsd:documentation>
-            The places a handler chain can run at, one of "client" or "server".
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="client"/>
-            <xsd:enumeration value="server"/>
-        </xsd:restriction>
-    </xsd:simpleType>
-
-    <xsd:complexType name="typeMappingRegistryType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A type mapping registry.
-            
-            Elements:
-                "import"? - a list of XML Schema documents that describe user-defined types.
-                "typeMapping"* - a sequence of type mappings, one per encoding.
-                "additionalTypes"? - a list of additional Java types that should be processed even if
-                    don't appear in the interfaces for the service.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="import" type="tns:importType" minOccurs="0"/>
-            <xsd:element name="typeMapping" type="tns:typeMappingType" minOccurs="0" maxOccurs="unbounded"/>
-            <xsd:element name="additionalTypes" type="tns:additionalTypesType" minOccurs="0"/>
-        </xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="importType">
-            <xsd:annotation>
-            <xsd:documentation>
-            A list of schema documents to import, usually describing schema types used
-            by pluggable serializers.
-            
-            Elements:
-                "schema"* - a list of schema documents to import.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="schema" type="tns:schemaType" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="schemaType">
-        <xsd:annotation>
-            <xsd:documentation>
-            One schema document to be imported.
-            Attributes:
-                "namespace" - the namespace that the document describes;
-                "location" - a URL pointing to the schema document.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-        </xsd:sequence>
-        <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
-        <xsd:attribute name="location" type="xsd:anyURI" use="required"/>
-    </xsd:complexType>
-
-    <xsd:complexType name="typeMappingType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A type mapping for a particular encoding.
-            
-            Attributes:
-                "encodingStyle" - the URI denoting the encoding.
-            
-            Elements:
-                "entry"* - a list of type mapping entries.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="entry" type="tns:entryType" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-        <xsd:attribute name="encodingStyle" type="xsd:anyURI" use="required"/>
-    </xsd:complexType>
-
-    <xsd:complexType name="entryType">
-        <xsd:annotation>
-            <xsd:documentation>
-            An entry in a type mapping.
-            
-            Attributes:
-                "schemaType" - the name of a schema type;
-                "javaType" - the name of the corresponding Java class;
-                "serializerFactory" - the name of the serializer factory class to use for this type;
-                "deserializerFactory" - the name of the deserializer factory class to use for this type.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-        </xsd:sequence>
-        <xsd:attribute name="schemaType" type="xsd:QName" use="required"/>
-        <xsd:attribute name="javaType" type="xsd:string" use="required"/>
-        <xsd:attribute name="serializerFactory" type="xsd:string" use="required"/>
-        <xsd:attribute name="deserializerFactory" type="xsd:string" use="required"/>
-    </xsd:complexType>
-
-    <xsd:complexType name="additionalTypesType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A list of additional Java types to be processed by the tool..
-            
-            Elements:
-                "class"* - a list of classes to be processed.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-            <xsd:element name="class" type="tns:classType" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="classType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A Java class description.
-            
-            Attributes:
-                "class" - the name of the class.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-        </xsd:sequence>
-        <xsd:attribute name="name" type="xsd:string" use="required"/>
-    </xsd:complexType>
-
-    <xsd:complexType name="namespaceMappingRegistryType">
-        <xsd:annotation>
-            <xsd:documentation>
-            A registry mapping XML namespace to/from Java packages.
-            
-            Elements:
-                "namespaceMapping"* - a list of mappings.
-            </xsd:documentation>
-        </xsd:annotation>
-        
-        <xsd:sequence>
-            <xsd:element name="namespaceMapping" type="tns:namespaceMappingType" minOccurs="0" maxOccurs="unbounded"/>
-        </xsd:sequence>
-    </xsd:complexType>
-
-    <xsd:complexType name="namespaceMappingType">
-        <xsd:annotation>
-            <xsd:documentation>
-            One XML namespace to/from Java package mapping.
-            
-            Attributes:
-                "namespace" - XML namespace name;
-                "packageName" - Java package name.
-            </xsd:documentation>
-        </xsd:annotation>
-
-        <xsd:sequence>
-        </xsd:sequence>
-        <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
-        <xsd:attribute name="packageName" type="xsd:string" use="required"/>
-    </xsd:complexType>
-
-</xsd:schema>
diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/EjbInvocation.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/EjbInvocation.java
index 7a5079e..ad1a0ea 100644
--- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/EjbInvocation.java
+++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/EjbInvocation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,6 @@
 
 package com.sun.ejb;
 
-//XXX: import javax.xml.rpc.handler.MessageContext;
 /* HARRY : JACC Changes */
 
 import com.sun.ejb.containers.*;
@@ -31,7 +30,6 @@
 import com.sun.ejb.containers.interceptors.InterceptorUtil;
 import javax.naming.NameNotFoundException;
 import javax.transaction.Transaction;
-import javax.xml.rpc.handler.MessageContext;
 import javax.xml.soap.SOAPMessage;
 import javax.xml.ws.WebServiceContext;
 import java.lang.reflect.Constructor;
@@ -197,14 +195,7 @@
      * loader that was active before message delivery began.
      */
     private ClassLoader originalContextClassLoader;
-    
-    /**
-     * Used for web service invocations to hold SOAP message context.
-     * EJBs can access message context through SessionContext.
-     */
-	/* HARRY: JACC Related Changes */
-     public MessageContext messageContext;
-    
+
     /**
      * Used for JACC PolicyContextHandlers. The handler can query the container
      * back for parameters on the ejb. This is set during the method invocation
@@ -248,10 +239,6 @@
 
     private boolean wasCancelCalled = false;
 
-    /**
-     * Used by container within JAXRPC handler processing code.
-     */
-    private Object webServiceTie;
     private Method webServiceMethod;
 
     // True if lock is currently held for this invocation
@@ -684,14 +671,6 @@
        return getEjbSecurityManager().isCallerInRole(role);
    } 
 
-    public void setWebServiceTie(Object tie) {
-        webServiceTie = tie;
-    }
-
-    public Object getWebServiceTie() {
-        return webServiceTie;
-    }
-
     public void setWebServiceMethod(Method method) {
         webServiceMethod = method;
     }
@@ -700,10 +679,6 @@
         return webServiceMethod;
     }
 
-    public void setMessageContext(MessageContext msgContext) {
-       messageContext = msgContext;
-    }
-
    public ResourceHandler getResourceHandler() {
        ResourceHandler rh = super.getResourceHandler();
        if (rh == null) {
diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/AbstractSessionContextImpl.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/AbstractSessionContextImpl.java
index e2abd2f..30c33c3 100644
--- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/AbstractSessionContextImpl.java
+++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/AbstractSessionContextImpl.java
@@ -97,21 +97,8 @@
     }
 
     public MessageContext getMessageContext() {
-        InvocationManager invManager = EjbContainerUtilImpl.getInstance().getInvocationManager();
-        try {
-            ComponentInvocation inv = invManager.getCurrentInvocation();
-
-            if ((inv != null) && isWebServiceInvocation(inv)) {
-                return ((EjbInvocation) inv).messageContext;
-            } else {
-                throw new IllegalStateException("Attempt to access " +
-                        "MessageContext outside of a web service invocation");
-            }
-        } catch (Exception e) {
-            IllegalStateException ise = new IllegalStateException();
-            ise.initCause(e);
-            throw ise;
-        }
+        //no jax-rpc anymore
+        return null;
     }
 
     public <T> T getBusinessObject(Class<T> businessInterface)
diff --git a/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/api/EJBInvocation.java b/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/api/EJBInvocation.java
index 57d9d5c..3e34e1a 100644
--- a/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/api/EJBInvocation.java
+++ b/appserver/ejb/ejb-internal-api/src/main/java/org/glassfish/ejb/api/EJBInvocation.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,6 @@
 
 import java.lang.reflect.Method;
 import javax.ejb.EJBContext;
-import javax.xml.rpc.handler.MessageContext;
 
 /**
  * This interface provides access to the exported portions of the
@@ -82,23 +81,6 @@
     */
    public boolean isCallerInRole(String role);
 
-    /**
-     * Used by JAXRPC pre/postHandler classes
-     * @param tie an instance of com.sun.xml.rpc.spi.runtime.Tie
-     */
-    public void setWebServiceTie(Object tie);
-
-
-    /**
-     * Used for setting JAXRPC message context.
-     */
-    public void setMessageContext(MessageContext msgContext);
-
-    /**
-     * @return instance of com.sun.xml.rpc.spi.runtime.Tie
-     */
-    public Object getWebServiceTie();
-
     public void setWebServiceMethod(Method method);
     public Method getWebServiceMethod();
     public void setWebServiceContext(Object webServiceContext);
diff --git a/appserver/extras/embedded/all/pom.xml b/appserver/extras/embedded/all/pom.xml
index d294d82..5795db3 100644
--- a/appserver/extras/embedded/all/pom.xml
+++ b/appserver/extras/embedded/all/pom.xml
@@ -503,11 +503,6 @@
             <artifactId>jakarta.enterprise.concurrent</artifactId>
             <optional>true</optional>
         </dependency>
-        <dependency>
-            <groupId>jakarta.xml.rpc</groupId>
-            <artifactId>jakarta.xml.rpc-api</artifactId>
-            <optional>true</optional>
-        </dependency>
         <!-- glassfish-corba -->
         <dependency>
             <groupId>org.glassfish.corba</groupId>
diff --git a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml
index 39deac6..fc06988 100755
--- a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml
+++ b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml
@@ -345,11 +345,6 @@
             <artifactId>jakarta.enterprise.concurrent</artifactId>
             <optional>true</optional>
         </dependency>
-        <dependency>
-            <groupId>jakarta.xml.rpc</groupId>
-            <artifactId>jakarta.xml.rpc-api</artifactId>
-            <optional>true</optional>
-        </dependency>
         <!-- glassfish-corba -->
         <dependency>
             <groupId>org.glassfish.corba</groupId>
diff --git a/appserver/extras/javaee/manifest-jar/pom.xml b/appserver/extras/javaee/manifest-jar/pom.xml
index e99a3f8..376432d 100644
--- a/appserver/extras/javaee/manifest-jar/pom.xml
+++ b/appserver/extras/javaee/manifest-jar/pom.xml
@@ -34,7 +34,7 @@
                 <configuration>
                     <archive>
                         <manifestEntries>
-                            <Class-Path>../modules/jakarta.servlet-api.jar ../modules/endorsed/jakarta.annotation-api.jar ../modules/jakarta.ejb-api.jar ../modules/jakarta.transaction-api.jar ../modules/jakarta.enterprise.deploy-api.jar ../modules/jakarta.management.j2ee-api.jar ../modules/jakarta.resource-api.jar ../modules/jakarta.security.auth.message-api.jar ../modules/jakarta.authorization-api.jar ../modules/webservices-osgi.jar ../modules/jaxb-osgi.jar ../modules/endorsed/jakarta.xml.bind-api.jar ../modules/endorsed/webservices-api-osgi.jar ../modules/jakarta.xml.rpc-api.jar ../modules/jakarta.xml.registry-api.jar ../modules/jakarta.mail.jar ../modules/jakarta.activation.jar ../modules/jakarta.faces.jar ../modules/jakarta.servlet.jsp-api.jar ../modules/jakarta.el.jar ../modules/jakarta.servlet.jsp.jstl-api.jar ../modules/jakarta.persistence.jar ../modules/jakarta.jms-api.jar ../modules/bean-validator.jar ../modules/cdi-api.jar ../../mq/lib/jaxm-api.jar ../modules/jakarta.ws.rs-api.jar ../modules/jakarta.json.jar ../modules/jakarta.json.bind-api.jar ../modules/jakarta.websocket-api.jar ../modules/jakarta.enterprise.concurrent-api.jar ../modules/jakarta.batch-api.jar ../modules/jakarta.inject.jar</Class-Path>
+                            <Class-Path>../modules/jakarta.servlet-api.jar ../modules/endorsed/jakarta.annotation-api.jar ../modules/jakarta.ejb-api.jar ../modules/jakarta.transaction-api.jar ../modules/jakarta.enterprise.deploy-api.jar ../modules/jakarta.management.j2ee-api.jar ../modules/jakarta.resource-api.jar ../modules/jakarta.security.auth.message-api.jar ../modules/jakarta.authorization-api.jar ../modules/webservices-osgi.jar ../modules/jaxb-osgi.jar ../modules/endorsed/jakarta.xml.bind-api.jar ../modules/endorsed/webservices-api-osgi.jar ../modules/jakarta.xml.registry-api.jar ../modules/jakarta.mail.jar ../modules/jakarta.activation.jar ../modules/jakarta.faces.jar ../modules/jakarta.servlet.jsp-api.jar ../modules/jakarta.el.jar ../modules/jakarta.servlet.jsp.jstl-api.jar ../modules/jakarta.persistence.jar ../modules/jakarta.jms-api.jar ../modules/bean-validator.jar ../modules/cdi-api.jar ../../mq/lib/jaxm-api.jar ../modules/jakarta.ws.rs-api.jar ../modules/jakarta.json.jar ../modules/jakarta.json.bind-api.jar ../modules/jakarta.websocket-api.jar ../modules/jakarta.enterprise.concurrent-api.jar ../modules/jakarta.batch-api.jar ../modules/jakarta.inject.jar</Class-Path>
                             <GlassFish-ServerExcluded>true</GlassFish-ServerExcluded>
                         </manifestEntries>
                     </archive>
diff --git a/appserver/featuresets/glassfish/pom.xml b/appserver/featuresets/glassfish/pom.xml
index 14542eb..5ea7111 100644
--- a/appserver/featuresets/glassfish/pom.xml
+++ b/appserver/featuresets/glassfish/pom.xml
@@ -168,16 +168,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>jakarta.xml.rpc</groupId>
-            <artifactId>jakarta.xml.rpc-api</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
 
         <!-- glassfish-ejb -->
         <dependency>
diff --git a/appserver/pom.xml b/appserver/pom.xml
index 74f3b08..2fce59f 100644
--- a/appserver/pom.xml
+++ b/appserver/pom.xml
@@ -49,7 +49,6 @@
         <woodstock.version>4.0.2.16</woodstock.version>
         <javax.ejb-api.version>3.2.6</javax.ejb-api.version>
         <jakarta.interceptor-api.version>1.2.5</jakarta.interceptor-api.version>
-        <jakarta.xml.rpc-api.version>1.1.3</jakarta.xml.rpc-api.version>
         <javax.transaction-api.version>1.3.3</javax.transaction-api.version>
         <jakarta.faces-api.version>2.3.1</jakarta.faces-api.version>
         <cdi-api.version>2.0</cdi-api.version>
@@ -387,18 +386,6 @@
                         </spec>
                         <spec>
                             <artifact>
-                                <groupId>jakarta.xml.rpc</groupId>
-                                <artifactId>jakarta.xml.rpc-api</artifactId>
-                                <version>${jakarta.xml.rpc-api.version}</version>
-                            </artifact>
-                            <nonFinal>false</nonFinal>
-                            <jarType>api</jarType>
-                            <specVersion>1.1</specVersion>
-                            <specImplVersion>${jakarta.xml.rpc-api.version}</specImplVersion>
-                            <apiPackage>javax.xml.rpc</apiPackage>
-                        </spec>
-                        <spec>
-                            <artifact>
                                 <groupId>jakarta.enterprise.deploy</groupId>
                                 <artifactId>jakarta.enterprise.deploy-api</artifactId>
                                 <version>${javax.enterprise.deploy-api.version}</version>
@@ -501,11 +488,6 @@
                 <version>${javax.transaction.cdi-api.version}</version>
             </dependency>
             <dependency>
-                <groupId>jakarta.xml.rpc</groupId>
-                <artifactId>jakarta.xml.rpc-api</artifactId>
-                <version>${jakarta.xml.rpc-api.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>jakarta.faces</groupId>
                 <artifactId>jakarta.faces-api</artifactId>
                 <version>${jakarta.faces-api.version}</version>
diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/BaseAuthConfig.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/BaseAuthConfig.java
index 1b8b9fb..a6d6440 100644
--- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/BaseAuthConfig.java
+++ b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/BaseAuthConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -40,8 +40,6 @@
 import com.sun.enterprise.deployment.runtime.common.ProtectionDescriptor;
 import com.sun.enterprise.security.webservices.LogUtils;
 
-import com.sun.xml.rpc.spi.runtime.StreamingHandler;
-
 import java.util.logging.Logger;
 import java.util.logging.Level;
 
@@ -338,74 +336,6 @@
 	return rvalue;
     }
 
-    private Object getExplicitContextForOpCode(StreamingHandler handler, 
-	int opcode) throws ClassNotFoundException, NoSuchMethodException {
-
-	Object rvalue = null;
-
-	synchronized(contextLock) {
-
-	    if (contextsForOpcodes_ == null && defaultContext_ == null) {
-
-		// one time initialization of the opcode to authContext array.
-
-		boolean onePolicyForAll = onePolicy_;
-
-		Method m = null;
-		for (int i = 0; i == 0 || m != null; i++) {
-		    if (i == 0) {
-			contextsForOpcodes_ = new ArrayList();
-		    }
-		    if (handler != null) {
-			m = handler.getMethodForOpcode(i);
-		    }
-		    if (m != null) {
-			Object o = getContextForMethod(m);
-			contextsForOpcodes_.add(o);
-
-			// if we find a method that is not covered by a method
-			// descriptor (i.e. has an implicit nullPolicy), 
-			// then we switch off onePolicyForAll (note that 
-			// ServerAuthConfigs with one policy being the
-			// null policy, are not constructed.
-
-			if (o == null) {
-			    onePolicyForAll = false;
-			}
-		    }
-		}
-		if (onePolicyForAll && contextsForOpcodes_.size() > 0) {
-		    defaultContext_ = contextsForOpcodes_.get(0);
-		}
-	    }
-	    if (defaultContext_ != null) {
-		rvalue = defaultContext_;
-		if(logger.isLoggable(Level.FINE)){
-		    logger.log(Level.FINE, "WSS: ForOpCode returning default_context: {0}", rvalue);
-		}
-	    }
-	}
-
-	if (rvalue == null) {
-	    if (opcode >=0 && opcode < contextsForOpcodes_.size()) {
-		rvalue = contextsForOpcodes_.get(opcode);
-	    } else if (opcode < 0) {
-		//we don't know the opcode, so lets try to see if
-		//there is a policy that applies to all opcodes.
-		rvalue = getContextForMethod(null);
-	    }
-	}
-	return rvalue;
-    }
-
-    protected Object getContextForOpCode(StreamingHandler handler, int opcode) 
-	throws ClassNotFoundException, NoSuchMethodException {
-	Object rvalue = getExplicitContextForOpCode(handler,opcode);
-	if (rvalue != null && rvalue instanceof ExplicitNull) {
-	    rvalue = null;
-	}
-	return rvalue;
-    }
     private static String getOpName(SOAPMessage message) {
 
 	String rvalue = null;
@@ -558,68 +488,6 @@
 	return rvalue;
     }
     
-    protected Object getContext(StreamingHandler handler,SOAPMessage message){
-
-	Object rvalue = null;
-
-	synchronized(contextLock) {
-	    if (defaultContext_ != null) { 
-		rvalue = defaultContext_;
-	    }
-	}
- 
-	if (rvalue == null) {
-
-	    if (handler == null) {
-
-		// lack of handler precludes mapping to opcode, so we will
-		// look for an opName based mapping.
-
-		rvalue = getContextForMessage(message);
-
-	    } else {
-
-		int opCode = handler.getOpcodeForRequestMessage(message);
-
-		if (opCode == -1) {
-
-		    // msg body is encrypted, and the best we can do is try 
-		    // to return a policy that applies to all opcodes.
-
-		    rvalue = getContextForMethod(null);
-
-		} else {
-		    
-		    try {
-			rvalue = getExplicitContextForOpCode(handler,opCode);
-		    
-			// if unable to get context by opcode 
-			// see if a context was defined for the opName.
-		    
-			if (rvalue == null) {
-
-			    rvalue = getContextForMessage(message);
-
-			}
-		    } catch (ClassNotFoundException cnfe) {
-			throw new RuntimeException(cnfe);
-		    } catch (NoSuchMethodException nsme) {
-			throw new RuntimeException(nsme);
-		    }
-		}
-	    }
-	}
-
-	if (rvalue != null && rvalue instanceof ExplicitNull) {
-	    rvalue = null;
-	}
-
-	if(logger.isLoggable(Level.FINE)){
-	    logger.log(Level.FINE, "WSS: getContext returning: {0}", rvalue);
-	}
-
-	return rvalue;
-    }
 
     // used by jaxws system handler delegates and handlers
     protected Object getContext(SOAPMessageContext soapMC) {
diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/ClientAuthConfig.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/ClientAuthConfig.java
index 2cecbf5..eab30df 100644
--- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/ClientAuthConfig.java
+++ b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/ClientAuthConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,8 +23,6 @@
 import com.sun.enterprise.deployment.runtime.common.MessageSecurityDescriptor;
 import com.sun.enterprise.deployment.runtime.common.MessageSecurityBindingDescriptor;
 
-import com.sun.xml.rpc.spi.runtime.StreamingHandler;
-
 import javax.xml.soap.SOAPMessage;
 
 /**
@@ -98,20 +96,9 @@
 	    (layer,provider,requestPolicy,responsePolicy,cbh);
     }
 
-    public ClientAuthContext 
-	getAuthContext(StreamingHandler handler, SOAPMessage message) {
-	return (ClientAuthContext) getContext(handler,message);
-    }
-
     public ClientAuthContext getAuthContext
 	(javax.xml.ws.handler.soap.SOAPMessageContext context) {
 	return (ClientAuthContext) getContext(context);
     }
 
-    public ClientAuthContext 
-	getAuthContextForOpCode(StreamingHandler handler, int opcode) throws
-	    ClassNotFoundException, NoSuchMethodException {
-	return (ClientAuthContext) getContextForOpCode(handler,opcode);
-    }
-
 }
diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/ServerAuthConfig.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/ServerAuthConfig.java
index 7b71aef..19e178d 100644
--- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/ServerAuthConfig.java
+++ b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/jmac/provider/ServerAuthConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -23,10 +23,6 @@
 import com.sun.enterprise.deployment.runtime.common.MessageSecurityDescriptor;
 import com.sun.enterprise.deployment.runtime.common.MessageSecurityBindingDescriptor;
 
-//import com.sun.xml.rpc.spi.runtime.StreamingHandler;
-
-import com.sun.xml.rpc.spi.runtime.StreamingHandler;
-import javax.xml.soap.SOAPMessage;
 
 /**
  * This class is the client container's interface to the AuthConfig subsystem
@@ -99,20 +95,9 @@
 	    (layer,provider,requestPolicy,responsePolicy,cbh);
     }
 
-   public ServerAuthContext 
-	getAuthContext(StreamingHandler handler, SOAPMessage message) {
-	return (ServerAuthContext) getContext(handler,message);
-    }
-
     public ServerAuthContext getAuthContext
 	(javax.xml.ws.handler.soap.SOAPMessageContext context) {
 	return (ServerAuthContext) getContext(context);
     }
 
-   public ServerAuthContext 
-	getAuthContextForOpCode(StreamingHandler handler, int opcode) throws
-	    ClassNotFoundException, NoSuchMethodException {
-	return (ServerAuthContext) getContextForOpCode(handler,opcode);
-    }
-
 }
diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/MessageLayerClientHandler.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/MessageLayerClientHandler.java
deleted file mode 100644
index 3a8b3d5..0000000
--- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/MessageLayerClientHandler.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ClientWSSHandler.java
- *
- * Created on June 1, 2004, 11:46 AM
- */
-
-package com.sun.enterprise.security.webservices;
-
-import com.sun.enterprise.security.SecurityServicesUtil;
-import javax.xml.rpc.handler.Handler;
-import javax.xml.rpc.handler.MessageContext;
-import javax.xml.rpc.handler.soap.SOAPMessageContext;
-import javax.xml.rpc.JAXRPCException;
-import javax.xml.namespace.QName;
-import javax.xml.soap.SOAPMessage;
-import java.util.logging.*;
-
-//security apis
-import com.sun.enterprise.security.jauth.*;
-import com.sun.enterprise.security.jmac.provider.ClientAuthConfig;
-
-/**
- * Client Side Handler to be invoked from the appclient
- * A similiar copy sans appserver specific logging mechanism should be made available
- * to standalone clients to use our
- * WSS infrastructure.
- * @author Harpreet Singh
- * @version
- * @since
- */
-public class MessageLayerClientHandler implements Handler {
-
-    private static Logger _logger= LogUtils.getLogger();
-
-    // key to ClientAuthConfig in HandlerInfo
-    public static final String CLIENT_AUTH_CONFIG = 
-	"com.sun.enterprise.security.jmac.provider.ClientAuthConfig";
-
-    // key to ClientAuthContext in SOAPMessageCOntext
-    private static final String CLIENT_AUTH_CONTEXT = 
-	"com.sun.enterprise.security.jauth.ClientAuthContext";
-
-    private static String errMsg =
-	"Client WSS Handler: MessageContext not of type SOAPMessageContext";
-
-    private ClientAuthConfig config_ = null;
-
-    private QName qname[] = null;
-
-    private boolean isAppclientContainer = false;
-
-    private QName serviceName = null;
-
-    /** Creates a new instance of MessageLayerClientHandler */
-    public MessageLayerClientHandler() {
-	if(SecurityServicesUtil.getInstance().isACC()){
-		isAppclientContainer = true;
-	} else{
-		isAppclientContainer = false;
-	}
-    }
-    
-    public boolean handleFault(MessageContext messageContext) {
-        // no need to do any special processing
-        if(_logger.isLoggable(Level.FINE)){
-            _logger.log(Level.FINE, "wss-auth-client: ClientHandler does not handle" +
-            " SOAP faults");
-        }
-        return true;
-    }
-    
-    public boolean handleRequest(MessageContext messageContext) {
-        if(!isSoapMessageContext(messageContext)){
-            // cannot process this, as this is not a soap message context
-            throw new JAXRPCException(errMsg);
-        }
-	if (config_ == null) {
-	    return true;
-	} 
-	  
-        // get the ClientAuthContext
-	SOAPMessageContext smc = (SOAPMessageContext) messageContext;
-	SOAPMessage request = smc.getMessage();
-	ClientAuthContext cAC = config_.getAuthContext(null,request);
-	if (cAC == null) {
-	    return true;
-	} 
-
-	smc.setProperty(CLIENT_AUTH_CONTEXT, cAC);
-	smc.setProperty(javax.xml.ws.handler.MessageContext.WSDL_SERVICE,
-            serviceName);
-
-        try{
-	    WebServiceSecurity.secureRequest(smc,cAC,isAppclientContainer);
-        } catch(Exception e){
-            if (_logger.isLoggable(Level.WARNING)){
-                _logger.log(Level.WARNING, LogUtils.ERROR_REQUEST_SECURING, e);
-            }
-            throw new JAXRPCException(e);
-        }
-        return true;
-    }
-    
-    public boolean handleResponse(MessageContext messageContext) {
-        boolean retValue;
-        if(!isSoapMessageContext(messageContext)){
-            // cannot process this, as this is not a soap message context
-            throw new JAXRPCException(errMsg);
-        }
-	if (config_ == null) {
-	    return true;
-	} 
-
-        // get the ClientAuthContext
-        SOAPMessageContext smc = (SOAPMessageContext) messageContext;
-	ClientAuthContext cAC = 
-	    (ClientAuthContext) smc.getProperty(CLIENT_AUTH_CONTEXT);
-	if (cAC == null) {
-	    return true;
-	} 
-
-        try{
-	    retValue = WebServiceSecurity.validateResponse(smc,cAC);
-        }catch(Exception e){
-            if (_logger.isLoggable(Level.WARNING)){
-                _logger.log(Level.WARNING, LogUtils.ERROR_RESPONSE_VALIDATION, e);
-            }
-            throw new JAXRPCException(e);
-        }
-        
-        return retValue;
-    }
-    
-    // if headers contains the list of understood headers, then we need to make
-    // sure that wsse is included; although if so, we need a way to make sure
-    // that the provider honors this commitment.
-    public javax.xml.namespace.QName[] getHeaders() {
-        return qname;
-    }
-    
-    public void destroy() {
-        qname = null;
-    }
-    
-    public void init(javax.xml.rpc.handler.HandlerInfo info) {
-        // 109 mandates saving qnames in init
-        qname = info.getHeaders();
-	config_ = (ClientAuthConfig) info.getHandlerConfig().get(CLIENT_AUTH_CONFIG);
-        serviceName = (QName)info.getHandlerConfig().get(javax.xml.ws.handler.MessageContext.WSDL_SERVICE);
-    }
-
-    /** 109 mandates that each MessageContext be checked to see if it is a
-     * a SOAPMessageContext and whether the handler processes it
-     */
-    private boolean isSoapMessageContext(MessageContext mc){
-        boolean retValue =
-        (mc instanceof SOAPMessageContext)? true: false;
-        if(!retValue && _logger.isLoggable(Level.WARNING)){
-            _logger.log(Level.WARNING, LogUtils.NOT_SOAP);
-        }
-        return retValue;
-    }
-
-}
diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/SecurityServiceImpl.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/SecurityServiceImpl.java
index 8021773..0f54a04 100644
--- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/SecurityServiceImpl.java
+++ b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/SecurityServiceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,20 +19,14 @@
 import com.sun.enterprise.deployment.ServiceReferenceDescriptor;
 import com.sun.enterprise.deployment.WebServiceEndpoint;
 import com.sun.enterprise.deployment.runtime.common.MessageSecurityBindingDescriptor;
-import com.sun.enterprise.security.jauth.AuthException;
 import com.sun.enterprise.security.web.integration.WebPrincipal;
 import com.sun.web.security.RealmAdapter;
-import com.sun.xml.rpc.spi.runtime.SOAPMessageContext;
-import com.sun.xml.rpc.spi.runtime.SystemHandlerDelegate;
 import com.sun.xml.ws.assembler.ClientPipelineHook;
 import java.security.cert.X509Certificate;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import javax.servlet.http.HttpServletRequest;
-import javax.xml.namespace.QName;
-import javax.xml.rpc.handler.HandlerInfo;
-import org.glassfish.webservices.Ejb2RuntimeEndpointInfo;
 import org.glassfish.webservices.EjbRuntimeEndpointInfo;
 import org.glassfish.webservices.SecurityService;
 import org.glassfish.webservices.WebServiceContextImpl;
@@ -49,16 +43,11 @@
 import org.glassfish.webservices.monitoring.WebServiceEngineImpl;
 import com.sun.enterprise.security.ee.audit.AppServerAuditManager;
 import com.sun.enterprise.security.authorize.PolicyContextHandlerImpl;
-import com.sun.enterprise.security.jauth.ServerAuthContext;
-import com.sun.enterprise.security.jmac.provider.ClientAuthConfig;
 import com.sun.enterprise.security.jmac.provider.ServerAuthConfig;
 import com.sun.enterprise.web.WebModule;
-import com.sun.xml.rpc.spi.runtime.StreamingHandler;
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import javax.inject.Inject;
 import javax.security.jacc.PolicyContext;
 import javax.xml.soap.SOAPMessage;
@@ -169,11 +158,7 @@
             } else {
                 sendAuthenticationEvents(true, hreq.getRequestURI(), webPrincipal);
             }
-            
-            if (epInfo instanceof Ejb2RuntimeEndpointInfo) {
-                // For JAXRPC based EJb endpoints the rest of the steps are not needed
-                return authenticated;
-            }
+
             //Setting if userPrincipal in WSCtxt applies for JAXWS endpoints only
             epInfo.prepareInvocation(false);
             WebServiceContextImpl ctxt = (WebServiceContextImpl) epInfo.getWebServiceContext();
@@ -238,88 +223,6 @@
     }
 
 
-    public SystemHandlerDelegate getSecurityHandler(WebServiceEndpoint endpoint) {
-
-        if (!endpoint.hasAuthMethod()) {
-            try {
-                ServerAuthConfig config = ServerAuthConfig.getConfig(com.sun.enterprise.security.jauth.AuthConfig.SOAP,
-                        endpoint.getMessageSecurityBinding(),
-                        null);
-                if (config != null) {
-                    return new ServletSystemHandlerDelegate(config, endpoint);
-                }
-            } catch (Exception e) {
-                _logger.log(Level.SEVERE, LogUtils.SERVLET_SEC_CONFIG_FAILURE, e);
-            }
-        }
-        return null;
-    }
-
-    public boolean validateRequest(Object serverAuthConfig, StreamingHandler implementor, SOAPMessageContext context) {
-        ServerAuthConfig authConfig = (ServerAuthConfig) serverAuthConfig;
-        if (authConfig != null) {
-            ServerAuthContext sAC = authConfig.getAuthContext((StreamingHandler) implementor, context.getMessage());
-            req.set(new WeakReference<SOAPMessage>(context.getMessage()));
-            if (sAC != null) {
-                try {
-                    return WebServiceSecurity.validateRequest(context, sAC);
-                } catch (AuthException ex) {
-                    _logger.log(Level.SEVERE, LogUtils.EXCEPTION_THROWN, ex);
-                    if (req.get() != null) {
-                        req.get().clear();
-                        req.set(null);
-                    }
-                    throw new RuntimeException(ex);
-                }
-            }
-        }
-        return true;
-    }
-
-    public void secureResponse(Object serverAuthConfig, StreamingHandler implementor,SOAPMessageContext msgContext) {
-        if (serverAuthConfig != null) {
-            ServerAuthConfig config = (ServerAuthConfig)serverAuthConfig;
-            SOAPMessage reqmsg = (req.get() != null) ? req.get().get() : msgContext.getMessage();
-            try{
-                ServerAuthContext sAC = config.getAuthContext(implementor, reqmsg);
-                if (sAC != null) {
-                    try {
-                        WebServiceSecurity.secureResponse(msgContext, sAC);
-                    } catch (AuthException ex) {
-                        _logger.log(Level.SEVERE, LogUtils.EXCEPTION_THROWN, ex);
-                        throw new RuntimeException(ex);
-                    }
-                }
-            }finally{
-                if(req.get() != null){
-                    req.get().clear();
-                    req.set(null);
-                }
-            }
-
-        }
-    }
-
-    public HandlerInfo getMessageSecurityHandler(MessageSecurityBindingDescriptor binding, QName serviceName) {
-        HandlerInfo rvalue = null;
-        try {
-            ClientAuthConfig config = ClientAuthConfig.getConfig(com.sun.enterprise.security.jauth.AuthConfig.SOAP, binding, null);
-            if (config != null) {
-                // get understood headers from auth module.
-                QName[] headers = config.getMechanisms();
-                Map properties = new HashMap();
-                properties.put(MessageLayerClientHandler.CLIENT_AUTH_CONFIG, config);
-                properties.put(javax.xml.ws.handler.MessageContext.WSDL_SERVICE, serviceName);
-                rvalue = new HandlerInfo(MessageLayerClientHandler.class, properties, headers);
-            }
-
-        } catch (Exception ex) {
-            _logger.log(Level.SEVERE, LogUtils.EXCEPTION_THROWN, ex);
-            throw new RuntimeException(ex);
-        }
-        return rvalue;
-    }
-
     @Override
     public ClientPipelineHook getClientPipelineHook(ServiceReferenceDescriptor ref) {
         return new ClientPipeCreator(ref);
diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/ServletSystemHandlerDelegate.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/ServletSystemHandlerDelegate.java
deleted file mode 100644
index 5054953..0000000
--- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/ServletSystemHandlerDelegate.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.webservices;
-
-import java.util.logging.*;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-
-
-import javax.xml.soap.SOAPMessage;
-
-import javax.security.auth.Subject;
-
-import com.sun.enterprise.security.jauth.*;
-
-import com.sun.xml.rpc.spi.runtime.Implementor;
-import com.sun.xml.rpc.spi.runtime.SOAPMessageContext;
-import com.sun.xml.rpc.spi.runtime.StreamingHandler;
-import com.sun.xml.rpc.spi.runtime.SystemHandlerDelegate;
-import com.sun.xml.rpc.spi.runtime.Tie;
-
-//import com.sun.xml.rpc.server.http.MessageContextProperties;
-
-import com.sun.enterprise.security.SecurityContext;
-
-
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-
-import com.sun.enterprise.security.jmac.provider.ServerAuthConfig;
-
-
-/**
- * The methods of this interface are invoked by the JAXRPCServletDelegate
- * on the path to web sevice endpoints deployed as servlets.
- *
- * NOTE: The methods of this interface may also be called on the client side of
- * jaxrpc invocations, although at this time, we have not decided from
- * where such invocations would be made.
- *
- * @author Ron Monzillo
- */
-
-public class ServletSystemHandlerDelegate implements SystemHandlerDelegate {
-
-    protected static final Logger _logger = LogUtils.getLogger();
-
-    private static final String IMPLEMENTOR = 
-	"com.sun.xml.rpc.server.http.Implementor";
-    private static final String SERVER_AUTH_CONTEXT = 
-	"com.sun.enterprise.security.jauth.ServerAuthContext";
-
-    ServerAuthConfig config_;
-    WebServiceEndpoint endpoint_;
-
-    public ServletSystemHandlerDelegate(ServerAuthConfig config, WebServiceEndpoint ep) {
-	config_ = config;
-        endpoint_ = ep;
-    }
-
-   /**
-    * The processRequest method is invoked with an object that 
-    * implements com.sun.xml.rpc.spi.runtime.SOAPMessageContext.
-    * <p>
-    * When this method is called by the JAXRPCServletDelegate
-    * (on the server side of jaxrpc servlet container invocation processing)
-    * it must be called just before the call to implementor.getTie().handle(),
-    * and at the time of the request message and the following properties 
-    * must have been set on the SOAPMessageContext.
-    * <p>
-    * com.sun.xml.rpc.server.http.MessageContextProperties.IMPLEMENTOR
-    * <br>
-    * This property must be set to the com.sun.xml.rpc.spi.runtime.Implementor 
-    * object corresponding to the target endpoint.
-    * <p>
-    * com.sun.xml.rpc.server.http.MessageContextProperties.HTTP_SERVLET_REQUEST
-    * <br>
-    * This property must be
-    * set to the javax.servlet.http.HttpServletRequest object containing the 
-    * JAXRPC invocation.
-    * <p>
-    * com.sun.xml.rpc.server.http.MessageContextProperties.HTTP_SERVLET_RESPONSE
-    * <br>
-    * This property must be
-    * set to the javax.servlet.http.HttpServletResponse object corresponding to
-    * the JAXRPC invocation.
-    * <p>
-    * com.sun.xml.rpc.server.MessageContextProperties.HTTP_SERVLET_CONTEXT
-    * <br>
-    * This property must be
-    * set to the javax.servlet.ServletContext object corresponding to web application
-    * in which the JAXRPC servlet is running.
-    * @param messageContext the SOAPMessageContext object containing the request
-    * message and the properties described above.
-    * @return true if processing by the delegate was such that the caller
-    * should continue with its normal message processing. Returns false if the
-    * processing by the delegate resulted in the messageContext containing a response
-    * message that should be returned without the caller proceding to its normal
-    * message processing. 
-    * @throws java.lang.RuntimeException when the processing by the delegate failed,
-    * without yielding a response message. In this case, the expectation is that
-    * the caller will return a HTTP layer response code reporting that an internal
-    * error occured.
-    */
-    public boolean processRequest(SOAPMessageContext messageContext) {
-
-	if(_logger.isLoggable(Level.FINE)){
-	    _logger.fine("ws.processRequest");
-	}
-
-        final SOAPMessageContext finalMC = messageContext;
-	Implementor implementor = (Implementor) messageContext.getProperty( IMPLEMENTOR );
-        final Tie tie = implementor.getTie();
-	StreamingHandler handler = (StreamingHandler) implementor.getTie();
-	SOAPMessage request = finalMC.getMessage();
-	final ServerAuthContext sAC = config_.getAuthContext(handler,request);
-
-        boolean status = true;
-	try {
-	    if (sAC != null) {
-		status = false;
-                // proceed to process message security
-                status = WebServiceSecurity.validateRequest(finalMC,sAC);
-
-		if (status) {
-		    messageContext.setProperty(SERVER_AUTH_CONTEXT, sAC);
-		}
-            } 
-	} catch (AuthException ae) {
-	    _logger.log(Level.SEVERE, LogUtils.ERROR_REQUEST_VALIDATION, ae);
-	    throw new RuntimeException(ae);
-	} finally {
-	    WebServiceSecurity.auditInvocation(messageContext, endpoint_, status); 
-        }
-
-        if (status) {
-
-	    // only do doAsPriv if SecurityManager in effect.
-
-	    if (System.getSecurityManager() != null) {
-
-		// on this branch, the endpoint invocation and the 
-		// processing of the response will be initiated from
-		// within the system handler delegate. delegate returns
-		// false so that dispatcher will not invoke the endpoint.
-
-		status = false;
-
-		try {
-
-		    Subject.doAsPrivileged
-			(SecurityContext.getCurrent().getSubject(),
-			 new PrivilegedExceptionAction() {
-			    public Object run() throws Exception {
-				tie.handle(finalMC);
-				processResponse(finalMC);
-				return null;
-			    }
-                     }, null);
-
-		} catch (PrivilegedActionException pae) {
-		    Throwable cause = pae.getCause();
-		    if (cause instanceof AuthException){
-			_logger.log(Level.SEVERE, LogUtils.ERROR_RESPONSE_SECURING, cause);
-		    }
-		    RuntimeException re = null;
-		    if (cause instanceof RuntimeException) {
-			re = (RuntimeException) cause;
-		    } else {
-			re = new RuntimeException(cause);
-		    }
-		    throw re;
-		}
-	    }
-        }
-	return status;
-    }
-
-   /**
-    * The processResponse method is invoked with an object that 
-    * implements com.sun.xml.rpc.spi.runtime.SOAPMessageContext.
-    * <p>
-    * When this method is called by the JAXRPCServletDelegate
-    * (on the server side of jaxrpc servlet container invocation processing)
-    * it must be called just just after the call to implementor.getTie().handle().
-    * In the special case where the handle method throws an exception, the
-    * processResponse message must not be called.
-    * <p>
-    * The SOAPMessageContext passed to the processRequest and handle messages is
-    * passed to the processResponse method.
-    * @throws java.lang.RuntimeException when the processing by the delegate failed,
-    * in which case the caller is expected to return an HTTP layer 
-    * response code reporting that an internal error occured.
-    */
-    public void processResponse(SOAPMessageContext messageContext) {
-
-	if(_logger.isLoggable(Level.FINE)){
-	    _logger.fine("ws.processResponse");
-	}
-
-	ServerAuthContext sAC = 
-	    (ServerAuthContext) messageContext.getProperty( SERVER_AUTH_CONTEXT );
-
-	if (sAC == null) {
-	    return;
-	}
-
-	try {
-	    WebServiceSecurity.secureResponse(messageContext,sAC);
-	} catch (AuthException ae) {
-            _logger.log(Level.SEVERE, LogUtils.ERROR_RESPONSE_SECURING, ae);
-	    throw new RuntimeException(ae);
-	}
-    }
-}
-
-    
diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/WebServiceSecurity.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/WebServiceSecurity.java
deleted file mode 100644
index 4d38d81..0000000
--- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/WebServiceSecurity.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * WebServiceSecurity.java
- *
- * Created on April 9, 2004, 2:28 PM
- */
-
-package com.sun.enterprise.security.webservices;
-
-import java.util.HashMap;
-import java.util.Set;
-
-import com.sun.enterprise.security.jauth.*;
-import com.sun.enterprise.security.common.ClientSecurityContext;
-import com.sun.enterprise.security.SecurityContext;
-import com.sun.enterprise.security.ee.audit.AppServerAuditManager;
-    
-import java.security.Principal;
-import javax.security.auth.Subject;
-import javax.xml.soap.SOAPMessage;
-import javax.servlet.http.HttpServletRequest;
-
-import java.util.logging.*;
-
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-import com.sun.enterprise.security.jmac.provider.SOAPAuthParam;
-import org.glassfish.internal.api.Globals;
-
-/**
- *
- * Load Container auth spi.
- * This is for JAXRPC only.
- * @author  Harpreet Singh
- */
-
-public class WebServiceSecurity {
-
-    private static Logger _logger = LogUtils.getLogger();
-
-    private static AppServerAuditManager auditManager = null;
-            
-    // keys to shared state (for things like session keys) in SOAPMessageCOntext
-    private static final String SHARED_CLIENT_STATE = 
-        "com.sun.enterprise.security.jauth.ClientHashMap";
-
-    private static final String SHARED_SERVER_STATE = 
-        "com.sun.enterprise.security.jauth.ServerHashMap";
-
-    static  {
-        if (Globals.getDefaultHabitat() != null) {
-            auditManager = Globals.get(AppServerAuditManager.class);
-        }
-    }
-    
-    // when called by jaxrpc SystemHandlerDelegate
-    public static boolean 
-	validateRequest(javax.xml.rpc.handler.soap.SOAPMessageContext context, 
-			ServerAuthContext sAC)
-        throws AuthException 
-    {
-	boolean rvalue = true;
-	SOAPAuthParam param = 
-	    new SOAPAuthParam(context.getMessage(), null);
-
-	// put sharedState in MessageContext for use by secureResponse
-	HashMap sharedState = new HashMap();
-	context.setProperty(SHARED_SERVER_STATE, sharedState);
-
-	try {
-	    rvalue = validateRequest(param, sharedState, sAC);
-	} catch(PendingException pe){
-            _logger.log(Level.FINE,
-			"Container-auth: wss: Error validating request  ",pe);
-	    context.setMessage(param.getResponse());
-	    rvalue = false;
-	} catch(FailureException fe){
-            _logger.log(Level.FINE,
-			"Container-auth: wss: Error validating request  ",fe);
-	    context.setMessage(param.getResponse());
-	    throw fe;
-        }
-	return rvalue;
-    }
-
-    private static boolean 
-	validateRequest(AuthParam param, HashMap sharedState, 
-			ServerAuthContext sAC)
-        throws AuthException 
-    {
-	boolean rvalue = true;
-
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE,
-            "Container Auth: ServerAuthContext.validateRequest");
-        }
-	
-	Subject subject = null;
-	boolean firstAuthentication = true;
-	SecurityContext sc = SecurityContext.getCurrent();
-	if (sc == null || sc.didServerGenerateCredentials()) {
-	    subject = new Subject();
-	} else {
-	    subject = sc.getSubject();
-	    firstAuthentication = false;
-	}
-
-	sAC.validateRequest((AuthParam)param, subject, sharedState);
-
-	if (rvalue && firstAuthentication) {
-	    Set principalSet = subject.getPrincipals();
-	    // must be at least one new principal to establish
-	    // non-default security contex
-	    if (principalSet != null && !principalSet.isEmpty()) {
-		// define and add initiator to Subject - note that this may add
-		// a second principal (of type PrincipalImpl) for initiator.
-		String initiator = ((Principal)principalSet.iterator().next()).
-		    getName();
-		SecurityContext newSC = new SecurityContext(initiator,subject);
-		SecurityContext.setCurrent(newSC);
-	    }
-	}
-
-        return rvalue;
-    }
-    
-    // when called by jaxrpc SystemHandlerDelegate
-    public static void 
-	secureResponse(javax.xml.rpc.handler.soap.SOAPMessageContext context, 
-		       ServerAuthContext sAC)
-        throws AuthException 
-    {
-	secureResponse(context.getMessage(),
-		       (HashMap) context.getProperty(SHARED_SERVER_STATE),
-		       sAC);
-    }
-
-    private static void 
-	secureResponse(SOAPMessage response, HashMap sharedState,
-		       ServerAuthContext sAC)
-        throws AuthException
-    {
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE,
-            "Container Auth: ServerAuthContext.secureResponse");
-        }
-
-	// subject may change if runAs identity differs from caller's.
-	// Therefore, session state is saved in sharedState not subject
-	SecurityContext sc = SecurityContext.getCurrent();
-	Subject subject = sc.getSubject();
-
-	SOAPAuthParam param = new SOAPAuthParam(null, response);
-
-        try{
-            sAC.secureResponse((AuthParam)param, subject, sharedState);
-        } finally {
-	    sAC.disposeSubject(subject,sharedState);
-	}
-
-        return;
-    }
-
-
-
-    // when called by jaxrpc Handler
-    public static void 
-	secureRequest(javax.xml.rpc.handler.soap.SOAPMessageContext context, 
-		      ClientAuthContext cAC, boolean isAppClient)
-        throws AuthException 
-    {
-	// put sharedState in MessageContext for use by validateResponse
-	HashMap sharedState = new HashMap();
-        sharedState.put(javax.xml.ws.handler.MessageContext.WSDL_SERVICE,
-            context.getProperty(javax.xml.ws.handler.MessageContext.WSDL_SERVICE));
-	context.setProperty(SHARED_CLIENT_STATE, sharedState);
-
-	secureRequest
-	    (context.getMessage(), sharedState, cAC, isAppClient);
-    }
-
-    private static void 
-	secureRequest(SOAPMessage request, HashMap sharedState,
-		      ClientAuthContext cAC, boolean isAppClient) 
-        throws AuthException 
-    {
-
-        if(_logger.isLoggable(Level.FINE)) {
-            _logger.log(Level.FINE,
-            "Container Auth: ClientAuthContext.secureRequest");
-        }
-
-	SOAPAuthParam param = new SOAPAuthParam(request, null);
-
-	Subject subject = null;
-	if (isAppClient) {
-	    ClientSecurityContext sc = ClientSecurityContext.getCurrent();
-	    if (sc != null) {
-		subject = sc.getSubject();
-	    }
-	} else {
-	    SecurityContext sc = SecurityContext.getCurrent();
-	    if (sc != null && !sc.didServerGenerateCredentials()) {
-		// make sure we don't use default unauthenticated subject, 
-		// so that module cannot change this important (constant) 
-		// subject.
-		subject = sc.getSubject();
-	    }
-	}
-	if (subject == null) subject = new Subject();
-	
-	cAC.secureRequest ( param, subject, sharedState);
-    }
-    
-    // when called by jaxrpc Handler
-    public static boolean 
-	validateResponse(javax.xml.rpc.handler.soap.SOAPMessageContext context,
-			 ClientAuthContext cAC)
-        throws AuthException 
-    {
-	return validateResponse
-	    (context.getMessage(),
-	     (HashMap) context.getProperty(SHARED_CLIENT_STATE), cAC);
-    }
-
-    private static boolean 
-	validateResponse(SOAPMessage response, HashMap sharedState, 
-			 ClientAuthContext cAC) 
-        throws AuthException 
-    {
-        boolean rvalue = true;
-
-	// get a subject to be filled in with the principals of the responder
-	Subject responderSubject = new Subject();
-
-	SOAPAuthParam param = new SOAPAuthParam(null, response);
-
-        try{
-            cAC.validateResponse( param, responderSubject, sharedState);
-        } catch(AuthException ae){
-            _logger.log(Level.SEVERE, LogUtils.ERROR_RESPONSE_VALIDATION, ae);
-	    rvalue = false;
-            throw ae;
-        } finally {
-	    cAC.disposeSubject(responderSubject,sharedState);
-	}
-        
-        return rvalue;
-    }
-
-    // when called by jaxrpc SystemHandlerDelegate
-    public static void auditInvocation
-    (javax.xml.rpc.handler.soap.SOAPMessageContext context, 
-    WebServiceEndpoint endpoint, boolean status) {
-
-	if ((auditManager != null) && auditManager.isAuditOn()) {
-
-	    // TODO: replace the string literal with the correct constant
-	    // MessageContextProperties.HTTP_SERVLET_REQUEST);
-
-	    HttpServletRequest req = (HttpServletRequest)context.getProperty
-		("com.sun.xml.rpc.server.http.HttpServletRequest");
-       
-	    String uri = null;
-
-	    if( req != null ) {
-		uri = req.getRequestURI();
-	    }
-	    
-	    String epName = null;
-
-	    if( endpoint != null ) {
-		epName = endpoint.getEndpointName();
-	    }
-
-	    auditManager.webServiceInvocation
-		( ((uri==null) ? "(no uri)" : uri), 
-		  ((epName==null) ? "(no endpoint)" : epName), 
-		  status);
-	}
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/osgi.bundle b/appserver/webservices/jsr109-impl/osgi.bundle
index a4175e5..afa8b71 100644
--- a/appserver/webservices/jsr109-impl/osgi.bundle
+++ b/appserver/webservices/jsr109-impl/osgi.bundle
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -15,7 +15,6 @@
 #
 
 -exportcontents: \
-                        com.sun.enterprise.webservice; \
                         org.glassfish.webservices; \
                         org.glassfish.webservices.config; \
                         org.glassfish.webservices.monitoring; version=${project.osgi.version}
diff --git a/appserver/webservices/jsr109-impl/pom.xml b/appserver/webservices/jsr109-impl/pom.xml
index 14c3563..86b8916 100755
--- a/appserver/webservices/jsr109-impl/pom.xml
+++ b/appserver/webservices/jsr109-impl/pom.xml
@@ -119,10 +119,6 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>jakarta.xml.rpc</groupId>
-            <artifactId>jakarta.xml.rpc-api</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.glassfish.metro</groupId>
             <artifactId>webservices-osgi</artifactId>
         </dependency>
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/AdapterInvocationInfo.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/AdapterInvocationInfo.java
index 4d9eb8e..c1cfb53 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/AdapterInvocationInfo.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/AdapterInvocationInfo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +18,6 @@
 
 import org.glassfish.api.invocation.ComponentInvocation;
 import com.sun.xml.ws.transport.http.servlet.ServletAdapter;
-import com.sun.xml.rpc.spi.runtime.Handler;
 
 /**
  * This class stores information for EjbRuntimeInfo
@@ -40,12 +39,6 @@
      */
     private  ServletAdapter adapter;
 
-    /**
-     * This has the JAXRPC handler stored for alter use
-     * @param handler
-     */
-    private Handler handler;
-
     public void setAdapter(ServletAdapter adapter) {
         this.adapter = adapter;
     }
@@ -54,10 +47,6 @@
         this.inv = inv;
     }
 
-    public void setHandler(Handler h) {
-        this.handler = h;
-    }
-
     public ServletAdapter getAdapter() {
         return adapter;
     }
@@ -66,7 +55,4 @@
         return inv;
     }
 
-    public Handler getHandler() {
-        return handler;
-    }
 }
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/Ejb2RuntimeEndpointInfo.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/Ejb2RuntimeEndpointInfo.java
deleted file mode 100644
index e336063..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/Ejb2RuntimeEndpointInfo.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import java.rmi.Remote;
-
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-import org.glassfish.ejb.api.EjbEndpointFacade;
-import org.glassfish.ejb.api.EJBInvocation;
-import org.glassfish.internal.api.Globals;
-import org.glassfish.api.invocation.ComponentInvocation;
-import com.sun.xml.rpc.spi.runtime.Handler;
-import com.sun.xml.rpc.spi.runtime.Tie;
-
-/**
- * Runtime dispatch information about one ejb web service
- * endpoint.  This class must support concurrent access,
- * since a single instance will be used for all web
- * service invocations through the same ejb endpoint.
- *
- * @author Kenneth Saks
- */
-public class Ejb2RuntimeEndpointInfo extends EjbRuntimeEndpointInfo {
-
-    private Class tieClass;
-
-    // Lazily instantiated and cached due to overhead
-    // of initialization.
-    private Tie tieInstance;
-
-    private Object serverAuthConfig;
-
-    public Ejb2RuntimeEndpointInfo(WebServiceEndpoint webServiceEndpoint,
-                                  EjbEndpointFacade ejbContainer,
-                                  Object servant, Class tie) {
-                                  
-        super(webServiceEndpoint, ejbContainer, servant);
-        tieClass = tie;
-        
-        if (Globals.getDefaultHabitat() != null) {
-            org.glassfish.webservices.SecurityService secServ = Globals.get(
-                    org.glassfish.webservices.SecurityService.class);
-            if (secServ != null) {
-                serverAuthConfig = secServ.mergeSOAPMessageSecurityPolicies(webServiceEndpoint.getMessageSecurityBinding());
-            }
-        }
-        
-    }
-
-    public AdapterInvocationInfo getHandlerImplementor()
-        throws Exception {
-
-        ComponentInvocation inv =  container.startInvocation();
-        AdapterInvocationInfo aInfo = new AdapterInvocationInfo();
-        aInfo.setInv(inv);
-        synchronized(this) {
-            if(tieClass == null) {
-                tieClass = Thread.currentThread().getContextClassLoader().loadClass(getEndpoint().getTieClassName());
-            }
-            if( tieInstance == null ) {
-                tieInstance = (Tie) tieClass.newInstance();
-                tieInstance.setTarget((Remote) webServiceEndpointServant);
-            }
-        }
-        if (inv instanceof EJBInvocation)
-            EJBInvocation.class.cast(inv).setWebServiceTie(tieInstance);
-        aInfo.setHandler((Handler)tieInstance);
-        return aInfo;
-    }
-
-    /**
-     * Called after attempt to handle message.  This is coded defensively
-     * so we attempt to clean up no matter how much progress we made in
-     * getImplementor.  One important thing is to complete the invocation
-     * manager preInvoke().
-     */
-    @Override
-    public void releaseImplementor(ComponentInvocation inv) {
-        container.endInvocation(inv);
-    }
-
-    @Override
-    public EjbMessageDispatcher getMessageDispatcher() {
-        // message dispatcher is stateless, no need to synchronize, worse
-        // case, we'll create too many.
-        if (messageDispatcher==null) {
-            messageDispatcher = new EjbWebServiceDispatcher();
-        }
-        return messageDispatcher;
-    }
-
-    public Object getServerAuthConfig() {
-     return serverAuthConfig;
-    }
-
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbContainerPostHandler.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbContainerPostHandler.java
deleted file mode 100644
index ddffdcd..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbContainerPostHandler.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import java.lang.reflect.Method;
-
-import java.rmi.UnmarshalException;
-
-import javax.xml.namespace.QName;
-import javax.xml.rpc.handler.GenericHandler;
-import javax.xml.rpc.handler.MessageContext;
-
-import org.glassfish.api.invocation.InvocationManager;
-import org.glassfish.ejb.api.EJBInvocation;
-
-/**
- * This handler is inserted last in the handler chain for an
- * ejb web service endpoint.  It ensures that the application handlers
- * did not change anything in the soap message that would change the
- * dispatch method.
- *
- * @author Kenneth Saks
- */
-public class EjbContainerPostHandler extends GenericHandler {
-
-    private final WsUtil wsUtil = new WsUtil();
-
-    public EjbContainerPostHandler() {}
-
-    @Override
-    public QName[] getHeaders() {
-        return new QName[0];
-    }
-
-    @Override
-    public boolean handleRequest(MessageContext context) {
-        EJBInvocation inv = null;
-        try {
-            WebServiceContractImpl wscImpl = WebServiceContractImpl.getInstance();
-            InvocationManager invManager = wscImpl.getInvocationManager();
-            Object obj = invManager.getCurrentInvocation();
-            if (obj instanceof EJBInvocation) {
-                inv = EJBInvocation.class.cast(obj);
-                Method webServiceMethodInPreHandler = inv.getWebServiceMethod();
-                if (webServiceMethodInPreHandler != null) {
-                    // Now that application handlers have run, do another method
-                    // lookup and compare the results with the original one.  This
-                    // ensures that the application handlers have not changed
-                    // the message context in any way that would impact which
-                    // method is invoked.
-                    Method postHandlerMethod = wsUtil.getInvMethod(
-                            (com.sun.xml.rpc.spi.runtime.Tie) inv.getWebServiceTie(), context);
-                    if (!webServiceMethodInPreHandler.equals(postHandlerMethod)) {
-                        throw new UnmarshalException("Original method " + webServiceMethodInPreHandler
-                                + " does not match post-handler method ");
-                    }
-                }
-            }
-        } catch(Exception e) {
-            wsUtil.throwSOAPFaultException(e.getMessage(),
-                                           context);
-        }
-        return true;
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbContainerPreHandler.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbContainerPreHandler.java
deleted file mode 100644
index cde670a..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbContainerPreHandler.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import javax.xml.namespace.QName;
-
-import javax.xml.rpc.handler.GenericHandler;
-import javax.xml.rpc.handler.MessageContext;
-
-import java.util.logging.Logger;
-import java.lang.reflect.Method;
-import java.text.MessageFormat;
-
-import org.glassfish.api.invocation.InvocationManager;
-import org.glassfish.ejb.api.EJBInvocation;
-
-/**
- * This handler is inserted first in the handler chain for an
- * ejb web service endpoint.  It performs security authorization 
- * before any of the application handlers are invoked, as required
- * by JSR 109.
- *
- * @author Kenneth Saks
- */
-public class EjbContainerPreHandler extends GenericHandler {
-
-    private static final Logger logger = LogUtils.getLogger();
-    private final WsUtil wsUtil = new WsUtil();
-
-    public EjbContainerPreHandler() {}
-
-    @Override
-    public QName[] getHeaders() {
-        return new QName[0];
-    }
-
-    @Override
-    public boolean handleRequest(MessageContext context) {
-        EJBInvocation inv = null;
-        try {
-            WebServiceContractImpl wscImpl = WebServiceContractImpl.getInstance();
-            InvocationManager invManager = wscImpl.getInvocationManager();
-            Object obj = invManager.getCurrentInvocation();
-            if (obj instanceof EJBInvocation) {
-                inv = EJBInvocation.class.cast(obj);
-                Method method = wsUtil.getInvMethod(
-                        (com.sun.xml.rpc.spi.runtime.Tie) inv.getWebServiceTie(), context);
-                inv.setWebServiceMethod(method);
-                if (!inv.authorizeWebService(method)) {
-                    throw new Exception(format(logger.getResourceBundle().getString(LogUtils.CLIENT_UNAUTHORIZED),
-                            method.toString()));
-                }
-            }
-        } catch(Exception e) {
-            wsUtil.throwSOAPFaultException(e.getMessage(), context);
-        }
-        return true;
-    }
-
-    private String format(String key, String ... values){
-        return MessageFormat.format(key, (Object [])values);
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbRuntimeEndpointInfo.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbRuntimeEndpointInfo.java
index 4d2674e..cb2eb74 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbRuntimeEndpointInfo.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbRuntimeEndpointInfo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbWebServiceDispatcher.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbWebServiceDispatcher.java
deleted file mode 100644
index 199beae..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/EjbWebServiceDispatcher.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.ByteArrayOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletContext;
-import javax.xml.soap.MimeHeaders;
-import javax.xml.soap.SOAPMessage;
-import javax.xml.soap.SOAPException;
-
-import javax.xml.namespace.QName;
-import com.sun.xml.messaging.saaj.util.ByteInputStream;
-import com.sun.xml.rpc.spi.JaxRpcObjectFactory;
-import com.sun.xml.rpc.spi.runtime.SOAPMessageContext;
-import com.sun.xml.rpc.spi.runtime.SOAPConstants;
-import com.sun.xml.rpc.spi.runtime.StreamingHandler;
-import java.text.MessageFormat;
-
-import org.glassfish.webservices.monitoring.*;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-import org.glassfish.api.invocation.ComponentInvocation;
-import org.glassfish.internal.api.Globals;
-import org.glassfish.ejb.api.EJBInvocation;
-
-/**
- * Handles dispatching of ejb web service http invocations.
- *
- * @author Kenneth Saks
- */
-public class EjbWebServiceDispatcher implements EjbMessageDispatcher {
-
-    private static final Logger logger = LogUtils.getLogger();
-
-    private JaxRpcObjectFactory rpcFactory;
-    private final WsUtil wsUtil = new WsUtil();
-    private WebServiceEngineImpl wsEngine;
-
-    // @@@ This should be added to jaxrpc spi, probably within
-    // SOAPConstants.
-    private static final QName FAULT_CODE_CLIENT =
-        new QName(SOAPConstants.URI_ENVELOPE, "Client");
-
-    // @@@ Used to set http servlet response object so that TieBase
-    // will correctly flush response code for one-way operations.
-    // Should be added to SPI
-    private static final String HTTP_SERVLET_RESPONSE = 
-        "com.sun.xml.rpc.server.http.HttpServletResponse";
-
-    //the security service
-    org.glassfish.webservices.SecurityService  secServ;
-
-    public EjbWebServiceDispatcher() {
-        rpcFactory = JaxRpcObjectFactory.newInstance();
-        wsEngine = WebServiceEngineImpl.getInstance();
-        if (Globals.getDefaultHabitat() != null) {
-            secServ = Globals.get(org.glassfish.webservices.SecurityService.class);
-        }
-    }           
-
-    @Override
-    public void invoke(HttpServletRequest req, 
-                       HttpServletResponse resp,
-                       ServletContext ctxt,
-                       EjbRuntimeEndpointInfo endpointInfo) {
-
-        String method = req.getMethod();
-        if (logger.isLoggable(Level.FINE)) {
-            logger.log(Level.FINE, LogUtils.WEBSERVICE_DISPATCHER_INFO,
-                    new Object[] {req.getMethod(), req.getRequestURI(), req.getQueryString()});
-        }
-        try {
-            if( method.equals("POST") ) {
-                handlePost(req, resp, endpointInfo);
-            } else if( method.equals("GET") ) {
-                handleGet(req, resp, ctxt, endpointInfo);
-            } else {
-                String errorMessage = MessageFormat.format(
-                        logger.getResourceBundle().getString(LogUtils.UNSUPPORTED_METHOD_REQUEST),
-                        new Object[] {method, endpointInfo.getEndpoint().getEndpointName(),
-                            endpointInfo.getEndpointAddressUri()});
-                logger.log(Level.WARNING, errorMessage);
-                wsUtil.writeInvalidMethodType(resp, errorMessage);
-            }
-        } catch(Exception e) {
-            logger.log(Level.WARNING, LogUtils.EJB_ENDPOINT_EXCEPTION, e);
-        }
-    }
-
-    private void handlePost(HttpServletRequest req,
-                            HttpServletResponse resp,
-                            EjbRuntimeEndpointInfo endpointInfo)
-        throws IOException, SOAPException {
-        
-        JAXRPCEndpointImpl endpoint = null;               
-        String messageID = null;
-        SOAPMessageContext msgContext = null;
-        
-        try {
-            
-            MimeHeaders headers = wsUtil.getHeaders(req);
-            if (!wsUtil.hasTextXmlContentType(headers)) {
-                wsUtil.writeInvalidContentType(resp);
-                return;
-            }
-            
-            msgContext = rpcFactory.createSOAPMessageContext();
-            SOAPMessage message = createSOAPMessage(req, headers);
-                        
-    	    boolean wssSucceded = true;
-            
-            if (message != null) {                                
-                
-                msgContext.setMessage(message);
-
-                // get the endpoint info
-                endpoint = (JAXRPCEndpointImpl) endpointInfo.getEndpoint().getExtraAttribute(EndpointImpl.NAME);
-                
-                if (endpoint!=null) {
-                    // first global notification
-                    if (wsEngine.hasGlobalMessageListener()) {
-                        messageID = wsEngine.preProcessRequest(endpoint);
-                    }
-                } else {
-                    if (logger.isLoggable(Level.FINE)) {
-                        logger.log(Level.FINE, LogUtils.MISSING_MONITORING_INFO, req.getRequestURI());
-                    }
-                }                                   
-                
-                AdapterInvocationInfo aInfo = null;
-                
-                if (!(endpointInfo instanceof Ejb2RuntimeEndpointInfo)) {
-                    throw new IllegalArgumentException(endpointInfo + "is not instance of Ejb2RuntimeEndpointInfo.");
-                }
-
-                try {
-                    Ejb2RuntimeEndpointInfo endpointInfo2 = (Ejb2RuntimeEndpointInfo)endpointInfo;
-                    // Do ejb container pre-invocation and pre-handler
-                    // logic
-                    aInfo = endpointInfo2.getHandlerImplementor();
-
-                    // Set message context in invocation
-                    ComponentInvocation inv = aInfo.getInv();
-                    if (inv instanceof EJBInvocation)
-                        EJBInvocation.class.cast(inv).setMessageContext(msgContext);
-
-
-                    // Set http response object so one-way operations will
-                    // response before actual business method invocation.
-                    msgContext.setProperty(HTTP_SERVLET_RESPONSE, resp);
-                    if (secServ != null) {
-                        wssSucceded = secServ.validateRequest(endpointInfo2.getServerAuthConfig(),
-                                (StreamingHandler)aInfo.getHandler(), msgContext);
-                    }
-                    // Trace if necessary
-                    if (messageID!=null || (endpoint!=null && endpoint.hasListeners())) {
-                        // create the thread local
-                        ThreadLocalInfo threadLocalInfo = new ThreadLocalInfo(messageID, req);
-                        wsEngine.getThreadLocal().set(threadLocalInfo);
-                        if (endpoint != null) {
-                            endpoint.processRequest(msgContext);
-                        } else {
-                            if (logger.isLoggable(Level.FINE)) {
-                                logger.log(Level.FINE, LogUtils.MISSING_MONITORING_INFO, req.getRequestURI());
-                            }
-                        }
-                    }
-                    
-                    // Pass control back to jaxrpc runtime to invoke
-                    // any handlers and call the webservice method itself,
-                    // which will be flow back into the ejb container.
-                    if (wssSucceded) {
-                        aInfo.getHandler().handle(msgContext);
-                    }
-                } finally {
-                    // Always call release, even if an error happened
-                    // during getImplementor(), since some of the
-                    // preInvoke steps might have occurred.  It's ok
-                    // if implementor is null.
-                    if (aInfo != null) {
-                        endpointInfo.releaseImplementor(aInfo.getInv());
-                    }
-                }
-            } else {
-                String errorMsg = MessageFormat.format(
-                        logger.getResourceBundle().getString(LogUtils.NULL_MESSAGE),
-                        endpointInfo.getEndpoint().getEndpointName(), endpointInfo.getEndpointAddressUri());
-                    if (logger.isLoggable(Level.FINE)) {
-                        logger.fine(errorMsg);
-                    }
-                    msgContext.writeSimpleErrorResponse
-                    (FAULT_CODE_CLIENT, errorMsg);
-            }
-            if (messageID!=null || endpoint!=null) {
-                endpoint.processResponse(msgContext);
-            }
-            SOAPMessage reply = msgContext.getMessage();
-            if (secServ != null && wssSucceded) {
-                if (!(endpointInfo instanceof Ejb2RuntimeEndpointInfo)) {
-                    throw new IllegalArgumentException(endpointInfo + "is not instance of Ejb2RuntimeEndpointInfo.");
-                }
-
-                Ejb2RuntimeEndpointInfo endpointInfo2 = (Ejb2RuntimeEndpointInfo)endpointInfo;
-                secServ.secureResponse(endpointInfo2.getServerAuthConfig(),(StreamingHandler)endpointInfo2.getHandlerImplementor().getHandler(),msgContext);
-            }
-            
-            if (reply.saveRequired()) {
-                reply.saveChanges();
-            }
-            wsUtil.writeReply(resp, msgContext);
-        } catch (Throwable e) {
-            String errorMessage = MessageFormat.format(
-                    logger.getResourceBundle().getString(LogUtils.ERROR_ON_EJB),
-                    new Object[] {endpointInfo.getEndpoint().getEndpointName(),
-                        endpointInfo.getEndpointAddressUri(), e.getMessage()});
-            logger.log(Level.WARNING, errorMessage, e);
-            SOAPMessageContext errorMsgContext =
-                rpcFactory.createSOAPMessageContext();
-            errorMsgContext.writeSimpleErrorResponse
-                (SOAPConstants.FAULT_CODE_SERVER, errorMessage);
-            resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-            if (messageID!=null || endpoint!=null) {
-                endpoint.processResponse(errorMsgContext);
-            }
-            wsUtil.writeReply(resp, errorMsgContext);
-        }
-
-        // final tracing notification
-        if (messageID!=null) {
-            HttpResponseInfoImpl response = new HttpResponseInfoImpl(resp);
-            wsEngine.postProcessResponse(messageID, response);
-        }
-    }
-
-    private void handleGet(HttpServletRequest req, 
-                           HttpServletResponse resp,
-                           ServletContext ctxt,
-                           EjbRuntimeEndpointInfo endpointInfo)
-        throws IOException
-    {
-       
-        wsUtil.handleGet(req, resp, endpointInfo.getEndpoint());           
-
-    }    
-
-    protected SOAPMessage createSOAPMessage(HttpServletRequest request,
-                                            MimeHeaders headers)
-        throws IOException {
-
-        InputStream is = request.getInputStream();
-        
-        byte[] bytes = readFully(is);
-        int length = request.getContentLength() == -1 ? bytes.length 
-            : request.getContentLength();
-        ByteInputStream in = new ByteInputStream(bytes, length);
-
-        SOAPMessageContext msgContext = rpcFactory.createSOAPMessageContext();
-        SOAPMessage message = msgContext.createMessage(headers, in);
-
-        return message;
-    }
-
-    protected byte[] readFully(InputStream istream) throws IOException {
-        ByteArrayOutputStream bout = new ByteArrayOutputStream();
-        byte[] buf = new byte[1024];
-        int num = 0;
-        while( (num = istream.read(buf)) != -1) {
-            bout.write(buf, 0, num);
-        }
-        byte[] ret = bout.toByteArray();
-        return ret;
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ImplementorCacheDelegateImpl.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ImplementorCacheDelegateImpl.java
deleted file mode 100644
index f3e529f..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ImplementorCacheDelegateImpl.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import java.lang.reflect.Proxy;
-import java.lang.reflect.InvocationHandler;
-
-import java.rmi.Remote;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-
-import javax.xml.rpc.server.ServiceLifecycle;
-
-import org.glassfish.api.invocation.ComponentInvocation;
-import org.glassfish.api.invocation.InvocationManager;
-import org.glassfish.ejb.api.EJBInvocation;
-
-// JAXRPC-RI classes
-import com.sun.xml.rpc.spi.JaxRpcObjectFactory;
-import com.sun.xml.rpc.spi.runtime.Implementor;
-import com.sun.xml.rpc.spi.runtime.ImplementorCache;
-import com.sun.xml.rpc.spi.runtime.ImplementorCacheDelegate;
-import com.sun.xml.rpc.spi.runtime.RuntimeEndpointInfo;
-import com.sun.xml.rpc.spi.runtime.Tie;
-
-/**
- * This class extends the behavior of ImplementorCache in order to
- * interpose on lifecycle events for the creation and destruction of 
- * ties/servants for servlet web service endpoints.
- *
- * @author Kenneth Saks
- */
-public class ImplementorCacheDelegateImpl extends ImplementorCacheDelegate {
-
-    private Hashtable implementorCache_;
-    private ServletContext servletContext_;
-    private JaxRpcObjectFactory rpcFactory_;
-
-    public ImplementorCacheDelegateImpl(ServletConfig servletConfig) {
-        servletContext_ = servletConfig.getServletContext();
-        implementorCache_ = new Hashtable();
-        rpcFactory_ = JaxRpcObjectFactory.newInstance();
-    }
-
-    public Implementor getImplementorFor(RuntimeEndpointInfo targetEndpoint) {
-
-        Implementor implementor = null;
-        try {
-            synchronized(targetEndpoint) {
-                implementor = (Implementor) 
-                    implementorCache_.get(targetEndpoint);
-                if( implementor == null ) {
-                    implementor = createImplementor(targetEndpoint);
-                    implementorCache_.put(targetEndpoint, implementor);
-                }
-            }
-
-            WebServiceContractImpl wscImpl = WebServiceContractImpl.getInstance();
-            InvocationManager invManager = wscImpl.getInvocationManager();
-            ComponentInvocation inv = invManager.getCurrentInvocation();
-            if (inv instanceof EJBInvocation)
-                ((EJBInvocation)inv).setWebServiceTie(implementor.getTie());
-        } catch(Throwable t) {
-            RuntimeException re = new RuntimeException();
-            re.initCause(t);
-            throw re;
-        }
-
-        return implementor;
-    }
-
-    public void releaseImplementor(RuntimeEndpointInfo targetEndpoint, 
-                                   Implementor implementor) {
-        // do nothing
-    }
-
-    public void destroy() {
-        for (Iterator iter = implementorCache_.values().iterator(); 
-             iter.hasNext();) {
-            Implementor implementor = (Implementor) iter.next();
-            try {
-                implementor.destroy();
-            } catch(Throwable t) {
-                // @@@ log
-            }
-        }
-        implementorCache_.clear();
-    }
-
-    private Implementor createImplementor(RuntimeEndpointInfo targetEndpoint) 
-        throws Exception {
-
-        Tie tie = (Tie) targetEndpoint.getTieClass().newInstance();
-
-        Class seiClass  = targetEndpoint.getRemoteInterface();
-        Class implClass = targetEndpoint.getImplementationClass();
-
-        Remote servant  = null;
-        if( seiClass.isAssignableFrom(implClass) ) {
-            // if servlet endpoint impl is a subtype of SEI, use an
-            // instance as the servant.
-            servant = (Remote) implClass.newInstance();
-        } else {
-            // Create a dynamic proxy that implements SEI (and optionally
-            // ServiceLifecycle) and delegates to an instance of the 
-            // endpoint impl.
-            Object implInstance = implClass.newInstance();
-
-            InvocationHandler handler = 
-                new ServletImplInvocationHandler(implInstance);
-            boolean implementsLifecycle = 
-                ServiceLifecycle.class.isAssignableFrom(implClass);
-            Class[] proxyInterfaces = implementsLifecycle ?
-                new Class[] { seiClass, ServiceLifecycle.class } :
-                new Class[] { seiClass };
-
-            servant = (Remote) Proxy.newProxyInstance
-                (implClass.getClassLoader(), proxyInterfaces, handler);
-        }
-        tie.setTarget(servant);
-        
-        Implementor implementor = rpcFactory_.createImplementor(servletContext_, tie);
-        implementor.init();
-
-        return implementor;
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXRPCCodeGenFacadeImpl.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXRPCCodeGenFacadeImpl.java
deleted file mode 100644
index b38b498..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXRPCCodeGenFacadeImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.webservices.codegen.JaxRpcCodegenFactory;
-import org.glassfish.hk2.api.ServiceLocator;
-import org.glassfish.internal.api.JAXRPCCodeGenFacade;
-import org.jvnet.hk2.annotations.Service;
-
-/**
- * This class is responsible for generating all non portable
- * jax-rpc artifacts for a single .ear or standalone module
- * It will be used for webservice clients
- *
- * @author Bhakti Mehta
- */
-@Service
-public class JAXRPCCodeGenFacadeImpl implements JAXRPCCodeGenFacade {
-
-public void run(ServiceLocator habitat, DeploymentContext context, String cp, boolean processServiceReferences) throws Exception {
-    JaxRpcCodegenFactory.newInstance().getAdapter(processServiceReferences).run(habitat, context,cp);
-}
-
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXRPCServlet.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXRPCServlet.java
deleted file mode 100644
index 6eaaedd..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXRPCServlet.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-import com.sun.xml.rpc.spi.JaxRpcObjectFactory;
-import com.sun.xml.rpc.spi.runtime.ServletDelegate;
-import com.sun.xml.rpc.spi.runtime.ServletSecondDelegate;
-import org.glassfish.webservices.monitoring.*;
-import org.apache.catalina.Loader;
-
-
-/**
- * The JAX-RPC dispatcher servlet.
- *
- */
-public class JAXRPCServlet extends HttpServlet {
-
-    private volatile ServletDelegate delegate_;
-    private volatile ServletWebServiceDelegate myDelegate_=null;
-
-    public void init(ServletConfig servletConfig) throws ServletException {
-        try {
-            super.init(servletConfig);
-            JaxRpcObjectFactory rpcFactory = JaxRpcObjectFactory.newInstance();
-            delegate_ =
-                    (ServletDelegate) rpcFactory.createServletDelegate();
-            myDelegate_ = new ServletWebServiceDelegate(delegate_);
-            delegate_.setSecondDelegate(myDelegate_);
-            delegate_.init(servletConfig);
-        } catch (ServletException e) {
-            throw e;
-        } catch (Throwable e) {
-            throw new ServletException(e);
-        }
-    }
-
-    public void destroy() {
-        if (delegate_ != null) {
-            delegate_.destroy();
-        }
-        if (myDelegate_ != null) {
-            myDelegate_.destroy();
-        }
-    }
-
-    protected void doPost(HttpServletRequest request,
-                          HttpServletResponse response)
-        throws ServletException {
-        
-        WebServiceEngineImpl wsEngine_ = WebServiceEngineImpl.getInstance();
-
-        if ("Tester".equalsIgnoreCase(request.getQueryString())) {
-            Endpoint endpt = wsEngine_.getEndpoint(request.getServletPath());
-            if (endpt!=null && Boolean.parseBoolean(endpt.getDescriptor().getDebugging())) {
-                WebServiceTesterServlet.invoke(request, response,
-                        endpt.getDescriptor());
-                return;
-            }
-        }
-                
-        if (delegate_ != null) {
-            // check if we need to trace this...
-            String messageId=null;
-            if (wsEngine_.getGlobalMessageListener()!=null) {
-                Endpoint endpt = wsEngine_.getEndpoint(request.getServletPath());
-                messageId = wsEngine_.preProcessRequest(endpt);
-                if (messageId!=null) {
-                    ThreadLocalInfo config = new ThreadLocalInfo(messageId, request);
-                    wsEngine_.getThreadLocal().set(config);
-                }
-            }
-
-            delegate_.doPost(request, response);
-
-            if (messageId!=null) {
-                HttpResponseInfoImpl info = new HttpResponseInfoImpl(response);
-                wsEngine_.postProcessResponse(messageId, info);
-            }
-        }
-    }
-
-    protected void doGet(HttpServletRequest request, 
-                         HttpServletResponse response)
-        throws ServletException {
-        
-        // test for tester servlet invocation.
-        if ("Tester".equalsIgnoreCase(request.getQueryString())) {
-
-            Endpoint endpt = WebServiceEngineImpl.getInstance().getEndpoint(request.getServletPath());
-            if (endpt!=null && Boolean.parseBoolean(endpt.getDescriptor().getDebugging())) {
-                Loader loader = (Loader) endpt.getDescriptor().getBundleDescriptor().getExtraAttribute("WEBLOADER");
-                if (loader != null) {
-                    endpt.getDescriptor().getBundleDescriptor().setClassLoader(loader.getClassLoader());
-                    endpt.getDescriptor().getBundleDescriptor().removeExtraAttribute("WEBLOADER");
-                }
-                WebServiceTesterServlet.invoke(request, response,
-                        endpt.getDescriptor());
-                return;
-            }
-        }
-        if (delegate_ != null) {
-            delegate_.doGet(request, response);
-        }
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/SecurityService.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/SecurityService.java
index 52b39dc..1204cee 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/SecurityService.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/SecurityService.java
@@ -17,17 +17,11 @@
 package org.glassfish.webservices;
 
 import com.sun.enterprise.deployment.ServiceReferenceDescriptor;
-import com.sun.enterprise.deployment.WebServiceEndpoint;
 import com.sun.enterprise.deployment.runtime.common.MessageSecurityBindingDescriptor;
 import com.sun.enterprise.web.WebModule;
-import com.sun.xml.rpc.spi.runtime.SystemHandlerDelegate;
 import javax.servlet.http.HttpServletRequest;
-import com.sun.xml.rpc.spi.runtime.SOAPMessageContext;
-import com.sun.xml.rpc.spi.runtime.StreamingHandler;
 import com.sun.xml.ws.assembler.ClientPipelineHook;
 import java.security.Principal;
-import javax.xml.namespace.QName;
-import javax.xml.rpc.handler.HandlerInfo;
 import org.jvnet.hk2.annotations.Contract;
 
 /**
@@ -41,10 +35,6 @@
     public boolean doSecurity(HttpServletRequest hreq, EjbRuntimeEndpointInfo ejbEndpoint, String realmName, WebServiceContextImpl context);
     public void resetSecurityContext();
     public void resetPolicyContext();
-    public SystemHandlerDelegate getSecurityHandler(WebServiceEndpoint endpoint);
-    public boolean validateRequest(Object serverAuthConfig, StreamingHandler implementor, SOAPMessageContext context);
-    public void secureResponse(Object serverAuthConfig, StreamingHandler implementor, SOAPMessageContext context);
-    public HandlerInfo getMessageSecurityHandler(MessageSecurityBindingDescriptor binding, QName serviceName);
     public ClientPipelineHook getClientPipelineHook(ServiceReferenceDescriptor ref);
     public Principal getUserPrincipal(boolean isWeb);
     public boolean isUserInRole(WebModule webModule, Principal principal, String servletName, String role);
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServiceInvocationHandler.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServiceInvocationHandler.java
deleted file mode 100644
index a40baa1..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServiceInvocationHandler.java
+++ /dev/null
@@ -1,584 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-
-import java.net.URL;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-
-import javax.xml.namespace.QName;
-import javax.xml.rpc.Service;
-import javax.xml.rpc.handler.HandlerInfo;
-import javax.xml.rpc.handler.HandlerRegistry;
-import javax.xml.rpc.Stub;
-import javax.xml.rpc.Call;
-
-
-import com.sun.enterprise.deployment.ServiceReferenceDescriptor;
-import com.sun.enterprise.deployment.ServiceRefPortInfo;
-import com.sun.enterprise.deployment.NameValuePairDescriptor;
-import com.sun.enterprise.deployment.runtime.common.MessageSecurityBindingDescriptor;
-import org.glassfish.internal.api.Globals;
-
-
-
-/**
- * InvocationHandler used to intercept calls to concrete JAXRPC 
- * Service implementation.  
- *
- * NOTE : This class makes no distinction between "partial" WSDL and
- * "full" WSDL.  If a service-ref's packaged WSDL is "partial", the
- * deployer is required to specify a wsdl-override in the runtime info
- * that points to a final WSDL.  In such a case, the behavior for each
- * method listed in the table in section 4.2.2.7 of the spec is the
- * same as Full WSDL.
- *
- * @author Kenneth Saks
- */
-public class ServiceInvocationHandler implements InvocationHandler {
-
-    private ServiceReferenceDescriptor serviceRef;
-
-    // real service instance
-    private Service serviceDelegate;
-
-    // used in full wsdl case for DII methods. Lazily instantiated.
-    private volatile Service configuredServiceDelegate;
-
-    private ClassLoader classLoader;
-
-    private Method getClientManagedPortMethod;
-
-    // location of full wsdl associated with service-ref
-    private URL wsdlLocation;
-
-    private boolean fullWsdl = false;
-    
-    private WsUtil wsUtil = new WsUtil();
-    private org.glassfish.webservices.SecurityService  secServ;
-
-    // Service method types
-    private static final int CREATE_CALL_NO_ARGS = 1;
-    private static final int CREATE_CALL_PORT = 2;
-    private static final int CREATE_CALL_OPERATION_QNAME = 3;
-    private static final int CREATE_CALL_OPERATION_STRING = 4;
-    private static final int GET_CALLS = 5;
-    private static final int GET_HANDLER_REGISTRY = 6;
-    private static final int GET_PORT_CONTAINER_MANAGED = 7;
-    private static final int GET_PORT_CLIENT_MANAGED = 8;
-    private static final int GET_PORTS = 9;
-    private static final int GET_SERVICE_NAME = 10;
-    private static final int GET_TYPE_MAPPING_REGISTRY = 11;
-    private static final int GET_WSDL_LOCATION = 12;
-    private static final int GENERATED_SERVICE_METHOD = 13;
-
-    private static Map serviceMethodTypes;
-    private static Set fullWsdlIllegalMethods;
-    private static Set noWsdlIllegalMethods;
-
-    static {
-        init();
-    }
-
-    public ServiceInvocationHandler(ServiceReferenceDescriptor descriptor,
-                                    Service delegate, ClassLoader loader)
-            throws Exception {
-
-        serviceRef = descriptor;
-        serviceDelegate = delegate;
-        classLoader = loader;
-
-        if( serviceRef.hasWsdlFile() ) {
-            wsdlLocation = wsUtil.privilegedGetServiceRefWsdl(serviceRef);
-            fullWsdl = true;
-        } 
-
-        getClientManagedPortMethod = javax.xml.rpc.Service.class.getMethod
-                ("getPort", new Class[] { QName.class, Class.class } );
-
-        if (Globals.getDefaultHabitat() != null) {
-            secServ = Globals.get(org.glassfish.webservices.SecurityService.class);
-        }
-        addMessageSecurityHandler(delegate);
-    }
-
-    public Object invoke(Object proxy, Method method, Object[] args)
-            throws Throwable {
-
-        // NOTE : be careful with "args" parameter.  It is null
-        //        if method signature has 0 arguments.
-
-        if( method.getDeclaringClass() == java.lang.Object.class )  {
-            return invokeJavaObjectMethod(this, method, args);
-        }
-
-        int methodType = getMethodType(method);
-
-        checkUnsupportedMethods(methodType);
-
-        Object returnValue = null;
-
-        try {
-
-            // Initialize method info for invocation based on arguments.
-            // Some/All of this might be overridden below.
-            Object serviceToInvoke = serviceDelegate;
-            Method methodToInvoke  = method;
-            int methodTypeToInvoke = methodType;
-            Object[] argsForInvoke = args;
-
-            switch(methodType) {
-
-                case GET_PORT_CONTAINER_MANAGED :
-                    Class serviceEndpointInterfaceClass = (Class) args[0];
-                    String serviceEndpointInterface =
-                            serviceEndpointInterfaceClass.getName();
-                    ServiceRefPortInfo portInfo =
-                            serviceRef.getPortInfo(serviceEndpointInterface);
-
-                    // If we have a port, use it to call getPort(QName, SEI) instead
-                    if( (portInfo != null) && portInfo.hasWsdlPort() ) {
-                        methodToInvoke = getClientManagedPortMethod;
-                        methodTypeToInvoke = GET_PORT_CLIENT_MANAGED;
-                        argsForInvoke  = new Object[] { portInfo.getWsdlPort(),
-                                args[0] };
-                    } else {
-                        // This means the deployer did not resolve the port to
-                        // which this SEI is mapped.  Just call getPort(SEI)
-                        // method on delegate. This is not guaranteed to work.
-                    }
-                    break;
-
-                case GET_WSDL_LOCATION :
-                    return wsdlLocation;
-
-                case CREATE_CALL_PORT :
-                case CREATE_CALL_OPERATION_QNAME :
-                case CREATE_CALL_OPERATION_STRING :
-                case GET_CALLS :
-                case GET_PORTS :
-
-                    serviceToInvoke = getConfiguredServiceDelegate();
-                    break;
-                default:
-                    break;
-            } // End switch (methodType)
-
-            returnValue = methodToInvoke.invoke(serviceToInvoke, argsForInvoke);
-
-            if( returnValue instanceof Stub ) {
-                Stub stub = (Stub) returnValue;
-                setStubProperties(stub, methodTypeToInvoke, methodToInvoke,
-                        argsForInvoke);
-            } else if( returnValue instanceof Call ) {
-                Call[] calls = new Call[1];
-                calls[0] = (Call) returnValue;
-                setCallProperties(calls, methodTypeToInvoke, argsForInvoke);
-            } else if( methodType == GET_CALLS ) {
-                Call[] calls = (Call[]) returnValue;
-                setCallProperties(calls, methodTypeToInvoke, argsForInvoke);
-            }
-
-        } catch(InvocationTargetException ite) {
-            throw ite.getCause();
-        }
-
-        return returnValue;
-    }
-
-    public HandlerInfo getMessageSecurityHandlerInfo(QName port) throws Exception
-    {
-        HandlerInfo rvalue = null;
-
-        MessageSecurityBindingDescriptor binding = null;
-        ServiceRefPortInfo portInfo = serviceRef.getPortInfoByPort(port);
-        if (portInfo != null) {
-            binding = portInfo.getMessageSecurityBinding();
-        }
-        if (secServ != null) {
-           rvalue = secServ.getMessageSecurityHandler(binding, serviceRef.getServiceName());
-        }
-        return rvalue;
-    }
-
-    private boolean addMessageSecurityHandler(Service service) throws Exception
-    {
-        HandlerRegistry registry = service.getHandlerRegistry();
-        Iterator ports = null;
-        try {
-            ports = service.getPorts();
-        } catch (Exception e) {
-            // FIXME: should make sure that the exception was thrown because
-            // the service is not fully defined; but for now just return.
-            ports = null;
-        }
-
-        while(ports != null && ports.hasNext()) {
-
-            QName nextPort = (QName) ports.next();
-
-            List handlerChain = registry.getHandlerChain(nextPort);
-
-            // append security handler to the end of every handler chain
-            // ASSUMPTION 1: that registry.getHandlerChain() never returns null.
-            // ASSUMPTION 2: that handlers from ServiceRef have already been added
-
-            HandlerInfo handlerInfo = getMessageSecurityHandlerInfo(nextPort);
-
-            if (handlerInfo != null) {
-                handlerChain.add(handlerInfo);
-            }
-        }
-
-        return ports == null ? false : true;
-    }
-
-    private Service getConfiguredServiceDelegate() throws Exception {
-        if (configuredServiceDelegate == null) {
-            // We need a ConfiguredService to handle these
-            // invocations, since the JAXRPC RI Generated Service impl
-            // does not.  Configured service is potentially
-            // a heavy-weight object so we lazily instantiate it to
-            // take advantage of the likelihood that
-            // GeneratedService service-refs won't be used for DII.
-            Service configuredService =
-                    wsUtil.createConfiguredService(serviceRef);
-            wsUtil.configureHandlerChain(serviceRef, configuredService,
-                    configuredService.getPorts(), classLoader);
-            configuredServiceDelegate = configuredService;
-
-            addMessageSecurityHandler(configuredService);
-        }
-        return configuredServiceDelegate;
-    }
-
-    private int getMethodType(Method method) {
-        Integer methodType = (Integer) serviceMethodTypes.get(method);
-        return (methodType != null) ?
-                methodType.intValue() : GENERATED_SERVICE_METHOD;
-    }
-
-    /**
-     * Convert invocation method to a constant for easier processing.
-     */
-    private static void init() {
-
-        serviceMethodTypes     = new HashMap();
-        fullWsdlIllegalMethods = new HashSet();
-        noWsdlIllegalMethods   = new HashSet();
-
-        try {
-
-            Class noParams[]   = new Class[0];
-            String createCall  = "createCall";
-            Class serviceClass = javax.xml.rpc.Service.class;
-
-            //
-            // Map Service method to method type.
-            //
-
-            Method createCallNoArgs =
-                    serviceClass.getDeclaredMethod(createCall, noParams);
-            serviceMethodTypes.put(createCallNoArgs,
-                    Integer.valueOf(CREATE_CALL_NO_ARGS));
-
-            Method createCallPort =
-                    serviceClass.getDeclaredMethod(createCall,
-                            new Class[] { QName.class });
-            serviceMethodTypes.put(createCallPort,
-                     Integer.valueOf(CREATE_CALL_PORT));
-
-            Method createCallOperationQName =
-                    serviceClass.getDeclaredMethod
-                            (createCall, new Class[] { QName.class, QName.class });
-            serviceMethodTypes.put(createCallOperationQName,
-                     Integer.valueOf(CREATE_CALL_OPERATION_QNAME));
-
-            Method createCallOperationString =
-                    serviceClass.getDeclaredMethod
-                            (createCall, new Class[] { QName.class, String.class });
-            serviceMethodTypes.put(createCallOperationString,
-                    Integer.valueOf(CREATE_CALL_OPERATION_STRING));
-
-            Method getCalls = serviceClass.getDeclaredMethod
-                    ("getCalls", new Class[] { QName.class });
-            serviceMethodTypes.put(getCalls,  Integer.valueOf(GET_CALLS));
-
-            Method getHandlerRegistry = serviceClass.getDeclaredMethod
-                    ("getHandlerRegistry", noParams);
-            serviceMethodTypes.put(getHandlerRegistry,
-                     Integer.valueOf(GET_HANDLER_REGISTRY));
-
-            Method getPortContainerManaged = serviceClass.getDeclaredMethod
-                    ("getPort", new Class[] { Class.class });
-            serviceMethodTypes.put(getPortContainerManaged,
-                    Integer.valueOf(GET_PORT_CONTAINER_MANAGED));
-
-            Method getPortClientManaged = serviceClass.getDeclaredMethod
-                    ("getPort", new Class[] { QName.class, Class.class });
-            serviceMethodTypes.put(getPortClientManaged,
-                    Integer.valueOf(GET_PORT_CLIENT_MANAGED));
-
-            Method getPorts = serviceClass.getDeclaredMethod
-                    ("getPorts", noParams);
-            serviceMethodTypes.put(getPorts, Integer.valueOf(GET_PORTS));
-
-            Method getServiceName = serviceClass.getDeclaredMethod
-                    ("getServiceName", noParams);
-            serviceMethodTypes.put(getServiceName,
-                     Integer.valueOf(GET_SERVICE_NAME));
-
-            Method getTypeMappingRegistry = serviceClass.getDeclaredMethod
-                    ("getTypeMappingRegistry", noParams);
-            serviceMethodTypes.put(getTypeMappingRegistry,
-                    Integer.valueOf(GET_TYPE_MAPPING_REGISTRY));
-
-            Method getWsdlLocation = serviceClass.getDeclaredMethod
-                    ("getWSDLDocumentLocation", noParams);
-            serviceMethodTypes.put(getWsdlLocation,
-                     Integer.valueOf(GET_WSDL_LOCATION));
-        } catch(NoSuchMethodException nsme) {}
-
-        // Implementation of table 4.2.2.7.  All "No WSDL" column cells
-        // with value Unspecified throw UnsupportedOperationException
-
-        fullWsdlIllegalMethods.add( GET_HANDLER_REGISTRY);
-        fullWsdlIllegalMethods.add(GET_TYPE_MAPPING_REGISTRY);
-
-        noWsdlIllegalMethods.add( CREATE_CALL_PORT);
-        noWsdlIllegalMethods.add( CREATE_CALL_OPERATION_QNAME);
-        noWsdlIllegalMethods.add(CREATE_CALL_OPERATION_STRING);
-        noWsdlIllegalMethods.add(GET_CALLS);
-        noWsdlIllegalMethods.add(GET_HANDLER_REGISTRY);
-        noWsdlIllegalMethods.add(GET_PORT_CONTAINER_MANAGED);
-        noWsdlIllegalMethods.add(GET_PORT_CLIENT_MANAGED);
-        noWsdlIllegalMethods.add(GET_PORTS);
-        noWsdlIllegalMethods.add(GET_SERVICE_NAME);
-        noWsdlIllegalMethods.add(GET_TYPE_MAPPING_REGISTRY);
-        noWsdlIllegalMethods.add(GET_WSDL_LOCATION);
-
-        // This case shouldn't happen since if service-ref has generated
-        // service and no WSDL it won't get past deployment, but it's here
-        // for completeness.
-        noWsdlIllegalMethods.add(Integer.valueOf(GENERATED_SERVICE_METHOD));
-    }
-
-    private void checkUnsupportedMethods(int methodType)
-            throws UnsupportedOperationException {
-
-        Set illegalMethods = fullWsdl ?
-                fullWsdlIllegalMethods : noWsdlIllegalMethods;
-
-        if( illegalMethods.contains( Integer.valueOf(methodType)) ) {
-            throw new UnsupportedOperationException();
-        }
-
-        return;
-    }
-
-    private void setStubProperties(Stub stub, int methodType, Method method,
-                                   Object[] args) {
-
-        // Port info lookup will be based on SEI or port.
-        QName port = null;
-        String serviceEndpointInterface = null;
-
-        switch(methodType) {
-            case GET_PORT_CONTAINER_MANAGED :
-
-                serviceEndpointInterface = ((Class) args[0]).getName();
-                break;
-
-            case GET_PORT_CLIENT_MANAGED :
-
-                port = (QName) args[0];
-                serviceEndpointInterface = ((Class) args[1]).getName();
-                break;
-
-            case GENERATED_SERVICE_METHOD :
-
-                // java.rmi.Remote get<Name_of_wsdl:port>()
-                String portLocalPart = method.getName().startsWith("get") ?
-                        method.getName().substring(3) : null;
-                if( portLocalPart != null ) {
-                    QName serviceName = serviceRef.getServiceName();
-                    port = new QName(serviceName.getNamespaceURI(), portLocalPart);
-                }
-                serviceEndpointInterface = method.getReturnType().getName();
-
-                break;
-
-            default :
-                return;
-        }
-
-        ServiceRefPortInfo portInfo = null;
-
-        // If port is known, it takes precedence in lookup.
-        if( port != null ) {
-            portInfo = serviceRef.getPortInfoByPort(port);
-        }
-        if( portInfo == null ) {
-            portInfo = serviceRef.getPortInfoBySEI(serviceEndpointInterface);
-        }
-
-        if( portInfo != null ) {
-            Set properties = portInfo.getStubProperties();
-
-            for(Iterator iter = properties.iterator(); iter.hasNext();) {
-                NameValuePairDescriptor next = (NameValuePairDescriptor)
-                        iter.next();
-
-                stub._setProperty(next.getName(), next.getValue());
-
-            }
-
-            // If this port has a resolved target endpoint address due to a
-            // port-component-link, set it on stub.  However, if the runtime
-            // info has an entry for target endpoint address, that takes 
-            // precedence.
-            if( portInfo.hasTargetEndpointAddress() ) {
-                if(!portInfo.hasStubProperty(Stub.ENDPOINT_ADDRESS_PROPERTY)) {
-                    stub._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY,
-                            portInfo.getTargetEndpointAddress());
-                }
-            }
-        }
-    }
-
-    private void setCallProperties(Call[] calls, int methodType, Object[] args){
-
-        Set callProperties = getPropertiesForCall(methodType, args);
-
-        if( callProperties != null ) {
-            for(int callIndex = 0; callIndex < calls.length; callIndex++) {
-                setCallProperties(calls[callIndex], callProperties);
-            }
-        }
-    }
-
-    private Set getPropertiesForCall(int methodType, Object args[]) {
-
-        Set callProperties = null;
-        switch(methodType) {
-
-            case CREATE_CALL_PORT :
-            case CREATE_CALL_OPERATION_QNAME :
-            case CREATE_CALL_OPERATION_STRING :
-            case GET_CALLS :
-
-                // Each of these methods has port as first argument.
-                QName port = (QName) args[0];
-
-                // Check if call properties are set at the port level.
-                ServiceRefPortInfo portInfo =
-                        serviceRef.getPortInfoByPort(port);
-                if( portInfo != null ) {
-                    callProperties = portInfo.getCallProperties();
-                }
-
-                break;
-
-            case CREATE_CALL_NO_ARGS :
-
-                callProperties = serviceRef.getCallProperties();
-                break;
-
-            default:
-                break;
-        }
-
-        return callProperties;
-    }
-
-    private void setCallProperties(Call call, Set callProperties) {
-        for(Iterator iter = callProperties.iterator(); iter.hasNext();) {
-            NameValuePairDescriptor next = (NameValuePairDescriptor)
-                    iter.next();
-            call.setProperty(next.getName(), next.getValue());
-        }
-    }
-
-    private Object invokeJavaObjectMethod(InvocationHandler handler,
-                                          Method method, Object[] args)
-            throws Throwable {
-
-        Object returnValue = null;
-
-        // Can only be one of : 
-        //     boolean java.lang.Object.equals(Object)
-        //     int     java.lang.Object.hashCode()
-        //     String  java.lang.Object.toString()
-        //
-        // Optimize by comparing as few characters as possible.
-
-        switch( method.getName().charAt(0) ) {
-            case 'e' :
-                Object other = Proxy.isProxyClass(args[0].getClass()) ?
-                        Proxy.getInvocationHandler(args[0]) : args[0];
-                returnValue = Boolean.valueOf(handler.equals(other));
-                break;
-            case 'h' :
-                returnValue = Integer.valueOf(handler.hashCode());
-                break;
-            case 't' :
-                returnValue = handler.toString();
-                break;
-            default :
-                throw new Throwable("Object method " + method.getName() +
-                        "not found");
-        }
-
-        return returnValue;
-    }
-
-    /* TODO remove me if none of the cts use this
-    private void setJBIProperties(Object stubOrCall, ServiceRefPortInfo portInfo) {
-        // Check if the target service is a JBI service, and get its QName
-        QName svcQName = serviceRef.getServiceName();
-        if ( svcQName == null )
-            return;
-
-        if ( stubOrCall instanceof Stub ) {
-            com.sun.xml.rpc.spi.runtime.StubBase stub =
-                    (com.sun.xml.rpc.spi.runtime.StubBase)stubOrCall;
-
-            try {
-                // This statement is getting executed only
-                //because jbi-enabled property on the stub is set to true
-                //TODO BM fix this later
-                 ServiceEngineUtil.setJBITransportFactory(portInfo, stub, true);
-
-            } catch(Throwable e) {
-                // Do nothing
-                //logger.severe("Exception raised while setting transport " +
-                //      "factory to NMR : " + e.getMessage());
-            }
-            return;
-        }
-    }*/
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServletPostHandler.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServletPostHandler.java
deleted file mode 100644
index 2a7da53..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServletPostHandler.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-import java.lang.reflect.Method;
-
-import java.rmi.UnmarshalException;
-
-import javax.xml.namespace.QName;
-
-import javax.xml.rpc.handler.GenericHandler;
-import javax.xml.rpc.handler.MessageContext;
-
-/*import com.sun.enterprise.Switch;
-import com.sun.enterprise.ComponentInvocation;
-import com.sun.enterprise.InvocationManager;*/
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-import com.sun.enterprise.web.WebComponentInvocation;
-import org.glassfish.api.invocation.InvocationManager;
-
-/**
- * This handler is inserted last in the handler chain for an
- * servlet web service endpoint.  
- *
- * @author Kenneth Saks
- */
-public class ServletPostHandler extends GenericHandler {
-
-    private static final Logger logger = LogUtils.getLogger();
-    private final WsUtil wsUtil = new WsUtil();
-
-    public ServletPostHandler() {}
-
-    @Override
-    public QName[] getHeaders() {
-        return new QName[0];
-    }
-
-    @Override
-    public boolean handleRequest(MessageContext context) {
-        WebComponentInvocation inv = null;
-
-        try {
-            WebServiceContractImpl wscImpl = WebServiceContractImpl.getInstance();
-            InvocationManager invManager = wscImpl.getInvocationManager();
-            Object obj = invManager.getCurrentInvocation();
-            if (obj instanceof WebComponentInvocation) {
-                inv = WebComponentInvocation.class.cast(obj);
-                Method webServiceMethodInPreHandler = inv.getWebServiceMethod();
-                if (webServiceMethodInPreHandler != null) {
-                    // Now that application handlers have run, do another method
-                    // lookup and compare the results with the original one.  This
-                    // ensures that the application handlers have not changed
-                    // the message context in any way that would impact which
-                    // method is invoked.
-                    Method postHandlerMethod = wsUtil.getInvMethod(
-                            (com.sun.xml.rpc.spi.runtime.Tie) inv.getWebServiceTie(), context);
-                    if (!webServiceMethodInPreHandler.equals(postHandlerMethod)) {
-                        throw new UnmarshalException("Original method " + webServiceMethodInPreHandler
-                                + " does not match post-handler method ");
-                    }
-                }
-            }
-        } catch(Exception e) {
-            logger.log(Level.WARNING, LogUtils.POST_WEBHANDLER_ERROR, e.toString());
-            wsUtil.throwSOAPFaultException(e.getMessage(), context);
-        }
-        return true;
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServletPreHandler.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServletPreHandler.java
deleted file mode 100644
index e237eb0..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServletPreHandler.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import javax.xml.namespace.QName;
-
-import javax.xml.rpc.handler.GenericHandler;
-import javax.xml.rpc.handler.MessageContext;
-
-import java.util.logging.Logger;
-import java.util.logging.Level;
-import org.glassfish.api.invocation.InvocationManager;
-
-import com.sun.enterprise.web.WebComponentInvocation;
-
-import com.sun.xml.rpc.server.http.Implementor;
-import com.sun.xml.rpc.server.http.MessageContextProperties;
-
-/**
- * This handler is inserted first in the handler chain for an
- * servlet web service endpoint.  
- *
- * @author Kenneth Saks
- */
-public class ServletPreHandler extends GenericHandler {
-
-    private static Logger logger = LogUtils.getLogger();
-    private final WsUtil wsUtil = new WsUtil();
-
-    public ServletPreHandler() {}
-
-    @Override
-    public QName[] getHeaders() {
-        return new QName[0];
-    }
-
-    @Override
-    public boolean handleRequest(MessageContext context) {
-        WebComponentInvocation inv = null;
-
-        try {
-            WebServiceContractImpl wscImpl = WebServiceContractImpl.getInstance();
-            InvocationManager invManager = wscImpl.getInvocationManager();
-            Object obj = invManager.getCurrentInvocation();
-            if (obj instanceof WebComponentInvocation) {
-                inv = WebComponentInvocation.class.cast(obj);
-                com.sun.xml.rpc.spi.runtime.Tie tie
-                        = (com.sun.xml.rpc.spi.runtime.Tie) inv.getWebServiceTie();
-                if (tie == null) {
-                    Implementor implementor = (Implementor) context.getProperty(MessageContextProperties.IMPLEMENTOR);
-                    tie = implementor.getTie();
-                    inv.setWebServiceTie(tie);
-                }
-                inv.setWebServiceMethod(wsUtil.getInvMethod(tie, context));
-            }
-
-        } catch(Exception e) {
-            logger.log(Level.WARNING, LogUtils.PRE_WEBHANDLER_ERROR, e.toString());
-            wsUtil.throwSOAPFaultException(e.getMessage(), context);
-        }
-        return true;
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServletWebServiceDelegate.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServletWebServiceDelegate.java
deleted file mode 100644
index bb36c10..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/ServletWebServiceDelegate.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import com.sun.enterprise.container.common.spi.util.ComponentEnvManager;
-import com.sun.enterprise.deployment.JndiNameEnvironment;
-import com.sun.enterprise.deployment.WebServicesDescriptor;
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-
-import org.glassfish.webservices.monitoring.JAXRPCEndpointImpl;
-
-//TBD
-//import com.sun.enterprise.security.jmac.provider.ServerAuthConfig;
-
-
-// JAX-RPC SPI
-import com.sun.xml.rpc.spi.JaxRpcObjectFactory;
-import com.sun.xml.rpc.spi.runtime.ImplementorCache;
-import com.sun.xml.rpc.spi.runtime.ImplementorCacheDelegate;
-import com.sun.xml.rpc.spi.runtime.RuntimeEndpointInfo;
-import com.sun.xml.rpc.spi.runtime.ServletDelegate;
-import com.sun.xml.rpc.spi.runtime.ServletSecondDelegate;
-import com.sun.xml.rpc.spi.runtime.SystemHandlerDelegate;
-import java.text.MessageFormat;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-import javax.xml.ws.WebServiceException;
-import java.util.*;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-import org.glassfish.internal.api.Globals;
-import org.glassfish.webservices.monitoring.EndpointImpl;
-import org.glassfish.webservices.monitoring.WebServiceEngineImpl;
-
-/**
- * This class is delegated to by the container-provided servlet-class 
- * that is written into the web.xml at deployment time.  It overrides
- * the JAXRPC servlet delegate to register endpoint information and
- * intercept certain events.
- */
-public class ServletWebServiceDelegate extends ServletSecondDelegate {
-
-    private static final Logger logger = LogUtils.getLogger();
-    private WebServiceEndpoint endpoint_;
-
-    private ServletDelegate rpcDelegate_;
-
-    private JaxRpcObjectFactory rpcFactory_;
-
-    private WebServiceEngineImpl wsEngine_;
-    private JAXRPCEndpointImpl endpointImpl_;
-
-    private org.glassfish.webservices.SecurityService  secServ;
-
-    public ServletWebServiceDelegate (ServletDelegate firstDelegate) {
-        rpcDelegate_ = firstDelegate;
-        rpcFactory_ = JaxRpcObjectFactory.newInstance();
-        wsEngine_ = WebServiceEngineImpl.getInstance();
-        if (Globals.getDefaultHabitat() != null) {
-            secServ = Globals.get(org.glassfish.webservices.SecurityService.class);
-        }
-    }
-
-    @Override
-    public void postInit(ServletConfig servletConfig) throws ServletException {
-
-        String servletName = "unknown";
-
-        try {
-            WebServiceContractImpl wscImpl = WebServiceContractImpl.getInstance();
-            ComponentEnvManager compEnvManager = wscImpl.getComponentEnvManager();
-            JndiNameEnvironment jndiNameEnv = compEnvManager.getCurrentJndiNameEnvironment();
-            WebBundleDescriptor webBundle = null;
-            if (jndiNameEnv != null && jndiNameEnv instanceof WebBundleDescriptor){
-                webBundle = ((WebBundleDescriptor)jndiNameEnv);
-            } else {
-               throw new WebServiceException("Cannot intialize the JAXRPCServlet for " + jndiNameEnv);
-            }
-            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-            servletName = servletConfig.getServletName();
-            WebComponentDescriptor webComponent =
-                    webBundle.getWebComponentByCanonicalName(servletName);
-            if( webComponent != null ) {
-                WebServicesDescriptor webServices = webBundle.getWebServices();
-                Collection endpoints =
-                        webServices.getEndpointsImplementedBy(webComponent);
-                // Only 1 endpoint per servlet is supported, even though
-                // data structure implies otherwise. 
-                endpoint_ = (WebServiceEndpoint) endpoints.iterator().next();
-                registerEndpoint(classLoader);
-
-                // if a conventional authentication mechanism has NOT been configured
-                // for the endpoint create and install system handler for web services
-                // security
-                if (secServ != null) {
-                    SystemHandlerDelegate securityHandlerDelegate = secServ.getSecurityHandler(endpoint_);
-                    if (securityHandlerDelegate != null) {
-                        rpcDelegate_.setSystemHandlerDelegate(securityHandlerDelegate);
-
-                        // need to invoke the endpoint lifecylcle
-                        EndpointImpl obj = wsEngine_.createHandler(securityHandlerDelegate, endpoint_);
-                        if (obj instanceof JAXRPCEndpointImpl)
-                            endpointImpl_ = JAXRPCEndpointImpl.class.cast(obj);
-                        rpcDelegate_.setSystemHandlerDelegate(endpointImpl_);
-                    }
-                }
-
-            } else {
-                throw new ServletException(servletName + " not found");
-            }
-        } catch(Throwable t) {
-            String msg = MessageFormat.format(
-                    logger.getResourceBundle().getString(LogUtils.SERVLET_ENDPOINT_FAILURE),
-                    servletName);
-            logger.log(Level.WARNING, msg, t);
-            throw new ServletException(t);
-        }
-    }
-
-    public void destroy() {
-        wsEngine_.removeHandler(endpoint_);
-    }
-
-    @Override
-    public void doGet(HttpServletRequest request,
-                      HttpServletResponse response) throws ServletException {
-
-        // normal WSDL retrieval invocation
-        WsUtil wsUtil = new WsUtil();
-        try {
-            wsUtil.handleGet(request, response, endpoint_);
-        } catch(Exception e) {
-            String msg = MessageFormat.format(
-                    logger.getResourceBundle().getString(LogUtils.SERVLET_ENDPOINT_GET_ERROR),
-                    endpoint_.getEndpointName());
-            logger.log(Level.WARNING, msg, e);
-        }
-    }
-
-    public  void doPost(HttpServletRequest request,
-                        HttpServletResponse response) throws ServletException {
-
-        rpcDelegate_.doPost(request, response);
-
-    }
-
-    @Override
-    public void warnMissingContextInformation() {
-        // context info not used within j2ee integration, so override
-        // this method to prevent warning message
-    }
-
-    @Override
-    public ImplementorCache createImplementorCache(ServletConfig sc) {
-        ImplementorCache ic = rpcFactory_.createImplementorCache(sc);
-        ImplementorCacheDelegate delegate =
-                new ImplementorCacheDelegateImpl(sc);
-        ic.setDelegate(delegate);
-        return ic;
-    }
-
-    private void registerEndpoint(ClassLoader loader)
-            throws Exception {
-
-        //
-        // Convert J2EE deployment descriptor information into 
-        // JAXRPC endpoint data structure
-        //
-
-        RuntimeEndpointInfo endpointInfo =
-                rpcFactory_.createRuntimeEndpointInfo();
-
-        Class serviceEndpointInterfaceClass =
-                loader.loadClass(endpoint_.getServiceEndpointInterface());
-        Class implementationClass =
-                loader.loadClass(endpoint_.getServletImplClass());
-        String tieClassName = endpoint_.getTieClassName();
-        if(tieClassName != null) {
-            Class tieClass = loader.loadClass(tieClassName);
-            endpointInfo.setTieClass(tieClass);
-        }
-
-        endpointInfo.setRemoteInterface(serviceEndpointInterfaceClass);
-        endpointInfo.setImplementationClass(implementationClass);
-
-        endpointInfo.setName(endpoint_.getEndpointName());
-
-
-        // No need to set model file name or wsdl file, since we override
-        // the code that serves up the final WSDL.
-        //endpointInfo.setModelFileName()
-        //endpointInfo.setWSDLFileName()
-
-        endpointInfo.setDeployed(true);
-        endpointInfo.setPortName(endpoint_.getWsdlPort());
-
-        endpointInfo.setServiceName(endpoint_.getServiceName());
-
-        // For web components, this will be relative to the web app
-        // context root.  Make sure there is a leading slash.
-        String uri = endpoint_.getEndpointAddressUri();
-        uri = uri.startsWith("/") ? uri : "/" + uri;
-        endpointInfo.setUrlPattern(uri);
-
-        rpcDelegate_.registerEndpointUrlPattern(endpointInfo);
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/SingleThreadJAXRPCServlet.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/SingleThreadJAXRPCServlet.java
deleted file mode 100644
index 9aae2f1..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/SingleThreadJAXRPCServlet.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-import javax.servlet.SingleThreadModel;
-
-/**
- * Single-threaded JAXRPC Servlet
- * @author Bhakti Mehta
- *
- */
-public class SingleThreadJAXRPCServlet extends JAXRPCServlet 
-    implements SingleThreadModel {
-
-}
-
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServiceEjbEndpointRegistry.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServiceEjbEndpointRegistry.java
index bae4c66..d1c728a 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServiceEjbEndpointRegistry.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServiceEjbEndpointRegistry.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -75,7 +75,7 @@
                                   EjbEndpointFacade ejbContainer,
                                   Object servant, Class tieClass)  {
         String uri = null;
-        EjbRuntimeEndpointInfo endpoint = createEjbEndpointInfo(webserviceEndpoint, ejbContainer,servant,tieClass);
+        EjbRuntimeEndpointInfo endpoint = createEjbEndpointInfo(webserviceEndpoint, ejbContainer,servant);
         synchronized(webServiceEjbEndpoints) {
             String uriRaw = endpoint.getEndpointAddressUri();
             if (uriRaw != null ) {
@@ -95,15 +95,11 @@
 
         // notify monitoring layers that a new endpoint is being created.
         WebServiceEngineImpl engine = WebServiceEngineImpl.getInstance();
-        if (endpoint.getEndpoint().getWebService().getMappingFileUri()!=null) {
-            engine.createHandler((com.sun.xml.rpc.spi.runtime.SystemHandlerDelegate)null, endpoint.getEndpoint());
-        } else {
-            engine.createHandler(endpoint.getEndpoint());
-            try {
-                endpoint.initRuntimeInfo(adapterListMap.get(uri));
-            } catch (Exception e) {
-                logger.log(Level.WARNING,LogUtils.EJB_POSTPROCESSING_ERROR, e);
-            }
+        engine.createHandler(endpoint.getEndpoint());
+        try {
+            endpoint.initRuntimeInfo(adapterListMap.get(uri));
+        } catch (Exception e) {
+            logger.log(Level.WARNING,LogUtils.EJB_POSTPROCESSING_ERROR, e);
         }
     }
 
@@ -154,23 +150,16 @@
         engine.removeHandler(endpoint.getEndpoint());
 
     }
-    
+
     /**
      * Creates a new EjbRuntimeEndpointInfo instance depending on the type
      * and version of the web service implementation.
      * @param   
      */
-  public EjbRuntimeEndpointInfo createEjbEndpointInfo(WebServiceEndpoint webServiceEndpoint,
+    public EjbRuntimeEndpointInfo createEjbEndpointInfo(WebServiceEndpoint webServiceEndpoint,
                                   EjbEndpointFacade ejbContainer,
-                                  Object servant, Class tieClass) {
-        EjbRuntimeEndpointInfo info = null;
-        if (webServiceEndpoint.getWebService().hasMappingFile()) {
-            info = new Ejb2RuntimeEndpointInfo(webServiceEndpoint, ejbContainer, servant, tieClass);
-        } else {
-            info = new EjbRuntimeEndpointInfo(webServiceEndpoint, ejbContainer, servant);
-        }
-
-        return info;
+                                  Object servant) {
+        return new EjbRuntimeEndpointInfo(webServiceEndpoint, ejbContainer, servant);
     }
 
     public EjbRuntimeEndpointInfo getEjbWebServiceEndpoint(String uriRaw, String method, String query) {
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServiceReferenceManagerImpl.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServiceReferenceManagerImpl.java
index 33674f4..0d05006 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServiceReferenceManagerImpl.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServiceReferenceManagerImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -32,7 +32,6 @@
 import javax.naming.NamingException;
 import javax.naming.InitialContext;
 import javax.xml.namespace.QName;
-import javax.xml.rpc.ServiceFactory;
 import javax.xml.ws.soap.MTOMFeature;
 import javax.xml.ws.soap.AddressingFeature;
 import javax.xml.ws.WebServiceFeature;
@@ -99,18 +98,9 @@
 
             resolvePortComponentLinks(desc);
 
-            javax.xml.rpc.Service serviceDelegate = null;
             javax.xml.ws.Service jaxwsDelegate = null;
             Object injValue = null;
 
-            if( desc.hasGeneratedServiceInterface() || desc.hasWsdlFile() ) {
-
-                String serviceImplName  = desc.getServiceImplClassName();
-                if(serviceImplName != null) {
-                    Class serviceImplClass  = cl.loadClass(serviceImplName);
-                    serviceDelegate = (javax.xml.rpc.Service) serviceImplClass.newInstance();
-                } else {
-
                     // The target is probably a post JAXRPC-1.1- based service;
                     // If Service Interface class is set, check if it is indeed a subclass of Service
                     // initiateInstance should not be called if the user has given javax.xml.ws.Service itself
@@ -170,20 +160,7 @@
                                         desc.getServiceName());
                         jaxwsDelegate = new JAXWSServiceDelegate(desc, svc, cl);
                     }
-                }
-
-                if( desc.hasHandlers() ) {
-                    // We need the service's ports to configure the
-                    // handler chain (since service-ref handler chain can
-                    // optionally specify handler-port association)
-                    // so create a configured service and call getPorts
-
-                    javax.xml.rpc.Service configuredService =
-                            wsUtil.createConfiguredService(desc);
-                    Iterator ports = configuredService.getPorts();
-                    wsUtil.configureHandlerChain
-                            (desc, serviceDelegate, ports, cl);
-                }
+                
 
                 // check if this is a post 1.1 web service
                 if(javax.xml.ws.Service.class.isAssignableFrom(serviceInterfaceClass)) {
@@ -213,29 +190,7 @@
 
                 }
 
-            } else {
-                // Generic service interface / no WSDL
-                QName serviceName = desc.getServiceName();
-                if( serviceName == null ) {
-                    // ServiceFactory API requires a service-name.
-                    // However, 109 does not allow getServiceName() to be
-                    // called, so it's ok to use a dummy value.
-                    serviceName = new QName("urn:noservice", "servicename");
-                }
-                ServiceFactory serviceFac = ServiceFactory.newInstance();
-                serviceDelegate = serviceFac.createService(serviceName);
-            }
-
-            // Create a proxy for the service object.
-            // Get a proxy only in jaxrpc case because in jaxws the service class is not
-            // an interface any more
-            InvocationHandler handler = null;
-            if(serviceDelegate != null) {
-
-                handler = new ServiceInvocationHandler(desc, serviceDelegate, cl);
-                returnObj = Proxy.newProxyInstance
-                        (cl, new Class[] { serviceInterfaceClass }, handler);
-            } else if(jaxwsDelegate != null) {
+            if(jaxwsDelegate != null) {
                 returnObj = jaxwsDelegate;
             } else if(injValue != null) {
                 returnObj = injValue;
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServicesDeployer.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServicesDeployer.java
index ca137e7..c1f3e38 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServicesDeployer.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WebServicesDeployer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -139,16 +139,7 @@
             Thread.currentThread().setContextClassLoader(newCl);
             WebServicesDescriptor wsDesc = bundle.getWebServices();
             for (WebService ws : wsDesc.getWebServices()) {
-                if ((new WsUtil()).isJAXWSbasedService(ws)){
                     setupJaxWSServiceForDeployment(dc, ws);
-                } else {
-                    JAXRPCCodeGenFacade facade= habitat.getService(JAXRPCCodeGenFacade.class);
-                    if (facade != null) {
-                        facade.run(habitat, dc, moduleCP, false);
-                    }  else {
-                        throw new DeploymentException(rb.getString(LogUtils.JAXRPC_CODEGEN_FAIL)) ;
-                    }
-                }
             }
             doWebServicesDeployment(app,dc);
             Thread.currentThread().setContextClassLoader(oldCl);
@@ -596,7 +587,7 @@
             // For JAXWS services, we rely on JAXWS RI to do WSL gen and publishing
             // For JAXRPC we do it here in 109
             //however it is needed for file publishing for jaxws
-            if(wsUtil.isJAXWSbasedService(next) && (!next.hasFilePublishing())) {
+            if(!next.hasFilePublishing()) {
                 for(WebServiceEndpoint wsep : next.getEndpoints()) {
                     URL finalWsdlURL = wsep.composeFinalWsdlUrl(wsUtil.getWebServerInfoForDAS().getWebServerRootURL(wsep.isSecure()));
                     Set<ServiceReferenceDescriptor> serviceRefs = new HashSet<ServiceReferenceDescriptor>();
@@ -694,26 +685,9 @@
 
             }
 
-            String servletImplClass = nextEndpoint.getServletImplClass();
-            try {
-                Class servletImplClazz  = cl.loadClass(servletImplClass);
-                String containerServlet;
-                if(wsutil.isJAXWSbasedService(nextEndpoint.getWebService())) {
-                    containerServlet = "org.glassfish.webservices.JAXWSServlet";
-                    addWSServletContextListener(webBunDesc);
-                } else {
-                    containerServlet =
-                    SingleThreadModel.class.isAssignableFrom(servletImplClazz) ?
-                    "org.glassfish.webservices.SingleThreadJAXRPCServlet" :
-                        "org.glassfish.webservices.JAXRPCServlet";
-                }
-                webComp.setWebComponentImplementation(containerServlet);
-
-            } catch(ClassNotFoundException cex) {
-                throw new DeploymentException( format(rb.getString(
-                        LogUtils.DEPLOYMENT_BACKEND_CANNOT_FIND_SERVLET),
-                        nextEndpoint.getEndpointName()));
-            }
+            String containerServlet = "org.glassfish.webservices.JAXWSServlet";
+            addWSServletContextListener(webBunDesc);
+            webComp.setWebComponentImplementation(containerServlet);
 
             /**
              * Now trying to figure the address from <code>com.sun.enterprise.webservice.WsUtil.java</code>
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsCompile.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsCompile.java
deleted file mode 100644
index 11c8bc5..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsCompile.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices;
-
-
-import java.util.Map;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-
-import java.util.Iterator;
-import java.util.List;
-
-
-import javax.xml.namespace.QName;
-
-//JAX-RPC SPI
-import com.sun.xml.rpc.spi.JaxRpcObjectFactory;
-import com.sun.xml.rpc.spi.tools.CompileTool;
-import com.sun.xml.rpc.spi.tools.CompileToolDelegate;
-import com.sun.xml.rpc.spi.tools.HandlerChainInfo;
-import com.sun.xml.rpc.spi.tools.HandlerInfo;
-import com.sun.xml.rpc.spi.tools.Configuration;
-import com.sun.xml.rpc.spi.tools.ModelInfo;
-import com.sun.xml.rpc.spi.model.Model;
-import com.sun.xml.rpc.spi.model.Service;
-import com.sun.xml.rpc.spi.model.Port;
-import com.sun.xml.rpc.spi.model.ModelProperties;
-
-import com.sun.enterprise.deployment.WebService;
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-import com.sun.enterprise.deployment.ServiceReferenceDescriptor;
-import com.sun.enterprise.deployment.WebServiceHandler;
-import com.sun.enterprise.deployment.NameValuePairDescriptor;
-
-/**
- * This implementation of WsCompile should be used only internally 
- * at deployment time (or j2eec).  Not meant to be overridden.
- *
- * @author Kenneth Saks
- */
-public final class WsCompile extends CompileToolDelegate {
-
-    private Collection generatedFiles;
-    private WebService webService;
-    private ServiceReferenceDescriptor serviceRef;
-    private WsUtil wsUtil = new WsUtil();
-    private CompileTool wscompile;
-    private JaxRpcObjectFactory rpcFactory;
-
-    // if set, used to override standard configuration
-    private ModelInfo modelInfo;
-
-    // true if wscompile encountered an error.
-    private boolean error = false;
-
-    public WsCompile(CompileTool compileTool, WebService webServiceDesc) {
-        wscompile = compileTool;
-        webService = webServiceDesc;
-        rpcFactory = JaxRpcObjectFactory.newInstance();
-    }
-
-    public WsCompile(CompileTool compileTool, 
-                     ServiceReferenceDescriptor serviceRefDesc) {
-        wscompile = compileTool;
-        serviceRef = serviceRefDesc;
-        rpcFactory = JaxRpcObjectFactory.newInstance();
-    }
-
-    public void setModelInfo(ModelInfo info) {
-        modelInfo = info;
-    }
-
-    public CompileTool getCompileTool() {
-        return wscompile;
-    }
-
-    /**
-     * com.sun.xml.rpc.spi.tools.wscompile.CompileToolDelegate overrides.
-     */
-
-    public Configuration createConfiguration() {
-        Configuration configuration = null;
-        if( modelInfo != null ) {
-            configuration = 
-		rpcFactory.createConfiguration(wscompile.getEnvironment());
-            configuration.setModelInfo(modelInfo);
-        } 
-        //else, leave it to the jaxrpc implementation to 
-        //create Configuration
-
-        return configuration;
-    }
-
-    public void preOnError() {
-        error = true;
-    }
-
-    public void postRegisterProcessorActions() {
-
-        if( !error) {
-
-            if (webService != null) {
-                setupServiceHandlerChain();
-            } 
-
-            // NOTE : Client handler chains are configured at runtime.
-        }
-    }
-
-    public void postRun() {
-        generatedFiles = new HashSet();
-
-        if( !error ) {
-            for(Iterator iter = wscompile.getEnvironment().getGeneratedFiles();
-                iter.hasNext(); ) {
-                generatedFiles.add( iter.next() );
-            }
-            if( webService != null ) {
-                doServicePostProcessing();
-            } else if( serviceRef != null ) {
-                doClientPostProcessing();
-            }
-        }
-    }
-
-    //
-    // WsCompile methods.
-    //
-
-    public Collection getGeneratedFiles() {
-        return generatedFiles;
-    }
-
-    private void setupServiceHandlerChain() {
-
-        Model model = wscompile.getProcessor().getModel();
-
-        Collection endpoints = webService.getEndpoints();
-        for(Iterator eIter = endpoints.iterator(); eIter.hasNext();) {
-            WebServiceEndpoint nextEndpoint = (WebServiceEndpoint) eIter.next();
-
-            if( !nextEndpoint.hasHandlers() ) {
-                continue;
-            }
-
-            Port port = wsUtil.getPortFromModel(model, 
-                                                nextEndpoint.getWsdlPort());
-            if( port == null ) {
-                throw new IllegalStateException("Model port for endpoint " + 
-                                                nextEndpoint.getEndpointName() +
-                                                " not found");
-            }
-            
-            List handlerChain = nextEndpoint.getHandlers();
-            HandlerChainInfo modelHandlerChain = 
-                port.getServerHCI();
-            List handlerInfoList = new ArrayList();
-
-            // Insert an container handler as the first element.
-            // This is needed to perform method authorization checks.
-            HandlerInfo preHandler = rpcFactory.createHandlerInfo();
-            String handlerClassName = nextEndpoint.implementedByEjbComponent() ?
-                "org.glassfish.webservices.EjbContainerPreHandler" :
-                "org.glassfish.webservices.ServletPreHandler";
-            preHandler.setHandlerClassName(handlerClassName);
-            handlerInfoList.add(preHandler);
-
-            // Collect all roles defined on each handler and set them on
-            // handler chain. NOTE : There is a bit of a mismatch here between 
-            // 109 and JAXRPC.  JAXRPC only defines roles at the handler chain
-            // level, whereas 109 descriptors put roles at the handler level.
-            Collection soapRoles = new HashSet();            
-
-            for(Iterator hIter = handlerChain.iterator(); hIter.hasNext();) {
-                WebServiceHandler nextHandler = 
-                    (WebServiceHandler) hIter.next();
-                HandlerInfo handlerInfo = createHandlerInfo(nextHandler);
-                handlerInfoList.add(handlerInfo);
-                soapRoles.addAll(nextHandler.getSoapRoles());
-            }
-
-            // Insert a container handler as the last element in the chain.
-            HandlerInfo postHandler = rpcFactory.createHandlerInfo();
-            handlerClassName = nextEndpoint.implementedByEjbComponent() ?
-                "org.glassfish.webservices.EjbContainerPostHandler" :
-                "org.glassfish.webservices.ServletPostHandler";
-            postHandler.setHandlerClassName(handlerClassName);
-            handlerInfoList.add(postHandler);
-
-            // @@@ should probably use addHandler api instead once
-            // == bug is fixed.
-            modelHandlerChain.setHandlersList(handlerInfoList);
-
-            for(Iterator roleIter = soapRoles.iterator(); roleIter.hasNext();) {
-                modelHandlerChain.addRole((String) roleIter.next());
-            }
-        }
-    }
-
-    private HandlerInfo createHandlerInfo(WebServiceHandler handler) {
-        HandlerInfo handlerInfo = rpcFactory.createHandlerInfo();
-        
-        handlerInfo.setHandlerClassName(handler.getHandlerClass());
-        for(Iterator iter = handler.getSoapHeaders().iterator(); 
-            iter.hasNext();) {
-            QName next = (QName) iter.next();
-            handlerInfo.addHeaderName(next);
-        }
-
-        Map properties = handlerInfo.getProperties();
-        for(Iterator iter = handler.getInitParams().iterator(); 
-            iter.hasNext();) {
-            NameValuePairDescriptor next = (NameValuePairDescriptor) 
-                iter.next();
-            properties.put(next.getName(), next.getValue());
-        }
-
-        return handlerInfo;
-    }
-
-    private void doServicePostProcessing() {
-
-        Model model = wscompile.getProcessor().getModel();
-
-        Collection endpoints = webService.getEndpoints();
-
-        for(Iterator iter = endpoints.iterator(); iter.hasNext(); ) {
-            WebServiceEndpoint next = (WebServiceEndpoint) iter.next();
-            Service service = wsUtil.getServiceForPort(model, 
-                                                       next.getWsdlPort());
-            if( service == null ) {
-                service = (Service) model.getServices().next();
-
-                System.out.println("Warning : Can't find Service for Endpoint '"
-                                   + next.getEndpointName() + "' Port '" +
-                                   next.getWsdlPort() + "'");
-
-                System.out.println("Defaulting to "+ service.getName());
-            }
-
-            QName serviceName = service.getName();
-
-            next.setServiceNamespaceUri(serviceName.getNamespaceURI());
-            next.setServiceLocalPart(serviceName.getLocalPart());
-
-            Port port = wsUtil.getPortFromModel(model, next.getWsdlPort());
-            if( port == null ) {
-                String msg = "Can't find model port for endpoint " 
-                    + next.getEndpointName() + " with wsdl-port " + 
-                    next.getWsdlPort();
-                throw new IllegalStateException(msg);
-            }
-
-            // If port has a tie class name property, use it.  Otherwise,
-            // use naming convention to derive tie class name.  If there
-            // are multiple ports per SEI(binding), then the property then
-            // the TIE_CLASS_NAME property will be available.  In that case,
-            // a separate tie and stub are generated per port.  
-            String tieClassName = (String)
-                port.getProperty(ModelProperties.PROPERTY_TIE_CLASS_NAME);
-            if( tieClassName == null ) {
-                tieClassName = next.getServiceEndpointInterface() + "_Tie";
-            }
-            next.setTieClassName(tieClassName);
-
-            if( next.implementedByWebComponent() ) {
-                wsUtil.updateServletEndpointRuntime(next);
-            } else {
-                wsUtil.validateEjbEndpoint(next);
-            }
-
-            String endpointAddressUri = next.getEndpointAddressUri();
-            if( endpointAddressUri == null ) {
-                String msg = "Endpoint address uri must be set for endpoint " +
-                    next.getEndpointName();
-                throw new IllegalStateException(msg);
-            } else if( endpointAddressUri.indexOf("*") >= 0 ) {
-                String msg = "Endpoint address uri " + endpointAddressUri + 
-                    " for endpoint " + next.getEndpointName() + 
-                    " is invalid. It must not contain the '*' character";
-                throw new IllegalStateException(msg);
-            } else if( endpointAddressUri.endsWith("/") ) {
-                String msg = "Endpoint address uri " + endpointAddressUri + 
-                    " for endpoint " + next.getEndpointName() + 
-                    " is invalid. It must not end with '/'";
-                throw new IllegalStateException(msg);
-            }
-        }
-    }
-
-    private void doClientPostProcessing() {
-        Model model = wscompile.getProcessor().getModel();
-
-        Iterator serviceIter = model.getServices();
-        Service service = null;
-
-        if( serviceRef.hasServiceName() ) {
-            while( serviceIter.hasNext() ) {
-                Service next = (Service) serviceIter.next();
-                if( next.getName().equals(serviceRef.getServiceName()) ) {
-                    service = next;
-                    break;
-                }
-            }
-            if( service == null ) {
-                throw new IllegalStateException
-                    ("Service " + serviceRef.getServiceName() + 
-                     " for service-ref " + serviceRef.getName() + " not found");
-            }
-        } else {
-            if( serviceIter.hasNext() ) {
-                service = (Service) serviceIter.next();
-                if( serviceIter.hasNext() ) {
-                    throw new IllegalStateException
-                        ("service ref " + serviceRef.getName() + " must specify"
-                         + " service name since its wsdl declares multiple"
-                         + " services");
-                }
-                QName sName = service.getName();
-                serviceRef.setServiceNamespaceUri(sName.getNamespaceURI());
-                serviceRef.setServiceLocalPart(sName.getLocalPart());
-            } else {
-                throw new IllegalStateException
-                    ("service ref " + serviceRef.getName() + " WSDL must " +
-                     "define at least one Service");
-            }
-        }
-
-        // Use naming convention to derive Generated Service 
-        // implementation class name.  
-        String serviceImpl = service.getJavaIntf().getName() + "_Impl";
-        serviceRef.setServiceImplClassName(serviceImpl);
-
-    }
-
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsUtil.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsUtil.java
index 1d59a43..94a1ac1 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsUtil.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0, which is available at
@@ -34,20 +34,6 @@
 
 import javax.servlet.http.*;
 import javax.xml.namespace.QName;
-import javax.xml.rpc.handler.MessageContext;
-import javax.xml.rpc.ServiceFactory;
-import javax.xml.rpc.handler.soap.SOAPMessageContext;
-import javax.xml.rpc.soap.SOAPFaultException;
-import javax.xml.rpc.handler.HandlerInfo;
-import javax.xml.rpc.handler.HandlerRegistry;
-import com.sun.xml.rpc.spi.JaxRpcObjectFactory;
-import com.sun.xml.rpc.spi.model.Model;
-import com.sun.xml.rpc.spi.model.ModelProperties;
-import com.sun.xml.rpc.spi.model.Port;
-import com.sun.xml.rpc.spi.model.Service;
-import com.sun.xml.rpc.spi.runtime.SOAPConstants;
-import com.sun.xml.rpc.spi.runtime.StreamingHandler;
-import com.sun.xml.rpc.spi.runtime.Tie;
 
 
 import java.util.*;
@@ -122,20 +108,11 @@
         config = WebServiceContractImpl.getInstance().getConfig();
     }
 
-    // @@@ These are jaxrpc-implementation specific MessageContextProperties
-    // that should be added to jaxrpc spi
-    private static final String ONE_WAY_OPERATION =
-        "com.sun.xml.rpc.server.OneWayOperation";
-    private static final String CLIENT_BAD_REQUEST =
-        "com.sun.xml.rpc.server.http.ClientBadRequest";
-    
     private static final String SECURITY_POLICY_NAMESPACE_URI = 
             "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";
 
     private static final Logger logger = LogUtils.getLogger();
 
-    private JaxRpcObjectFactory rpcFactory;
-
 
     /**
      * Serve up the FINAL wsdl associated with this web service.
@@ -604,30 +581,6 @@
         return;
     }
 
-    public HandlerInfo createHandlerInfo(WebServiceHandler handler,
-                                         ClassLoader loader) 
-        throws Exception {
-
-        QName[] headers = new QName[handler.getSoapHeaders().size()];
-        int i = 0;
-        for(Iterator iter = handler.getSoapHeaders().iterator();
-            iter.hasNext();) {
-            headers[i] = (QName) iter.next();
-            i++;
-        }
-
-        Map properties = new HashMap();
-        for(Iterator iter = handler.getInitParams().iterator(); 
-            iter.hasNext();) {
-            NameValuePairDescriptor next = (NameValuePairDescriptor) 
-                iter.next();
-            properties.put(next.getName(), next.getValue());
-        }
-
-        Class handlerClass = loader.loadClass(handler.getHandlerClass());
-        return new HandlerInfo(handlerClass, properties, headers);
-    }
-
    /**
      * Accessing wsdl URL might involve file system access, so wrap
      * operation in a doPrivileged block.
@@ -691,188 +644,6 @@
         return wsdlFileURL;
     }
 
-    public boolean isJAXWSbasedService(WebService ws) {
-
-        if(ws.isJaxWSBased() != null) {
-            //already verified
-            return ws.isJaxWSBased();
-        }
-
-        boolean jaxwsEndPtFound = false;
-        boolean jaxrpcEndPtFound = false;
-
-        String declaredType = ws.getType();
-        if(declaredType != null) {
-            if(declaredType.equals("JAXWS")) {
-                jaxwsEndPtFound = true;
-            } else if(declaredType.equals("JAXRPC")) {
-                jaxrpcEndPtFound = true;
-            } else {
-                logger.log(Level.SEVERE, LogUtils.WS_TYPE_ERROR, new Object[] {ws.getDescription(), declaredType});
-            }
-        }
-        //Verify that all the endpoints are of the same type 
-        for (WebServiceEndpoint endpoint : ws.getEndpoints()) {
-            if (endpoint.getLinkName() == null) {
-                String msg = MessageFormat.format(
-                        logger.getResourceBundle().getString(LogUtils.UNRESOLVED_LINK),
-                        new Object[] {endpoint.getEndpointName(), endpoint.getLinkName()});
-                    logger.log(Level.SEVERE, msg);
-                    throw new RuntimeException(msg);
-            }
-            String implClassName = null;
-            if (endpoint.implementedByEjbComponent()) {
-                if (endpoint.getEjbComponentImpl() != null) {
-                    implClassName = endpoint.getEjbComponentImpl().getEjbClassName();
-                }
-            } else {
-                if (endpoint.getWebComponentImpl() != null) {
-                    implClassName = endpoint.getWebComponentImpl().getWebComponentImplementation();
-                }
-            }
-            if (implClassName == null || "".equals(implClassName.trim())) {
-                String msg = MessageFormat.format(
-                        logger.getResourceBundle().getString(LogUtils.MISSING_IMPLEMENTATION_CLASS),
-                        endpoint.getEndpointName());
-                logger.log(Level.SEVERE, msg);
-                throw new RuntimeException(msg);
-            }
-            Class implClass;
-            try {
-                implClass = Thread.currentThread().getContextClassLoader().loadClass(implClassName);
-            } catch(Exception e) {
-                String msg = MessageFormat.format(
-                        logger.getResourceBundle().getString(LogUtils.CANNOT_LOAD_IMPLCLASS),
-                        implClassName);
-                logger.log(Level.SEVERE, msg);
-                throw new RuntimeException(msg);
-            }
-            if (implClass!=null) {
-                if(implClass.getAnnotation(javax.xml.ws.WebServiceProvider.class) != null) {
-                    // if we already found a jaxrpcendpoint, flag error since we do not support jaxws+jaxrpc endpoint
-                    // in the same service
-                    if(jaxrpcEndPtFound) {
-                        logger.log(Level.SEVERE, LogUtils.JAXWS_JAXRPC_ERROR, implClassName);
-                        continue;
-                    }
-                    //This is a JAXWS endpoint with @WebServiceProvider
-                    //Do not run wsgen for this endpoint
-                    jaxwsEndPtFound = true;
-                    continue;
-                }
-                if(implClass.getAnnotation(javax.jws.WebService.class) != null) {
-                    // if we already found a jaxrpcendpoint, flag error since we do not support jaxws+jaxrpc endpoint
-                    // in the same service
-                    if(jaxrpcEndPtFound) {
-                        logger.log(Level.SEVERE, LogUtils.JAXWS_JAXRPC_ERROR, implClassName);
-                        continue;
-                    }
-                    // This is a JAXWS endpoint with @WebService;
-                    jaxwsEndPtFound = true;
-                    continue;
-                }
-                if (JAXWSServlet.class.isAssignableFrom(implClass)) {
-                     // if we already found a jaxrpcendpoint, flag error since we do not support jaxws+jaxrpc endpoint
-                    // in the same service
-                    if(jaxrpcEndPtFound) {
-                        logger.log(Level.SEVERE, LogUtils.JAXWS_JAXRPC_ERROR, implClassName);
-                        continue;
-                    }
-                    // This is a JAXWS endpoint with @WebService;
-                    jaxwsEndPtFound = true;
-                    continue;
-                } else {
-                    // this is a jaxrpc endpoint
-                    // if we already found a jaxws endpoint, flag error since we do not support jaxws+jaxrpc endpoint
-                    // in the same service
-                    if(jaxwsEndPtFound) {
-                        logger.log(Level.SEVERE, LogUtils.JAXWS_JAXRPC_ERROR, implClassName);
-                        continue;
-                    }
-                    // Set spec version to 1.1 to indicate later the wscompile should be run
-                    // We do this here so that jaxrpc endpoint having J2EE1.4 or JavaEE5
-                    // descriptors will work properly
-                    jaxrpcEndPtFound = true;
-                    ws.getWebServicesDescriptor().setSpecVersion("1.1");
-                }
-            }
-        }
-
-        if(jaxwsEndPtFound) {
-            ws.setJaxWSBased(true);
-            ws.setType("JAX-WS");
-        } else {
-            ws.setJaxWSBased(false);
-            ws.setType("JAX-RPC");
-        }
-        return jaxwsEndPtFound;
-    }
-
-    public javax.xml.rpc.Service createConfiguredService
-        (ServiceReferenceDescriptor desc) throws Exception {
-        
-        final ServiceReferenceDescriptor serviceRef = desc;
-        javax.xml.rpc.Service service = null;
-        try {
-
-            // Configured service can be created with any kind of URL.
-            // Since resolving it might require file system access,
-            // do operation in a doPrivivileged block.  JAXRPC RI should
-            // probably have the doPrivileged as well.
-
-            final URL wsdlFileURL = privilegedGetServiceRefWsdl(serviceRef);
-            final QName serviceName = serviceRef.getServiceName();
-            final ServiceFactory serviceFactory = ServiceFactory.newInstance();
-
-            service = (javax.xml.rpc.Service) 
-                java.security.AccessController.doPrivileged
-                (new java.security.PrivilegedExceptionAction() {
-                        public java.lang.Object run() throws Exception {
-                            return serviceFactory.createService
-                                (wsdlFileURL, serviceName);
-                        }
-                    });
-
-        } catch(PrivilegedActionException pae) {
-            logger.log(Level.WARNING, LogUtils.EXCEPTION_THROWN, pae);
-            Exception e = new Exception();
-            e.initCause(pae.getCause());
-            throw e;
-        }
-
-        return service;
-    }
-
-    public void configureHandlerChain(ServiceReferenceDescriptor serviceRef,
-                                      javax.xml.rpc.Service service, 
-                                      Iterator ports, ClassLoader loader)
-        throws Exception {
-
-        if( !serviceRef.hasHandlers() ) {
-            return;
-        }
-        
-        HandlerRegistry registry = service.getHandlerRegistry();
-        
-        while(ports.hasNext()) {
-            QName nextPort = (QName) ports.next();
-
-            List handlerChain = registry.getHandlerChain(nextPort);
-
-            for(Iterator iter = serviceRef.getHandlers().iterator();
-                iter.hasNext();) {
-                WebServiceHandler nextHandler = (WebServiceHandler) iter.next();
-                Collection portNames = nextHandler.getPortNames();
-                if( portNames.isEmpty() || 
-                    portNames.contains(nextPort.getLocalPart()) ) {
-                    HandlerInfo handlerInfo = 
-                        createHandlerInfo(nextHandler, loader);
-                    handlerChain.add(handlerInfo);
-                }
-            }
-        }
-    }
-
     /**
      * Create an xslt template for transforming the packaged webservice
      * WSDL to a final WSDL.
@@ -1030,34 +801,6 @@
         return templates;
     }
 
-    /**
-     * @return Set of service endpoint interface class names supported by
-     * a generated service interface.
-     *
-     * @return Collection of String class names
-     */
-    public Collection getSEIsFromGeneratedService
-        (Class generatedServiceInterface) throws Exception {
-
-        Collection seis = new HashSet();
-
-        Method[] declaredMethods =
-            generatedServiceInterface.getDeclaredMethods();
-
-        // Use naming convention from jaxrpc spec to derive SEI class name.
-        for(int i = 0; i < declaredMethods.length; i++) {
-            Method next = declaredMethods[i];
-            Class returnType = next.getReturnType();
-            if( next.getName().startsWith("get") &&
-                (next.getDeclaringClass() != javax.xml.rpc.Service.class) &&
-                java.rmi.Remote.class.isAssignableFrom(returnType) ) {
-                seis.add(returnType.getName());
-            }
-        }
-
-        return seis;
-    }
-
    /* *//**
      * Called from client side deployment object on receipt of final
      * wsdl from server.  
@@ -1100,205 +843,7 @@
         }
         return finalWsdlFile;
     }
-
-    *//**
-     * Find a Port object within the JAXRPC Model.
-     */
-    public Port getPortFromModel(Model model, QName portName) {
-        
-        for(Iterator serviceIter = model.getServices(); serviceIter.hasNext();){
-            Service next = (Service) serviceIter.next();
-            for(Iterator portIter = next.getPorts(); portIter.hasNext();) {
-                Port nextPort = (Port) portIter.next();
-                if( portsEqual(nextPort, portName) ) {
-                    return nextPort;
-                }
-            }
-        }
-        return null;
-    }
-
-    /**
-     * Find a Service in which a particular port is defined.  Assumes port
-     * QName is unique within a WSDL.
-     */
-    public Service getServiceForPort(Model model, QName thePortName) {
-
-        for(Iterator serviceIter = model.getServices(); 
-            serviceIter.hasNext();) {
-            Service nextService = (Service) serviceIter.next();
-            for(Iterator portIter = nextService.getPorts(); 
-                portIter.hasNext();) {
-                
-                Port nextPort = (Port) portIter.next();
-                if( portsEqual(nextPort, thePortName) ) {
-                    return nextService;
-                }
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * Logic for matching a port qname with a Port object from 
-     * the JAXRPC-RI Model.
-     */
-    public boolean portsEqual(Port port, QName candidatePortName) {
-
-        boolean equal = false;
-
-        // Better to use Port object's WSDL_PORT property for port
-        // QName than Port.getName().  If that returns null, use
-        // Port.getName().
-        QName portPropertyName = (QName) port.getProperty
-            (ModelProperties.PROPERTY_WSDL_PORT_NAME);
-
-        if( portPropertyName != null ) {
-            equal = candidatePortName.equals(portPropertyName);
-        } else {
-            equal = candidatePortName.equals(port.getName());
-        }
-
-        return equal;
-    }
-
-    // Return collection of Port objects
-    public Collection getAllPorts(Model model) {
-        Collection ports = new HashSet();
-        for(Iterator serviceIter = model.getServices(); 
-            serviceIter.hasNext();) {
-            Service next = (Service) serviceIter.next();
-            ports.addAll(next.getPortsList());
-        }
-        return ports;
-    }
-
-    /**
-     *@return a method object representing the target of a web service 
-     * invocation
-     */
-    public Method getInvMethod(Tie webServiceTie, MessageContext context) 
-        throws Exception {
-
-        // Use tie to get Method from SOAP message inv.webServiceTie
-
-        SOAPMessageContext soapMsgContext = (SOAPMessageContext) context;
-        SOAPMessage message = soapMsgContext.getMessage();
-
-        if (!(webServiceTie instanceof StreamingHandler)) {
-            throw new IllegalArgumentException(webServiceTie + "is not instance of StreamingHandler.");
-        }
-
-        StreamingHandler streamingHandler = (StreamingHandler) webServiceTie;
-        int opcode = streamingHandler.getOpcodeForRequestMessage(message);
-        return streamingHandler.getMethodForOpcode(opcode);
-    }
-
-    /**
-     * Convenience method for throwing a SOAP fault exception.  
-     */
-    public void throwSOAPFaultException(String faultString, MessageContext msgContext) {
-        
-        SOAPMessage soapMessage = 
-                ((SOAPMessageContext)msgContext).getMessage();
-        throwSOAPFaultException(faultString, soapMessage);
-        
-    }
-    
-    public void throwSOAPFaultException(String faultString,
-                                        SOAPMessage soapMessage) 
-        throws SOAPFaultException {
-
-        SOAPFaultException sfe = null;
-
-        try {
-
-            SOAPPart sp = soapMessage.getSOAPPart();
-            SOAPEnvelope se = sp.getEnvelope();
-
-            // Consume the request
-            SOAPBody sb = se.getBody();
-
-            // Access the child elements of body
-            Iterator iter = sb.getChildElements();
-
-            // Response should only include the fault, so remove
-            // any request body nodes.
-            if (iter.hasNext()) {
-                SOAPBodyElement requestBody = (SOAPBodyElement)iter.next();
-                // detach this node from the tree
-                requestBody.detachNode();
-            }
-
-
-            SOAPFault soapFault = sb.addFault();
-
-            se.setEncodingStyle(SOAPConstants.URI_ENCODING);
-
-            String faultActor = "http://schemas.xmlsoap.org/soap/actor/next";
-            QName faultCode = SOAPConstants.FAULT_CODE_SERVER;
-
-            soapFault.setFaultCode("env:" + faultCode.getLocalPart());
-            soapFault.setFaultString(faultString);
-            soapFault.setFaultActor(faultActor);
-
-            sfe = new SOAPFaultException(faultCode, faultActor, faultString,
-                                         null);
-        } catch(SOAPException se) {
-            if (logger.isLoggable(Level.FINE)) {
-                logger.log(Level.FINE, LogUtils.EXCEPTION_THROWN, se);
-            }
-        }
-
-        if( sfe != null ) {
-            throw sfe;
-        }
-    }
-
-
-    void writeReply(HttpServletResponse response, 
-       com.sun.xml.rpc.spi.runtime.SOAPMessageContext messageContext) 
-        throws IOException, SOAPException
-    {
-
-        // In case of a one-way operation, send no reply or fault.
-        if (isMessageContextPropertySet(messageContext, ONE_WAY_OPERATION)) {
-            return;
-        }
-          
-        SOAPMessage reply = messageContext.getMessage();
-        int statusCode = 0;
-        if (messageContext.isFailure()) {
-            
-            if (isMessageContextPropertySet(messageContext,   
-                                            CLIENT_BAD_REQUEST)) {
-                response.setStatus(HttpServletResponse.SC_BAD_REQUEST); 
-                setContentTypeAndFlush(response);
-                return;
-                
-            } else {
-              response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-            }
-            
-        } else {           
-            response.setStatus(HttpServletResponse.SC_OK);
-        }
-        
-        OutputStream os = response.getOutputStream();
-        String[] headers = reply.getMimeHeaders().getHeader("Content-Type");
-        if (headers != null && headers.length > 0) {
-            response.setContentType(headers[0]);
-        } else {
-            response.setContentType("text/xml");
-        }
-
-        putHeaders(reply.getMimeHeaders(), response);
-        
-        reply.writeTo(os);
-        os.flush();
-              
-    }
+ */
 
     private static void putHeaders(MimeHeaders headers, 
                                    HttpServletResponse response) {
@@ -1432,21 +977,6 @@
         return false;
     }
 
-    boolean isMessageContextPropertySet
-        (com.sun.xml.rpc.spi.runtime.SOAPMessageContext messageContext, 
-         String property){
-        
-        Object prop =  messageContext.getProperty(property);
-        if (prop != null) {
-            if ( (prop instanceof String) &&
-                 ((String)prop).equalsIgnoreCase("true") ) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
     MimeHeaders getHeaders(HttpServletRequest request) {
         Enumeration e = request.getHeaderNames();
         MimeHeaders headers = new MimeHeaders();
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/Codegen.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/Codegen.java
deleted file mode 100644
index 0909213..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/Codegen.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices.codegen;
-
-import java.util.Iterator;
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.hk2.api.ServiceLocator;
-
-/**
- * This interface defines all behaviours of any codegen implementation
- *
- * @author  Jerome Dochez
- */
-public interface Codegen {
-    
-    /**
-     * perform the codegen with the context provided
-     */
-    public void run(ServiceLocator habitat, DeploymentContext context, String moduleClassPath) throws Exception;
-
-    /**
-     * @return the list of source files generated by this 
-     * generator
-     */
-    public Iterator getListOfSourceFiles();
-    
-    /**
-     * @return the list of binary files generated by this 
-     * generator
-     */
-    public Iterator getListOfBinaryFiles();
-    
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/JaxRpcCodegenAdapter.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/JaxRpcCodegenAdapter.java
deleted file mode 100644
index 73c6402..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/JaxRpcCodegenAdapter.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices.codegen;
-
-/**
- *
- * @author  Jerome Dochez
- */
-public interface JaxRpcCodegenAdapter extends Codegen {
-    
-    public void done();
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/JaxRpcCodegenFactory.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/JaxRpcCodegenFactory.java
deleted file mode 100644
index c35bbf4..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/JaxRpcCodegenFactory.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices.codegen;
-
-/**
- *
- * @author  Jerome Dochez
- */
-public class JaxRpcCodegenFactory {
-    
-    private volatile static JaxRpcCodegenFactory registeredFactory;
-    
-    /** Creates a new instance of WSCompileFactory */
-    private JaxRpcCodegenFactory() {
-    }
-    
-    public static JaxRpcCodegenFactory newInstance() {
-        
-        //  for now, there is only one around, later, we may have
-        // to look into some property file to find out which
-        // jaxrpc implementation we want to use.
-        if (registeredFactory==null) {
-            registeredFactory = new JaxRpcCodegenFactory();
-        }
-        return registeredFactory;
-    }
-    
-    public JaxRpcCodegenAdapter getAdapter(boolean processServiceReferences) {
-        return new JaxRpcRICodegen(processServiceReferences);
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/JaxRpcRICodegen.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/JaxRpcRICodegen.java
deleted file mode 100644
index d838a04..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/codegen/JaxRpcRICodegen.java
+++ /dev/null
@@ -1,869 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.webservices.codegen;
-
-import com.sun.enterprise.deployment.util.DOLUtils;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.io.File;
-import java.io.InputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.net.URI;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-import com.sun.enterprise.util.LocalStringManagerImpl;
-
-
-// DOL imports
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.loader.util.ASClassLoaderUtil;
-import com.sun.enterprise.deploy.shared.FileArchive;
-import com.sun.enterprise.deployment.io.JaxrpcMappingDeploymentDescriptorFile;
-import com.sun.enterprise.deployment.JaxrpcMappingDescriptor.Mapping;
-import com.sun.enterprise.deployment.util.ApplicationVisitor;
-import com.sun.enterprise.deployment.util.AppClientVisitor;
-import com.sun.enterprise.deployment.util.EjbBundleVisitor;
-import com.sun.enterprise.deployment.util.ModuleContentLinker;
-import com.sun.enterprise.deployment.*;
-import org.glassfish.deployment.common.InstalledLibrariesResolver;
-import org.glassfish.deployment.common.ClientArtifactsManager;
-import org.glassfish.hk2.api.ServiceLocator;
-
-import com.sun.enterprise.loader.ASURLClassLoader;
-
-// TODO : Neds quivalent
-//import com.sun.enterprise.deployment.backend.Deployer;
-
-import javax.xml.rpc.Stub;
-
-// web service impl imports
-import org.glassfish.webservices.WsUtil;
-import org.glassfish.webservices.WsCompile;
-
-import org.glassfish.web.deployment.util.WebBundleVisitor;
-import org.glassfish.web.deployment.util.WebServerInfo;
-
-//JAX-RPC SPI
-import com.sun.xml.rpc.spi.JaxRpcObjectFactory;
-import com.sun.xml.rpc.spi.tools.CompileTool;
-import com.sun.xml.rpc.spi.tools.GeneratedFileInfo;
-import com.sun.xml.rpc.spi.tools.GeneratorConstants;
-import com.sun.xml.rpc.spi.tools.J2EEModelInfo;
-import com.sun.xml.rpc.spi.tools.ModelFileModelInfo;
-import com.sun.xml.rpc.spi.tools.ModelInfo;
-import com.sun.xml.rpc.spi.tools.NamespaceMappingInfo;
-import com.sun.xml.rpc.spi.tools.NamespaceMappingRegistryInfo;
-import com.sun.xml.rpc.spi.tools.NoMetadataModelInfo;
-import org.glassfish.webservices.LogUtils;
-
-/**
- * This class is responsible for generating all non portable 
- * jax-rpc artifacts for a single .ear or standalone module.
- *
- * @author  Jerome Dochez
- */
-public class JaxRpcRICodegen extends ModuleContentLinker
-        implements JaxRpcCodegenAdapter, ApplicationVisitor, EjbBundleVisitor, WebBundleVisitor, AppClientVisitor  
-{
-    protected DeploymentContext context = null;
-    protected ServiceLocator habitat = null;
-    protected String moduleClassPath = null;
-
-    // list of generated files
-    ArrayList<String> files = new ArrayList<String>();
-
-    private JaxRpcObjectFactory rpcFactory;
-
-    private static final Logger logger = WsUtil.getDefaultLogger();
-
-    // total number of times wscompile is invoked for the .ear or the
-    // standalone module.
-    private int wscompileInvocationCount = 0;
-
-    // resources...
-    private static LocalStringManagerImpl localStrings =
-            new LocalStringManagerImpl(JaxRpcRICodegen.class);
-
-    private CompileTool wscompileForAccept = null;
-    private CompileTool wscompileForWebServices = null;
-
-    //is this invocation for processing service references or services?
-    private boolean processServiceReferences = false;
-
-    private boolean hasWebServiceClients = false;
-
-    /** Creates a new instance of JaxRpcRICodegen */
-    public JaxRpcRICodegen(boolean processServiceReferences) {
-        rpcFactory = JaxRpcObjectFactory.newInstance();
-        this.processServiceReferences = processServiceReferences;
-    }
-
-    @Override
-    public void run(ServiceLocator habitat, DeploymentContext context, String cp) throws Exception {
-        rootLocation_ = new FileArchive();
-        BundleDescriptor bundle = DOLUtils.getCurrentBundleForContext(context);
-        if (bundle.hasWebServiceClients() && (bundle instanceof ApplicationClientDescriptor)) {
-            hasWebServiceClients = true;
-        }
-        if(bundle.isStandalone()) {
-            rootLocation_.open(context.getSourceDir().toURI());
-        } else {
-            rootLocation_.open(context.getSource().getParentArchive().getURI());
-        }
-        this.context = context;
-        this.habitat = habitat;
-        this.moduleClassPath = cp;
-        Application application = context.getModuleMetaData(Application.class);
-        application.visit((ApplicationVisitor) this);
-    }
-
-    /**
-     * Visits a webs service reference
-     */
-    @Override
-    public void accept(ServiceReferenceDescriptor serviceRef)  {
-
-        if(!processServiceReferences) {
-           return;
-        }
-        boolean codegenRequired = false;
-
-        URL wsdlOverride = null;
-        boolean wsdlOverriden = false;
-        boolean jaxwsClient = false;
-        super.accept(serviceRef);
-        try {
-            ClassLoader clr = serviceRef.getBundleDescriptor().getClassLoader();
-
-            if ( serviceRef.getServiceInterface() != null ) {
-                Class serviceInterface = clr.loadClass(serviceRef.getServiceInterface());
-
-                if (javax.xml.ws.Service.class.isAssignableFrom(serviceInterface)) {
-                    jaxwsClient = true;
-                }
-            }
-
-            // Resolve port component links to target endpoint address.
-            // We can't assume web service client is running in same VM
-            // as endpoint in the intra-app case because of app clients.
-            //
-            // Also set port-qname based on linked port's qname if not
-            // already set.
-            for(Iterator ports = serviceRef.getPortsInfo().iterator(); ports.hasNext();) {
-                ServiceRefPortInfo portInfo = (ServiceRefPortInfo) ports.next();
-
-                if( portInfo.isLinkedToPortComponent() ) {
-                    WebServiceEndpoint linkedPortComponent = portInfo.getPortComponentLink();
-
-                    if (linkedPortComponent==null) {
-                        throw new Exception(localStrings.getLocalString(
-                                "enterprise.webservice.componentlinkunresolved",
-                                "The port-component-link {0} cannot be resolved",
-                                new Object[] {portInfo.getPortComponentLinkName()}));
-                    }
-                    WsUtil wsUtil = new WsUtil();
-                    WebServerInfo wsi = wsUtil.getWebServerInfoForDAS();
-                    URL rootURL = wsi.getWebServerRootURL(linkedPortComponent.isSecure());
-                    URL actualAddress = linkedPortComponent.composeEndpointAddress(rootURL);
-                    if(jaxwsClient) {
-                        portInfo.addStubProperty(javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
-                                actualAddress.toExternalForm());
-                    } else {
-                        portInfo.addStubProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, actualAddress.toExternalForm());
-                    }
-                    if (serviceRef.getBundleDescriptor().getModuleType().equals(DOLUtils.carType())) {
-                        wsdlOverride = serviceRef.getWsdlOverride();
-                        if (wsdlOverride!=null) {
-                            wsdlOverriden = true;
-                            serviceRef.setWsdlOverride(linkedPortComponent.getWebService().getWsdlFileUrl());
-                        }
-                    }
-                }
-            }
-
-            // If this is a post JAXRPC-1.1 based web service, then no need for code gen etc etc
-            if(jaxwsClient) {
-                return;
-            }
-
-            if( serviceRef.hasGeneratedServiceInterface() ) {
-
-                if( serviceRef.hasWsdlFile() && serviceRef.hasMappingFile() ) {
-                    codegenRequired = true;
-                } else {
-                    throw new Exception
-                            ("Deployment error for service-ref " + serviceRef.getName()
-                                    + ".\nService references with generated service " +
-                                    "interface must include WSDL and mapping information.");
-                }
-
-            } else {
-
-                if( serviceRef.hasWsdlFile() ) {
-                    if( serviceRef.hasMappingFile() ) {
-                        codegenRequired = true;
-                    } else {
-                        throw new Exception
-                                ("Deployment error for service-ref " + serviceRef.getName()
-                                        + ".\nService references with wsdl must also have " +
-                                        "mapping information.");
-                    }
-                }
-            }
-
-            if( codegenRequired ) {
-                ModelInfo modelInfo = createModelInfo(serviceRef);
-
-                /*
-                 * If clients exist, force regeneration so that the
-                 * ClientArtifactsManager is populated. Issue 10612.
-                 */
-                String args[] = createJaxrpcCompileArgs(
-                    false, hasWebServiceClients);
-
-                CompileTool wscompile =
-                        rpcFactory.createCompileTool(System.out, "wscompile");
-                wscompileForAccept = wscompile;
-                WsCompile delegate =
-                        new WsCompile(wscompile, serviceRef);
-                delegate.setModelInfo(modelInfo);
-                wscompile.setDelegate(delegate);
-
-                jaxrpc(args, delegate, serviceRef, files);
-                if (hasWebServiceClients)   {
-                    addArtifactsForAppClient();
-                }
-            }
-            if (wsdlOverriden) {
-                serviceRef.setWsdlOverride(wsdlOverride);
-            }
-        } catch(IllegalStateException e) {
-            //do nothing
-           logger.info("Attempting to add artifacts for appClient after artifacts were generated" +
-                   " "+e.getMessage());
-
-        }  catch(Exception e) {
-            RuntimeException re = new RuntimeException(e.getMessage());
-            re.initCause(e);
-            throw re;
-        }
-    }
-
-    private void addArtifactsForAppClient(){
-        ClientArtifactsManager cArtifactsManager = ClientArtifactsManager.get(context);
-        for (int i = 0; i < files.size(); i ++) {
-            URI baseURI = context.getScratchDir("ejb").toURI();
-            File file = new File(files.get(i));
-            URI artifact = baseURI.relativize(file.toURI());
-            //Fix for issue 9734
-            if (!cArtifactsManager.contains(baseURI,artifact) ){
-               cArtifactsManager.add(baseURI, artifact);
-            }
-        }
-    }
-
-    /**
-     * visits a web service definition
-     * @param webService
-     */
-    @Override
-    public void accept(WebService webService) {
-        if(processServiceReferences) {
-           return;
-        }
-
-        if (!webServiceInContext(webService)) {
-            return;
-        }
-        super.accept(webService);
-        try {
-            if((new WsUtil()).isJAXWSbasedService(webService)) {
-                WsUtil wsUtil = new WsUtil();
-                Collection<WebServiceEndpoint> endpoints = webService.getEndpoints();
-                for(WebServiceEndpoint ep : endpoints) {
-                    if( ep.implementedByWebComponent() ) {
-                        wsUtil.updateServletEndpointRuntime(ep);
-                    } else {
-                        wsUtil.validateEjbEndpoint(ep);
-                    }
-                }
-                //wsImport(webService,  files);
-            } else {
-                jaxrpcWebService(webService, files);
-            }
-        } catch(Exception e) {
-            RuntimeException ge =new RuntimeException(e.getMessage());
-            ge.initCause(e);
-            throw ge;
-        }
-    }
-
-    @Override
-    public Iterator getListOfBinaryFiles() {
-        return files.iterator();
-    }
-
-    @Override
-    public Iterator getListOfSourceFiles() {
-        // for now I do not maintain those
-        return null;
-    }
-
-    /**
-     *Releases resources used during the code gen and compilation.
-     */
-    @Override
-    public void done() {
-//        done(CompileTool) is now invoked after each compilation is complete
-//        from inside the jaxrpc method.  Otherwise, multiple uses of jaxrpc could
-//        cause continued file locking on Windows since only the last one was 
-//        recorded in the wscompileForxxx variables.
-//        
-//        done(wscompileForAccept);
-//        done(wscompileForWebServices);
-    }
-
-    /**
-     *Navigates to the URLClassLoader used by the jaxrpc compilation and 
-     *releases it.
-     *@param wscompile the CompileTool whose loader is to be released
-     */
-    private void done(CompileTool wscompile) {
-        /*
-         *Follow the object graph to the loader: 
-         *basically CompileTool -> ProcessorEnvironment -> the URLClassLoader.
-         */
-        if (wscompile != null && wscompile instanceof com.sun.xml.rpc.tools.wscompile.CompileTool) {
-            com.sun.xml.rpc.tools.wscompile.CompileTool compileTool = (com.sun.xml.rpc.tools.wscompile.CompileTool) wscompile;
-            com.sun.xml.rpc.spi.tools.ProcessorEnvironment env = compileTool.getEnvironment();
-            if (env != null && env instanceof com.sun.xml.rpc.processor.util.ProcessorEnvironment) {
-                com.sun.xml.rpc.processor.util.ProcessorEnvironment typedEnv = (com.sun.xml.rpc.processor.util.ProcessorEnvironment) env;
-                java.net.URLClassLoader urlCL = typedEnv.getClassLoader();
-                try {
-                    urlCL.close();
-                } catch (IOException e) {
-                    // ignore it
-                }
-            }
-        }
-    }
-
-    private JaxrpcMappingDescriptor getJaxrpcMappingInfo(URL mappingFileUrl,
-                                                         Descriptor desc)
-            throws Exception {
-        JaxrpcMappingDescriptor mappingDesc = null;
-
-        InputStream is = null;
-        try {
-            is = mappingFileUrl.openStream();
-            JaxrpcMappingDeploymentDescriptorFile jaxrpcDD =
-                    new JaxrpcMappingDeploymentDescriptorFile();
-
-            // useful for validation errors...
-            if (desc instanceof ServiceReferenceDescriptor) {
-                ServiceReferenceDescriptor srd = (ServiceReferenceDescriptor) desc;
-                jaxrpcDD.setDeploymentDescriptorPath(srd.getMappingFileUri());
-                jaxrpcDD.setErrorReportingString(srd.getBundleDescriptor().getModuleDescriptor().getArchiveUri());
-            }
-            if (desc instanceof WebService) {
-                WebService ws = (WebService) desc;
-                jaxrpcDD.setDeploymentDescriptorPath(ws.getMappingFileUri());
-                jaxrpcDD.setErrorReportingString(ws.getBundleDescriptor().getModuleDescriptor().getArchiveUri());
-            }
-            //jaxrpcDD.setXMLValidationLevel(Deployer.getValidationLevel());
-            jaxrpcDD.setXMLValidationLevel("none");
-            Object obj = jaxrpcDD.read(is);
-            if (obj instanceof JaxrpcMappingDescriptor)
-                mappingDesc = JaxrpcMappingDescriptor.class.cast(obj);
-        } finally {
-            if( is != null ) {
-                is.close();
-            }
-        }
-
-        return mappingDesc;
-    }
-
-    private boolean isJaxrpcRIModelFile(URL mappingFileUrl) {
-        boolean isModel = false;
-        InputStream is  = null;
-        try {
-            is = mappingFileUrl.openStream();
-            isModel = rpcFactory.createXMLModelFileFilter().isModelFile(is);
-        } catch(Throwable t) {
-        } finally {
-            if( is != null ) {
-                try {
-                    is.close();
-                } catch(Exception e) {}
-            }
-        }
-        return isModel;
-    }
-
-    private ModelInfo createModelInfo(WebService webService)
-            throws Exception {
-
-        ModelInfo modelInfo = null;
-        URL mappingFileUrl = webService.getMappingFile().toURL();
-        modelInfo = createModelFileModelInfo(mappingFileUrl);
-        if( isJaxrpcRIModelFile(mappingFileUrl) ) {
-            debug("000. JaxrpcRIModelFile.");
-            modelInfo = createModelFileModelInfo(mappingFileUrl);
-        } else {
-            JaxrpcMappingDescriptor mappingDesc =
-                    getJaxrpcMappingInfo(mappingFileUrl, webService);
-            if( mappingDesc.isSimpleMapping() ) {
-                debug("111. SimpleMapping.");
-                modelInfo = createNoMetadataModelInfo(webService, mappingDesc);
-            } else {
-                debug("222. FullMapping .");
-                modelInfo = createFullMappingModelInfo(webService);
-            }
-        }
-
-        return modelInfo;
-    }
-
-    private ModelInfo createModelInfo(ServiceReferenceDescriptor serviceRef)
-            throws Exception {
-
-        ModelInfo modelInfo = null;
-        URL mappingFileUrl = serviceRef.getMappingFile().toURL();
-        if( isJaxrpcRIModelFile(mappingFileUrl) ) {
-            modelInfo = createModelFileModelInfo(mappingFileUrl);
-        } else {
-            JaxrpcMappingDescriptor mappingDesc =
-                    getJaxrpcMappingInfo(mappingFileUrl, serviceRef);
-            if( mappingDesc.isSimpleMapping() &&
-                    serviceRef.hasGeneratedServiceInterface() ) {
-                // model info for this modeler requires generated service 
-                // interface name.
-                modelInfo = createNoMetadataModelInfo(serviceRef, mappingDesc);
-            } else {
-                modelInfo = createFullMappingModelInfo(serviceRef);
-            }
-        }
-
-        return modelInfo;
-    }
-
-    private ModelFileModelInfo createModelFileModelInfo(URL modelFileUrl)
-            throws Exception {
-
-        ModelFileModelInfo modelInfo = rpcFactory.createModelFileModelInfo();
-        modelInfo.setLocation(modelFileUrl.toExternalForm());
-
-        return modelInfo;
-    }
-
-    private J2EEModelInfo createFullMappingModelInfo(WebService webService)
-            throws Exception {
-
-        URL mappingFileUrl = webService.getMappingFile().toURL();
-        URL wsdlFileUrl = webService.getWsdlFileUrl();
-
-        return createFullMappingModelInfo(mappingFileUrl, wsdlFileUrl);
-    }
-
-    private J2EEModelInfo createFullMappingModelInfo
-            (ServiceReferenceDescriptor serviceRef) throws Exception {
-
-        URL mappingFileUrl = serviceRef.getMappingFile().toURL();
-        URL wsdlFileUrl = serviceRef.hasWsdlOverride() ?
-                serviceRef.getWsdlOverride() : serviceRef.getWsdlFileUrl();
-        return createFullMappingModelInfo(mappingFileUrl, wsdlFileUrl);
-    }
-
-    private J2EEModelInfo createFullMappingModelInfo
-            (URL mappingFile, URL wsdlFile) throws Exception {
-
-        J2EEModelInfo modelInfo = rpcFactory.createJ2EEModelInfo(mappingFile);
-        modelInfo.setLocation(wsdlFile.toExternalForm());
-        // java package name not used
-        modelInfo.setJavaPackageName("package_ignored");
-        return modelInfo;
-
-    }
-
-    private NoMetadataModelInfo createNoMetadataModelInfo
-            (WebService webService, JaxrpcMappingDescriptor mappingDesc)
-            throws Exception {
-
-        NoMetadataModelInfo modelInfo = rpcFactory.createNoMetadataModelInfo();
-        URL wsdlFileUrl = webService.getWsdlFileUrl();
-
-        Collection endpoints = webService.getEndpoints();
-        if( endpoints.size() != 1 ) {
-            throw new Exception
-                    ("Deployment code generation error for webservice " +
-                            webService.getName() + ". " +
-                            " jaxrpc-mapping-file is required if web service has " +
-                            "multiple endpoints");
-        }
-
-        WebServiceEndpoint endpoint = (WebServiceEndpoint)
-                endpoints.iterator().next();
-
-        modelInfo.setLocation(wsdlFileUrl.toExternalForm());
-        modelInfo.setInterfaceName(endpoint.getServiceEndpointInterface());
-        modelInfo.setPortName(endpoint.getWsdlPort());
-
-        addNamespaceMappingRegistry(modelInfo, mappingDesc);
-
-        return modelInfo;
-    }
-
-    private void addNamespaceMappingRegistry
-            (NoMetadataModelInfo modelInfo, JaxrpcMappingDescriptor mappingDesc) {
-
-        NamespaceMappingRegistryInfo namespaceRegistry =
-                rpcFactory.createNamespaceMappingRegistryInfo();
-
-        modelInfo.setNamespaceMappingRegistry(namespaceRegistry);
-
-        Collection mappings = mappingDesc.getMappings();
-        for(Iterator iter = mappings.iterator(); iter.hasNext();) {
-            Mapping next = (Mapping) iter.next();
-            NamespaceMappingInfo namespaceInfo =
-                    rpcFactory.createNamespaceMappingInfo(next.getNamespaceUri(),
-                            next.getPackage());
-            namespaceRegistry.addMapping(namespaceInfo);
-        }
-    }
-
-    private NoMetadataModelInfo createNoMetadataModelInfo
-            (ServiceReferenceDescriptor serviceRef,
-             JaxrpcMappingDescriptor mappingDesc) throws Exception {
-
-        NoMetadataModelInfo modelInfo = rpcFactory.createNoMetadataModelInfo();
-        URL wsdlFile = serviceRef.hasWsdlOverride() ?
-                serviceRef.getWsdlOverride() : serviceRef.getWsdlFileUrl();
-        modelInfo.setLocation(wsdlFile.toExternalForm());
-
-        // Service endpoint interface is required.  Parse generated
-        // service interface for it since we can't count on SEI
-        // having been listed in standard deployment information.
-        WsUtil wsUtil = new WsUtil();
-        String serviceInterfaceName = serviceRef.getServiceInterface();
-
-        ClassLoader cl = context.getModuleMetaData(Application.class).getClassLoader();
-        if (cl instanceof ASURLClassLoader) {
-            String modClassPath = ASClassLoaderUtil.getModuleClassPath(habitat, context);
-            List<URL> moduleList = ASClassLoaderUtil.getURLsFromClasspath(modClassPath, File.pathSeparator, null);
-            for (Iterator<URL> itr=moduleList.iterator();itr.hasNext();) {
-                ((ASURLClassLoader) cl).appendURL(itr.next());
-            }
-        }
-
-        Class serviceInterface = cl.loadClass(serviceInterfaceName);
-        Collection seis = wsUtil.getSEIsFromGeneratedService(serviceInterface);
-
-        if( seis.size() == 0 ) {
-            throw new Exception("Invalid Generated Service Interface "
-                    + serviceInterfaceName + " . ");
-        } else if( seis.size() > 1 ) {
-            throw new Exception("Deployment error : If no " +
-                    "jaxrpc-mapping file is provided, " +
-                    "Generated Service Interface must have"
-                    +" only 1 Service Endpoint Interface");
-        }
-
-        String serviceEndpointInterface = (String) seis.iterator().next();
-        modelInfo.setInterfaceName(serviceEndpointInterface);
-
-        addNamespaceMappingRegistry(modelInfo, mappingDesc);
-
-        return modelInfo;
-    }
-
-    private boolean keepJaxrpcGeneratedFile(String fileType, Descriptor desc) {
-        boolean keep = true;
-        if( (fileType.equals(GeneratorConstants.FILE_TYPE_WSDL) ||
-                fileType.equals(GeneratorConstants.FILE_TYPE_REMOTE_INTERFACE)) ) {
-            keep = false;
-        } else if( fileType.equals(GeneratorConstants.FILE_TYPE_SERVICE ) ) {
-            // Only keep the service interface if this is a service reference
-            // with generic service interface.  In this case, the interface
-            // is generated during deployment instead of being packaged in
-            // the module.
-            keep = (desc instanceof ServiceReferenceDescriptor) &&
-                    ((ServiceReferenceDescriptor)desc).hasGenericServiceInterface();
-        }
-
-        return keep;
-    }
-
-    // dummy file for jax-rpc wscompile bug
-    File dummyConfigFile=null;
-
-    private String[] createJaxrpcCompileArgs(boolean generateTies,
-        boolean forceRegen) throws IOException {
-        
-        int numJaxrpcArgs = 11;
-        if (logger.isLoggable(Level.FINE) ) {
-            numJaxrpcArgs = 16;
-        }
-        if (forceRegen) {
-            numJaxrpcArgs--;
-        }
-
-        // If we need to run wscompile more than once per .ear or
-        // standalone module, use the -infix option to reduce the
-        // chances that generated non-portable jaxrpc artifacts will clash
-        // with generated artifacts from other service-refs and endpoints
-        // loaded by the same classloader at runtime.   
-        wscompileInvocationCount++;
-        String infix = null;
-
-        if( wscompileInvocationCount > 1 ) {
-            numJaxrpcArgs++;
-            infix = wscompileInvocationCount + "";
-        }
-
-        String[] jaxrpcArgs = new String[numJaxrpcArgs];
-        int jaxrpcCnt = 0;
-
-        if( dummyConfigFile == null ) {
-            dummyConfigFile = File.createTempFile("dummy_wscompile_config",
-                    "config");
-            dummyConfigFile.deleteOnExit();
-        }
-
-        // wscompile doesn't support the -extdirs option, so the best we
-        // can do is prepend the ext dir jar files to the classpath.
-        String optionalDependencyClassPath =
-                InstalledLibrariesResolver.getExtDirFilesAsClasspath();
-        if(optionalDependencyClassPath.length() > 0) {
-            moduleClassPath = optionalDependencyClassPath +
-                    File.pathSeparatorChar + moduleClassPath;
-        }
-        
-        // Could also check if getSourceDir() ends in 'war,' but
-        // this is a little more general.
-        String moduleBasePath = context.getSourceDir().getAbsolutePath();
-        String moduleWebInfPath = moduleBasePath +
-            File.separatorChar + "WEB-INF" +
-            File.separatorChar + "classes";
-        File moduleWebInfFile = new File(moduleWebInfPath);
-        if (moduleWebInfFile.exists()) {
-            moduleClassPath = moduleWebInfPath +
-                File.pathSeparatorChar + moduleClassPath;
-        } else {
-            moduleClassPath = moduleBasePath +
-                File.pathSeparatorChar + moduleClassPath;
-        }
-        
-        if (!context.getScratchDir("ejb").mkdirs() && logger.isLoggable(Level.FINE)) {
-            logger.log(Level.FINE, LogUtils.DIR_EXISTS, context.getScratchDir("ejb"));
-        }
-
-        jaxrpcArgs[jaxrpcCnt++] = generateTies ? "-gen:server" : "-gen:client";
-
-        // Prevent wscompile from regenerating portable classes that are
-        // already packaged within the deployed application.
-        if (!forceRegen) {
-            jaxrpcArgs[jaxrpcCnt++] = "-f:donotoverride";
-        }
-
-        if( infix != null ) {
-            jaxrpcArgs[jaxrpcCnt++] = "-f:infix:" + infix;
-        }
-
-        jaxrpcArgs[jaxrpcCnt++] = "-classpath";
-        jaxrpcArgs[jaxrpcCnt++] = moduleClassPath;
-
-        if (logger.isLoggable(Level.FINE)) {
-            long timeStamp = System.currentTimeMillis();
-            jaxrpcArgs[jaxrpcCnt++] = "-Xdebugmodel:" +
-                    context.getScratchDir("ejb") + File.separator + "debugModel.txt." +
-                    timeStamp;
-            jaxrpcArgs[jaxrpcCnt++] = "-Xprintstacktrace";
-            jaxrpcArgs[jaxrpcCnt++] = "-model";
-            jaxrpcArgs[jaxrpcCnt++] =
-                    context.getScratchDir("ejb") + File.separator + "debugModel.model" +
-                            timeStamp;
-            jaxrpcArgs[jaxrpcCnt++] = "-verbose";
-        }
-
-        jaxrpcArgs[jaxrpcCnt++] = "-s";
-        jaxrpcArgs[jaxrpcCnt++] = context.getScratchDir("ejb").getAbsolutePath();
-        jaxrpcArgs[jaxrpcCnt++] = "-d";
-        jaxrpcArgs[jaxrpcCnt++] = context.getScratchDir("ejb").getAbsolutePath();
-        jaxrpcArgs[jaxrpcCnt++] = "-keep";
-        jaxrpcArgs[jaxrpcCnt++] = "-g";
-
-        // config file is not used, but it must be an existing file or it
-        // will not pass CompileTool argument validation.
-        jaxrpcArgs[jaxrpcCnt++] = dummyConfigFile.getPath();
-
-        if ( logger.isLoggable(Level.FINE)) {
-            for ( int i = 0; i < jaxrpcArgs.length; i++ ) {
-                logger.fine(jaxrpcArgs[i]);
-            }
-        }
-
-        return jaxrpcArgs;
-    }
-
-    private void jaxrpc(String[] args, WsCompile wsCompile, Descriptor desc,
-                        ArrayList<String> files)
-            throws Exception {
-
-        try {
-            if (logger.isLoggable(Level.FINE)) {
-                debug("---> ARGS = ");
-                for (int i = 0; i < args.length; i++) {
-                    logger.fine(args[i] + "; ");
-                }
-            }
-            boolean compiled = wsCompile.getCompileTool().run(args);
-            done(wsCompile.getCompileTool());
-            if( compiled ) {
-                Iterator generatedFiles =
-                        wsCompile.getGeneratedFiles().iterator();
-
-                while(generatedFiles.hasNext()) {
-                    GeneratedFileInfo next = (GeneratedFileInfo)
-                            generatedFiles.next();
-                    String fileType = next.getType();
-                    File file = next.getFile();
-                    String origPath = file.getPath();
-                    if( origPath.endsWith(".java") ) {
-                        int javaIndex = origPath.lastIndexOf(".java");
-                        String newPath = origPath.substring(0, javaIndex) +
-                                ".class";
-                        if( keepJaxrpcGeneratedFile(fileType, desc) ) {
-                            files.add(newPath);
-                        }
-                    }
-                }
-            } else {
-                throw new Exception("jaxrpc compilation exception");
-            }
-        } catch (Throwable t) {
-            Exception ge =
-                    new Exception(t.getMessage());
-            ge.initCause(t);
-            throw ge;
-        }
-    }
-
-    private void jaxrpcWebService(WebService webService, ArrayList<String> files)
-            throws Exception {
-
-        if((webService.getWsdlFileUrl() == null) ||
-                (webService.getMappingFileUri() == null)) {
-            throw new Exception(localStrings.getLocalString(
-                    "enterprise.webservice.jaxrpcFilesNotFound",
-                    "Service {0} seems to be a JAXRPC based web service but without "+
-                            "the mandatory WSDL and Mapping file. Deployment cannot proceed",
-                    new Object[] {webService.getName()}));
-        }
-        ModelInfo modelInfo = createModelInfo(webService);
-        String args[] = createJaxrpcCompileArgs(true, false);
-
-        CompileTool wscompile =
-                rpcFactory.createCompileTool(System.out, "wscompile");
-        wscompileForWebServices = wscompile;
-        WsCompile delegate = new WsCompile(wscompile, webService);
-        delegate.setModelInfo(modelInfo);
-        wscompile.setDelegate(delegate);
-
-        jaxrpc(args, delegate, webService, files);
-    }
-
-    private void debug(String msg) {
-        if (logger.isLoggable(Level.FINE) ) {
-            logger.fine("[JaxRpcRICodegen] --> " + msg);
-        }
-    }
-
-    /*
-     * The run() method calls visit() on the entire application.
-     * If this is being called in the context of a submodule within
-     * the application, then accept(WebService) will be called
-     * for every web service in the app, not just in the current
-     * module. We want to ignore the unrelated web services --
-     * they will be handled when their module is loaded.
-     */
-    private boolean webServiceInContext(WebService webService) {
-        BundleDescriptor contextBundleDescriptor =
-            context.getModuleMetaData(BundleDescriptor.class);
-        String moduleId = contextBundleDescriptor.getModuleID();
-        return moduleId.equals(webService.getBundleDescriptor().getModuleID());
-    }
-
-    public void accept (BundleDescriptor descriptor) {
-        if (descriptor instanceof Application) {
-            Application application = (Application)descriptor;
-            for (BundleDescriptor ebd : application.getBundleDescriptorsOfType(DOLUtils.ejbType())) {
-                ebd.visit(getSubDescriptorVisitor(ebd));
-            }
-
-            for (BundleDescriptor wbd : application.getBundleDescriptorsOfType(DOLUtils.warType())) {
-                if (wbd != null) {
-                    wbd.visit(getSubDescriptorVisitor(wbd));
-                }
-            }
-
-            for (BundleDescriptor acd : application.getBundleDescriptorsOfType(DOLUtils.carType())) {
-                acd.visit(getSubDescriptorVisitor(acd));
-            }
-        } else {
-            super.accept(descriptor);
-        }
-    }
-
-
-    /**
-     * visit an application object
-     * @param the application descriptor
-     */
-    public void accept(Application application) {
-    }
-
-    /**
-     * visits an ejb bundle descriptor
-     * @param an ejb bundle descriptor
-     */
-    public void accept(EjbBundleDescriptor bundleDescriptor) {
-    }
-
-
-    /**
-     * visits a appclient descriptor
-     * @param appclientdescriptor
-     * get the visitor for its sub descriptor
-     * @param sub descriptor to return visitor for
-     */
-    public void accept(ApplicationClientDescriptor appclientdescriptor) {
-    }
-
-    /**
-     * visit a web bundle descriptor
-     *
-     * @param the web bundle descriptor
-     */
-    public void accept(WebBundleDescriptor descriptor) {
-    }
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/GlobalMessageListener.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/GlobalMessageListener.java
index 294446f..105d655 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/GlobalMessageListener.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/GlobalMessageListener.java
@@ -40,22 +40,6 @@
     public String preProcessRequest(Endpoint endpoint);
 
     /**
-     * Callback when a 1.X web service request is about the be delivered to the
-     * Web Service Implementation Bean.
-     * @param mid message ID returned by preProcessRequest call
-     * @param ctx the jaxrpc message trace, transport dependent
-     */
-    public void processRequest(String mid, com.sun.xml.rpc.spi.runtime.SOAPMessageContext ctx, TransportInfo info);
-
-    /**
-     * Callback when a 1.X web service response was returned by the Web Service
-     * Implementation Bean
-     * @param mid message ID returned by the preProcessRequest call
-     * @param ctx jaxrpc message trace, transport dependent.
-     */
-    public void processResponse(String mid, com.sun.xml.rpc.spi.runtime.SOAPMessageContext ctx);
-   
-    /**
      * Callback when a 2.X web service request is about the be delivered to the
      * Web Service Implementation Bean.
      * @param mid message ID returned by preProcessRequest call
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/JAXRPCEndpointImpl.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/JAXRPCEndpointImpl.java
deleted file mode 100644
index 5eacedf..0000000
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/JAXRPCEndpointImpl.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * JAXRPCEndpointImpl.java
- */
-
-package org.glassfish.webservices.monitoring;
-
-import com.sun.xml.rpc.spi.runtime.SOAPMessageContext;
-import com.sun.xml.rpc.spi.runtime.SystemHandlerDelegate;
-import java.util.logging.Level;
-import org.glassfish.webservices.LogUtils;
-
-/**
- * Implementation of the JAXRPC endpoint interface and JAXRPC System Handler Delegate
- *
- * @author Jerome Dochez
- */
-public class JAXRPCEndpointImpl extends EndpointImpl implements SystemHandlerDelegate {
-    
-    SystemHandlerDelegate parent = null;
-    
-    /** Creates a new instance of EndpointImpl */
-    JAXRPCEndpointImpl(String endpointSelector, EndpointType type) {
-        super(endpointSelector, type);
-    }
-    
-    public boolean processRequest(SOAPMessageContext messageContext) {
-
-	boolean status = true;
-
-        if (parent!=null) {
-            status = parent.processRequest(messageContext);
-        }
-
-        // let's get our thread local context
-        WebServiceEngineImpl wsEngine = WebServiceEngineImpl.getInstance();
-        try {
-            if (!listeners.isEmpty() || wsEngine.hasGlobalMessageListener()) {
-                
-                // someone is listening
-                ThreadLocalInfo config = 
-                        (ThreadLocalInfo) wsEngine.getThreadLocal().get();
-
-                // do we have a global listener ?
-                if (config!=null && config.getMessageId()!=null) {
-                    HttpRequestInfoImpl info = new HttpRequestInfoImpl(config.getRequest());
-                    wsEngine.processRequest(config.getMessageId(), messageContext, info);
-                } 
-                
-                // any local listeners ?
-                if (!listeners.isEmpty()) {
-                    if (config==null) {
-                        config = new ThreadLocalInfo(null, null);
-                    }
-                    // create the message trace and save it to our thread local
-                    MessageTraceImpl request = new MessageTraceImpl();
-                    request.setEndpoint(this);
-                    request.setMessageContext(messageContext);
-                    if (config.getRequest()!=null) {
-                        request.setTransportInfo(new HttpRequestInfoImpl(config.getRequest()));
-                    }
-                    
-                    config.setRequestMessageTrace(request);
-                }
-                
-            }
-	    } catch(Throwable t) {
-                WebServiceEngineImpl.sLogger.log(Level.WARNING, LogUtils.EXCEPTION_TRACING_REQUEST, t.getMessage());
-	        RuntimeException re;
-            if (t instanceof RuntimeException) {
-		        re = (RuntimeException) t;
-	        } else {
-		        re = new RuntimeException(t);
-	        }
-	        throw re;
-        }        
-        return status;
-    }
-
-    public void processResponse(SOAPMessageContext messageContext) {   
-
-        // let's get our thread local context
-        WebServiceEngineImpl wsEngine = WebServiceEngineImpl.getInstance();
-        try {
-            
-            if (wsEngine.hasGlobalMessageListener() || !listeners.isEmpty()) {
-                
-                // someone is listening
-                ThreadLocalInfo config = 
-                        (ThreadLocalInfo) wsEngine.getThreadLocal().get();
-
-                if (config!=null) {                    
-                    // do we have a global listener ?
-                    if (config.getMessageId()!=null) {
-                        wsEngine.processResponse(config.getMessageId(),  messageContext);
-                    }
-
-                    // local listeners
-                    if (!listeners.isEmpty()) {
-                        MessageTraceImpl response = new MessageTraceImpl();
-                        response.setEndpoint(this);
-                        response.setMessageContext(messageContext);
-                        for (MessageListener listener : listeners) {                    
-                            listener.invocationProcessed(config.getRequestMessageTrace(), response);
-                        }   
-                    }
-                }
-            }
-            // cleanup
-            wsEngine.getThreadLocal().remove();
-            
-	        // do security after tracing
-	        if (parent!=null) {
-		    parent.processResponse(messageContext);
-	            }
-        
-        } catch(Throwable t) {
-            WebServiceEngineImpl.sLogger.log(Level.WARNING, LogUtils.EXCEPTION_TRACING_RESPONSE, t.getMessage());
-	        RuntimeException re;
-	        if (t instanceof RuntimeException) {
-		        re = (RuntimeException) t;
-	        } else {
-		        re = new RuntimeException(t);
-	        }
-	        throw re;
-        }                 
-    }
-    
-    public void setParent(SystemHandlerDelegate parent) {
-        this.parent = parent;
-    }        
-}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/MessageTraceImpl.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/MessageTraceImpl.java
index 88774eb..d12a421 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/MessageTraceImpl.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/MessageTraceImpl.java
@@ -80,17 +80,6 @@
         return source;
     }
     
-    public void setMessageContext(com.sun.xml.rpc.spi.runtime.SOAPMessageContext soapMessageCtx) {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        try {
-            soapMessageCtx.getMessage().writeTo(baos);
-        } catch(Exception e) {
-            WebServiceEngineImpl.sLogger.log(Level.WARNING, LogUtils.CANNOT_LOG_SOAPMSG, e.getMessage());
-        }
-
-        soapMessage = baos.toString();
-    }    
-    
     public void setMessageContext(SOAPMessageContext soapMessageCtx) {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();        
         try {
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceEngineImpl.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceEngineImpl.java
index a3fda66..796c04f 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceEngineImpl.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceEngineImpl.java
@@ -85,15 +85,6 @@
         return newEndpoint;
     }
     
-    public EndpointImpl createHandler(com.sun.xml.rpc.spi.runtime.SystemHandlerDelegate parent,
-        WebServiceEndpoint endpointDesc)  {
-
-        EndpointImpl newEndpoint = createHandler(endpointDesc);
-        if (newEndpoint instanceof JAXRPCEndpointImpl)
-            JAXRPCEndpointImpl.class.cast(newEndpoint).setParent(parent);
-        return newEndpoint;
-    }
-
     @Override
     public Endpoint getEndpoint(String uri) {    
         return endpoints.get(uri);
@@ -174,15 +165,7 @@
                 endpointType = EndpointType.SERVLET_ENDPOINT;
             }
 
-            EndpointImpl newEndpoint;
-            // At this point, we can depend on presence of mapping file to distinguish between JAXRPC and JAXWS
-            // service
-            if(endpoint.getWebService().hasMappingFile()) {
-                newEndpoint = new JAXRPCEndpointImpl(endpointURL, endpointType);
-            } else {
-                newEndpoint = new JAXWSEndpointImpl(endpointURL, endpointType);
-            }
-
+            EndpointImpl newEndpoint = new JAXWSEndpointImpl(endpointURL, endpointType);
             newEndpoint.setDescriptor(endpoint);
             return newEndpoint;
         
@@ -206,35 +189,6 @@
         return globalMessageListener.preProcessRequest(endpoint);
     }
     
-    /**
-     * Callback when a web service request is received on
-     * the endpoint.
-     * @param messageID returned by preProcessRequest call
-     * @param context the jaxrpc message trace, transport dependent.
-     */
-    public void processRequest(String messageID, com.sun.xml.rpc.spi.runtime.SOAPMessageContext context,
-            TransportInfo info) {
-
-        if (globalMessageListener==null)
-            return;
-
-        globalMessageListener.processRequest(messageID, context, info);
-    }
-
-    /**
-     * Callback when a web service response is received on the
-     * endpoint.
-     * @param messageID returned by the preProcessRequest call
-     * @param context jaxrpc message context
-     */
-    public void processResponse(String messageID, com.sun.xml.rpc.spi.runtime.SOAPMessageContext context) {
-
-        if (globalMessageListener==null)
-            return;
-
-        globalMessageListener.processResponse(messageID, context);
-    }
-    
     /** 
      * Callback when a 2.0 web service request is received on 
      * the endpoint.
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen
index bdfa457..28e00a1 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,4 +30,4 @@
     JAVA=${AS_JAVA}/bin/java
 fi
 
-exec "$JAVA" -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.rpc-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar" com.sun.tools.jxc.SchemaGeneratorFacade "$@"
+exec "$JAVA" -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jaxb-osgi.jar" com.sun.tools.jxc.SchemaGeneratorFacade "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen.bat
index 5d60325..9f85e0e 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen.bat
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/schemagen.bat
@@ -1,7 +1,7 @@
 @echo off

 

 REM

-REM  Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

+REM  Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.

 REM

 REM  This program and the accompanying materials are made available under the

 REM  terms of the Eclipse Public License v. 2.0, which is available at

@@ -33,4 +33,4 @@
 set JAVA=java

 

 :run

-%JAVA% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.rpc-api.jar;%~dp0..\modules\jaxb-osgi.jar" com.sun.tools.jxc.SchemaGeneratorFacade %*

+%JAVA% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jaxb-osgi.jar" com.sun.tools.jxc.SchemaGeneratorFacade %*

diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wscompile b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wscompile
deleted file mode 100644
index 46a3525..0000000
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wscompile
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-AS_INSTALL=`dirname "$0"`/..
-
-case "`uname`" in
-  CYGWIN*) AS_INSTALL=`cygpath --windows $AS_INSTALL`
-esac
-
-AS_INSTALL_LIB="$AS_INSTALL/modules"
-JAVAX_MAIL_JAR=$AS_INSTALL_LIB/jakarta.mail.jar
-. "${AS_INSTALL}/config/asenv.conf"
-JAVA=java
-
-#Depends upon Java from ../config/asenv.conf
-if [ ${AS_JAVA} ]; then
-    JAVA=${AS_JAVA}/bin/java
-fi
-
-exec "$JAVA" $WSCOMPILE_OPTS -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.rpc-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$JAVAX_MAIL_JAR:$JAVA_HOME/lib/tools.jar:$AS_INSTALL_LIB/aixporting-repackaged.jar" com.sun.xml.rpc.tools.wscompile.Main "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wscompile.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wscompile.bat
deleted file mode 100644
index a24cff4..0000000
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wscompile.bat
+++ /dev/null
@@ -1,36 +0,0 @@
-@echo off

-

-REM

-REM  Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

-REM

-REM  This program and the accompanying materials are made available under the

-REM  terms of the Eclipse Public License v. 2.0, which is available at

-REM  http://www.eclipse.org/legal/epl-2.0.

-REM

-REM  This Source Code may also be made available under the following Secondary

-REM  Licenses when the conditions for such availability set forth in the

-REM  Eclipse Public License v. 2.0 are satisfied: GNU General Public License,

-REM  version 2 with the GNU Classpath Exception, which is available at

-REM  https://www.gnu.org/software/classpath/license.html.

-REM

-REM  SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-REM

-

-

-VERIFY OTHER 2>nul

-setlocal ENABLEEXTENSIONS

-if ERRORLEVEL 0 goto ok

-echo "Unable to enable extensions"

-exit /B 1

-

-:ok

-call "%~dp0..\config\asenv.bat"

-if "%AS_JAVA%x" == "x" goto UsePath

-set JAVA="%AS_JAVA%\bin\java"

-goto run

-

-:UsePath

-set JAVA=java

-

-:run

-%JAVA% %WSCOMPILE_OPTS% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.rpc-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.mail.jar;%JAVA_HOME%/lib/tools.jar" com.sun.xml.rpc.tools.wscompile.Main %*

diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsdeploy b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsdeploy
deleted file mode 100644
index 144fe72..0000000
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsdeploy
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-AS_INSTALL=`dirname "$0"`/..
-
-case "`uname`" in
-  CYGWIN*) AS_INSTALL=`cygpath --windows $AS_INSTALL`
-esac
-
-AS_INSTALL_LIB="$AS_INSTALL/modules"
-JAVAX_MAIL_JAR=$AS_INSTALL_LIB/jakarta.mail.jar
-. "${AS_INSTALL}/config/asenv.conf"
-JAVA=java
-
-#Depends upon Java from ../config/asenv.conf
-if [ ${AS_JAVA} ]; then
-    JAVA=${AS_JAVA}/bin/java
-fi
-
-exec "$JAVA" -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.rpc-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar:$JAVAX_MAIL_JAR:$JAVA_HOME/lib/tools.jar" com.sun.xml.rpc.tools.wsdeploy.Main "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsdeploy.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsdeploy.bat
deleted file mode 100644
index 6112d13..0000000
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsdeploy.bat
+++ /dev/null
@@ -1,36 +0,0 @@
-@echo off

-

-REM

-REM  Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

-REM

-REM  This program and the accompanying materials are made available under the

-REM  terms of the Eclipse Public License v. 2.0, which is available at

-REM  http://www.eclipse.org/legal/epl-2.0.

-REM

-REM  This Source Code may also be made available under the following Secondary

-REM  Licenses when the conditions for such availability set forth in the

-REM  Eclipse Public License v. 2.0 are satisfied: GNU General Public License,

-REM  version 2 with the GNU Classpath Exception, which is available at

-REM  https://www.gnu.org/software/classpath/license.html.

-REM

-REM  SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-REM

-

-

-VERIFY OTHER 2>nul

-setlocal ENABLEEXTENSIONS

-if ERRORLEVEL 0 goto ok

-echo "Unable to enable extensions"

-exit /B 1

-

-:ok

-call "%~dp0..\config\asenv.bat"

-if "%AS_JAVA%x" == "x" goto UsePath

-set JAVA="%AS_JAVA%\bin\java"

-goto run

-

-:UsePath

-set JAVA=java

-

-:run

-%JAVA% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.rpc-api.jar;%~dp0..\modules\jaxb-osgi.jar;%~dp0..\modules\jakarta.mail.jar;%JAVA_HOME%/lib/tools.jar" com.sun.xml.rpc.tools.wsdeploy.Main %*

diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen
index 9eaff1b..b9aad0a 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,4 +30,4 @@
     JAVA=${AS_JAVA}/bin/java
 fi
 
-exec "$JAVA" $WSGEN_OPTS -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.rpc-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar" com.sun.tools.ws.WsGen "$@"
+exec "$JAVA" $WSGEN_OPTS -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jaxb-osgi.jar" com.sun.tools.ws.WsGen "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen.bat
index 4fdb31f..e7da256 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen.bat
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsgen.bat
@@ -1,7 +1,7 @@
 @echo off

 

 REM

-REM  Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

+REM  Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.

 REM

 REM  This program and the accompanying materials are made available under the

 REM  terms of the Eclipse Public License v. 2.0, which is available at

@@ -33,4 +33,4 @@
 set JAVA=java

 

 :run

-%JAVA% %WSGEN_OPTS% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.rpc-api.jar;%~dp0..\modules\jaxb-osgi.jar" com.sun.tools.ws.WsGen %*

+%JAVA% %WSGEN_OPTS% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jaxb-osgi.jar" com.sun.tools.ws.WsGen %*

diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport
index 95410ea..ada6b23 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,4 +30,4 @@
     JAVA=${AS_JAVA}/bin/java
 fi
 
-exec "$JAVA" $WSIMPORT_OPTS -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.rpc-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar" com.sun.tools.ws.WsImport "$@"
+exec "$JAVA" $WSIMPORT_OPTS -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jaxb-osgi.jar" com.sun.tools.ws.WsImport "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport.bat
index 0c4d4a2..dd9e6c5 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport.bat
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/wsimport.bat
@@ -1,7 +1,7 @@
 @echo off

 

 REM

-REM  Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

+REM  Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.

 REM

 REM  This program and the accompanying materials are made available under the

 REM  terms of the Eclipse Public License v. 2.0, which is available at

@@ -33,4 +33,4 @@
 set JAVA=java

 

 :run

-%JAVA% %WSIMPORT_OPTS% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.rpc-api.jar;%~dp0..\modules\jaxb-osgi.jar" com.sun.tools.ws.WsImport %*

+%JAVA% %WSIMPORT_OPTS% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jaxb-osgi.jar" com.sun.tools.ws.WsImport %*

diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc
index 147561b..8330b77 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
 #
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License v. 2.0, which is available at
@@ -30,4 +30,4 @@
     JAVA=${AS_JAVA}/bin/java
 fi
 
-exec "$JAVA" -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jakarta.xml.rpc-api.jar:$AS_INSTALL_LIB/jaxb-osgi.jar" com.sun.tools.xjc.Driver "$@"
+exec "$JAVA" -Djava.endorsed.dirs="$AS_INSTALL_LIB/endorsed" -cp "$AS_INSTALL_LIB/webservices-osgi.jar:$AS_INSTALL_LIB/jaxb-osgi.jar" com.sun.tools.xjc.Driver "$@"
diff --git a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc.bat b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc.bat
index 022a436..589af17 100644
--- a/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc.bat
+++ b/appserver/webservices/webservices-scripts/src/main/resources/glassfish/bin/xjc.bat
@@ -1,7 +1,7 @@
 @echo off

 

 REM

-REM  Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.

+REM  Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.

 REM

 REM  This program and the accompanying materials are made available under the

 REM  terms of the Eclipse Public License v. 2.0, which is available at

@@ -33,4 +33,4 @@
 set JAVA=java

 

 :run

-%JAVA% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jakarta.xml.rpc-api.jar;%~dp0..\modules\jaxb-osgi.jar" com.sun.tools.xjc.Driver %*

+%JAVA% -Djava.endorsed.dirs="%~dp0..\modules\endorsed" -cp "%~dp0..\modules\webservices-osgi.jar;%~dp0..\modules\jaxb-osgi.jar" com.sun.tools.xjc.Driver %*