home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd1.bin / zkuste / Perl / ActivePerl-5.6.0.613.msi / 䆊䌷䈹䈙䏵-䞅䞆䞀㡆䞃䄦䠥 / _c01a5248335299c0623dae9d41b82232 < prev    next >
Text File  |  2000-03-23  |  9KB  |  226 lines

  1.  
  2. <HTML>
  3. <HEAD>
  4. <TITLE>SOAP - Library for SOAP clients and servers in Perl</TITLE>
  5. <LINK REL="stylesheet" HREF="../../Active.css" TYPE="text/css">
  6. <LINK REV="made" HREF="mailto:">
  7. </HEAD>
  8.  
  9. <BODY>
  10. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  11. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  12. <STRONG><P CLASS=block> SOAP - Library for SOAP clients and servers in Perl</P></STRONG>
  13. </TD></TR>
  14. </TABLE>
  15.  
  16. <A NAME="__index__"></A>
  17. <!-- INDEX BEGIN -->
  18.  
  19. <UL>
  20.  
  21.     <LI><A HREF="#name">NAME</A></LI><LI><A HREF="#supportedplatforms">SUPPORTED PLATFORMS</A></LI>
  22.  
  23.     <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
  24.     <LI><A HREF="#description">DESCRIPTION</A></LI>
  25.     <UL>
  26.  
  27.         <LI><A HREF="#the envelopemaker object">The EnvelopeMaker Object</A></LI>
  28.         <LI><A HREF="#the parser object">The Parser Object</A></LI>
  29.         <LI><A HREF="#where to find examples">Where to Find Examples</A></LI>
  30.     </UL>
  31.  
  32.     <LI><A HREF="#overview of classes and packages">OVERVIEW OF CLASSES AND PACKAGES</A></LI>
  33.     <LI><A HREF="#more documentation">MORE DOCUMENTATION</A></LI>
  34.     <LI><A HREF="#bugs and limitations">BUGS AND LIMITATIONS</A></LI>
  35.     <LI><A HREF="#acknowledgements">ACKNOWLEDGEMENTS</A></LI>
  36.     <LI><A HREF="#copyright">COPYRIGHT</A></LI>
  37.     <LI><A HREF="#availability">AVAILABILITY</A></LI>
  38. </UL>
  39. <!-- INDEX END -->
  40.  
  41. <HR>
  42. <P>
  43. <H1><A NAME="name">NAME</A></H1>
  44. <P>SOAP - Library for SOAP clients and servers in Perl</P>
  45. <P>
  46. <HR>
  47. <H1><A NAME="supportedplatforms">SUPPORTED PLATFORMS</A></H1>
  48. <UL>
  49. <LI>Linux</LI>
  50. <LI>Solaris</LI>
  51. <LI>Windows</LI>
  52. </UL>
  53. <HR>
  54. <H1><A NAME="synopsis">SYNOPSIS</A></H1>
  55. <PRE>
  56.   use SOAP;
  57.   print "This is SOAP/Perl-$SOAP::VERSION\n";</PRE>
  58. <P>
  59. <HR>
  60. <H1><A NAME="description">DESCRIPTION</A></H1>
  61. <P>SOAP/Perl is a collection of Perl modules which provides a simple
  62. and consistent application programming interface (API) to the 
  63. Simple Object Access Protocl (SOAP).</P>
  64. <P>To learn more about SOAP, visit the FAQ at:
  65. <URL:http://www.develop.com/soap/soapfaq.htm></P>
  66. <P>This library provides tools for you to build SOAP clients and servers.</P>
  67. <P>The library contains modules for high-level use of SOAP, but also modules
  68. for lower-level use in case you need something a bit more customized.
  69. The library is factored so that you can</P>
  70. <P>SOAP/Perl uses Perl's object oriented features exclusively. There are
  71. no subroutines exported directly by these modules.</P>
  72. <P>This version of SOAP/Perl supports the SOAP 1.0 specification,
  73. which is an IETF internet draft. See <URL:http://www.ietf.org>
  74. for details.</P>
  75. <P>The main features of the library are:</P>
  76. <UL>
  77. <LI>
  78. Contains various reusable components (modules) that can be
  79. used separately or together.
  80. <P></P>
  81. <LI>
  82. Provides an object oriented model for serializing/deserializing and
  83. sending/receiving SOAP packets (lovingly referred to in some circles
  84. as SOAP bars). Within this framework we currently support access to SOAP
  85. over HTTP, but we're looking to expand to support SOAP over SMTP and
  86. other transports in the future.
  87. <P></P>
  88. <LI>
  89. Provides a fully object oriented interface.
  90. <P></P>
  91. <LI>
  92. Supports SOAP 1.0 spec. The current version does not yet handle arrays.
  93. <P></P>
  94. <LI>
  95. Supports serializing/deserializing of sophisticated object graphs
  96. which may have cycles (a circular queue would serialize just fine,
  97. for instance).
  98. <P></P>
  99. <LI>
  100. Provides full namespace support for SOAP 1.0, which is strongly recommended
  101. by the spec.
  102. <P></P>
  103. <LI>
  104. Implements full support for SOAP 1.0 packages, including correctly dealing
  105. with shared references between header and body elements.
  106. <P></P>
  107. <LI>
  108. Experimental support for extensibility of the serialization/deserialization
  109. architecture has been included; see SOAP::TypeMapper for details.
  110. <P></P>
  111. <LI>
  112. Supports servers using CGI or Apache+mod_perl. Tested with Apache on Linux
  113. as well as IIS on Windows 2000.
  114. <P></P></UL>
  115. <P>
  116. <H2><A NAME="the envelopemaker object">The EnvelopeMaker Object</A></H2>
  117. <P>SOAP::EnvelopeMaker takes as input an array of header objects and a single
  118. body object (currently these ``objects'' are simply Perl hashes, eventually
  119. we'll add support for blessed object references as well), and produces as
  120. output an XML stream.</P>
  121. <P>
  122. <H2><A NAME="the parser object">The Parser Object</A></H2>
  123. <P>SOAP::Parser takes as input a string (or a file/file handle) and parses
  124. the content as a SOAP envelope. This results in an array of header objects
  125. and a single body element.</P>
  126. <P>To avoid coupling the SOAP serialization/deserialization code to HTTP,
  127. a set of loadable transports is also provided. See the following modules
  128. for documentation of the transport architecture:</P>
  129. <PRE>
  130.  SOAP::Transport::HTTP::Client
  131.  SOAP::Transport::HTTP::Server
  132.  SOAP::Transport::HTTP::Apache
  133.  SOAP::Transport::HTTP::CGI</PRE>
  134. <P>
  135. <H2><A NAME="where to find examples">Where to Find Examples</A></H2>
  136. <P>See SOAP::EnvelopeMaker for a client-side example that shows the
  137. serialization of a SOAP request, sending it over HTTP and receiving
  138. a response, and the deserialization of the response.</P>
  139. <P>See SOAP::Transport::HTTP::Apache for a server-side example that shows
  140. how to map incoming HTTP requests to method calls on your own Perl
  141. classes.</P>
  142. <P>
  143. <HR>
  144. <H1><A NAME="overview of classes and packages">OVERVIEW OF CLASSES AND PACKAGES</A></H1>
  145. <P>This table should give you a quick overview of the classes provided by the
  146. library.</P>
  147. <P>-- High-level classes you should begin with --</P>
  148. <PRE>
  149.  SOAP::EnvelopeMaker   -- Serializes objects into SOAP bars
  150.  SOAP::Parser          -- Deserializes SOAP bars into objects
  151.  SOAP::Transport       -- Description of transport architecture
  152.  SOAP::Transport::HTTP -- Description of HTTP transport
  153.  SOAP::Transport::HTTP::Client -- Client side support for HTTP,
  154.                                   using libwww-perl
  155.  SOAP::Transport::HTTP::Server -- Server side support for HTTP,
  156.                                   decoupled from web server APIs
  157.  SOAP::Transport::HTTP::Apache -- Apache/mod_perl support
  158.  SOAP::Transport::HTTP::CGI    -- Vanilla CGI support</PRE>
  159. <P>-- Serialization architecture --</P>
  160. <PRE>
  161.  SOAP::Envelope      -- Low level access to SOAP serialization
  162.  SOAP::OutputStream  -- used in conjunction with SOAP::Envelope for
  163.                         Low level access to SOAP serialization
  164.  SOAP::Packager      -- Helps to implement SOAP 1.0 packages,
  165.                         used by SOAP::Envelope and SOAP::OutputStream
  166.  SOAP::GenericHashSerializer   -- Generic serializer for Perl hash references
  167.  SOAP::GenericScalarSerializer -- Generic serializer for Perl scalars</PRE>
  168. <P>-- Deserialization architecture --</P>
  169. <PRE>
  170.  SOAP::GenericInputStream.pm   -- Look here if you are interested in
  171.                                   extending the deserialization framework
  172.                                   to be able to deserialize your own objects
  173. -- Miscellaneous --</PRE>
  174. <PRE>
  175.  SOAP::TypeMapper    -- An experimental extensibility point for the
  176.                         serialization architecture
  177.  SOAP::Defs          -- Constants used by the other modules</PRE>
  178. <P>
  179. <HR>
  180. <H1><A NAME="more documentation">MORE DOCUMENTATION</A></H1>
  181. <P>All modules contain detailed information on the interfaces they
  182. provide.</P>
  183. <P>
  184. <HR>
  185. <H1><A NAME="bugs and limitations">BUGS AND LIMITATIONS</A></H1>
  186. <P>The serialization framework does not yet handle arrays,
  187. and the HTTP transport does not handle M-POST.</P>
  188. <P>
  189. <HR>
  190. <H1><A NAME="acknowledgements">ACKNOWLEDGEMENTS</A></H1>
  191. <P>Keith Brown is the original and current author of this work, but
  192. he worked very closely with Don Box in developing a common design
  193. and implementation architecture (Don was building a Java implementation
  194. side-by-side, and Keith and Don worked together in a kind of XP style
  195. of programming - it was fun). GopalK at Microsoft was tremendously
  196. helpful in ferreting out issues in the SOAP spec. Mike Abercrombie
  197. at DevelopMentor (where Keith and Don work) was very supportive
  198. of the effort as well. Thanks Mike!</P>
  199. <P>
  200. <HR>
  201. <H1><A NAME="copyright">COPYRIGHT</A></H1>
  202. <PRE>
  203.   Copyright 1999-2000, DevelopMentor. All rights reserved.</PRE>
  204. <P>This library is free software; you can redistribute it and/or
  205. modify it under the same terms as Perl itself.</P>
  206. <P>
  207. <HR>
  208. <H1><A NAME="availability">AVAILABILITY</A></H1>
  209. <P>The latest version of this library is normally available from CPAN
  210. as well as:</P>
  211. <PRE>
  212.  <A HREF="http://www.develop.com/soap">http://www.develop.com/soap</A></PRE>
  213. <P>The best place to discuss this code is on the SOAP
  214. mailing list at:</P>
  215. <PRE>
  216.  <A HREF="http://discuss.develop.com/soap.html">http://discuss.develop.com/soap.html</A></PRE>
  217. <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
  218. <TR><TD CLASS=block VALIGN=MIDDLE WIDTH=100% BGCOLOR="#cccccc">
  219. <STRONG><P CLASS=block> SOAP - Library for SOAP clients and servers in Perl</P></STRONG>
  220. </TD></TR>
  221. </TABLE>
  222.  
  223. </BODY>
  224.  
  225. </HTML>
  226.