Merge pull request #23050 from smillidge/23046
Upgrade to HK2 3.0.0-M2
diff --git a/appserver/admingui/core/pom.xml b/appserver/admingui/core/pom.xml
index ea8ed0e..4e58cfd 100644
--- a/appserver/admingui/core/pom.xml
+++ b/appserver/admingui/core/pom.xml
@@ -136,7 +136,11 @@
             <artifactId>prototype</artifactId>
             <scope>runtime</scope>
         </dependency>
-
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <scope>runtime</scope>
+        </dependency>
         <dependency>
             <groupId>org.glassfish.main.security</groupId>
             <artifactId>security</artifactId>
diff --git a/appserver/admingui/war/src/main/webapp/WEB-INF/sun-web.xml b/appserver/admingui/war/src/main/webapp/WEB-INF/sun-web.xml
index b6af513..b92d248 100644
--- a/appserver/admingui/war/src/main/webapp/WEB-INF/sun-web.xml
+++ b/appserver/admingui/war/src/main/webapp/WEB-INF/sun-web.xml
@@ -37,6 +37,6 @@
 	<parameter-encoding default-charset="UTF-8" />
  </locale-charset-info>
 
-<class-loader delegate="true" extra-class-path="WEB-INF/extra/woodstock-webui-jsf-suntheme-5.0.0-M1.jar:WEB-INF/extra/dojo-ajax-nodemo-1.12.4.jar:WEB-INF/extra/woodstock-webui-jsf-5.0.0-M1.jar:WEB-INF/extra/json-2.0.jar:WEB-INF/extra/prototype-1.7.3.jar" />
+<class-loader delegate="true" extra-class-path="WEB-INF/extra/woodstock-webui-jsf-suntheme-5.0.0-M1.jar:WEB-INF/extra/dojo-ajax-nodemo-1.12.4.jar:WEB-INF/extra/woodstock-webui-jsf-5.0.0-M1.jar:WEB-INF/extra/json-2.0.jar:WEB-INF/extra/prototype-1.7.3.jar:WEB-INF/extra/commons-io-2.6.jar" />
 
 </sun-web-app>
diff --git a/appserver/pom.xml b/appserver/pom.xml
index 9a9e712..0ff15b0 100644
--- a/appserver/pom.xml
+++ b/appserver/pom.xml
@@ -554,6 +554,11 @@
                 <version>1.7.3</version>
             </dependency>
             <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>2.6</version>
+            </dependency>
+            <dependency>
                 <groupId>com.sun.woodstock.dependlibs</groupId>
                 <artifactId>dataprovider</artifactId>
                 <version>1.0</version>
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/Ejb3MessageDispatcher.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/Ejb3MessageDispatcher.java
index bba590c..2fa4184 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/Ejb3MessageDispatcher.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/Ejb3MessageDispatcher.java
@@ -81,8 +81,7 @@
                 adapterInfo = (AdapterInvocationInfo) endpointInfo.prepareInvocation(true);
                 adapter = adapterInfo.getAdapter();
                 if (adapter != null) {
-                    logger.log(SEVERE, "!!! TODO: UNCOMMENT LINE BELLOW !!! ({0})", Ejb3MessageDispatcher.class.getName());
-//                    adapter.handle(null, req, resp);
+                    adapter.handle(null, req, resp);
                 } else {
                     logger.log(SEVERE, UNABLE_FIND_ADAPTER, endpointInfo.getEndpoint().getName());
                 }
@@ -109,8 +108,7 @@
             adapterInfo = (AdapterInvocationInfo) endpointInfo.prepareInvocation(true);
             adapter = adapterInfo.getAdapter();
             if (adapter != null) {
-                logger.log(SEVERE, "!!! TODO: UNCOMMENT LINE BELLOW !!! ({0})", Ejb3MessageDispatcher.class.getName());
-//                adapter.publishWSDL(ctxt, req, resp);
+                adapter.publishWSDL(ctxt, req, resp);
             } else {
                 String message = "Invalid wsdl request " + req.getRequestURL();
                 (new WsUtil()).writeInvalidMethodType(resp, message);
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXWSServlet.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXWSServlet.java
index c2dc820..6f9b6d0 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXWSServlet.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/JAXWSServlet.java
@@ -137,8 +137,7 @@
         try {
             ServletAdapter targetEndpoint = (ServletAdapter) getEndpointFor(request);
             if (targetEndpoint != null) {
-                logger.log(Level.SEVERE, "!!! TODO: UNCOMMENT LINE BELLOW !!! ({0})", JAXWSServlet.class.getName());
-//                targetEndpoint.handle(getServletContext(), request, response);
+                targetEndpoint.handle(getServletContext(), request, response);
             } else {
                 throw new ServletException("Service not found");
             }
@@ -191,8 +190,7 @@
         try {
             ServletAdapter targetEndpoint = (ServletAdapter) getEndpointFor(request);
             if (targetEndpoint != null && wsdlExposed) {
-                logger.log(Level.SEVERE, "!!! TODO: UNCOMMENT LINE BELLOW !!! ({0})", JAXWSServlet.class.getName());
-//                targetEndpoint.publishWSDL(getServletContext(), request, response);
+                targetEndpoint.publishWSDL(getServletContext(), request, response);
             } else {
                 String message = "Invalid wsdl request " + request.getRequestURL();
                 (new WsUtil()).writeInvalidMethodType(response, message);
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceStatsProvider.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceStatsProvider.java
index e85de61..6956d7f 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceStatsProvider.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/monitoring/WebServiceStatsProvider.java
@@ -16,8 +16,6 @@
 
 package org.glassfish.webservices.monitoring;
 
-import static java.util.logging.Level.SEVERE;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -34,9 +32,9 @@
 import org.glassfish.gmbal.ManagedData;
 import org.glassfish.gmbal.ManagedObject;
 import org.glassfish.gmbal.ManagedOperation;
-import org.glassfish.webservices.LogUtils;
 import org.glassfish.webservices.deployment.DeployedEndpointData;
 
+import jakarta.servlet.ServletContext;
 import com.sun.xml.ws.transport.http.servlet.ServletAdapter;
 
 
@@ -80,7 +78,18 @@
     // sun-jaxws.xml undeployment
     @ProbeListener("glassfish:webservices:deployment-ri:undeploy")
     public synchronized void riUndeploy(@ProbeParam("adapter") ServletAdapter adapter) {
-        LogUtils.getLogger().log(SEVERE, "!!! TODO: UNCOMMENT LINE(S) BELLOW !!! ({0})", WebServiceStatsProvider.class.getName());
+        ServletContext ctxt = adapter.getServletContext();
+        String name = ctxt.getContextPath()+adapter.getValidPath();
+        DeployedEndpointData data = endpoints.remove(name);
+
+        String contextPath = adapter.getServletContext().getContextPath();
+        List<DeployedEndpointData> ri = riEndpoints.get(contextPath);
+        if (ri != null) {
+            ri.remove(data);
+            if (ri.isEmpty()) {
+                riEndpoints.remove(contextPath);
+            }
+        }
     }
 
     // admin CLI doesn't pick-up Collection<DeployedEndpointData>. Hence
diff --git a/nucleus/parent/pom.xml b/nucleus/parent/pom.xml
index e2529d5..f1d62fb 100644
--- a/nucleus/parent/pom.xml
+++ b/nucleus/parent/pom.xml
@@ -103,7 +103,7 @@
         <gmbal.version>4.0.2</gmbal.version>
         <antlr.version>2.7.8</antlr.version>
         <ant.version>1.10.2</ant.version>
-        <jersey.version>3.0.0-M2</jersey.version>
+        <jersey.version>3.0.0-M4</jersey.version>
         <jackson.version>2.10.2</jackson.version>
         <jettison.version>1.4.0</jettison.version>