<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head profile="http://internetalchemy.org/2003/02/profile"> <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" /> <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" /> <meta name="dc.title" content="Function: http_map_table - Virtuoso Functions Guide" /> <meta name="dc.subject" content="Function: http_map_table - Virtuoso Functions Guide" /> <meta name="dc.creator" content="OpenLink Software Documentation Team ; " /> <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" /> <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" /> <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" /> <link rel="parent" href="functions.html" title="Chapter Contents" /> <link rel="prev" href="appendixa.html" title="Appendix" /> <link rel="next" href="functions.html#.html" title="" /> <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" /> <link rel="stylesheet" type="text/css" href="doc.css" /> <link rel="stylesheet" type="text/css" href="/doc/translation.css" /> <title>Function: http_map_table - Virtuoso Functions Guide</title> <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" /> <meta name="author" content="OpenLink Software Documentation Team ; " /> <meta name="copyright" content="OpenLink Software, 1999 - 2009" /> <meta name="keywords" content="" /> <meta name="GENERATOR" content="OpenLink XSLT Team" /> </head> <body> <div id="header"> <a name="fn_http_map_table" /> <img src="../images/misc/logo.jpg" alt="" /> <h1>22. Virtuoso Functions Guide - http_map_table</h1> </div> <div id="navbartop"> <div> <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="fn_http_listen_host.html" title="http_listen_host">Prev</a> | <a class="link" href="fn_http_map_get.html" title="http_map_get">Next</a> </div> </div> <div id="currenttoc"> <form method="post" action="/doc/adv_search.vspx"> <div class="search">Keyword Search: <br /> <input type="text" name="q" /> <input type="submit" name="go" value="Go" /> </div> </form> <div> <a href="http://www.openlinksw.com/">www.openlinksw.com</a> </div> <div> <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a> </div> <br /> <div> <a href="index.html">Book Home</a> </div> <br /> <div> <a href="contents.html">Contents</a> </div> <div> <a href="preface.html">Preface</a> </div> <br /> <div> <a class="selected" href="functions.html">Virtuoso Functions Guide</a> </div> <br /> <div> <a href="functions.html#admin">Administration</a> </div> <div> <a href="functions.html#aggr">Aggregate Functions</a> </div> <div> <a href="functions.html#array">Array Manipulation</a> </div> <div> <a href="functions.html#bpel">BPEL APIs</a> </div> <div> <a href="functions.html#backup">Backup</a> </div> <div> <a href="functions.html#compression">Compression</a> </div> <div> <a href="functions.html#cursors">Cursor</a> </div> <div> <a href="functions.html#time">Date & Time Manipulation</a> </div> <div> <a href="functions.html#debug">Debug</a> </div> <div> <a href="functions.html#dict">Dictionary Manipulation</a> </div> <div> <a href="functions.html#encoding">Encoding & Decoding</a> </div> <div> <a href="functions.html#file">File Manipulation</a> </div> <div> <a href="functions.html#ft">Free Text</a> </div> <div> <a href="functions.html#hash">Hashing / Cryptographic</a> </div> <div> <a href="functions.html#ldap">LDAP</a> </div> <div> <a href="functions.html#localization">Locale</a> </div> <div> <a href="functions.html#mail">Mail</a> </div> <div> <a href="functions.html#misc">Miscellaneous</a> </div> <div> <a href="functions.html#number">Number</a> </div> <div> <a href="functions.html#phrz">Phrases</a> </div> <div> <a href="functions.html#rdf">RDF data</a> </div> <div> <a href="functions.html#rmt">Remote SQL Data Source</a> </div> <div> <a href="functions.html#repl">Replication</a> </div> <div> <a href="functions.html#soap">SOAP</a> </div> <div> <a href="functions.html#sql">SQL</a> </div> <div> <a href="functions.html#string">String</a> </div> <div> <a href="functions.html#txn">Transaction</a> </div> <div> <a href="functions.html#type">Type Mapping</a> </div> <div> <a href="functions.html#uddi">UDDI</a> </div> <div> <a href="functions.html#udt">User Defined Types & The CLR</a> </div> <div> <a href="functions.html#vad">VAD</a> </div> <div> <a href="functions.html#jvmpl">Virtuoso Java PL API</a> </div> <div> <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a> </div> <div> <a class="selected" href="functions.html#ws">Web & Internet</a> </div> <div class="selected"> <div> <a href="fn_dav_api_add.html">dav add & update fun...</a> </div> <div> <a href="fn_dav_api_lock.html">dav lock manipulatio...</a> </div> <div> <a href="fn_dav_api_change.html">dav manipulation fun...</a> </div> <div> <a href="fn_dav_api_search.html">dav search functions</a> </div> <div> <a href="fn_dav_exp.html">dav_exp</a> </div> <div> <a href="fn_lfs_exp.html">lfs_exp</a> </div> <div> <a href="fn_serv_queue_top.html">serv_queue_top</a> </div> <div> <a href="fn_urlrewrite_create_regex_rule.html">urlrewrite_create_re...</a> </div> <div> <a href="fn_USER_KEY_LOAD.html">user_key_load</a> </div> <div> <a href="fn_vhost_define.html">vhost_define</a> </div> <div> <a href="fn_vhost_remove.html">vhost_remove</a> </div> <div> <a href="fn_dav_api_user.html">webdav users & group...</a> </div> <div> <a href="fn_client_attr.html">client_attr</a> </div> <div> <a href="fn_connection_get.html">connection_get</a> </div> <div> <a href="fn_connection_id.html">connection_id</a> </div> <div> <a href="fn_connection_is_dirty.html">connection_is_dirty</a> </div> <div> <a href="fn_connection_set.html">connection_set</a> </div> <div> <a href="fn_connection_vars.html">connection_vars</a> </div> <div> <a href="fn_connection_vars_set.html">connection_vars_set</a> </div> <div> <a href="fn_dbname.html">dbname</a> </div> <div> <a href="fn_ftp_get.html">ftp_get</a> </div> <div> <a href="fn_ftp_ls.html">ftp_ls</a> </div> <div> <a href="fn_ftp_put.html">ftp_put</a> </div> <div> <a href="fn_get_certificate_info.html">get_certificate_info</a> </div> <div> <a href="fn_get_keyword.html">get_keyword</a> </div> <div> <a href="fn_get_keyword_ucase.html">get_keyword_ucase</a> </div> <div> <a href="fn_http.html">http</a> </div> <div> <a href="fn_http_acl_get.html">http_acl_get</a> </div> <div> <a href="fn_http_acl_remove.html">http_acl_remove</a> </div> <div> <a href="fn_http_acl_set.html">http_acl_set</a> </div> <div> <a href="fn_http_body_read.html">http_body_read</a> </div> <div> <a href="fn_http_client.html">http_client</a> </div> <div> <a href="fn_http_client_ext.html">http_client_ext</a> </div> <div> <a href="fn_http_client_ip.html">http_client_ip</a> </div> <div> <a href="fn_http_debug_log.html">http_debug_log</a> </div> <div> <a href="fn_http_enable_gz.html">http_enable_gz</a> </div> <div> <a href="fn_http_file.html">http_file</a> </div> <div> <a href="fn_http_flush.html">http_flush</a> </div> <div> <a href="fn_http_get.html">http_get</a> </div> <div> <a href="fn_http_header.html">http_header</a> </div> <div> <a href="fn_http_header_get.html">http_header_get</a> </div> <div> <a href="fn_http_kill.html">http_kill</a> </div> <div> <a href="fn_http_listen_host.html">http_listen_host</a> </div> <div> <a href="fn_http_lock.html">http_lock</a> </div> <div> <a href="fn_http_map_get.html">http_map_get</a> </div> <div> <a class="selected" href="fn_http_map_table.html">http_map_table</a> </div> <div> <a href="fn_http_param.html">http_param</a> </div> <div> <a href="fn_http_path.html">http_path</a> </div> <div> <a href="fn_http_pending_req.html">http_pending_req</a> </div> <div> <a href="fn_http_physical_path.html">http_physical_path</a> </div> <div> <a href="fn_http_proxy.html">http_proxy</a> </div> <div> <a href="fn_http_request_get.html">http_request_get</a> </div> <div> <a href="fn_http_request_header.html">http_request_header</a> </div> <div> <a href="fn_http_request_status.html">http_request_status</a> </div> <div> <a href="fn_http_rewrite.html">http_rewrite</a> </div> <div> <a href="fn_http_root.html">http_root</a> </div> <div> <a href="fn_http_unlock.html">http_unlock</a> </div> <div> <a href="fn_http_url.html">http_url</a> </div> <div> <a href="fn_http_value.html">http_value</a> </div> <div> <a href="fn_http_xslt.html">http_xslt</a> </div> <div> <a href="fn_json_parse.html">json_parse</a> </div> <div> <a href="fn_ses_connect.html">ses_connect</a> </div> <div> <a href="fn_ses_disconnect.html">ses_disconnect</a> </div> <div> <a href="fn_ses_read_line.html">ses_read_line</a> </div> <div> <a href="fn_ses_write.html">ses_write</a> </div> <div> <a href="fn_tcpip_gethostbyaddr.html">tcpip_gethostbyaddr</a> </div> <div> <a href="fn_tcpip_gethostbyname.html">tcpip_gethostbyname</a> </div> <div> <a href="fn_vsp_calculate_digest.html">vsp_calculate_digest</a> </div> <div> <a href="fn_wsdl_import_udt.html">wsdl_import_udt</a> </div> </div> <div> <a href="functions.html#xml">XML</a> </div> <div> <a href="functions.html#XPATH">XPATH & XQUERY</a> </div> <br /> <div> <a href="functionidx.html">Functions Index</a> </div> <br /> </div> <div id="text"> <h2>http_map_table</h2> <div class="refpurpose">Update internal HTTP mapping table</div> <div class="funcsynopsis"> <span class="funcdef"> <span class="function">http_map_table</span> </span> (<span class="paramdef">in <span class="parameter">logical_path</span> varchar</span>, <span class="paramdef">in <span class="parameter">physical_path</span> varchar</span>, <span class="paramdef">in <span class="parameter">vhost</span> varchar</span>, <span class="paramdef">in <span class="parameter">listen_host</span> varchar</span>, <span class="paramdefoptional">[in <span class="optional">stored_in_dav</span> integer]</span>, <span class="paramdefoptional">[in <span class="optional">is_browseable</span> integer]</span>, <span class="paramdefoptional">[in <span class="optional">default_page</span> varchar]</span>, <span class="paramdefoptional">[in <span class="optional">security_restriction</span> varchar]</span>, <span class="paramdefoptional">[in <span class="optional">authentication</span> varchar]</span>, <span class="paramdefoptional">[in <span class="optional">auth_function</span> varchar]</span>, <span class="paramdefoptional">[in <span class="optional">postprocess_function</span> varchar]</span>, <span class="paramdefoptional">[in <span class="optional">execute_vsp_as</span> varchar]</span>, <span class="paramdefoptional">[in <span class="optional">execute_soap_as</span> varchar]</span>, <span class="paramdefoptional">[in <span class="optional">have_persistent_session_variables</span> integer]</span>, <span class="paramdefoptional">[in <span class="optional">soap_options</span> any]</span>, <span class="paramdefoptional">[in <span class="optional">auth_options</span> any]</span>); </div> <div class="refsect1"> <div class="refsect1title">Description</div> <p>This function requires dba privileges.</p> <p>This function inserts an entry defining a virtual directory into the HTTP maps table.</p> </div> <div class="refsect1"> <div class="refsect1title">Parameters</div> <div class="refsect2"> <span class="refsect2title">logical_path – </span> The absolute path string which the user agent will pass to the server in path part of URI</div> <div class="refsect2"> <span class="refsect2title">physical_path – </span> The absolute path of the real content. For directories or WebDAV collections physical_path MUST end with a slash '/' character, otherwise the point will be treated as a file (or resource).</div> <div class="refsect2"> <span class="refsect2title">vhost – </span> The host name that will be sent to the user-agent in HTTP request. This MUST be valid fully-qualified host name or alias and port separated with semi-column ':' character. This parameter accept special value '*ini*' which will be replaced with hostname and port from INI file.</div> <div class="refsect2"> <span class="refsect2title">listen_host – </span> The fully-qualified host name or IP address and port which will be listened on. Warning: This is only used to make an in-memory mapping, and will not start listening (for starting and stopping a listener see <a href="fn_http_listen_host.html">http_listen_host</a>).</div> <div class="refsect2"> <span class="refsect2title">stored_in_dav – </span> Determine if the physical location is a WebDAV resource or collection. Can accept zero or one (1) integer values. </div> <div class="refsect2"> <span class="refsect2title">is_browseable – </span> Determine if directory browsing is allowed for this location. Accepts integer values 0 or 1, treated as false and true respectively. If true (1) enabled and a default page is not specified, a GET request of an URL pointing to this location will generate a directory listing as a response to the user-agent. </div> <div class="refsect2"> <span class="refsect2title">default_page – </span> File name of default page that will be sent to the user-agent if <span class="computeroutput">physical_path</span> is a directory. </div> <div class="refsect2"> <span class="refsect2title">security_restriction – </span> A keyword that denotes security type controlling access to the location. Can be 'Digest', 'SSL' or NULL. This value can be used in the <span class="computeroutput">auth_function</span> hook using <a href="fn_http_map_get.html">http_map_get</a>. </div> <div class="refsect2"> <span class="refsect2title">authentication – </span> A string value that will be passed as a parameter to the <span class="computeroutput">auth_function</span> hook </div> <div class="refsect2"> <span class="refsect2title">auth_function – </span> Fully qualified name of a PL procedure that will perform HTTP authentication. The function must accept one input parameter of type <span class="computeroutput">VARCHAR</span> and MUST return integer 0 or 1 as false or true, respectively. A zero return value from the authentication function will cause the HTTP request to be rejected. </div> <div class="refsect2"> <span class="refsect2title">postprocess_function – </span> Fully qualified name of a PL procedure that will be called every time after page processing. Usual purpose is to store session variables in a session table. </div> <div class="refsect2"> <span class="refsect2title">execute_vsp_as – </span> The name of DB user, as whom VSP pages will be executed. If the user is not specified (is null), execution is forbidden. </div> <div class="refsect2"> <span class="refsect2title">execute_soap_as – </span> The name of DB user, as whom SOAP calls will be executed. If null, execution of SOAP calls is forbidden. </div> <div class="refsect2"> <span class="refsect2title">have_persistent_session_variables – </span> Flag that determines if the location has persistent session variables. The value of this flag can be retrieved with <a href="fn_http_map_get.html">http_map_get</a>. </div> <div class="refsect2"> <span class="refsect2title">soap_options – </span> A vector with keyword/value pairs. Currently, valid keywords are 'Namespace' and 'ServiceName'. Namespace is a string defining the namespace for the SOAP service. ServiceName is a string containing name of the SOAP service. See example. </div> <div class="refsect2"> <span class="refsect2title">auth_options – </span> The value of this parameter can be used in the authentication hook. In practice an array of keyword/value pairs would be the input but a single string could be supplied. The user-specific authentication hook can retrieve the options by calling the <a href="fn_http_map_get.html">http_map_get('auth_opts')</a> function. </div> </div> <div class="refsect1"> <div class="refsect1title">Examples</div> <a name="ex_http_map_table" /> <div class="example"> <div class="exampletitle">Inserting A Map Entry</div> <div> <pre class="screen"> http_map_table ('/vdir', '/admin/', 'www.foo.com', 'host.foo.com'); </pre> </div> </div> <a name="ex_http_map_table" /> <div class="example"> <div class="exampletitle">Create entry for a SOAP service</div> <div> <pre class="screen">http_map_table ('/soapapp', '/soapapp/', 'www.foo.com', 'host.foo.com', NULL, NULL, NULL, 'SSL', 'SOAP_APP', 'mysoapapp_auth_hook', 'mysoapapp_post_processor', NULL, 'mysoapapp_user', 1, vector ('NameSpace', 'http://www.openlinksw.com/soap/v11/', 'ServiceName','soapApp')); </pre> </div> </div> </div> <div class="refsect1"> <div class="refsect1title">See Also</div> <p> <a href="fn_http_map_get.html">http_map_get</a> </p> <p> <a href="fn_http_listen_host.html">http_listen_host</a> </p> <p> <a href="webserver.html#wsauth">HTTP Authentication in main documentation</a> </p> <p> <a href="webserver.html#wssessman">HTTP Session Management</a> in main documentation</p>. </div> </div> <div id="footer"> <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div> <div id="validation"> <a href="http://validator.w3.org/check/referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /> </a> <a href="http://jigsaw.w3.org/css-validator/"> <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" /> </a> </div> </div> </body> </html>