Búsqueda de DNS en Java para registros SRV

En el siguiente código de Java, estoy haciendo una búsqueda de registro SRV de DNS para resolver el nombre de dominio de destino y el puerto asociado para un nombre de dominio determinado, como [email protected]. La función de búsqueda indicada con /AQUÍ/ a continuación devuelve null de alguna manera y no puedo obtener un resultado de la consulta (es decir, la matriz de registros es nula). Como consecuencia, se lanza una excepción de puntero nulo cuando se accede a la matriz de registros en el bucle for.

¿Qué crees que me falta para que funcione el siguiente código? Estoy usando dnsjava y el archivo jar de API relacionado está disponible enhttp://www.dnsjava.org/download/ (al final de la página). Gracias de antemano por su sugerencia.

<code>     import org.xbill.DNS.Lookup;
     import org.xbill.DNS.Record;
     import org.xbill.DNS.SRVRecord;
     import org.xbill.DNS.TextParseException;
     import org.xbill.DNS.Type;

     public class DNSLookup {

        public static void main(String[] args) {

          if (args.length < 1) {
             System.err.println("Usage: java -jar DNSLookup <hostname>");
             System.exit(1);
          }

          String query = "_ssh._tcp." + args[0];

          try {
            /*****HERE*********/
            Record[] records = new Lookup(query, Type.SRV).run();

            for (Record record : records) {
                 SRVRecord srv = (SRVRecord) record;

            String hostname = srv.getTarget().toString().replaceFirst("\\.$", "");
            int port = srv.getPort();

            System.out.println(hostname + ":" + port);
          }
          } catch (TextParseException e) {
             e.printStackTrace();
          }
       }
      }
</code>

Respuestas a la pregunta(1)

Su respuesta a la pregunta