lite.html

来自「perl教程」· HTML 代码 · 共 1,152 行 · 第 1/5 页

HTML
1,152
字号
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>SOAP::Lite - Client and server side SOAP implementation</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>

<body>

<script>writelinks('__top__',2);</script>
<h1><a>SOAP::Lite - Client and server side SOAP implementation</a></h1>
<p><a name="__index__"></a></p>

<!-- INDEX BEGIN -->

<ul>

	<li><a href="#name">NAME</a></li>
	<li><a href="#synopsis">SYNOPSIS</a></li>
	<li><a href="#description">DESCRIPTION</a></li>
	<ul>

		<li><a href="#where_to_find_examples">WHERE TO FIND EXAMPLES</a></li>
	</ul>

	<li><a href="#overview_of_classes_and_packages">OVERVIEW OF CLASSES AND PACKAGES</a></li>
	<ul>

		<li><a href="#soap__lite">SOAP::Lite</a></li>
		<li><a href="#soap__data">SOAP::Data</a></li>
		<li><a href="#soap__serializer">SOAP::Serializer</a></li>
		<li><a href="#soap__som">SOAP::SOM</a></li>
		<li><a href="#soap__schema">SOAP::Schema</a></li>
		<li><a href="#soap__trace">SOAP::Trace</a></li>
		<li><a href="#soap__fault">SOAP::Fault</a></li>
		<li><a href="#soap__constants">SOAP::Constants</a></li>
	</ul>

	<li><a href="#features_and_options">FEATURES AND OPTIONS</a></li>
	<ul>

		<li><a href="#default_settings">DEFAULT SETTINGS</a></li>
		<li><a href="#in_out__out_parameters_and_autobinding">IN/OUT, OUT PARAMETERS AND AUTOBINDING</a></li>
		<li><a href="#autodispatching_and_soap___prefix">AUTODISPATCHING AND SOAP:: PREFIX</a></li>
		<li><a href="#accessing_headers_and_envelope_on_server_side">ACCESSING HEADERS AND ENVELOPE ON SERVER SIDE</a></li>
		<li><a href="#service_deployment__static_and_dynamic">SERVICE DEPLOYMENT. STATIC AND DYNAMIC</a></li>
		<li><a href="#security">SECURITY</a></li>
		<li><a href="#compression">COMPRESSION</a></li>
		<li><a href="#objectsbyreference">OBJECTS-BY-REFERENCE</a></li>
		<li><a href="#interoperability">INTEROPERABILITY</a></li>
		<li><a href="#troubleshooting">TROUBLESHOOTING</a></li>
		<li><a href="#performance">PERFORMANCE</a></li>
		<li><a href="#webhosting_installation">WEBHOSTING INSTALLATION</a></li>
	</ul>

	<li><a href="#bugs_and_limitations">BUGS AND LIMITATIONS</a></li>
	<li><a href="#platforms">PLATFORMS</a></li>
	<li><a href="#availability">AVAILABILITY</a></li>
	<li><a href="#see_also">SEE ALSO</a></li>
	<li><a href="#acknowledgments">ACKNOWLEDGMENTS</a></li>
	<li><a href="#copyright">COPYRIGHT</a></li>
	<li><a href="#author">AUTHOR</a></li>
</ul>
<!-- INDEX END -->

<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>SOAP::Lite - Client and server side SOAP implementation</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
  <span class="keyword">use</span> <span class="variable">SOAP::Lite</span><span class="operator">;</span>
  <span class="keyword">print</span> <span class="variable">SOAP::Lite</span>
    <span class="operator">-&gt;</span> <span class="variable">uri</span><span class="operator">(</span><span class="string">'http://www.soaplite.com/Temperatures'</span><span class="operator">)</span>
    <span class="operator">-&gt;</span> <span class="variable">proxy</span><span class="operator">(</span><span class="string">'http://services.soaplite.com/temper.cgi'</span><span class="operator">)</span>
    <span class="operator">-&gt;</span> <span class="variable">f2c</span><span class="operator">(</span><span class="number">32</span><span class="operator">)</span>
    <span class="operator">-&gt;</span> <span class="variable">result</span><span class="operator">;</span>
</pre>
<p>The same code with autodispatch:</p>
<pre>
  <span class="keyword">use</span> <span class="variable">SOAP::Lite</span> <span class="operator">+</span><span class="string">autodispatch</span> <span class="operator">=&gt;</span>
    <span class="string">uri</span> <span class="operator">=&gt;</span> <span class="string">'http://www.soaplite.com/Temperatures'</span><span class="operator">,</span>
    <span class="string">proxy</span> <span class="operator">=&gt;</span> <span class="string">'http://services.soaplite.com/temper.cgi'</span><span class="operator">;</span>
</pre>
<pre>
  <span class="keyword">print</span> <span class="variable">f2c</span><span class="operator">(</span><span class="number">32</span><span class="operator">);</span>
</pre>
<p>Code in OO-style:</p>
<pre>
  <span class="keyword">use</span> <span class="variable">SOAP::Lite</span> <span class="operator">+</span><span class="string">autodispatch</span> <span class="operator">=&gt;</span>
    <span class="string">uri</span> <span class="operator">=&gt;</span> <span class="string">'http://www.soaplite.com/Temperatures'</span><span class="operator">,</span>
    <span class="string">proxy</span> <span class="operator">=&gt;</span> <span class="string">'http://services.soaplite.com/temper.cgi'</span><span class="operator">;</span>
</pre>
<pre>
  <span class="keyword">my</span> <span class="variable">$temperatures</span> <span class="operator">=</span> <span class="variable">Temperatures</span><span class="operator">-&gt;</span><span class="variable">new</span><span class="operator">(</span><span class="number">32</span><span class="operator">);</span> <span class="comment"># get object</span>
  <span class="keyword">print</span> <span class="variable">$temperatures</span><span class="operator">-&gt;</span><span class="variable">as_celsius</span><span class="operator">;</span>          <span class="comment"># invoke method</span>
</pre>
<p>Code with service description:</p>
<pre>
  <span class="keyword">use</span> <span class="variable">SOAP::Lite</span><span class="operator">;</span>
  <span class="keyword">print</span> <span class="variable">SOAP::Lite</span>
    <span class="operator">-&gt;</span> <span class="variable">service</span><span class="operator">(</span><span class="string">'http://www.xmethods.net/sd/StockQuoteService.wsdl'</span><span class="operator">)</span>
    <span class="operator">-&gt;</span> <span class="variable">getQuote</span><span class="operator">(</span><span class="string">'MSFT'</span><span class="operator">);</span>
</pre>
<p>Code for SOAP server (CGI):</p>
<pre>
  <span class="keyword">use</span> <span class="variable">SOAP::Transport::HTTP</span><span class="operator">;</span>
  <span class="variable">SOAP::Transport::HTTP::CGI</span>
    <span class="operator">-&gt;</span> <span class="variable">dispatch_to</span><span class="operator">(</span><span class="string">'/Your/Path/To/Deployed/Modules'</span><span class="operator">,</span> <span class="string">'Module::Name'</span><span class="operator">,</span> <span class="string">'Module::method'</span><span class="operator">)</span>
    <span class="operator">-&gt;</span> <span class="variable">handle</span><span class="operator">;</span>
</pre>
<p>Visual Basic client (through COM interface):</p>
<pre>
  MsgBox CreateObject(&quot;SOAP.Lite&quot;).new( _
    &quot;proxy&quot;, &quot;<a href="http://services.xmethods.net/soap&quot">http://services.xmethods.net/soap&quot</a>;, _
    &quot;uri&quot;,   &quot;urn:xmethods-delayed-quotes&quot; _
  ).getQuote(&quot;MSFT&quot;).result</pre>
<p>mod_soap enabled SOAP server:</p>
<pre>
  .htaccess</pre>
<pre>
  SetHandler perl-script
  PerlHandler Apache::SOAP
  PerlSetVar dispatch_to &quot;/Your/Path/To/Deployed/Modules, Module::Name&quot;</pre>
<p>ASP/VB SOAP server:</p>
<pre>
  &lt;%
    Response.ContentType = &quot;text/xml&quot;
    Response.Write(Server.CreateObject(&quot;SOAP.Lite&quot;) _
      .server(&quot;SOAP::Server&quot;) _
      .dispatch_to(&quot;/Your/Path/To/Deployed/Modules&quot;) _
      .handle(Request.BinaryRead(Request.TotalBytes)) _
    )
  %&gt;</pre>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>SOAP::Lite is a collection of Perl modules which provides a
simple and lightweight interface to the Simple Object Access Protocol
(SOAP) both on client and server side.</p>
<p>This version of SOAP::Lite supports the SOAP 1.1 specification ( <a href="http://www.w3.org/TR/SOAP">http://www.w3.org/TR/SOAP</a> ).</p>
<p>The main features of the library are:</p>
<ul>
<li>
<p>Supports SOAP 1.1 spec.</p>
</li>
<li>
<p>Interoperability tests with different implementations: Apache SOAP, Frontier,
Microsoft SOAP, Microsoft .NET, DevelopMentor, XMethods, 4s4c, Phalanx,
Kafka, SQLData, Lucin (in Java, Perl, C++, Python, VB, COM, XSLT).</p>
</li>
<li>
<p>Provides COM interface. Single dll (standalone [2.5MB] or minimal [32kB]).
Works on Windows 9x/Me/NT/2K. Doesn't require ROPE or MSXML.
Examples in VB, Excel/VBA, C#, ASP, JavaScript, PerlScript and Perl.</p>
</li>
<li>
<p>Provides transparent compression support for HTTP transport.</p>
</li>
<li>
<p>Provides mod_soap module. Make SOAP server with a few lines in .htaccess
or .conf file.</p>
</li>
<li>
<p>Includes XML::Parser::Lite (regexp-based XML parser) which runs instead
of XML::Parser where Perl 5.6 runs (even on WinCE) with some limitations.</p>
</li>
<li>
<p>Includes XMLRPC::Lite, implementation of XML-RPC protocol on client and
server side. All transports and features of SOAP::Lite are available.</p>
</li>
<li>
<p>Supports multipart/form-data MIME attachments.</p>
</li>
<li>
<p>Supports circular linked lists and multiple references.</p>
</li>
<li>
<p>Supports Map datatype (encoding of maps/hashes with arbitrary keys).</p>
</li>
<li>
<p>Supports HTTPS protocol.</p>
</li>
<li>
<p>Provides proxy support.</p>
</li>
<li>
<p>Provides CGI/daemon/mod_perl/Apache::Registry server implementations.</p>
</li>
<li>
<p>Provides TCP server implementation.</p>
</li>
<li>
<p>Provides IO (STDIN/STDOUT/File) server implementation.</p>
</li>
<li>
<p>Provides FTP client implementation.</p>
</li>
<li>
<p>Supports single/multipart MIME attachment (parsing side only).</p>
</li>
<li>
<p>Supports SMTP protocol.</p>
</li>
<li>
<p>Provides POP3 server implementation.</p>
</li>
<li>
<p>Supports M-POST and redirects in HTTP transport.</p>
</li>
<li>
<p>Supports Basic/Digest server authentication.</p>
</li>
<li>
<p>Works with CGI accelerators, like VelociGen and PerlEx.</p>
</li>
<li>
<p>Supports UDDI interface on client side. See UDDI::Lite for details.</p>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?