diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/ConfirmationServlet.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/ConfirmationServlet.java
index 8d0c2df..88c8280 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/ConfirmationServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/ConfirmationServlet.java
@@ -16,7 +16,7 @@
 
 package com.sun.cb;
 
-import javax.xml.soap.*;
+import jakarta.xml.soap.*;
 import javax.servlet.*;
 import javax.servlet.http.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/OrderRequest.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/OrderRequest.java
index b63b5f1..c611201 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/OrderRequest.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/OrderRequest.java
@@ -22,7 +22,7 @@
 import java.text.SimpleDateFormat;
 import java.math.BigDecimal;
 
-import javax.xml.soap.*;
+import jakarta.xml.soap.*;
 
 public class OrderRequest {
     String url;
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListRequest.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListRequest.java
index 222e241..a3c3344 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListRequest.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListRequest.java
@@ -16,7 +16,7 @@
 
 package com.sun.cb;
 
-import javax.xml.soap.*;
+import jakarta.xml.soap.*;
 import java.util.*;
 import java.math.BigDecimal;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListServlet.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListServlet.java
index 08543fd..005da45 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListServlet.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/PriceListServlet.java
@@ -16,7 +16,7 @@
 
 package com.sun.cb;
 
-import javax.xml.soap.*;
+import jakarta.xml.soap.*;
 import javax.servlet.*;
 import javax.servlet.http.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/TestOrderRequest.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/TestOrderRequest.java
index 98a2e4f..a087bf9 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/TestOrderRequest.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/TestOrderRequest.java
@@ -20,7 +20,7 @@
 import java.io.*;
 import java.util.*;
 
-import javax.xml.soap.*;
+import jakarta.xml.soap.*;
 
 public class TestOrderRequest {
     public static void main(String [] args) {    
diff --git a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/TestPriceListRequest.java b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/TestPriceListRequest.java
index 568cf55..c48f52e 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/TestPriceListRequest.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/jsr88/misc/exampleFromJ2EETutorial/cb/saaj/src/com/sun/cb/TestPriceListRequest.java
@@ -16,7 +16,7 @@
 
 package com.sun.cb;
 
-import javax.xml.soap.*;
+import jakarta.xml.soap.*;
 import java.util.*;
 
 import java.net.*;
diff --git a/appserver/tests/appserv-tests/devtests/deployment/webservices/noinf/client/Client.java b/appserver/tests/appserv-tests/devtests/deployment/webservices/noinf/client/Client.java
index fed5ae7..23dccf7 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/webservices/noinf/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/webservices/noinf/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/deployment/webservices/noinf/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/deployment/webservices/noinf/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/webservices/noinf/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/deployment/webservices/noinf/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/ejb/webservice/commit/client/Client.java b/appserver/tests/appserv-tests/devtests/ejb/webservice/commit/client/Client.java
index f672c03..51a2ccb 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/webservice/commit/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/webservice/commit/client/Client.java
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.ejb.webservice.commit.client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/ejb/webservice/commit/ejb/CommitBean.java b/appserver/tests/appserv-tests/devtests/ejb/webservice/commit/ejb/CommitBean.java
index 72d8c0e..9ad9da4 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/webservice/commit/ejb/CommitBean.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/webservice/commit/ejb/CommitBean.java
@@ -18,7 +18,7 @@
 
 import javax.ejb.*;
 import javax.annotation.Resource;
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.sql.*;
 import java.util.*;
 import java.sql.*;
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/wsRequestScoped/servlet/test/NewWebService.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/wsRequestScoped/servlet/test/NewWebService.java
index 13a753c..f5ba846 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/wsRequestScoped/servlet/test/NewWebService.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/wsRequestScoped/servlet/test/NewWebService.java
@@ -23,9 +23,9 @@
 import javax.annotation.Resource;
 import javax.inject.Inject;
 import jakarta.jms.*;
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.WebParam;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/wsTransactionScoped/servlet/test/NewWebService.java b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/wsTransactionScoped/servlet/test/NewWebService.java
index 4133870..916abdd 100644
--- a/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/wsTransactionScoped/servlet/test/NewWebService.java
+++ b/appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/wsTransactionScoped/servlet/test/NewWebService.java
@@ -1,4 +1,4 @@
-/*
+/*uto-merging appserver/tests/appserv-tests/devtests/jms/injection/jmsContext/basic/wsRequestScoped/servlet/test/NewWebService.java
  * Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -23,9 +23,9 @@
 import javax.annotation.Resource;
 import javax.inject.Inject;
 import jakarta.jms.*;
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.WebParam;
 import javax.transaction.UserTransaction;
 
 /**
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/SOAPTestClientAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/SOAPTestClientAuthModule.java
index 955e2f7..212709b 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/SOAPTestClientAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/SOAPTestClientAuthModule.java
@@ -25,7 +25,7 @@
 import javax.security.auth.message.MessagePolicy;
 import javax.security.auth.message.module.ClientAuthModule;
 import javax.xml.namespace.QName;
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.soap.SOAPMessage;
 
 public class SOAPTestClientAuthModule implements ClientAuthModule {
     private CallbackHandler handler = null;
@@ -46,7 +46,7 @@
             Subject clientSubject) throws AuthException {
         SOAPMessage reqMessage = (SOAPMessage)messageInfo.getRequestMessage();
         QName serviceName = (QName)messageInfo.getMap().get(
-                javax.xml.ws.Endpoint.WSDL_SERVICE);
+                jakarta.xml.ws.Endpoint.WSDL_SERVICE);
         System.out.println("serviceName = " + serviceName);
         if (serviceName == null) {
             throw new AuthException("serviceName is null");
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/SOAPTestServerAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/SOAPTestServerAuthModule.java
index dccc935..57b2cd3 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/SOAPTestServerAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/SOAPTestServerAuthModule.java
@@ -24,7 +24,7 @@
 import javax.security.auth.message.MessageInfo;
 import javax.security.auth.message.MessagePolicy;
 import javax.security.auth.message.module.ServerAuthModule;
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.soap.SOAPMessage;
 
 public class SOAPTestServerAuthModule implements ServerAuthModule {
     private CallbackHandler handler = null;
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/Util.java b/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/Util.java
index 447da8e..52eb053 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/Util.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soap/authmodule/Util.java
@@ -17,10 +17,10 @@
 package com.sun.s1asdev.security.jmac.soap;
 
 import java.io.IOException;
-import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.soap.SOAPBody;
+import jakarta.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPException;
+import jakarta.xml.soap.SOAPMessage;
 
 class Util {
     static String getValue(SOAPMessage message) throws SOAPException {
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soap/client/Client.java.template b/appserver/tests/appserv-tests/devtests/security/jmac/soap/client/Client.java.template
index 8d1d6f8..8680feb 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soap/client/Client.java.template
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soap/client/Client.java.template
@@ -18,8 +18,8 @@
 
 import java.util.Map;
 
-import javax.jws.HandlerChain;
-import javax.xml.ws.WebServiceRef;
+import jakarta.jws.HandlerChain;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soap/client/TestHandler.java b/appserver/tests/appserv-tests/devtests/security/jmac/soap/client/TestHandler.java
index f566b46..beb0a07 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soap/client/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soap/client/TestHandler.java
@@ -20,10 +20,10 @@
 import java.util.Set;
 
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 
 public class TestHandler implements SOAPHandler<SOAPMessageContext> {
     
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soap/ejbws/HelloEjb.java b/appserver/tests/appserv-tests/devtests/security/jmac/soap/ejbws/HelloEjb.java
index ba7b517..14296fd 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soap/ejbws/HelloEjb.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soap/ejbws/HelloEjb.java
@@ -17,7 +17,7 @@
 package com.sun.s1asdev.security.jmac.soap.ejbws;
 
 import javax.ejb.Stateless;
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @Stateless
 @WebService(targetNamespace="http://ejbws.soap.jmac.security.s1asdev.sun.com", serviceName="JmacSoapEjbService")
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soap/servletws/HelloServlet.java b/appserver/tests/appserv-tests/devtests/security/jmac/soap/servletws/HelloServlet.java
index 6b60bd2..afd6af5 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soap/servletws/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soap/servletws/HelloServlet.java
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.security.jmac.soap.servletws;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(targetNamespace="http://servletws.soap.jmac.security.s1asdev.sun.com", serviceName="JmacSoapServletService")
 public class HelloServlet {
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/SOAPDefaultTestClientAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/SOAPDefaultTestClientAuthModule.java
index ac848cc..79a1bd4 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/SOAPDefaultTestClientAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/SOAPDefaultTestClientAuthModule.java
@@ -24,7 +24,7 @@
 import javax.security.auth.message.MessageInfo;
 import javax.security.auth.message.MessagePolicy;
 import javax.security.auth.message.module.ClientAuthModule;
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.soap.SOAPMessage;
 
 public class SOAPDefaultTestClientAuthModule implements ClientAuthModule {
     private CallbackHandler handler = null;
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/SOAPDefaultTestServerAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/SOAPDefaultTestServerAuthModule.java
index 8e5b6c2..8f3f05e 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/SOAPDefaultTestServerAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/SOAPDefaultTestServerAuthModule.java
@@ -24,7 +24,7 @@
 import javax.security.auth.message.MessageInfo;
 import javax.security.auth.message.MessagePolicy;
 import javax.security.auth.message.module.ServerAuthModule;
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.soap.SOAPMessage;
 
 public class SOAPDefaultTestServerAuthModule implements ServerAuthModule {
     private CallbackHandler handler = null;
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/Util.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/Util.java
index 056dbab..b9f4694 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/Util.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/authmodule/Util.java
@@ -17,10 +17,10 @@
 package com.sun.s1asdev.security.jmac.soapdefault;
 
 import java.io.IOException;
-import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.soap.SOAPBody;
+import jakarta.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPException;
+import jakarta.xml.soap.SOAPMessage;
 
 class Util {
     static String getValue(SOAPMessage message) throws SOAPException {
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/client/Client.java.template b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/client/Client.java.template
index 8b6cfd7..c3427c0 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/client/Client.java.template
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/client/Client.java.template
@@ -18,7 +18,7 @@
 
 import java.util.Map;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/ejbws/HelloEjb.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/ejbws/HelloEjb.java
index 2c14a4e..ec8c068 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/ejbws/HelloEjb.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/ejbws/HelloEjb.java
@@ -17,7 +17,7 @@
 package com.sun.s1asdev.security.jmac.soapdefault.ejbws;
 
 import javax.ejb.Stateless;
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @Stateless
 @WebService(targetNamespace="http://ejbws.soapdefault.jmac.security.s1asdev.sun.com", serviceName="JmacSoapDefaultEjbService")
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/servletws/HelloServlet.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/servletws/HelloServlet.java
index b5cc0b6..a769f75 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/servletws/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapDefault/servletws/HelloServlet.java
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.security.jmac.soapdefault.servletws;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(targetNamespace="http://servletws.soapdefault.jmac.security.s1asdev.sun.com", serviceName="JmacSoapDefaultServletService")
 public class HelloServlet {
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/SOAPEmbeddedTestClientAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/SOAPEmbeddedTestClientAuthModule.java
index d1deec0..8781e5a 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/SOAPEmbeddedTestClientAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/SOAPEmbeddedTestClientAuthModule.java
@@ -25,7 +25,7 @@
 import javax.security.auth.message.MessagePolicy;
 import javax.security.auth.message.module.ClientAuthModule;
 import javax.xml.namespace.QName;
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.soap.SOAPMessage;
 
 public class SOAPEmbeddedTestClientAuthModule implements ClientAuthModule {
     private CallbackHandler handler = null;
@@ -46,7 +46,7 @@
             Subject clientSubject) throws AuthException {
         SOAPMessage reqMessage = (SOAPMessage)messageInfo.getRequestMessage();
         QName serviceName = (QName)messageInfo.getMap().get(
-                javax.xml.ws.Endpoint.WSDL_SERVICE);
+                jakarta.xml.ws.Endpoint.WSDL_SERVICE);
         System.out.println("serviceName = " + serviceName);
         if (serviceName == null) {
             throw new AuthException("serviceName is null");
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/SOAPEmbeddedTestServerAuthModule.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/SOAPEmbeddedTestServerAuthModule.java
index 578deff..776a9be 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/SOAPEmbeddedTestServerAuthModule.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/SOAPEmbeddedTestServerAuthModule.java
@@ -24,7 +24,7 @@
 import javax.security.auth.message.MessageInfo;
 import javax.security.auth.message.MessagePolicy;
 import javax.security.auth.message.module.ServerAuthModule;
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.soap.SOAPMessage;
 
 public class SOAPEmbeddedTestServerAuthModule implements ServerAuthModule {
     private CallbackHandler handler = null;
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/Util.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/Util.java
index 89bea16..d66da28 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/Util.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/authmodule/Util.java
@@ -17,10 +17,10 @@
 package com.sun.s1asdev.security.jmac.soapembedded;
 
 import java.io.IOException;
-import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPElement;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.soap.SOAPBody;
+import jakarta.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPException;
+import jakarta.xml.soap.SOAPMessage;
 
 class Util {
     static String getValue(SOAPMessage message) throws SOAPException {
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/ejbws/HelloEjb.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/ejbws/HelloEjb.java
index 2748cb8..f2b925b 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/ejbws/HelloEjb.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/ejbws/HelloEjb.java
@@ -17,7 +17,7 @@
 package com.sun.s1asdev.security.jmac.soapembedded.ejbws;
 
 import javax.ejb.Stateless;
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @Stateless
 @WebService(targetNamespace="http://ejbws.soapembedded.jmac.security.s1asdev.sun.com", serviceName="JmacSoapEmbeddedEjbService")
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/servletws/HelloServlet.java b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/servletws/HelloServlet.java
index 70c4d2a..08af97b 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/servletws/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/servletws/HelloServlet.java
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.security.jmac.soapembedded.servletws;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(targetNamespace="http://servletws.soapembedded.jmac.security.s1asdev.sun.com", serviceName="JmacSoapEmbeddedServletService")
 public class HelloServlet {
diff --git a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/webclient/Servlet.java.template b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/webclient/Servlet.java.template
index 37c406a..ff01683 100644
--- a/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/webclient/Servlet.java.template
+++ b/appserver/tests/appserv-tests/devtests/security/jmac/soapEmbedded/webclient/Servlet.java.template
@@ -24,7 +24,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.s1asdev.security.jmac.soapembedded.ejbws.HelloEjb;
 import com.sun.s1asdev.security.jmac.soapembedded.ejbws.JmacSoapEmbeddedEjbService;
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/gartner/client/PingClient.java b/appserver/tests/appserv-tests/devtests/security/wss/gartner/client/PingClient.java
index 042c854..a8bb4e1 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/gartner/client/PingClient.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/gartner/client/PingClient.java
@@ -16,8 +16,8 @@
 
 package com.sun.s1asdev.security.wss.gartner.client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.BindingProvider;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/gartner/ejbws/PingEjb.java b/appserver/tests/appserv-tests/devtests/security/wss/gartner/ejbws/PingEjb.java
index 5500ece..f4d8871 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/gartner/ejbws/PingEjb.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/gartner/ejbws/PingEjb.java
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.security.wss.gartner;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @Stateless
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/gartner/servletws/PingServlet.java b/appserver/tests/appserv-tests/devtests/security/wss/gartner/servletws/PingServlet.java
index 0bc34c7..4a8673b 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/gartner/servletws/PingServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/gartner/servletws/PingServlet.java
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.security.wss.gartner;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(targetNamespace="http://gartner.wss.security.s1asdev.sun.com")
 public class PingServlet {
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/roles/client/Client.java.template b/appserver/tests/appserv-tests/devtests/security/wss/roles/client/Client.java.template
index 3b571c4..1f0df6b 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/roles/client/Client.java.template
+++ b/appserver/tests/appserv-tests/devtests/security/wss/roles/client/Client.java.template
@@ -18,8 +18,8 @@
 
 import java.util.Map;
 
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/roles/ejbws/HelloEjb.java b/appserver/tests/appserv-tests/devtests/security/wss/roles/ejbws/HelloEjb.java
index ce4bd3b..accef76 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/roles/ejbws/HelloEjb.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/roles/ejbws/HelloEjb.java
@@ -25,8 +25,8 @@
 import javax.ejb.EJB;
 import javax.ejb.Stateless;
 import javax.ejb.SessionContext;
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceContext;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceContext;
 
 import com.sun.s1asdev.security.wss.roles.ejb.SfulLocal;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/roles/ejbws2/HelloEjb2.java b/appserver/tests/appserv-tests/devtests/security/wss/roles/ejbws2/HelloEjb2.java
index 04048d2..adff6af 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/roles/ejbws2/HelloEjb2.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/roles/ejbws2/HelloEjb2.java
@@ -18,7 +18,7 @@
 
 import javax.annotation.security.RolesAllowed;
 import javax.ejb.Stateless;
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @Stateless
 @WebService(targetNamespace="http://ejbws2.roles.wss.security.s1asdev.sun.com", serviceName="WssRolesEjb2Service")
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/roles/servletws/HelloServlet.java b/appserver/tests/appserv-tests/devtests/security/wss/roles/servletws/HelloServlet.java
index e276afd..da78f65 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/roles/servletws/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/roles/servletws/HelloServlet.java
@@ -17,8 +17,8 @@
 package com.sun.s1asdev.security.wss.roles.servletws;
 
 import javax.annotation.Resource;
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceContext;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceContext;
 
 @WebService(targetNamespace="http://servletws.roles.wss.security.s1asdev.sun.com", serviceName="WssRolesServletService")
 public class HelloServlet {
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/roles2/client/Client.java.template b/appserver/tests/appserv-tests/devtests/security/wss/roles2/client/Client.java.template
index 244d9c2..c3b1161 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/roles2/client/Client.java.template
+++ b/appserver/tests/appserv-tests/devtests/security/wss/roles2/client/Client.java.template
@@ -18,8 +18,8 @@
 
 import java.util.Map;
 
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/roles2/ejbws/HelloEjb.java b/appserver/tests/appserv-tests/devtests/security/wss/roles2/ejbws/HelloEjb.java
index e3a5f33..dc493b7 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/roles2/ejbws/HelloEjb.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/roles2/ejbws/HelloEjb.java
@@ -25,7 +25,7 @@
 import javax.ejb.EJB;
 import javax.ejb.Stateless;
 import javax.ejb.SessionContext;
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 import com.sun.s1asdev.security.wss.roles2.ejb.SfulLocal;
 
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/ssl/client/Client.java.template b/appserver/tests/appserv-tests/devtests/security/wss/ssl/client/Client.java.template
index 638aac1..3a16825 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/ssl/client/Client.java.template
+++ b/appserver/tests/appserv-tests/devtests/security/wss/ssl/client/Client.java.template
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.security.wss.ssl.client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.s1asdev.security.wss.ssl.ejbws.HelloEjb;
 import com.sun.s1asdev.security.wss.ssl.ejbws.WssSslEjbService;
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/ssl/ejbws/HelloEjb.java b/appserver/tests/appserv-tests/devtests/security/wss/ssl/ejbws/HelloEjb.java
index 4913293..dad4f2b 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/ssl/ejbws/HelloEjb.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/ssl/ejbws/HelloEjb.java
@@ -17,7 +17,7 @@
 package com.sun.s1asdev.security.wss.ssl.ejbws;
 
 import javax.ejb.Stateless;
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @Stateless
 @WebService(targetNamespace="http://ejbws.ssl.wss.security.s1asdev.sun.com", serviceName="WssSslEjbService")
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/ssl/servletws/HelloServlet.java b/appserver/tests/appserv-tests/devtests/security/wss/ssl/servletws/HelloServlet.java
index 3df17c1..57db6b6 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/ssl/servletws/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/ssl/servletws/HelloServlet.java
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.security.wss.ssl.servletws;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(targetNamespace="http://servletws.ssl.wss.security.s1asdev.sun.com", serviceName="WssSslServletService")
 public class HelloServlet {
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/client/Client.java.template b/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/client/Client.java.template
index 3b94eb6..873fe6a 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/client/Client.java.template
+++ b/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/client/Client.java.template
@@ -16,7 +16,7 @@
 
 package com.sun.s1asdev.security.wss.sslclientcert.client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.s1asdev.security.wss.sslclientcert.ejbws.HelloEjb;
 import com.sun.s1asdev.security.wss.sslclientcert.ejbws.WssSslClientCertEjbService;
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/ejbws/HelloEjb.java b/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/ejbws/HelloEjb.java
index 9b4e8b8..7f2b8f4 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/ejbws/HelloEjb.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/ejbws/HelloEjb.java
@@ -19,8 +19,8 @@
 import javax.annotation.Resource;
 import javax.ejb.SessionContext;
 import javax.ejb.Stateless;
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceContext;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceContext;
 
 @Stateless
 @WebService(targetNamespace="http://ejbws.sslclientcert.wss.security.s1asdev.sun.com", serviceName="WssSslClientCertEjbService")
diff --git a/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/servletws/HelloServlet.java b/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/servletws/HelloServlet.java
index 4a02115..6151be9 100644
--- a/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/servletws/HelloServlet.java
+++ b/appserver/tests/appserv-tests/devtests/security/wss/sslclientcert/servletws/HelloServlet.java
@@ -17,8 +17,8 @@
 package com.sun.s1asdev.security.wss.sslclientcert.servletws;
 
 import javax.annotation.Resource;
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceContext;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceContext;
 
 @WebService(targetNamespace="http://servletws.sslclientcert.wss.security.s1asdev.sun.com", serviceName="WssSslClientCertServletService")
 public class HelloServlet {
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib4/com/sun/devtests/web/SharedLib4ServContInit.java b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib4/com/sun/devtests/web/SharedLib4ServContInit.java
index d036894..c8887f2 100644
--- a/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib4/com/sun/devtests/web/SharedLib4ServContInit.java
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-3.0/servletContainerInitializer/sharedLibWithWars/sharedlib4/com/sun/devtests/web/SharedLib4ServContInit.java
@@ -20,7 +20,7 @@
 import javax.servlet.*;
 import javax.servlet.annotation.*;
 
-@HandlesTypes(javax.jws.WebService.class)
+@HandlesTypes(jakarta.jws.WebService.class)
 public class SharedLib4ServContInit implements ServletContainerInitializer {
     public SharedLib4ServContInit() {
 	System.out.println("SHARED LIB 4 CONST");
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/async/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/async/client/Client.java
index b248058..6515a93 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/async/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/async/client/Client.java
@@ -20,9 +20,9 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.AsyncHandler;
+import jakarta.xml.ws.Response;
 
 import endpoint.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/async/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/async/endpoint/AddNumbersImpl.java
index 0dac6b3..77c25bd 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/async/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/async/endpoint/AddNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public class AddNumbersImpl {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/endpoint/SubtractNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/endpoint/SubtractNumbersImpl.java
index b855a46..398727a 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/endpoint/SubtractNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/endpoint/SubtractNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-@javax.jws.WebService (serviceName="junkjunkjunk", endpointInterface="endpoint.SubtractNumbersPortType")
+@jakarta.jws.WebService (serviceName="junkjunkjunk", endpointInterface="endpoint.SubtractNumbersPortType")
 public class SubtractNumbersImpl implements SubtractNumbersPortType {
     
     public int subtractNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/Client.java
index 500a5da..d1423e7 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/TestHandler.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/TestHandler.java
index 5421452..eb1629b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-1/webclient/TestHandler.java
@@ -22,10 +22,10 @@
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 
 public class TestHandler implements SOAPHandler<SOAPMessageContext> {
     
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/endpoint/TestHandler.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/endpoint/TestHandler.java
index 2454918..6ee7a2c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/endpoint/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/endpoint/TestHandler.java
@@ -20,10 +20,10 @@
 import java.util.Set;
 
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 
 public class TestHandler implements SOAPHandler<SOAPMessageContext> {
     
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/Client.java
index 97f28be..ca03165 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/TestHandler.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/TestHandler.java
index 2282aaf..4a6ad5f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/client-handler-2/webclient/TestHandler.java
@@ -20,10 +20,10 @@
 import java.util.Set;
 
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 
 public class TestHandler implements SOAPHandler<SOAPMessageContext> {
     
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/client/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/client/webclient/Client.java
index 67d4564..e605f12 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/client/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/client/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 import com.example.hello1.*;
 import com.example.hello2.*;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/svc1/endpoint1/Hello1.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/svc1/endpoint1/Hello1.java
index 9ddb8e5..691c398 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/svc1/endpoint1/Hello1.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/svc1/endpoint1/Hello1.java
@@ -16,8 +16,8 @@
 
 package endpoint1;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Hello1",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/svc2/endpoint2/Hello2.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/svc2/endpoint2/Hello2.java
index 9dbdc9b..c32fe7d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/svc2/endpoint2/Hello2.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/containerresolver/svc2/endpoint2/Hello2.java
@@ -16,8 +16,8 @@
 
 package endpoint2;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Hello2",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/endpoint/SubtractNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/endpoint/SubtractNumbersImpl.java
index 34a0642..dc8a230 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/endpoint/SubtractNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/endpoint/SubtractNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-@javax.jws.WebService (serviceName="junkjunkjunk", portName="SubtractNumbersPortType", endpointInterface="endpoint.SubtractNumbersPortType")
+@jakarta.jws.WebService (serviceName="junkjunkjunk", portName="SubtractNumbersPortType", endpointInterface="endpoint.SubtractNumbersPortType")
 public class SubtractNumbersImpl implements SubtractNumbersPortType {
     
     public int subtractNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/webclient/Client.java
index baacae8..8c29780 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/dol-override-1/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/externalwsdl/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/externalwsdl/client/Client.java
index 5528917..3ae546d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/externalwsdl/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/externalwsdl/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.example.hello.HelloService;
 import com.example.hello.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/externalwsdl/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/externalwsdl/endpoint/Hello.java
index ed4481f..7475c65 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/externalwsdl/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/externalwsdl/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Hello",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/fault/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/fault/client/Client.java
index 124fdf6..bc2a69b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/fault/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/fault/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.example.hello.MyService;
 import com.example.hello.MyHello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/jaxrpcinjection/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/jaxrpcinjection/client/Client.java
index 4688b08..369f484 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/jaxrpcinjection/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/jaxrpcinjection/client/Client.java
@@ -22,7 +22,7 @@
 import javax.xml.namespace.QName;
 import javax.xml.rpc.Stub;
 import javax.xml.rpc.Service;
-import javax.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPElement;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 import servlet.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/libdependent/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/libdependent/client/Client.java
index 0c2f3b5..e71362b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/libdependent/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/libdependent/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.example.hello.HelloService;
 import com.example.hello.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/libdependent/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/libdependent/endpoint/Hello.java
index d628903..d49f158 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/libdependent/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/libdependent/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 import outsidepkg.RetVal;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/client/Client.java
index 03c30b3..987d857 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/endpoint/Hello.java
index 92c9f3f..f2ecc93 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/endpoint/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public class Hello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/webclient/Client.java
index 8ead502..e2ce5da 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/mappedname/webclient/Client.java
@@ -21,8 +21,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/mbyte/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/mbyte/endpoint/Hello.java
index 5e714f4..a00d18a 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/mbyte/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/mbyte/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Hello",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/endpoint/Hello.java
index 9821bf0..3778091 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/endpoint/Hello.java
@@ -16,9 +16,9 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.annotation.Resource;
-import javax.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceContext;
 
 @WebService
 public class Hello {
@@ -26,7 +26,7 @@
     @Resource WebServiceContext wsc;
 
     public String sayHello(String param) {
-        javax.xml.ws.handler.MessageContext m = wsc.getMessageContext();
+        jakarta.xml.ws.handler.MessageContext m = wsc.getMessageContext();
         if(m == null)
             return "WebService Context injection failed";
         if(wsc != null)
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/webclient/Client.java
index 5ea3624..675e989 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/msgctxt/webclient/Client.java
@@ -21,8 +21,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/endpoint/SubtractNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/endpoint/SubtractNumbersImpl.java
index 34a0642..dc8a230 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/endpoint/SubtractNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/endpoint/SubtractNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-@javax.jws.WebService (serviceName="junkjunkjunk", portName="SubtractNumbersPortType", endpointInterface="endpoint.SubtractNumbersPortType")
+@jakarta.jws.WebService (serviceName="junkjunkjunk", portName="SubtractNumbersPortType", endpointInterface="endpoint.SubtractNumbersPortType")
 public class SubtractNumbersImpl implements SubtractNumbersPortType {
     
     public int subtractNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/webclient/Client.java
index 55da128..761f980 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/mtom/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/client/Client.java
index 2112bd9..f35cddb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/service/Hello1Impl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/service/Hello1Impl.java
index 1be5b90..a551c23 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/service/Hello1Impl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/service/Hello1Impl.java
@@ -25,9 +25,9 @@
 
 // Service Implementation Class - as outlined in JAX-RPC Specification
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
-@javax.jws.WebService(
+@jakarta.jws.WebService(
     serviceName="HttpTestService",
     endpointInterface="service.Hello1",
     portName="Hello1Port",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/service/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/service/HelloImpl.java
index cc3bf90..82f4efe 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/service/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/multiport/service/HelloImpl.java
@@ -25,9 +25,9 @@
 
 // Service Implementation Class - as outlined in JAX-RPC Specification
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
-@javax.jws.WebService(
+@jakarta.jws.WebService(
     serviceName="HttpTestService",
     endpointInterface="service.Hello",
     portName="HelloPort",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/endpoint/Hello.java
index 7c48d53..24a78d1 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/endpoint/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public class Hello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/webclient/Client.java
index 2c58b8d..55c1cec 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname/webclient/Client.java
@@ -21,8 +21,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/endpoint/Hello2.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/endpoint/Hello2.java
index 0770bab..4aef922 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/endpoint/Hello2.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/endpoint/Hello2.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(
     name="Hello",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/webclient/Client.java
index 49d5ac9..16536de 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/noname2/webclient/Client.java
@@ -21,8 +21,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/nowebxml/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/nowebxml/client/Client.java
index 4515283..0f67fd2 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/nowebxml/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/nowebxml/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.example.hello.HelloService;
 import com.example.hello.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/nowebxml/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/nowebxml/endpoint/Hello.java
index 1cdf3b8..2e0e0ae 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/nowebxml/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/nowebxml/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Hello",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/endpoint/Hello.java
index ab5afae..318a262 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/endpoint/Hello.java
@@ -16,9 +16,9 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.Oneway;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.Oneway;
 
 @WebService
 public class Hello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/webclient/Client.java
index 6907dc1..099e3e2 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/oneway/webclient/Client.java
@@ -21,8 +21,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/pkgedwarservice/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/pkgedwarservice/client/Client.java
index f3292e0..c270648 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/pkgedwarservice/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/pkgedwarservice/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.example.hello.HelloService;
 import com.example.hello.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/pkgedwarservice/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/pkgedwarservice/endpoint/Hello.java
index 9ea1682..58f2336 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/pkgedwarservice/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/pkgedwarservice/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Hello",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/postconstruct/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/postconstruct/webclient/Client.java
index fdec9d8..5cd8e35 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/postconstruct/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/postconstruct/webclient/Client.java
@@ -21,8 +21,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/appclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/appclient/Client.java
index 33ab43c..39c1b93 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/appclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/appclient/Client.java
@@ -16,9 +16,9 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/endpoint/AddNumbersImpl.java
index 501cc53..e7bda7c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/endpoint/AddNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-@javax.jws.WebService (wsdlLocation="WEB-INF/wsdl/AddNumbers.wsdl", serviceName="AddNumbersService", targetNamespace="http://duke.org", portName="AddNumbersPortType", endpointInterface="endpoint.AddNumbersPortType")
+@jakarta.jws.WebService (wsdlLocation="WEB-INF/wsdl/AddNumbers.wsdl", serviceName="AddNumbersService", targetNamespace="http://duke.org", portName="AddNumbersPortType", endpointInterface="endpoint.AddNumbersPortType")
 public class AddNumbersImpl implements AddNumbersPortType {
     
     public int addNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/webclient/Client.java
index 518f816..2c0b5a0 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/prepkged-svc-1/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/provider-ejbinweb/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/provider-ejbinweb/client/Client.java
index faaa3b4..37ed2af 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/provider-ejbinweb/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/provider-ejbinweb/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.jaxws.HelloImplService;
 import endpoint.jaxws.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/provider-ejbinweb/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/provider-ejbinweb/endpoint/HelloImpl.java
index f2dac26..2ba99f5 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/provider-ejbinweb/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/provider-ejbinweb/endpoint/HelloImpl.java
@@ -17,16 +17,16 @@
 package endpoint;
 
 import java.io.*;
-import javax.xml.ws.Provider;
-import javax.xml.ws.WebServiceProvider;
+import jakarta.xml.ws.Provider;
+import jakarta.xml.ws.WebServiceProvider;
 import javax.ejb.Stateless;
 
 import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.ws.WebServiceException;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.ws.WebServiceException;
 
 
 import endpoint.jaxws.*;
@@ -39,14 +39,14 @@
     private int combo;
     private int bodyIndex;
 
-    public javax.xml.bind.JAXBContext getJAXBContext() {
+    public jakarta.xml.bind.JAXBContext getJAXBContext() {
         return jaxbContext;
     }
 
-    private static javax.xml.bind.JAXBContext createJAXBContext() {
+    private static jakarta.xml.bind.JAXBContext createJAXBContext() {
         try {
-            return javax.xml.bind.JAXBContext.newInstance(ObjectFactory.class);
-        } catch (javax.xml.bind.JAXBException e) {
+            return jakarta.xml.bind.JAXBContext.newInstance(ObjectFactory.class);
+        } catch (jakarta.xml.bind.JAXBException e) {
             throw new WebServiceException(e.getMessage(), e);
         }
     }
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/provider/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/provider/client/Client.java
index faaa3b4..37ed2af 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/provider/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/provider/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.jaxws.HelloImplService;
 import endpoint.jaxws.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/provider/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/provider/endpoint/HelloImpl.java
index b6694f5..d2f83c7 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/provider/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/provider/endpoint/HelloImpl.java
@@ -18,19 +18,19 @@
 
 import java.io.*;
 import java.util.Map;
-import javax.xml.ws.Provider;
-import javax.xml.ws.WebServiceProvider;
-import javax.xml.ws.ServiceMode;
-import javax.xml.ws.Service	;	
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.ws.Provider;
+import jakarta.xml.ws.WebServiceProvider;
+import jakarta.xml.ws.ServiceMode;
+import jakarta.xml.ws.Service	;	
+import jakarta.xml.soap.SOAPMessage;
 import javax.ejb.Stateless;
 
 import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.ws.WebServiceException;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.ws.WebServiceException;
 
 
 import endpoint.jaxws.*;
@@ -42,14 +42,14 @@
     private int combo;
     private int bodyIndex;
     
-    public javax.xml.bind.JAXBContext getJAXBContext(){
+    public jakarta.xml.bind.JAXBContext getJAXBContext(){
         return jaxbContext;
     }
     
-    private static javax.xml.bind.JAXBContext createJAXBContext(){
+    private static jakarta.xml.bind.JAXBContext createJAXBContext(){
         try{
-            return javax.xml.bind.JAXBContext.newInstance(ObjectFactory.class);
-        }catch(javax.xml.bind.JAXBException e){
+            return jakarta.xml.bind.JAXBContext.newInstance(ObjectFactory.class);
+        }catch(jakarta.xml.bind.JAXBException e){
             throw new WebServiceException(e.getMessage(), e);
         }
     }
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/client/Client.java
index d29cf2f..a5a4a01 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.jaxws.HelloImplService;
 import endpoint.jaxws.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/endpoint/HelloImpl.java
index c1490ca..174d8ca 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/endpoint/HelloImpl.java
@@ -18,19 +18,19 @@
 
 import java.io.*;
 import java.util.Map;
-import javax.xml.ws.Provider;
-import javax.xml.ws.WebServiceProvider;
-import javax.xml.ws.ServiceMode;
-import javax.xml.ws.Service	;	
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.ws.Provider;
+import jakarta.xml.ws.WebServiceProvider;
+import jakarta.xml.ws.ServiceMode;
+import jakarta.xml.ws.Service	;	
+import jakarta.xml.soap.SOAPMessage;
 import javax.ejb.Stateless;
 
 import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.ws.WebServiceException;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.ws.WebServiceException;
 
 
 import endpoint.jaxws.*;
@@ -43,14 +43,14 @@
     private int combo;
     private int bodyIndex;
     
-    public javax.xml.bind.JAXBContext getJAXBContext(){
+    public jakarta.xml.bind.JAXBContext getJAXBContext(){
         return jaxbContext;
     }
     
-    private static javax.xml.bind.JAXBContext createJAXBContext(){
+    private static jakarta.xml.bind.JAXBContext createJAXBContext(){
         try{
-            return javax.xml.bind.JAXBContext.newInstance(ObjectFactory.class);
-        }catch(javax.xml.bind.JAXBException e){
+            return jakarta.xml.bind.JAXBContext.newInstance(ObjectFactory.class);
+        }catch(jakarta.xml.bind.JAXBException e){
             throw new WebServiceException(e.getMessage(), e);
         }
     }
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/endpoint/TestHandler.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/endpoint/TestHandler.java
index 41508fb..c4946cc 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/endpoint/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/providerhandler/endpoint/TestHandler.java
@@ -22,10 +22,10 @@
 import javax.annotation.Resource;
 import javax.annotation.PostConstruct;
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 
 public class TestHandler implements SOAPHandler<SOAPMessageContext> {
     
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/restful-2/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/restful-2/client/Client.java
index 85dc13c..b4b3356 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/restful-2/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/restful-2/client/Client.java
@@ -33,10 +33,10 @@
 import javax.xml.transform.dom.DOMResult;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-import javax.xml.ws.Dispatch;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.http.HTTPBinding;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.Dispatch;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.http.HTTPBinding;
 import java.io.ByteArrayOutputStream;
 import java.util.Properties;
 import java.util.Map;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/restful-2/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/restful-2/endpoint/AddNumbersImpl.java
index 4d25ecc..629ff59 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/restful-2/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/restful-2/endpoint/AddNumbersImpl.java
@@ -22,15 +22,15 @@
 import javax.annotation.Resource;
 import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
-import javax.xml.ws.Provider;
-import javax.xml.ws.WebServiceContext;
-import javax.xml.ws.WebServiceProvider;
-import javax.xml.ws.Service;
-import javax.xml.ws.ServiceMode;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.http.HTTPException;
-import javax.xml.ws.http.HTTPBinding;
-import javax.xml.ws.BindingType;
+import jakarta.xml.ws.Provider;
+import jakarta.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceProvider;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.ServiceMode;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.http.HTTPException;
+import jakarta.xml.ws.http.HTTPBinding;
+import jakarta.xml.ws.BindingType;
 
 @WebServiceProvider
 @BindingType(value=HTTPBinding.HTTP_BINDING)
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/restful/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/restful/client/Client.java
index 2316410..7fd67de 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/restful/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/restful/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/restful/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/restful/endpoint/AddNumbersImpl.java
index 4d25ecc..629ff59 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/restful/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/restful/endpoint/AddNumbersImpl.java
@@ -22,15 +22,15 @@
 import javax.annotation.Resource;
 import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
-import javax.xml.ws.Provider;
-import javax.xml.ws.WebServiceContext;
-import javax.xml.ws.WebServiceProvider;
-import javax.xml.ws.Service;
-import javax.xml.ws.ServiceMode;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.http.HTTPException;
-import javax.xml.ws.http.HTTPBinding;
-import javax.xml.ws.BindingType;
+import jakarta.xml.ws.Provider;
+import jakarta.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceProvider;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.ServiceMode;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.http.HTTPException;
+import jakarta.xml.ws.http.HTTPBinding;
+import jakarta.xml.ws.BindingType;
 
 @WebServiceProvider
 @BindingType(value=HTTPBinding.HTTP_BINDING)
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/soap12/appclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/soap12/appclient/Client.java
index 6478cee..1154d3e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/soap12/appclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/soap12/appclient/Client.java
@@ -16,9 +16,9 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/soap12/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/soap12/endpoint/AddNumbersImpl.java
index 6fa9f29..374f5bd 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/soap12/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/soap12/endpoint/AddNumbersImpl.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-@javax.xml.ws.BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
-@javax.jws.WebService (wsdlLocation="WEB-INF/wsdl/AddNumbers.wsdl", serviceName="AddNumbersService", targetNamespace="http://duke.org", portName="AddNumbersPort", endpointInterface="endpoint.AddNumbersPortType")
+@jakarta.xml.ws.BindingType(jakarta.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
+@jakarta.jws.WebService (wsdlLocation="WEB-INF/wsdl/AddNumbers.wsdl", serviceName="AddNumbersService", targetNamespace="http://duke.org", portName="AddNumbersPort", endpointInterface="endpoint.AddNumbersPortType")
 public class AddNumbersImpl implements AddNumbersPortType {
     
     public int addNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/ejb_endpoint/WSHelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/ejb_endpoint/WSHelloEJB.java
index d820e3e..2849f57 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/ejb_endpoint/WSHelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/ejb_endpoint/WSHelloEJB.java
@@ -16,7 +16,7 @@
 
 package ejb_endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/servlet_endpoint/ServletHello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/servlet_endpoint/ServletHello.java
index 0bc1988..79b0725 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/servlet_endpoint/ServletHello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/servlet_endpoint/ServletHello.java
@@ -16,7 +16,7 @@
 
 package servlet_endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public class ServletHello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/endpoint/SubtractNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/endpoint/SubtractNumbersImpl.java
index 06cf4d8..659c48e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/endpoint/SubtractNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/endpoint/SubtractNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-@javax.jws.WebService (serviceName="junkjunkjunk", endpointInterface="endpoint.SubtractNumbersPortType")
+@jakarta.jws.WebService (serviceName="junkjunkjunk", endpointInterface="endpoint.SubtractNumbersPortType")
 public class SubtractNumbersImpl implements SubtractNumbersPortType {
     
     public int subtractNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/endpoint/TestHandler.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/endpoint/TestHandler.java
index 2d47d81..9ffc041 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/endpoint/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/endpoint/TestHandler.java
@@ -20,10 +20,10 @@
 import java.util.Set;
 
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 import javax.annotation.Resource;
 import javax.annotation.PostConstruct;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/webclient/Client.java
index 9735a0e..95f597e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-1/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/endpoint/TestHandler.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/endpoint/TestHandler.java
index 582e3af..891a8b4 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/endpoint/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/endpoint/TestHandler.java
@@ -22,10 +22,10 @@
 import javax.annotation.Resource;
 import javax.annotation.PostConstruct;
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 
 public class TestHandler implements SOAPHandler<SOAPMessageContext> {
     
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/webclient/Client.java
index dd9d3de..65cebee 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-2/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/endpoint/TestHandler.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/endpoint/TestHandler.java
index 9a525ed..2de4c99 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/endpoint/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/endpoint/TestHandler.java
@@ -20,10 +20,10 @@
 import java.util.Set;
 
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 
 public class TestHandler implements SOAPHandler<SOAPMessageContext> {
     
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/webclient/Client.java
index eca56cf..894f360 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-3/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/endpoint/TestHandler.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/endpoint/TestHandler.java
index 582e3af..891a8b4 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/endpoint/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/endpoint/TestHandler.java
@@ -22,10 +22,10 @@
 import javax.annotation.Resource;
 import javax.annotation.PostConstruct;
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 
 public class TestHandler implements SOAPHandler<SOAPMessageContext> {
     
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/webclient/Client.java
index c3ff35b..a9e30f3 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/svchandler-4/webclient/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/warservice/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/warservice/client/Client.java
index 416c0ca..00a2aaa 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/warservice/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/warservice/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.example.hello.HelloService;
 import com.example.hello.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/warservice/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/warservice/endpoint/Hello.java
index 8c6f018..c5727b2 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/warservice/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/warservice/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Hello",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-cobundle/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-cobundle/webclient/Client.java
index 16f5266..4e82b88 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-cobundle/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-cobundle/webclient/Client.java
@@ -21,8 +21,8 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 import service.*;
 
@@ -31,7 +31,7 @@
  */
 public class Client extends HttpServlet {
 
-    @javax.xml.ws.WebServiceRef
+    @jakarta.xml.ws.WebServiceRef
     SubtractNumbersService service;
 
     public void doGet(HttpServletRequest req, HttpServletResponse resp)
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/endpoint/SubtractNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/endpoint/SubtractNumbersImpl.java
index 77bda18..4d63392 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/endpoint/SubtractNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/endpoint/SubtractNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-@javax.jws.WebService
+@jakarta.jws.WebService
 public class SubtractNumbersImpl  {
     
     public int subtractNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/webclient/Client.java
index 4827059..539ccc2 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webserviceref-lookup/webclient/Client.java
@@ -21,16 +21,16 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(name="foo/bar" )
+        @jakarta.xml.ws.WebServiceRef(name="foo/bar" )
         @Addressing 
         SubtractNumbersService service;
 
-        @javax.xml.ws.WebServiceRef(lookup="java:comp/env/foo/bar")
+        @jakarta.xml.ws.WebServiceRef(lookup="java:comp/env/foo/bar")
         SubtractNumbersService service2;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/client/Client.java
index 9c1123e..70a6d40 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRefs;
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRefs;
+import jakarta.xml.ws.WebServiceRef;
 
 import servlet_endpoint.ServletHelloService;
 import servlet_endpoint.ServletHello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/ejb_endpoint/WSHello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/ejb_endpoint/WSHello.java
index 6f40c20..73d3a54 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/ejb_endpoint/WSHello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/ejb_endpoint/WSHello.java
@@ -16,7 +16,7 @@
 
 package ejb_endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public interface WSHello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/ejb_endpoint/WSHelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/ejb_endpoint/WSHelloEJB.java
index 4b0bdc5..0cd2b3e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/ejb_endpoint/WSHelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/ejb_endpoint/WSHelloEJB.java
@@ -16,7 +16,7 @@
 
 package ejb_endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService(endpointInterface="ejb_endpoint.WSHello")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/servlet_endpoint/ServletHello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/servlet_endpoint/ServletHello.java
index 0bc1988..79b0725 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/servlet_endpoint/ServletHello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservicerefs/servlet_endpoint/ServletHello.java
@@ -16,7 +16,7 @@
 
 package servlet_endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public class ServletHello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/endpoint/SubtractNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/endpoint/SubtractNumbersImpl.java
index 77bda18..4d63392 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/endpoint/SubtractNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/endpoint/SubtractNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-@javax.jws.WebService
+@jakarta.jws.WebService
 public class SubtractNumbersImpl  {
     
     public int subtractNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/webclient/Client.java
index 2c9765d..2d0d42a 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-2/webclient/Client.java
@@ -21,12 +21,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(name="foo/bar" ,value =SubtractNumbersService.class)
+        @jakarta.xml.ws.WebServiceRef(name="foo/bar" ,value =SubtractNumbersService.class)
        @Addressing (enabled=false)
         //@Addressing 
         SubtractNumbersImpl port;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-appclient/appclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-appclient/appclient/Client.java
index 600f1b7..97bd436 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-appclient/appclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-appclient/appclient/Client.java
@@ -16,10 +16,10 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.soap.*;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-appclient/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-appclient/endpoint/AddNumbersImpl.java
index 6fa9f29..374f5bd 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-appclient/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing-appclient/endpoint/AddNumbersImpl.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-@javax.xml.ws.BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
-@javax.jws.WebService (wsdlLocation="WEB-INF/wsdl/AddNumbers.wsdl", serviceName="AddNumbersService", targetNamespace="http://duke.org", portName="AddNumbersPort", endpointInterface="endpoint.AddNumbersPortType")
+@jakarta.xml.ws.BindingType(jakarta.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
+@jakarta.jws.WebService (wsdlLocation="WEB-INF/wsdl/AddNumbers.wsdl", serviceName="AddNumbersService", targetNamespace="http://duke.org", portName="AddNumbersPort", endpointInterface="endpoint.AddNumbersPortType")
 public class AddNumbersImpl implements AddNumbersPortType {
     
     public int addNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/endpoint/SubtractNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/endpoint/SubtractNumbersImpl.java
index 77bda18..4d63392 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/endpoint/SubtractNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/endpoint/SubtractNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-@javax.jws.WebService
+@jakarta.jws.WebService
 public class SubtractNumbersImpl  {
     
     public int subtractNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/webclient/Client.java
index b88f36e..5fbce84 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-addressing/webclient/Client.java
@@ -21,12 +21,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(SubtractNumbersService.class)
+        @jakarta.xml.ws.WebServiceRef(SubtractNumbersService.class)
        //@Addressing (required = true,enabled=true ,responses=AddressingFeature.Responses.NON_ANONYMOUS)
         //@Addressing 
         SubtractNumbersImpl port;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/endpoint/SubtractNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/endpoint/SubtractNumbersImpl.java
index a3aac5a..8d10efd 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/endpoint/SubtractNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/endpoint/SubtractNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService ;
+import jakarta.jws.WebService ;
 
 @WebService(
     portName="SubtractNumbersPortType",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/webclient/Client.java
index ad3a10f..2f8df3c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-clientdds/webclient/Client.java
@@ -21,12 +21,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
-        //@javax.xml.ws.WebServiceRef(SubtractNumbersService.class)
+        //@jakarta.xml.ws.WebServiceRef(SubtractNumbersService.class)
        //@Addressing (required = true,enabled=true ,responses=AddressingFeature.Responses.NON_ANONYMOUS)
         //@Addressing 
         SubtractNumbersPortType port;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/endpoint/SubtractNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/endpoint/SubtractNumbersImpl.java
index 77bda18..4d63392 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/endpoint/SubtractNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/endpoint/SubtractNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-@javax.jws.WebService
+@jakarta.jws.WebService
 public class SubtractNumbersImpl  {
     
     public int subtractNumbers (int number1, int number2) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/webclient/Client.java
index 5d9a8b4..d991949 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/webservices13-respectbinding/webclient/Client.java
@@ -21,12 +21,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(SubtractNumbersService.class)
+        @jakarta.xml.ws.WebServiceRef(SubtractNumbersService.class)
        //@Addressing (required = true,enabled=true ,responses=AddressingFeature.Responses.NON_ANONYMOUS)
         //@Addressing 
         SubtractNumbersImpl port;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/endpoint/Hello.java
index 0d7eabc..c15212b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/endpoint/Hello.java
@@ -16,12 +16,12 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.annotation.Resource;
-import javax.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceContext;
 import javax.servlet.ServletContext;
-import javax.xml.ws.WebServiceContext;
-import javax.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.WebServiceContext;
+import jakarta.xml.ws.handler.MessageContext;
 
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/webclient/Client.java
index a10c6a2..2a43347 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsctxt/webclient/Client.java
@@ -21,12 +21,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(HelloService.class)
+        @jakarta.xml.ws.WebServiceRef(HelloService.class)
         Hello port;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsdltojava/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsdltojava/client/Client.java
index 391484e..e544de5 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsdltojava/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsdltojava/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsdltojava/service/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsdltojava/service/HelloImpl.java
index 6946d87..a93d8d1 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/wsdltojava/service/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/wsdltojava/service/HelloImpl.java
@@ -25,9 +25,9 @@
 
 // Service Implementation Class - as outlined in JAX-RPC Specification
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
-@javax.jws.WebService(
+@jakarta.jws.WebService(
     serviceName="HttpTestService",
     endpointInterface="service.Hello",
     portName="HelloPort",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/async/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/async/client/Client.java
index 2103218..b92f35b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/async/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/async/client/Client.java
@@ -20,9 +20,9 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.AsyncHandler;
+import jakarta.xml.ws.Response;
 
 import endpoint.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/async/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/async/endpoint/AddNumbersImpl.java
index da197b3..a20f8ed 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/async/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/async/endpoint/AddNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/asyncejbclient/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/asyncejbclient/ejb/HelloEJB.java
index db7df1c..6faea2c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/asyncejbclient/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/asyncejbclient/ejb/HelloEJB.java
@@ -21,9 +21,9 @@
 import java.util.concurrent.Future;
 
 import javax.ejb.Stateless;
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.AsyncHandler;
+import jakarta.xml.ws.Response;
 
 import endpoint.SayHelloResponse;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/asyncejbclient/endpoint/WebServiceEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/asyncejbclient/endpoint/WebServiceEJB.java
index a4b6fe4..a6aeb45 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/asyncejbclient/endpoint/WebServiceEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/asyncejbclient/endpoint/WebServiceEJB.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/bigint/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/bigint/client/Client.java
index ec35e6f..3a84ec3 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/bigint/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/bigint/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 import java.math.BigInteger;
 import endpoint.*;
 import java.util.*;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/bigint/endpoint/CustomerManager.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/bigint/endpoint/CustomerManager.java
index 2cbb7ee..bc9115c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/bigint/endpoint/CustomerManager.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/bigint/endpoint/CustomerManager.java
@@ -18,7 +18,7 @@
 
 import java.math.BigInteger;
 import java.util.*;
-import javax.jws.*;
+import jakarta.jws.*;
 import javax.ejb.*;
 import javax.persistence.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/dependencynoinjection/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/dependencynoinjection/client/Client.java
index efae8e7..7abf638 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/dependencynoinjection/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/dependencynoinjection/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/dependencynoinjection/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/dependencynoinjection/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/dependencynoinjection/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/dependencynoinjection/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbclient/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbclient/ejb/HelloEJB.java
index 89adf0b..f29a15f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbclient/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbclient/ejb/HelloEJB.java
@@ -17,7 +17,7 @@
 package ejb;
 
 import javax.ejb.Stateless;
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.WebServiceEJBService;
 import endpoint.WebServiceEJB;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbclient/endpoint/WebServiceEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbclient/endpoint/WebServiceEJB.java
index a4b6fe4..a6aeb45 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbclient/endpoint/WebServiceEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbclient/endpoint/WebServiceEJB.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/endpoint/HelloEjb.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/endpoint/HelloEjb.java
index 4ae4e61..86a717c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/endpoint/HelloEjb.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/endpoint/HelloEjb.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.ejb.SessionContext;
 import javax.annotation.Resource;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/endpoint/HelloWS.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/endpoint/HelloWS.java
index 04dad33..1b4927e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/endpoint/HelloWS.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/endpoint/HelloWS.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/webclient/Client.java
index b93c80c..1bda942 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbservletwebservicesinwar/webclient/Client.java
@@ -22,14 +22,14 @@
 import java.io.PrintWriter;
 import ejbclient.*;
 import webclient.*;
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(ejbclient.HelloEjbService.class)
+        @jakarta.xml.ws.WebServiceRef(ejbclient.HelloEjbService.class)
         ejbclient.Hello hiport1;
 
-    @javax.xml.ws.WebServiceRef(webclient.HelloService.class)
+    @jakarta.xml.ws.WebServiceRef(webclient.HelloService.class)
             webclient.Hello hiport2;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/endpoint/Hello.java
index 8a26e59..cc86c72 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.annotation.Resource;
 import javax.ejb.SessionContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/webclient/Client.java
index 11f79c5..c73bd01 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-2/webclient/Client.java
@@ -21,11 +21,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(HelloService.class)
+        @jakarta.xml.ws.WebServiceRef(HelloService.class)
         Hello hiport;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/endpoint/Hello.java
index 0d18621..2e855f2 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/endpoint/Hello.java
@@ -16,11 +16,11 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.annotation.Resource;
 import javax.ejb.SessionContext;
-import javax.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceContext;
 
 
 @javax.ejb.Stateless
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/webclient/Client.java
index 11f79c5..c73bd01 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-3/webclient/Client.java
@@ -21,11 +21,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(HelloService.class)
+        @jakarta.xml.ws.WebServiceRef(HelloService.class)
         Hello hiport;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/endpoint/Hello.java
index c0dd02f..158c11b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.annotation.Resource;
 import javax.ejb.SessionContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/webclient/Client.java
index 11f79c5..c73bd01 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-interceptor/webclient/Client.java
@@ -21,11 +21,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(HelloService.class)
+        @jakarta.xml.ws.WebServiceRef(HelloService.class)
         Hello hiport;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/endpoint/Hello.java
index a2b86c4..f8f3489 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.annotation.Resource;
 import javax.ejb.SessionContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/webclient/Client.java
index 11f79c5..c73bd01 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar-sessioncontext/webclient/Client.java
@@ -21,11 +21,11 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(HelloService.class)
+        @jakarta.xml.ws.WebServiceRef(HelloService.class)
         Hello hiport;
 
        public void doGet(HttpServletRequest req, HttpServletResponse resp) 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar/endpoint/Hello.java
index 2a61d1e..1a9944f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwebservicesinwar/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.ejb.SessionContext;
 import javax.annotation.Resource;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwsinwarwithwsdl/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwsinwarwithwsdl/endpoint/Hello.java
index 87191d3..bfbf75c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwsinwarwithwsdl/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/ejbwsinwarwithwsdl/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.ejb.SessionContext;
 import javax.annotation.Resource;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/exception/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/exception/client/Client.java
index 77823f1..ac6e3bd 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/exception/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/exception/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/exception/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/exception/endpoint/HelloImpl.java
index 5e51686..c830f08 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/exception/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/exception/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/invalidmethodinjection/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/invalidmethodinjection/client/Client.java
index 6ce187b..0a1ed84 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/invalidmethodinjection/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/invalidmethodinjection/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/invalidmethodinjection/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/invalidmethodinjection/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/invalidmethodinjection/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/invalidmethodinjection/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent-2/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent-2/client/Client.java
index c436f8d..9995186 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent-2/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent-2/client/Client.java
@@ -20,9 +20,9 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.AsyncHandler;
+import jakarta.xml.ws.Response;
 
 import endpoint.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent-2/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent-2/endpoint/HelloImpl.java
index 518d564..9192c67 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent-2/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent-2/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 import outsidepkg.RetVal;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent/client/Client.java
index 548c5da..dadba66 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent/client/Client.java
@@ -20,9 +20,9 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.AsyncHandler;
+import jakarta.xml.ws.Response;
 
 import endpoint.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent/endpoint/HelloImpl.java
index 518d564..9192c67 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/libdependent/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 import outsidepkg.RetVal;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/localremoteejbwebservice/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/localremoteejbwebservice/ejb/HelloEJB.java
index 89adf0b..f29a15f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/localremoteejbwebservice/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/localremoteejbwebservice/ejb/HelloEJB.java
@@ -17,7 +17,7 @@
 package ejb;
 
 import javax.ejb.Stateless;
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.WebServiceEJBService;
 import endpoint.WebServiceEJB;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/localremoteejbwebservice/endpoint/WebServiceEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/localremoteejbwebservice/endpoint/WebServiceEJB.java
index 85796c7..33f2651 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/localremoteejbwebservice/endpoint/WebServiceEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/localremoteejbwebservice/endpoint/WebServiceEJB.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.*;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/messagectxt/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/messagectxt/client/Client.java
index ad6a557..9837456 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/messagectxt/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/messagectxt/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/messagectxt/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/messagectxt/endpoint/HelloImpl.java
index 9360ab3..b1f4a16 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/messagectxt/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/messagectxt/endpoint/HelloImpl.java
@@ -16,10 +16,10 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 import javax.annotation.Resource;
-import javax.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceContext;
 import javax.ejb.SessionContext;
 
 @WebService
@@ -32,7 +32,7 @@
     public String sayHello(String who) {
 	if(ejbsc != null) {
            System.out.println(ejbsc.getMessageContext());
-           if (ejbsc.getMessageContext() instanceof javax.xml.ws.handler.MessageContext){
+           if (ejbsc.getMessageContext() instanceof jakarta.xml.ws.handler.MessageContext){
               //System.out.println("YYYYY" +ejbsc.getMessageContext().getClass());
         	return "WebSvcTest-Hello " + who;
 }
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/methodinjection/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/methodinjection/client/Client.java
index f3d9ac1..1818949 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/methodinjection/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/methodinjection/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/methodinjection/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/methodinjection/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/methodinjection/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/methodinjection/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/client/Client.java
index 10d87ea..d455c3a 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloEJBService;
 import endpoint.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/endpoint/Hello.java
index b8657e9..dd4b642 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/endpoint/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public interface Hello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/endpoint/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/endpoint/HelloEJB.java
index f6bd0d2..d351616 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/endpoint/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxinterceptor/endpoint/HelloEJB.java
@@ -18,11 +18,11 @@
 
 import java.util.Map;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 import javax.annotation.Resource;
-import javax.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceContext;
 
 import javax.interceptor.AroundInvoke;
 import javax.interceptor.InvocationContext;
@@ -46,8 +46,8 @@
             //remove once bug is fixed
             Exception e = new Exception();
             e.printStackTrace();
-            if (invCtx.getContextData() instanceof javax.xml.ws.handler.MessageContext){
-                System.out.println("ContextDataMap is an instance of javax.xml.ws.handler.MessageContext ");
+            if (invCtx.getContextData() instanceof jakarta.xml.ws.handler.MessageContext){
+                System.out.println("ContextDataMap is an instance of jakarta.xml.ws.handler.MessageContext ");
 
                 return invCtx.proceed();
            } else {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxt/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxt/client/Client.java
index ad6a557..9837456 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxt/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxt/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxt/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxt/endpoint/HelloImpl.java
index 0567991..3311b8d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxt/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/msgctxt/endpoint/HelloImpl.java
@@ -16,10 +16,10 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 import javax.annotation.Resource;
-import javax.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceContext;
 
 @WebService
 @Stateless
@@ -29,7 +29,7 @@
 
     public String sayHello(String who) {
 	System.out.println("EJB WSCTXT wsc = " + ejbsc);
-	javax.xml.ws.handler.MessageContext m = ejbsc.getMessageContext();
+	jakarta.xml.ws.handler.MessageContext m = ejbsc.getMessageContext();
 	if(m == null)
 		return "WebService Context injection failed";
 	if(ejbsc != null)
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/client/Client.java
index 8761c70..2015dec 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/service/Hello1Impl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/service/Hello1Impl.java
index bf2e8d3..12808a9 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/service/Hello1Impl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/service/Hello1Impl.java
@@ -25,10 +25,10 @@
 
 // Service Implementation Class - as outlined in JAX-RPC Specification
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @javax.ejb.Stateless
-@javax.jws.WebService(
+@jakarta.jws.WebService(
     serviceName="HttpTestService",
     endpointInterface="service.Hello1",
     portName="Hello1Port",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/service/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/service/HelloImpl.java
index be1f465..471cecf 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/service/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/multiport/service/HelloImpl.java
@@ -25,10 +25,10 @@
 
 // Service Implementation Class - as outlined in JAX-RPC Specification
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @javax.ejb.Stateless
-@javax.jws.WebService(
+@jakarta.jws.WebService(
     serviceName="HttpTestService",
     endpointInterface="service.Hello",
     portName="HelloPort",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/nointf/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/nointf/client/Client.java
index 5180b5b..188105e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/nointf/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/nointf/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/nointf/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/nointf/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/nointf/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/nointf/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/client/Client.java
index 4922a0c..29c4421 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloEJBService;
 import endpoint.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/endpoint/Hello.java
index b8657e9..dd4b642 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/endpoint/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public interface Hello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/endpoint/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/endpoint/HelloEJB.java
index e7b3cce..37db4a6 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/endpoint/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/noname/endpoint/HelloEJB.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService(endpointInterface="endpoint.Hello")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/client/Client.java
index 4ff80da..5deb6d2 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloEJBService;
 import endpoint.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/endpoint/Hello.java
index 9952e92..01cef46 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/endpoint/Hello.java
@@ -16,9 +16,9 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.Oneway;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.Oneway;
 
 @WebService
 public interface Hello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/endpoint/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/endpoint/HelloEJB.java
index 432a394..3a971e9 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/endpoint/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/oneway/endpoint/HelloEJB.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService(endpointInterface="endpoint.Hello")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portdependencynoinjection/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portdependencynoinjection/client/Client.java
index 907c3a0..7fd8907 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portdependencynoinjection/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portdependencynoinjection/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portdependencynoinjection/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portdependencynoinjection/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portdependencynoinjection/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portdependencynoinjection/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/client/Client.java
index 9b30662..7fa7620 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import ejb.GatewayImplService;
 import ejb.GatewayImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/ejb/GatewayImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/ejb/GatewayImpl.java
index 318023b..974d83c 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/ejb/GatewayImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/ejb/GatewayImpl.java
@@ -16,11 +16,11 @@
 
 package ejb;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.ejb.Stateless;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portejbclient/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portfieldinjection/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portfieldinjection/client/Client.java
index de53997..0c0651e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portfieldinjection/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portfieldinjection/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portfieldinjection/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portfieldinjection/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portfieldinjection/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portfieldinjection/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portmethodinjection/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portmethodinjection/client/Client.java
index 4e7c5b4..6706171 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portmethodinjection/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portmethodinjection/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portmethodinjection/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portmethodinjection/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portmethodinjection/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/portmethodinjection/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/provider/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/provider/client/Client.java
index 9543838..d265bb5 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/provider/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/provider/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.jaxws.HelloImplService;
 import endpoint.jaxws.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/provider/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/provider/endpoint/HelloImpl.java
index 0a58474..b194629 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/provider/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/provider/endpoint/HelloImpl.java
@@ -18,19 +18,19 @@
 
 import java.io.*;
 import java.util.Map;
-import javax.xml.ws.Provider;
-import javax.xml.ws.WebServiceProvider;
-import javax.xml.ws.ServiceMode;
-import javax.xml.ws.Service	;	
-import javax.xml.soap.SOAPMessage;
+import jakarta.xml.ws.Provider;
+import jakarta.xml.ws.WebServiceProvider;
+import jakarta.xml.ws.ServiceMode;
+import jakarta.xml.ws.Service	;	
+import jakarta.xml.soap.SOAPMessage;
 import javax.ejb.Stateless;
 
 import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
 
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.ws.WebServiceException;
+import jakarta.xml.bind.JAXBContext;
+import jakarta.xml.bind.JAXBElement;
+import jakarta.xml.ws.WebServiceException;
 
 
 import endpoint.jaxws.*;
@@ -44,14 +44,14 @@
     private int combo;
     private int bodyIndex;
     
-    public javax.xml.bind.JAXBContext getJAXBContext(){
+    public jakarta.xml.bind.JAXBContext getJAXBContext(){
         return jaxbContext;
     }
     
-    private static javax.xml.bind.JAXBContext createJAXBContext(){
+    private static jakarta.xml.bind.JAXBContext createJAXBContext(){
         try{
-            return javax.xml.bind.JAXBContext.newInstance(ObjectFactory.class);
-        }catch(javax.xml.bind.JAXBException e){
+            return jakarta.xml.bind.JAXBContext.newInstance(ObjectFactory.class);
+        }catch(jakarta.xml.bind.JAXBException e){
             throw new WebServiceException(e.getMessage(), e);
         }
     }
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/restful-ejb/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/restful-ejb/client/Client.java
index 889daf7..f6d7eca 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/restful-ejb/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/restful-ejb/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/restful-ejb/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/restful-ejb/endpoint/AddNumbersImpl.java
index 82e236e..97c70ba 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/restful-ejb/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/restful-ejb/endpoint/AddNumbersImpl.java
@@ -22,15 +22,15 @@
 import javax.annotation.Resource;
 import javax.xml.transform.Source;
 import javax.xml.transform.stream.StreamSource;
-import javax.xml.ws.Provider;
-import javax.xml.ws.WebServiceContext;
-import javax.xml.ws.WebServiceProvider;
-import javax.xml.ws.Service;
-import javax.xml.ws.ServiceMode;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.http.HTTPException;
-import javax.xml.ws.http.HTTPBinding;
-import javax.xml.ws.BindingType;
+import jakarta.xml.ws.Provider;
+import jakarta.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceProvider;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.ServiceMode;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.http.HTTPException;
+import jakarta.xml.ws.http.HTTPBinding;
+import jakarta.xml.ws.BindingType;
 import javax.ejb.Stateless;
 
 @WebServiceProvider
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/security/roles/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/security/roles/client/Client.java
index 9e78167..93137a5 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/security/roles/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/security/roles/client/Client.java
@@ -17,8 +17,8 @@
 package client;
 
 import java.util.Map;
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.BindingProvider;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
@@ -63,8 +63,8 @@
                 if (username!=null && password!=null) {
                     BindingProvider bd = (BindingProvider) port;
                     Map<String, Object> requestContext = bd.getRequestContext();
-                    requestContext.put("javax.xml.ws.security.auth.username",username);
-                    requestContext.put("javax.xml.ws.security.auth.password",password);
+                    requestContext.put("jakarta.xml.ws.security.auth.username",username);
+                    requestContext.put("jakarta.xml.ws.security.auth.password",password);
                 }
                 
                 // @PermitAll invocation, it should always work
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/security/roles/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/security/roles/endpoint/HelloImpl.java
index e086057..8a0085e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/security/roles/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/security/roles/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 import javax.annotation.security.RolesAllowed;
 import javax.annotation.security.DenyAll;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/client/Client.java
index 02332e8..03e9b67 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import ejb.GatewayImplService;
 import ejb.GatewayImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/ejb/GatewayImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/ejb/GatewayImpl.java
index e94c4b8..e7a1fd6 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/ejb/GatewayImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/ejb/GatewayImpl.java
@@ -16,11 +16,11 @@
 
 package ejb;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.ejb.Stateless;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/endpoint/HelloImpl.java
index dbb9d69..a71374b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/serviceejbclient/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/sessionctx/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/sessionctx/client/Client.java
index b358abf..daf2dee 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/sessionctx/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/sessionctx/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/sessionctx/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/sessionctx/endpoint/HelloImpl.java
index f4e5705..a495dc4 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/sessionctx/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/sessionctx/endpoint/HelloImpl.java
@@ -16,10 +16,10 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 import javax.annotation.Resource;
-import javax.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceContext;
 import javax.ejb.SessionContext;
 import java.security.Principal;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/singleton/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/singleton/client/Client.java
index ad49e70..8ceb062 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/singleton/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/singleton/client/Client.java
@@ -20,9 +20,9 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.AsyncHandler;
+import jakarta.xml.ws.Response;
 
 import endpoint.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/singleton/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/singleton/endpoint/HelloImpl.java
index 5887e9c..c4f2804 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/singleton/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/singleton/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Singleton;
 import outsidepkg.RetVal;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/client/Client.java
index 4f40d11..46618ec 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloEJBService;
 import endpoint.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/Hello.java
index b8657e9..dd4b642 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public interface Hello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/HelloEJB.java
index c447846..d0c8771 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/HelloEJB.java
@@ -16,12 +16,12 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService(endpointInterface="endpoint.Hello")
 @Stateless
-@javax.jws.HandlerChain(name="some name", file="META-INF/myhandler.xml")
+@jakarta.jws.HandlerChain(name="some name", file="META-INF/myhandler.xml")
 public class HelloEJB implements Hello {
 
     public String sayHello(String who) {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/TestHandler.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/TestHandler.java
index 41508fb..c4946cc 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/TestHandler.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/svchandler/endpoint/TestHandler.java
@@ -22,10 +22,10 @@
 import javax.annotation.Resource;
 import javax.annotation.PostConstruct;
 import javax.xml.namespace.QName;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.soap.*;
+import jakarta.xml.ws.handler.MessageContext;
+import jakarta.xml.ws.handler.soap.SOAPHandler;
+import jakarta.xml.ws.handler.soap.SOAPMessageContext;
+import jakarta.xml.soap.*;
 
 public class TestHandler implements SOAPHandler<SOAPMessageContext> {
     
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/endpoint/Hello.java
index c4edf73..4d30eb5 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/endpoint/Hello.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @javax.ejb.Stateless
 @WebService(
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/webclient/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/webclient/Client.java
index b6aa70c..e9d8aae 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/webclient/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsRef-webservice-features/webclient/Client.java
@@ -21,12 +21,12 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
-import javax.xml.ws.soap.*;
+import jakarta.xml.ws.*;
+import jakarta.xml.ws.soap.*;
 
 public class Client extends HttpServlet {
 
-        @javax.xml.ws.WebServiceRef(HelloService.class)
+        @jakarta.xml.ws.WebServiceRef(HelloService.class)
         @MTOM(enabled=true)
         @RespectBinding
         @Addressing (required = false,enabled=true)
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxt/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxt/client/Client.java
index 54380b3..89ad876 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxt/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxt/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxt/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxt/endpoint/HelloImpl.java
index c351006..0dc1359 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxt/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxt/endpoint/HelloImpl.java
@@ -16,10 +16,10 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 import javax.annotation.Resource;
-import javax.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceContext;
 import javax.ejb.SessionContext;
 
 @WebService
@@ -34,7 +34,7 @@
 	System.out.println("EJB WSCTXT wsc = " + ejbsc);
 	if(ejbsc != null) {
 System.out.println(ejbsc.getMessageContext());
-if (ejbsc.getMessageContext() instanceof javax.xml.ws.handler.MessageContext){
+if (ejbsc.getMessageContext() instanceof jakarta.xml.ws.handler.MessageContext){
 System.out.println("YYYYY" +ejbsc.getMessageContext().getClass());
 }
 else {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/client/Client.java
index 0e49e37..7c86441 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/client/Client.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.HelloEJBService;
 import endpoint.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/endpoint/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/endpoint/Hello.java
index b8657e9..dd4b642 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/endpoint/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/endpoint/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService
 public interface Hello {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/endpoint/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/endpoint/HelloEJB.java
index 0b9a462..fd61fdb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/endpoint/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsctxtinterceptor/endpoint/HelloEJB.java
@@ -18,11 +18,11 @@
 
 import java.util.Map;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 import javax.annotation.Resource;
-import javax.xml.ws.WebServiceContext;
+import jakarta.xml.ws.WebServiceContext;
 
 import javax.interceptor.AroundInvoke;
 import javax.interceptor.InvocationContext;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsnameejbname/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsnameejbname/client/Client.java
index 97d19bd..7e37fcf 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsnameejbname/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsnameejbname/client/Client.java
@@ -20,9 +20,9 @@
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.AsyncHandler;
-import javax.xml.ws.Response;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.AsyncHandler;
+import jakarta.xml.ws.Response;
 
 import endpoint.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsnameejbname/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsnameejbname/endpoint/AddNumbersImpl.java
index 49ee427..e502ee5 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsnameejbname/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/ejb_annotations/wsnameejbname/endpoint/AddNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService(name="ThisShouldBeIgnored")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/gf_dd/endpoint_address_uri/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/gf_dd/endpoint_address_uri/client/Client.java
index 9d2cca5..6c589e8 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/gf_dd/endpoint_address_uri/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/gf_dd/endpoint_address_uri/client/Client.java
@@ -18,7 +18,7 @@
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 /**
  * @author Rama Pulavarthi
diff --git a/appserver/tests/appserv-tests/devtests/webservice/gf_dd/endpoint_address_uri/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/gf_dd/endpoint_address_uri/endpoint/AddNumbersImpl.java
index fde3084..436a76d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/gf_dd/endpoint_address_uri/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/gf_dd/endpoint_address_uri/endpoint/AddNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 /**
  * @author Lukas Jungmann
diff --git a/appserver/tests/appserv-tests/devtests/webservice/handler/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/handler/client/Client.java
index d2fa5f8..fb00f88 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/handler/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/handler/client/Client.java
@@ -22,7 +22,7 @@
 import javax.xml.namespace.QName;
 import javax.xml.rpc.Stub;
 import javax.xml.rpc.Service;
-import javax.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPElement;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 import ejb.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-web/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-web/client/Client.java
index 679997f..90c5f6e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-web/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jaxrpc-hello-web/client/Client.java
@@ -23,7 +23,7 @@
 import javax.xml.rpc.Stub;
 import helloservice.*;
 import javax.xml.rpc.Service;
-import javax.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPElement;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
 */
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/bc_consumer_se_provider/client/SOAPWebConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/bc_consumer_se_provider/client/SOAPWebConsumer.java
index b59c2d2..449840b 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/bc_consumer_se_provider/client/SOAPWebConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/bc_consumer_se_provider/client/SOAPWebConsumer.java
@@ -16,9 +16,9 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.Service;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.BindingProvider;
 import com.example.calculator.CalculatorService;
 import com.example.calculator.Calculator;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
@@ -57,7 +57,7 @@
 
 	} catch(Exception e) {
 		//e.printStackTrace();
-		if(e instanceof javax.xml.ws.soap.SOAPFaultException) 
+		if(e instanceof jakarta.xml.ws.soap.SOAPFaultException) 
                 	stat.addStatus(testId, stat.FAIL);
 		else {
 	        	stat.addStatus(testId, stat.FAIL);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/bc_consumer_se_provider/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/bc_consumer_se_provider/endpoint/Calculator.java
index c109a7c..a4da07d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/bc_consumer_se_provider/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/bc_consumer_se_provider/endpoint/Calculator.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.*;
-import javax.jws.soap.SOAPBinding;
+import jakarta.jws.*;
+import jakarta.jws.soap.SOAPBinding;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/endpoint/Calculator.java
index 04ab7d8..fd53726 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/endpoint/Calculator.java
@@ -16,10 +16,10 @@
 
 package endpoint;
 
-import javax.jws.*;
+import jakarta.jws.*;
 import common.IncomeTaxDetails;
 import java.util.Hashtable;
-import javax.jws.soap.SOAPBinding;
+import jakarta.jws.soap.SOAPBinding;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/webclient/client/Client.java
index d8ebc43..8859575 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/bare_doc_literal/se_consumer_se_provider/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.calculator.*;
 //import common.IncomeTaxDetails;
 //import java.util.Hashtable;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/endpoint/Calculator.java
index 7553337..6951320 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/endpoint/Calculator.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/webclient/client/Client.java
index 2494f87..81b8d73 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/client/web/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.calculator.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/consumer/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/consumer/webclient/client/Client.java
index 84b42de..fbc291b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/consumer/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/consumer/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import endpoint.ejb.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/provider/endpoint/ejb/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/provider/endpoint/ejb/Hello.java
index eed68b7..23167eb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/provider/endpoint/ejb/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/provider/endpoint/ejb/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(
 targetNamespace="http://endpoint/ejb")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/provider/endpoint/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/provider/endpoint/ejb/HelloEJB.java
index e02fe3b..234cb66 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/provider/endpoint/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/ejb-jmsbc/provider/endpoint/ejb/HelloEJB.java
@@ -16,8 +16,8 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceRef;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceRef;
 import javax.ejb.Stateless;
 
 @WebService(endpointInterface="endpoint.ejb.Hello", targetNamespace="http://endpoint/ejb")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/endpoint/Adder.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/endpoint/Adder.java
index d40d075..4fc103f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/endpoint/Adder.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/endpoint/Adder.java
@@ -16,9 +16,9 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.Oneway;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.Oneway;
 
 @WebService(
     name="Adder",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/webclient/client/Client.java
index cfc14d4..65b868e 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/inout-sample/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.adder.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/endpoint/OneWay.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/endpoint/OneWay.java
index fb2a39e..f09b38b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/endpoint/OneWay.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/endpoint/OneWay.java
@@ -16,9 +16,9 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.Oneway;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.Oneway;
 
 @WebService(
     name="OneWay",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/webclient/client/Client.java
index ffe2cb5..2f99d1b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/oneway/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.oneway.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/bundled-wsdl/client/SOAPWebConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/bundled-wsdl/client/SOAPWebConsumer.java
index 0cd865d..f9d5e69 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/bundled-wsdl/client/SOAPWebConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/bundled-wsdl/client/SOAPWebConsumer.java
@@ -16,13 +16,13 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.Service;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.BindingProvider;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
 import service.web.example.calculator.*;
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class SOAPWebConsumer {
     @WebServiceRef(wsdlLocation="http://localhost:8080/rpc-literal-bundled-wsdl-bc-consumer-se-provider/webservice/CalculatorService?WSDL")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/bundled-wsdl/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/bundled-wsdl/endpoint/Calculator.java
index ee659a1..69c9acc 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/bundled-wsdl/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/bundled-wsdl/endpoint/Calculator.java
@@ -16,10 +16,10 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.*;
-import javax.jws.soap.SOAPBinding;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.*;
+import jakarta.jws.soap.SOAPBinding;
 import common.IncomeTaxDetails;
 
 @WebService(
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/wsdl-import/client/SOAPWebConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/wsdl-import/client/SOAPWebConsumer.java
index 6a66a3b..c54716f 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/wsdl-import/client/SOAPWebConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/wsdl-import/client/SOAPWebConsumer.java
@@ -16,13 +16,13 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.Service;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.BindingProvider;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
 import service.web.example.calculator.*;
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 public class SOAPWebConsumer {
     @WebServiceRef(wsdlLocation="http://localhost:8080/rpc-literal-bundled-wsdl-bc-consumer-se-provider/webservice/CalculatorService?WSDL")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/wsdl-import/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/wsdl-import/endpoint/Calculator.java
index ee659a1..69c9acc 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/wsdl-import/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/bc_consumer_sc_provider/wsdl-import/endpoint/Calculator.java
@@ -16,10 +16,10 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.*;
-import javax.jws.soap.SOAPBinding;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.*;
+import jakarta.jws.soap.SOAPBinding;
 import common.IncomeTaxDetails;
 
 @WebService(
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/endpoint/Calculator.java
index 4b737f8..238dfd8 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/endpoint/Calculator.java
@@ -16,10 +16,10 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.*;
-import javax.jws.soap.SOAPBinding;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.*;
+import jakarta.jws.soap.SOAPBinding;
 import common.IncomeTaxDetails;
 
 @WebService(
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/webclient/client/Client.java
index 505e227..83bf7a3 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/bundled_wsdl/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.calculator.*;
 //import common.IncomeTaxDetails;
 //import java.util.Hashtable;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/endpoint/Calculator.java
index 30ffdd2..1c414ca 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/endpoint/Calculator.java
@@ -16,12 +16,12 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.Oneway;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.Oneway;
 import common.IncomeTaxDetails;
 import java.util.Hashtable;
-import javax.jws.soap.SOAPBinding;
+import jakarta.jws.soap.SOAPBinding;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/webclient/client/Client.java
index 505e227..83bf7a3 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/rpc_literal/se_consumer_se_provider/generated_wsdl/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.calculator.*;
 //import common.IncomeTaxDetails;
 //import java.util.Hashtable;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/endpoint/ejb/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/endpoint/ejb/Hello.java
index eed68b7..23167eb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/endpoint/ejb/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/endpoint/ejb/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(
 targetNamespace="http://endpoint/ejb")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/endpoint/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/endpoint/ejb/HelloEJB.java
index 8411a02..cb9da32 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/endpoint/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/endpoint/ejb/HelloEJB.java
@@ -17,8 +17,8 @@
 package endpoint.ejb;
 
 import java.security.Principal;
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceRef;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceRef;
 import javax.ejb.Stateless;
 import javax.ejb.SessionContext;
 import javax.annotation.Resource;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/webclient/client/Client.java
index a266286..5878654 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/security/jse_only/webclient/client/Client.java
@@ -20,7 +20,7 @@
 import java.io.PrintWriter;
 import java.security.Principal;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 
 import endpoint.ejb.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_ejb/endpoint/jaxws/Hi.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_ejb/endpoint/jaxws/Hi.java
index b438914..dbe07ce 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_ejb/endpoint/jaxws/Hi.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_ejb/endpoint/jaxws/Hi.java
@@ -16,7 +16,7 @@
 
 package endpoint.jaxws;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(
 targetNamespace="http://endpoint/jaxws")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_ejb/endpoint/jaxws/HiEJB.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_ejb/endpoint/jaxws/HiEJB.java
index 8ec870b..19259b1 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_ejb/endpoint/jaxws/HiEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_ejb/endpoint/jaxws/HiEJB.java
@@ -16,7 +16,7 @@
 
 package endpoint.jaxws;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService(endpointInterface="endpoint.jaxws.Hi",targetNamespace="http://endpoint/jaxws")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/endpoint/Subtractor.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/endpoint/Subtractor.java
index 74bbc16..1b66b9d 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/endpoint/Subtractor.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/endpoint/Subtractor.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Subtractor",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/webclient/client/Client.java
index 215ed29..990d21c 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/another_servlet/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.subtractor.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/JAXWSClient.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/JAXWSClient.java
index 2a38e45..56b3216 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/JAXWSClient.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/JAXWSClient.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import endpoint.jaxws.HelloEJBService;
 import endpoint.jaxws.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/SOAPEjbConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/SOAPEjbConsumer.java
index c027645..7ccfee4 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/SOAPEjbConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/SOAPEjbConsumer.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.BindingProvider;
 
 import endpoint.jaxws.HelloEJBService;
 import endpoint.jaxws.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/SOAPEjbConsumerNonHttpBC.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/SOAPEjbConsumerNonHttpBC.java
index bbbb7c4..b6f7fd1 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/SOAPEjbConsumerNonHttpBC.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/client/SOAPEjbConsumerNonHttpBC.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.BindingProvider;
 
 import endpoint.jaxws.HelloEJBService;
 import endpoint.jaxws.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/endpoint/jaxws/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/endpoint/jaxws/Hello.java
index d954f71..fd4f6f0 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/endpoint/jaxws/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/endpoint/jaxws/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint.jaxws;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(
 targetNamespace="http://endpoint/jaxws")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/endpoint/jaxws/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/endpoint/jaxws/HelloEJB.java
index 1a5c2f9..f79e075 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/endpoint/jaxws/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/endpoint/jaxws/HelloEJB.java
@@ -16,7 +16,7 @@
 
 package endpoint.jaxws;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService(endpointInterface="endpoint.jaxws.Hello", targetNamespace="http://endpoint/jaxws")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/stressclient/StressClient.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/stressclient/StressClient.java
index be14e32..6511b48 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/stressclient/StressClient.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/stressclient/StressClient.java
@@ -16,8 +16,8 @@
 
 package stressclient;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.BindingProvider;
 
 import endpoint.jaxws.HelloEJBService;
 import endpoint.jaxws.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/stressclient/StressSOAPEjbConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/stressclient/StressSOAPEjbConsumer.java
index 071837e..d0de694 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/stressclient/StressSOAPEjbConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/ejb/hello/stressclient/StressSOAPEjbConsumer.java
@@ -16,8 +16,8 @@
 
 package stressclient;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.BindingProvider;
 
 import endpoint.jaxws.HelloEJBService;
 import endpoint.jaxws.Hello;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/JAXWSClient.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/JAXWSClient.java
index 068c925..8946243 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/JAXWSClient.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/JAXWSClient.java
@@ -16,7 +16,7 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 import com.example.calculator.CalculatorService;
 import com.example.calculator.Calculator;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/SOAPWebConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/SOAPWebConsumer.java
index 666f397..a9088d0 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/SOAPWebConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/SOAPWebConsumer.java
@@ -16,9 +16,9 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.Service;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.BindingProvider;
 import com.example.calculator.CalculatorService;
 import com.example.calculator.Calculator;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/SOAPWebConsumerNonHttpBC.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/SOAPWebConsumerNonHttpBC.java
index e0e7dfb..f336b8d 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/SOAPWebConsumerNonHttpBC.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/client/SOAPWebConsumerNonHttpBC.java
@@ -16,9 +16,9 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.Service;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.BindingProvider;
 import com.example.calculator.CalculatorService;
 import com.example.calculator.Calculator;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/endpoint/Calculator.java
index 75b27d7..f59f430 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/server/web/endpoint/Calculator.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/endpoint/AddNumber.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/endpoint/AddNumber.java
index 8361038..840c6c9 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/endpoint/AddNumber.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/endpoint/AddNumber.java
@@ -16,9 +16,9 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.Oneway;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.Oneway;
 
 @WebService(
     name="AddNumber",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/webclient/client/Client.java
index facf5e1..fa5fd08 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/add-numbers/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.addnumber.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/endpoint/Calculator.java
index 7553337..6951320 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/endpoint/Calculator.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/webclient/client/Client.java
index d1c310f..2a6c6da 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-client/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.calculator.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-server/client/SOAPWebConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-server/client/SOAPWebConsumer.java
index f18ec92..0b73c13 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-server/client/SOAPWebConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-server/client/SOAPWebConsumer.java
@@ -16,9 +16,9 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.Service;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.BindingProvider;
 import com.example.calculator.CalculatorService;
 import com.example.calculator.Calculator;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-server/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-server/endpoint/Calculator.java
index 75b27d7..f59f430 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-server/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/compApp-server/endpoint/Calculator.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/endpoint/EndpointMapping.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/endpoint/EndpointMapping.java
index 61ad5f1..6a8c037 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/endpoint/EndpointMapping.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/endpoint/EndpointMapping.java
@@ -16,9 +16,9 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.Oneway;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.Oneway;
 
 @WebService(
     name="EndpointMapping",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/webclient/client/Client.java
index ffdd9dc..b2578bf 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.endpointmapping.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/endpoint/EndpointMappingConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/endpoint/EndpointMappingConsumer.java
index d59ad88..b8bd78b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/endpoint/EndpointMappingConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/endpoint/EndpointMappingConsumer.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="EndpointMappingConsumer",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/webclient/client/Client.java
index ad1c054..6d61707 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/endpoint_mapping_consumer/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.endpointmappingconsumer.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/EntApp/EntApp-ejb/src/java/entapp/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/EntApp/EntApp-ejb/src/java/entapp/ejb/HelloEJB.java
index 8f5c256..243baad 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/EntApp/EntApp-ejb/src/java/entapp/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/EntApp/EntApp-ejb/src/java/entapp/ejb/HelloEJB.java
@@ -26,9 +26,9 @@
 package entapp.ejb;
 
 import javax.ejb.Stateless;
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.WebParam;
+import jakarta.jws.WebService;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/EntApp/EntApp-war/src/java/entapp/web/HelloWeb.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/EntApp/EntApp-war/src/java/entapp/web/HelloWeb.java
index 15ab967..c1ea04b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/EntApp/EntApp-war/src/java/entapp/web/HelloWeb.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/EntApp/EntApp-war/src/java/entapp/web/HelloWeb.java
@@ -25,9 +25,9 @@
 
 package entapp.web;
 
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.WebParam;
+import jakarta.jws.WebService;
 
 /**
  *
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/client/Client.java
index 656138f..093f01e 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/service_unit/enterprise_app/client/Client.java
@@ -16,8 +16,8 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.Service;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.Service;
 import entapp.ejb.*;
 import entapp.web.*;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/sm/bc_consumer_se_provider/client/SOAPWebConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/sm/bc_consumer_se_provider/client/SOAPWebConsumer.java
index 248aad8..c2fefe8 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/sm/bc_consumer_se_provider/client/SOAPWebConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/sm/bc_consumer_se_provider/client/SOAPWebConsumer.java
@@ -16,9 +16,9 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.Service;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.BindingProvider;
 import com.example.calculator.CalculatorService;
 import com.example.calculator.Calculator;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
@@ -57,7 +57,7 @@
 
 	} catch(Exception e) {
 		e.printStackTrace();
-		if(e instanceof javax.xml.ws.soap.SOAPFaultException) 
+		if(e instanceof jakarta.xml.ws.soap.SOAPFaultException) 
                 	stat.addStatus(testId, stat.PASS);
 		else {
 	        	stat.addStatus(testId,  stat.FAIL);
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/sm/bc_consumer_se_provider/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/sm/bc_consumer_se_provider/endpoint/Calculator.java
index d5f7c36..a279a2b 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/sm/bc_consumer_se_provider/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/sm/bc_consumer_se_provider/endpoint/Calculator.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/endpoint/Calculator.java
index 633ebc9..dc0b90f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/endpoint/Calculator.java
@@ -16,9 +16,9 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.Oneway;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.Oneway;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/webclient/client/Client.java
index 584d96c..e9b33c7 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumer/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.calculator.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/endpoint/Calculator.java
index 21f9f35..098fa9d 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/endpoint/Calculator.java
@@ -16,9 +16,9 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
-import javax.jws.Oneway;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
+import jakarta.jws.Oneway;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/webclient/client/Client.java
index 06a8194..542581f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_consumerNprovider/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.calculator.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_provider/client/SOAPWebConsumer.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_provider/client/SOAPWebConsumer.java
index 0f407f6..c75060d 100755
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_provider/client/SOAPWebConsumer.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_provider/client/SOAPWebConsumer.java
@@ -16,9 +16,9 @@
 
 package client;
 
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.Service;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.Service;
+import jakarta.xml.ws.BindingProvider;
 import com.example.calculator.CalculatorService;
 import com.example.calculator.Calculator;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_provider/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_provider/endpoint/Calculator.java
index ced9572..6d87634 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_provider/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapfault/se_provider/endpoint/Calculator.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/consumer/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/consumer/webclient/client/Client.java
index 2494f87..81b8d73 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/consumer/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/consumer/webclient/client/Client.java
@@ -21,7 +21,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.calculator.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/provider/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/provider/endpoint/Calculator.java
index 7553337..6951320 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/provider/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/soapoverjms/provider/endpoint/Calculator.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 
 @WebService(
     name="Calculator",
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/endpoint/Calculator.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/endpoint/Calculator.java
index dc2f930..a9cd352 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/endpoint/Calculator.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/endpoint/Calculator.java
@@ -16,8 +16,8 @@
 
 package endpoint;
 
-import javax.jws.WebService;
-import javax.jws.WebMethod;
+import jakarta.jws.WebService;
+import jakarta.jws.WebMethod;
 import javax.ejb.TransactionAttribute;
 import javax.ejb.TransactionAttributeType;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/webclient/client/Client.java
index 2efc31c..07ecc03 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only/webclient/client/Client.java
@@ -23,7 +23,7 @@
 import java.io.IOException;
 import java.io.PrintWriter;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import service.web.example.calculator.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/endpoint/ejb/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/endpoint/ejb/Hello.java
index eed68b7..23167eb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/endpoint/ejb/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/endpoint/ejb/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(
 targetNamespace="http://endpoint/ejb")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/endpoint/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/endpoint/ejb/HelloEJB.java
index 6f259d7..8385d5f 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/endpoint/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/endpoint/ejb/HelloEJB.java
@@ -16,8 +16,8 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceRef;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceRef;
 import javax.ejb.Stateless;
 import javax.ejb.SessionContext;
 import javax.ejb.TransactionAttribute;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/webclient/client/Client.java
index 42ad08d..4243666 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit/webclient/client/Client.java
@@ -27,7 +27,7 @@
 import java.sql.*;
 import javax.sql.DataSource;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import endpoint.ejb.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/endpoint/ejb/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/endpoint/ejb/Hello.java
index eed68b7..23167eb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/endpoint/ejb/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/endpoint/ejb/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(
 targetNamespace="http://endpoint/ejb")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/endpoint/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/endpoint/ejb/HelloEJB.java
index 58a8593..d37d5ac 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/endpoint/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/endpoint/ejb/HelloEJB.java
@@ -16,8 +16,8 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceRef;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceRef;
 import javax.ejb.Stateless;
 import javax.ejb.SessionContext;
 import javax.ejb.TransactionAttribute;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/webclient/client/Client.java
index 61cb8d4..4f775ca 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbcommit1/webclient/client/Client.java
@@ -27,7 +27,7 @@
 import java.sql.*;
 import javax.sql.DataSource;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import endpoint.ejb.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/endpoint/ejb/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/endpoint/ejb/Hello.java
index eed68b7..23167eb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/endpoint/ejb/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/endpoint/ejb/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(
 targetNamespace="http://endpoint/ejb")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/endpoint/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/endpoint/ejb/HelloEJB.java
index 9e11297..55ee311 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/endpoint/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/endpoint/ejb/HelloEJB.java
@@ -16,8 +16,8 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceRef;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceRef;
 import javax.ejb.Stateless;
 import javax.ejb.SessionContext;
 import javax.ejb.TransactionAttribute;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/webclient/client/Client.java
index 9bd8543..e3e1cd4 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback/webclient/client/Client.java
@@ -27,7 +27,7 @@
 import java.sql.*;
 import javax.sql.DataSource;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import endpoint.ejb.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/endpoint/ejb/Hello.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/endpoint/ejb/Hello.java
index eed68b7..23167eb 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/endpoint/ejb/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/endpoint/ejb/Hello.java
@@ -16,7 +16,7 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 @WebService(
 targetNamespace="http://endpoint/ejb")
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/endpoint/ejb/HelloEJB.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/endpoint/ejb/HelloEJB.java
index 9408e5a..02dcd05 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/endpoint/ejb/HelloEJB.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/endpoint/ejb/HelloEJB.java
@@ -16,8 +16,8 @@
 
 package endpoint.ejb;
 
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceRef;
+import jakarta.jws.WebService;
+import jakarta.xml.ws.WebServiceRef;
 import javax.ejb.Stateless;
 import javax.ejb.SessionContext;
 import javax.ejb.TransactionAttribute;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/webclient/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/webclient/client/Client.java
index 2bff691..a4df847 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/webclient/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/jbi-serviceengine/transactions/jse_only_ejbrollback1/webclient/client/Client.java
@@ -27,7 +27,7 @@
 import java.sql.*;
 import javax.sql.DataSource;
 
-import javax.xml.ws.*;
+import jakarta.xml.ws.*;
 import endpoint.ejb.*;
 
 public class Client extends HttpServlet {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/mapping/j2w/signature/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/mapping/j2w/signature/client/Client.java
index 24964b1..80ca908 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/mapping/j2w/signature/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/mapping/j2w/signature/client/Client.java
@@ -20,7 +20,7 @@
 import java.util.*;
 import javax.naming.*;
 import javax.xml.rpc.Stub;
-import javax.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPElement;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 import java.util.GregorianCalendar;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/security/ejb3_ssl_cacert/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/security/ejb3_ssl_cacert/client/Client.java
index 4200a79..872a7bf 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/security/ejb3_ssl_cacert/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/security/ejb3_ssl_cacert/client/Client.java
@@ -17,8 +17,8 @@
 package client;
 
 import java.util.Map;
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.BindingProvider;
+import jakarta.xml.ws.WebServiceRef;
+import jakarta.xml.ws.BindingProvider;
 
 import endpoint.HelloImplService;
 import endpoint.HelloImpl;
diff --git a/appserver/tests/appserv-tests/devtests/webservice/security/ejb3_ssl_cacert/endpoint/HelloImpl.java b/appserver/tests/appserv-tests/devtests/webservice/security/ejb3_ssl_cacert/endpoint/HelloImpl.java
index a7392d1..6775acc 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/security/ejb3_ssl_cacert/endpoint/HelloImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/security/ejb3_ssl_cacert/endpoint/HelloImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 
 @WebService
diff --git a/appserver/tests/appserv-tests/devtests/webservice/servlethandler/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/servlethandler/client/Client.java
index 3f79920..36fe9f5 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/servlethandler/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/servlethandler/client/Client.java
@@ -22,7 +22,7 @@
 import javax.xml.namespace.QName;
 import javax.xml.rpc.Stub;
 import javax.xml.rpc.Service;
-import javax.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPElement;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 import servlet.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/simplefault/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/simplefault/client/Client.java
index 6eaec1e..94bb7c1 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/simplefault/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/simplefault/client/Client.java
@@ -22,7 +22,7 @@
 import javax.xml.namespace.QName;
 import javax.xml.rpc.Stub;
 import javax.xml.rpc.Service;
-import javax.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPElement;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 import soapfault.ejb.*;
 
diff --git a/appserver/tests/appserv-tests/devtests/webservice/soapfaults/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/soapfaults/client/Client.java
index 54633c4..1a018ca 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/soapfaults/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/soapfaults/client/Client.java
@@ -20,7 +20,7 @@
 import java.util.*;
 import javax.naming.*;
 import javax.xml.rpc.Stub;
-import javax.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPElement;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
 public class Client {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/wls_dd/service_endpoint_address/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/wls_dd/service_endpoint_address/client/Client.java
index 334d7a4..fcd3cb7 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/wls_dd/service_endpoint_address/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/wls_dd/service_endpoint_address/client/Client.java
@@ -18,7 +18,7 @@
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 /**
  * @author Rama Pulavarthi
diff --git a/appserver/tests/appserv-tests/devtests/webservice/wls_dd/service_endpoint_address/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/wls_dd/service_endpoint_address/endpoint/AddNumbersImpl.java
index e2adfb9..80905a1 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/wls_dd/service_endpoint_address/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/wls_dd/service_endpoint_address/endpoint/AddNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 import javax.ejb.Stateless;
 /**
  * @author Rama Pulavarthi
diff --git a/appserver/tests/appserv-tests/devtests/webservice/wls_dd/wsdl_exposed_false/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/wls_dd/wsdl_exposed_false/client/Client.java
index 0e23c52..cc331e3 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/wls_dd/wsdl_exposed_false/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/wls_dd/wsdl_exposed_false/client/Client.java
@@ -18,7 +18,7 @@
 
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
-import javax.xml.ws.WebServiceRef;
+import jakarta.xml.ws.WebServiceRef;
 
 /**
  * @author Rama Pulavarthi
diff --git a/appserver/tests/appserv-tests/devtests/webservice/wls_dd/wsdl_exposed_false/endpoint/AddNumbersImpl.java b/appserver/tests/appserv-tests/devtests/webservice/wls_dd/wsdl_exposed_false/endpoint/AddNumbersImpl.java
index a021aef..cb4f788 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/wls_dd/wsdl_exposed_false/endpoint/AddNumbersImpl.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/wls_dd/wsdl_exposed_false/endpoint/AddNumbersImpl.java
@@ -16,7 +16,7 @@
 
 package wls_dd.wsdl_exposed_false.endpoint;
 
-import javax.jws.WebService;
+import jakarta.jws.WebService;
 
 /**
  * @author Rama Pulavarthi
diff --git a/appserver/tests/appserv-tests/devtests/webservice/wsi/faultcode/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/wsi/faultcode/client/Client.java
index d7beedf..0950680 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/wsi/faultcode/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/wsi/faultcode/client/Client.java
@@ -20,7 +20,7 @@
 import java.util.*;
 import javax.naming.*;
 import javax.xml.rpc.Stub;
-import javax.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPElement;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
 public class Client {
diff --git a/appserver/tests/appserv-tests/devtests/webservice/xsdany/client/Client.java b/appserver/tests/appserv-tests/devtests/webservice/xsdany/client/Client.java
index 95bed97..b3fab97 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/xsdany/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/webservice/xsdany/client/Client.java
@@ -20,7 +20,7 @@
 import java.util.*;
 import javax.naming.*;
 import javax.xml.rpc.Stub;
-import javax.xml.soap.SOAPElement;
+import jakarta.xml.soap.SOAPElement;
 import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
 
 public class Client {
