{
    "content": [
        {
            "type": "text",
            "text": "# Apache::XMLRPC (perldoc)\n\n## NAME\n\nApache::XMLRPC - serve XML-RPC requests from Apache\n\n## SYNOPSIS\n\n##\n##  Directives for your Apache config file.\n##\n<Location /RPC2>\nSetHandler perl-script\nPerlHandler Apache::XMLRPC\nPerlSetVar XMLRPCConfig /usr/local/apache/xml-rpc/services\n</Location>\n##\n##  In the 'services' file referenced above by 'XMLRPCConfig'\n##\nsub foo {\n...\n}\nsub bar {\n...\n}\n$map = {\nfoo   => \\&foo,\nbar   => \\&bar,\n};\n1;\n\n## DESCRIPTION\n\n*Apache::XMLRPC* serves Userland XML-RPC requests from Apache/modperl using the Frontier::RPC2\nmodule.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION** (2 subsections)\n- **SEE ALSO** (1 subsections)\n- **AUTHOR**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Apache::XMLRPC",
        "section": "",
        "mode": "perldoc",
        "summary": "Apache::XMLRPC - serve XML-RPC requests from Apache",
        "synopsis": "##\n##  Directives for your Apache config file.\n##\n<Location /RPC2>\nSetHandler perl-script\nPerlHandler Apache::XMLRPC\nPerlSetVar XMLRPCConfig /usr/local/apache/xml-rpc/services\n</Location>\n##\n##  In the 'services' file referenced above by 'XMLRPCConfig'\n##\nsub foo {\n...\n}\nsub bar {\n...\n}\n$map = {\nfoo   => \\&foo,\nbar   => \\&bar,\n};\n1;",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 28,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 8,
                "subsections": [
                    {
                        "name": "Apache Configuration",
                        "lines": 6
                    },
                    {
                        "name": "Defining Services",
                        "lines": 15
                    }
                ]
            },
            {
                "name": "SEE ALSO",
                "lines": 1,
                "subsections": [
                    {
                        "name": "perl",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "AUTHOR",
                "lines": 4,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Apache::XMLRPC - serve XML-RPC requests from Apache\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "##\n##  Directives for your Apache config file.\n##\n<Location /RPC2>\nSetHandler perl-script\nPerlHandler Apache::XMLRPC\nPerlSetVar XMLRPCConfig /usr/local/apache/xml-rpc/services\n</Location>\n\n\n##\n##  In the 'services' file referenced above by 'XMLRPCConfig'\n##\nsub foo {\n...\n}\n\nsub bar {\n...\n}\n\n$map = {\nfoo   => \\&foo,\nbar   => \\&bar,\n};\n\n1;\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "*Apache::XMLRPC* serves Userland XML-RPC requests from Apache/modperl using the Frontier::RPC2\nmodule.\n\nConfiguring Apache::XMLRPC to work under modperl is a two step process. First, you must declare\na \"<Location>\" directive in your Apache configuration file which tells Apache to use the content\nhandler found in the Apache::XMLRPC module and defines a variable which tells the module where\nto find your services. Then, you must define the services.\n",
                "subsections": [
                    {
                        "name": "Apache Configuration",
                        "content": "Apache configuration is as simple as the \"<Location>\" directive shown in the synopsis above. Any\ndirective allowed by Apache inside a \"<Location>\" block is allowed here, but the three lines\nshown above are required. Pay close attention to the 'PerlSetVar XMLRPCConfig ...' line as this\nis where you tell Apache where to find your services. This file may reside anywhere accessible\nby Apache.\n"
                    },
                    {
                        "name": "Defining Services",
                        "content": "To actually define the XML-RPC routines that will be served, they *must* reside in the file\nreferenced by the 'PerlSetVar XMLRPCConfig ...' directive in the Apache configuration file. In\nthis file you may place as many Perl subroutines as you like, but only those which are\nexplicitly published will be available to your XML-RPC clients.\n\nTo *publish* a subroutine, it must be included in the hash reference named $map (the hash\nreference *must* have this name as this is the variable that the *Apache::XMLRPC* passes to\n*Frontier::RPC2::serve* to actually service each request) The hash reference *must* be defined\nin this \"services\" file.\n\nThe keys of the hash are the service names visible to the XML-RPC clients while the hash values\nare references to the subroutines you wish to make public. There is no requirement that the\npublished service names match those of their associated subroutines, but it does make\nadministration a little easier.\n"
                    }
                ]
            },
            "SEE ALSO": {
                "content": "",
                "subsections": [
                    {
                        "name": "perl",
                        "content": "<http://www.scripting.com/frontier5/xml/code/rpc.html>\n"
                    }
                ]
            },
            "AUTHOR": {
                "content": "Ed Hill <ed-hill@uiowa.edu> is the original author.\n\nTim Peoples <tep@colltech.com> added a few tweaks and all the documentation.\n",
                "subsections": []
            }
        }
    }
}