Verwenden Sie keine JAX-RPC-Holder-Datentypen

Diese Regel markiert Referenzen auf folgende Klassen: javax.xml.rpc.holders pakete. Das JAX-RPC-Paket hat für jeden Datentyp eigene Halterklassen ( IntHolder , StringHolder , DoubleHolder , usw.). Mit JAX-WS gibt es jetzt eine neue Holder-Klasse, die mit jedem Typ parametrisiert werden kann mit jedem Typ parametrisiert werden kann( Holder<String> , Holder<Int> , usw.).

Beispiel für JAX-RPC:

import javax.xml.rpc.holders.IntHolder;
import javax.xml.rpc.holders.StringHolder;
    
public class Demo {

   public void demoHolder(StringHolder text, IntHolder count) throws java.rmi.RemoteException {
       text.value = "test";
       count.value = 1;
    }
}

Beispiel für JAX-WS:

import javax.xml.ws.Holder;
    
public class Demo {

    public void demoHolder(Holder text, Inhaber count) throws java.rmi.RemoteException {
       text.value = "test";
       count.value = 1;
    }
}

In den obigen Beispielen können Sie sehen, dass nur noch ein Paket importiert werden muss javax.xml.ws.Holder (anstelle von javax.xml.rpc.holders.IntHolder und javax.xml.rpc.holders.StringHolder ). Ein weiterer Unterschied sind die Parameter der demoHolder; anstelle von StringHolder text, IntHolder count können Sie jetzt nur noch Holder<String> text, Holder<Integer> count .