    protected RemoteConfigurationAdministrator createPort ( final URL url )
    {
        final Service service = javax.xml.ws.Service.create ( url, serviceName );
        final RemoteConfigurationAdministrator port = service.getPort ( RemoteConfigurationAdministrator.class );
        final Map<String, List<String>> httpHeaders = new HashMap<String, List<String>> ();
        httpHeaders.put ( "Accept-Encoding", Collections.singletonList ( "gzip" ) );
        final Map<String, Object> requestContext = ( (BindingProvider)port ).getRequestContext ();
        requestContext.put ( MessageContext.HTTP_REQUEST_HEADERS, httpHeaders );
        final String user = url.getUserInfo ();
        final int findColon = user.indexOf ( ':' );
        if ( findColon > 0 && findColon + 1 < user.length () )
        {
            requestContext.put ( BindingProvider.USERNAME_PROPERTY, user.substring ( 0, findColon ) );
            requestContext.put ( BindingProvider.PASSWORD_PROPERTY, user.substring ( findColon + 1 ) );
        }
        else
        {
            requestContext.put ( BindingProvider.USERNAME_PROPERTY, user );
        }
        return port;
    }

    protected RemoteConfigurationAdministrator createPort ( final URL url )
    {
        final Service service = javax.xml.ws.Service.create ( url, serviceName );
        final RemoteConfigurationAdministrator port = service.getPort ( RemoteConfigurationAdministrator.class );
        final Map<String, List<String>> httpHeaders = new HashMap<String, List<String>> ();
        httpHeaders.put ( "Accept-Encoding", Collections.singletonList ( "gzip" ) );
        final Map<String, Object> requestContext = ( (BindingProvider)port ).getRequestContext ();
        requestContext.put ( MessageContext.HTTP_REQUEST_HEADERS, httpHeaders );
        final String user = url.getUserInfo ();
        if ( user != null )
        {
            final int findColon = user.indexOf ( ':' );
            if ( ( findColon > 0 ) && ( ( findColon + 1 ) < user.length () ) )
            {
                requestContext.put ( BindingProvider.USERNAME_PROPERTY, user.substring ( 0, findColon ) );
                requestContext.put ( BindingProvider.PASSWORD_PROPERTY, user.substring ( findColon + 1 ) );
            }
            else
            {
                requestContext.put ( BindingProvider.USERNAME_PROPERTY, user );
            }
        }
        return port;
    }
