Thanks again, i've tried this:
1. There were 2 Gateways listed on SMP, so i deleted both of them
2. Created a new Gateway using your code, named GW1 and port 7777 (that port was set on a third gateway as service, that i deleted too, inside the production)
3. All settings on the new GW are correct, it result inactive at first.
4. I've created a completely new java app (with new names on package and class also), to test and copy/past my script class with edited methods
5. Build up the Jar with different name and put it into the folder ready to get uploaded on HS
6. When i call your "UploadJar" i get the following error when it try to connect:
%objlasterror="0 "_$lb($lb(5001,"Can't find the job that is monitoring Gateway 'GW1'",,,,,,,,$lb(,"CORSOESL",$lb("e^zCheckMonitor+20^%                        Net.Remote.Service.1^1","e^zStopMonitor+1^%Net.Remote.Service.1^1","e^zStartGatewayObject+18^%Net.Remote.Service.1^1","e^zConnectGateway+34^%Net                        .Remote.Service.1^1","e^zConnect+4^luigi.JavaGatewayTest.TestGW.1^1","e^zUpdateJar+7^luigi.JavaGatewayTest.TestGW.1^1","d^^^0"))))/* ERRORE #500                        1: Can't find the job that is monitoring Gateway 'GW1' */
7. So i decided to manually activate the GW, and redo your UploadJar and i get this when the code try to stopGateway:
%objlasterror="0 "_$lb($lb("<%ObjectErrors>OK",,,,,,,,,$lb(,"CORSOESL",$lb("e^GetOneErrorText+1^%apiOBJ^1","e^zGetOneErrorText+1^%                        SYSTEM.Status.1^1","e^zLogStatus+1^%Net.Remote.Service.1^1","d^zShutdownGateway+10^%Net.Remote.Service.1^1","e^zStopGatewayObject+22^%Net.Remote                        .Service.1^1","e^zStopGateway+4^%Net.Remote.Service.1^2","e^zUpdateJar+19^luigi.JavaGatewayTest.TestGW.1^1","d^^^0"))))
8. I go to check the namespace, and i see the new package name, with new class name, but inside i still see all the deleted methods.
Here's my current java class with only 2 methods "setAge" and "getName"
package persona; /**
public class testPersona {     public int age;
    public String name;
    public String sex;     //constructor
    public testPersona (int startAge, String Name, String Sesso) {         this.age = startAge;
        this.name = Name;
        this.sex = Sesso;     }
    
    public void setAge(int newAge) {         age = newAge;
    }     public String getName() {         return name;
    }    /* public static void main(String []args) {         JavaPerson myPerson = new JavaPerson (5, "Tom","M");
        System.out.println(myPerson.getName());
        System.out.println(myPerson.getAge());
        System.out.println(myPerson.getSex());     }*/
}
and this is the HS imported class with all the older methods inside.
Class persona.testPersona Extends java.lang.Object [ ProcedureBlock ] { Parameter IMPORTTIMESTAMP As STRING = "2020-01-16 16:04:52.0"; Method %OnNew(ByRef p0 As %ObjectHandle, ByRef p1 As %ObjectHandle, ByRef p2 As %ObjectHandle, ByRef p3 As %ObjectHandle) As %Status { Quit:'$D(p0) $$$OK Quit:$D(p3) ..%Constructor(p0,"persona.testPersona",3,p1,p2,p3) Quit:$D(p2) ..%Constructor(p0,"persona.testPersona",2,p1,p2) Quit:$D(p1) ..%Constructor(p0,"persona.testPersona",1,p1) Quit ..%Constructor(p0,"persona.testPersona",0) } Method getName() As %ObjectHandle { Quit ..%IR("getName") } Method setAge(ByRef p0 As %ObjectHandle) { Do ..%I("setAge",.p0) } Method getage() As %Integer { Quit ..%Get("getage") } Method setname(p1 As %ObjectHandle) { Do ..%Set("setname",p1) } Method setsex(p1 As %ObjectHandle) { Do ..%Set("setsex",p1) } Method getsex() As %String { Quit ..%Get("getsex") } } 
Ok i will try that, but there's a way to check how many Java Gateways are running?
On the production i only see the EnsLib.JavaGateway.Service, don't know where to find the ones that i state with your code
Edit:
this is the error on step 4:
%objlasterror="0 "_$lb($lb("<%ObjectErrors>OK",,,,,,,,,$lb(,"CORSOESL",$lb("e^GetOneErrorText+1^%apiOBJ^1","e^zGetOneErrorText+1^%SYSTEM.Status.1^1","e^zLogStatus+1^%Net.Remote.Service.1^1","d^zShutdownGateway+10^%Net.Remote.Service.1^1","e^zStopGatewayObject+22^%Net.Remote.Service.1^1","e^zStopGateway+4^%Net.Remote.Service.1^2","e^zUpdateJar+19^luigi.JavaGatewayTest.TestGW.1^1","d^^^0"))))
Thanks for your suggestions, we have resolved our issue by using the XSLT Transformer.
Kind regards.