import javax.xml.registry.*;
import javax.xml.registry.infomodel.*;
import javax.naming.*;
import java.util.*;

public class GetConn
{
    public static void main(String[] args)
    {
        try
        {
            Context ctx = new InitialContext();

            ConnectionFactory factory =
                (ConnectionFactory) ctx.lookup(
                    "javax.xml.registr.ConnectionFactory");
            
            Properties props = new Properties();

// Określenie implementacji dla rzeczywistego konstruktora połączenia
            props.put("javax.xml.registry.factoryClass",
                "com.sun.xml.registry.uddi.ConnectionFactoryImpl");

// Określenie lokalizacji API zapytań i API rejestracji
            props.put("javax.xml.registry.queryManagerURL",
                "www-3.ibm.com/services/uddi/testregistry/inquiryapi");
            props.put("javax.xml.registry.lifeCycleManagerURL",
                "www-3.ibm.com/services/uddi/testregistry/publish");

// Zapisanie właściwości w konstruktorze
            factory.setProperties(props);

// Utworzenie połączenia
            Connection conn = factory.createConnection();

// Utworzenie RegistryService
            RegistryService regService = conn.getRegistryService();

        }
        catch (Exception exc)
        {
            exc.printStackTrace();
        }
    }
}
