public InternalServer createSampXmlRpcServer() throws IOException {
            String path = getXmlrpcPath();
            ServerSocket socket = createServerSocket( getPort() );
            String logType = getLogType();
            OriginAuthorizer oAuth = getOriginAuthorizer();
            PrintStream logOut = System.err;
            CorsHttpServer hServer = "http".equals( logType )
                                   ? new LoggingCorsHttpServer( socket, oAuth,
                                                                logOut )
                                   : new CorsHttpServer( socket, oAuth );
            if ( isAllowFlash() ) {
                hServer.addHandler( OpenPolicyResourceHandler
                                   .createFlashPolicyHandler( oAuth ) );
                logger_.info( "Web Profile HTTP server permits "
                            + "Flash-style cross-domain access" );
            }
            else {
                logger_.info( "Web Profile HTTP server does not permit "
                            + "Flash-style cross-domain access" );
            }
            if ( isAllowSilverlight() ) {
                hServer.addHandler( OpenPolicyResourceHandler
                                   .createSilverlightPolicyHandler( oAuth ) );
                logger_.info( "Web Profile HTTP server permits "
                            + "Silverlight-style cross-domain access" );
            }
            else {
                logger_.info( "Web Profile HTTP server does not permit "
                            + "Silverlight-style cross-domain access" );
            }
            hServer.setDaemon( true );
            if ( "rpc".equals( logType ) ) {
                return new RpcLoggingInternalServer( hServer, path, logOut );
            }
            else if ( "xml".equals( logType ) ) {
                return new XmlLoggingInternalServer( hServer, path, logOut );
            }
            else if ( "none".equals( logType ) || "http".equals( logType ) ||
                      logType == null || logType.length() == 0 ) {
                return new InternalServer( hServer, path );
            }
            else {
                throw new IllegalArgumentException( "Unknown logType "
                                                  + logType );
            }
        }