Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Changeset 1882

Show
Ignore:
Timestamp:
07/12/07 23:20:59 (1 year ago)
Author:
nahi
Message:
  • updated README
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RELEASE_en.html

    r1849 r1882  
    1919 
    2020<p class="status"> 
    21 Last modified: Jun 14, 2007<br /> 
     21Last modified: Jul 8, 2007<br /> 
    2222Created: July 17, 2000 
    2323</p> 
     
    3434 
    3535<p> 
    36 Target SOAP4R version: SOAP4R/1.5.6 
     36Target SOAP4R version: SOAP4R/1.5.7 
    3737</p> 
    3838 
     
    5353 
    5454<p> 
    55 Here are changes in 1.5.6 from 1.5.5. 
     55Version 1.5.7 mainly intends to fix regression problems introduced in 1.5.6. 
     56Here are changes in 1.5.7 from 1.5.6. 
    5657</p> 
     58<ul><li>SOAP/Ruby mapping 
     59<ul><li>try to call klass.soap_marshallable before mapping an XML element to the klass while unmarshalling. to avoid auto-mapping from element name, define klass.soap_marshallable method let it return false. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/223" title="avoid the AutoMapping (closed)">#223</a>) 
     60</li><li>[BUG] Array or Struct was not properly marshalled when literal service + generated stub combination. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/360" title="Array or Struct is not properly marshalled through stub definition for  ... (closed)">#360</a>) 
     61</li><li>[BUG] derived class was marshalled without xsi:type for literal service. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/361" title="derived class  is marshalled without xsi:type for literal service (closed)">#361</a>) 
     62</li><li>[BUG] passing nil as a basetype through generated mapping registry was broken in 1.5.6. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/369" title="nil passed as attribute to axis service gets sent as an empty string  ... (closed)">#369</a>) 
     63</li><li>[BUG] an rpc/encoded parameter could be wrongly typed when the parameter is typed as a derived type from a base type of XML Schema datatypes. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/371" title="an rpc/encoded parameter wrongly typed (closed)">#371</a>) 
     64 
     65</li><li>[BUG] under the earlier versions, we could use [] instead of CountryTargets[]. from 1.5.6-GA it doesn't work. let LiteralRegistry decide how the class should be mapped to according to the defined class in the parent complexType. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/373" title="generic Array cannot be used instead of a custom array (closed)">#373</a>) 
     66</li></ul></li></ul><ul><li>RPC 
     67<ul><li>allow xsi:nil="true" element as an RPC request though I don't think it's SOAP spec compliant. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/374" title="SOAP::Lite incompatibility (closed)">#374</a>) 
     68</li></ul></li></ul><ul><li>Payload 
     69<ul><li>added an API for filtering streamhandler to capture/generate HTTP header. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/276" title="streamHandler filter to capture/create HTTP header (closed)">#276</a>) 
     70</li><li>added 'protocol.http.auth' option to set authentication information for both BasicAuth and DigestAuth. with the latest http-access2, now soap4r client can connect to DigestAuth server. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/345" title="Client Digest Authentication Implemented (closed)">#345</a>) 
     71 
     72</li></ul></li></ul><ul><li>WSDL 
     73<ul><li>[BUG] error when simpleType element usage as "part" definition directly. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/367" title="error when simpleType element usage as &#34;part&#34; definition directly (closed)">#367</a>) 
     74</li></ul></li></ul><ul><li>misc 
     75<ul><li>let xsd2ruby.rb generate a mapping registry and a mapper from XML Schema definition. the mapper has obj2xml and xml2obj which uses the generated mapping registry. you can use this instead of XSD::Mapping.obj2xml and XSD::Mapping.xml2obj which does not know anything about mapping. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/362" title="classname parameter for bin/xsd2ruby.rb (closed)">#362</a>, <a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/363" title="mapping xml&lt;-&gt;obj based on XML Schema (closed)">#363</a>) 
     76</li><li>importer should not import <a class="ext-link" href="http://schemas.xmlsoap.org/soap/encoding/"><span class="icon">http://schemas.xmlsoap.org/soap/encoding/</span></a>. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/366" title="importer should not import http://schemas.xmlsoap.org/soap/encoding/ (closed)">#366</a>) 
     77</li><li>[BUG] wsdl2ruby.rb did not generate a classdef entry for empty element definition such as &lt;element name="foo"/&gt;. let wsdl2ruby.rb generate 'class Foo &lt; String'. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/370" title="empty element definition causes 'cannot find mapped class' warning (closed)">#370</a>) 
     78</li></ul></li></ul> 
     79 
     80<p> 
     81Thanks to all of soap4r-ml members and soap4r users for their support. 
     82And special thanks to following contributors; 
     83</p> 
     84<pre> 
     85'Aaron Pfeifer' for contributing a patch for safemethodname. 
     86'Andi Wundsam' for contributing a patch for net/http + no_proxy. 
     87'anonymous contributor from Wall St.' for contributing a MSSOAP + Excel sample. 
     88'Emil Marceta' for contributing a patch for one-way service support. 
     89'Ernie' for contributing a helloworld WSDL sample and WSDL service feature of HTTPServer. 
     90'Felipe Contreras' for contributing an union + memberType sample and patches for missing 'require'. 
     91'Greg Lappen' for contributing an eBaySvc sample. 
     92'Ger Apeldoorn' for contributing a sample of complex type + MIME attachment. 
     93'Jamie Herre' for contributing a SwA implementation. 
     94'John Anderson' for contributing a patch for handling gzipped HTTP content. 
     95'Junichi Uekawa' for contributing a HTTP redirection patch for net/http. 
     96'Kent Sibilev' for contributing a patch for correct extraattr handling of SOAPHeaderItem. 
     97'Leoš Bitto' for contributing a patch for XML pretty print. 
     98'Michael Neumann' for contributing an original implementation of standaloneServer. 
     99'Oliver M. Bolzer' for contributing a patch for net/http + SSL. 
     100'Owen Fraser-Green' for contributing a patch for MIME CRLF handling. 
     101'Patrick Chanezon' for contributing a patch for wsdl2ruby classdef name option. 
     102'Peter Gardfjäll' for contributing a patch for wsdl:fault handling. 
     103'Sandi Metz' for contributing a patch for SwA in document/literal service. 
     104'SHINAGAWA, Norihide' for contributing a patch for emx platform. 
     105'Tadayoshi Funaba' for contributing a patch for date/time XMLSchema datatypes. 
     106'UENO Katsuhiro' for xmlscan implementation. 
     107'Walter Korman' for contributing soap4r.gemspec and a workaround patch for gem's require problem. 
     108'wrex' for contributing a patch for soap4r to work with SalesForce service. 
     109</pre> 
     110 
     111<h2 id="install" name="install"><span class="content">2. Install</span></h2> 
     112 
     113<p> 
     114At first, see <a href="#dependencies">Dependencies</a> section. 
     115You may need to install some extra packages. 
     116Next, get the archived file of SOAP4R and extract it, then simply try; 
     117</p> 
     118<pre class="path"> 
     119$ ruby install.rb 
     120</pre> 
     121 
     122<p> 
     123Necessary files will be installed to suitable directory. 
     124</p> 
     125 
     126<p> 
     127Files and directories in lib directory are SOAP4R library program itself. 
     128</p> 
     129 
     130<dl> 
     131<dt class="path">lib/</dt> 
     132<dd>Libraries.</dd> 
     133 
     134<dt class="path">sample/</dt> 
     135<dd>SOAP4R samples. 
     136See <a href="#samples">Samples</a> section.</dd> 
     137 
     138<dt class="path">test/</dt> 
     139<dd>Tests.  It also contains useful sample scripts for servers and clients. 
     140<br/> 
     141test/interopR2/ directory includes Clients/Server for 
     142<a href="http://www.xmethods.net/ilab/">`SOAPBuilders Interoperability Lab.'</a> 
     143Followings are advanced examples to use complex type transmit, 
     144sending base64 encoded string, multi-dimensional array, and so on. 
     145<ul> 
     146<li>test/interopR2/server.rb is a RPC Server side implementation.</li> 
     147<li>test/interopR2/client.rb is a RPC Client side implementation.</li> 
     148<li>test/interopR2/base.rb includes common definitions for client/server.</li> 
     149</ul> 
     150</dd> 
     151</dl> 
     152 
     153<h2 id="uninstall" name="uninstall"><span class="content">3. Uninstall</span></h2> 
     154 
     155<p> 
     156Simply delete installed files. 
     157</p> 
     158 
     159<h2 id="whats" name="whats"><span class="content">4. What is SOAP4R?</span></h2> 
     160 
     161<p> 
     162'SOAP4R' is an implementation of 
     163<a href="http://www.w3.org/TR/SOAP/">SOAP 1.1 (W3C Note)</a>. 
     164</p> 
     165 
     166<p> 
     167Comments, information such as interoperability between SOAP4R and another implementation are welcomed. 
     168Feel free sending mail to 
     169<a href="mailto:nahi@ruby-lang.org" class="path">nahi@ruby-lang.org</a>. 
     170</p> 
     171 
     172<h2 id="dependencies" name="dependencies"><span class="content">5. Dependencies</span></h2> 
     173 
     174<p> 
     175SOAP4R is written in <a href="http://www.ruby-lang.org">Ruby</a> and 
     176aims to use with Ruby application. 
     177You have to install Ruby itself. 
     178Ruby/1.6 series or later is required. 
     179</p> 
     180<ul> 
     181  <li>ruby-1.8.6</li> 
     182  <li>ruby-1.6.8</li> 
     183</ul> 
     184 
     185<p> 
     186SOAP4R depends on following Ruby modules in 
     187<a href="http://raa.ruby-lang.org">RAA</a>. 
     188You also have to install these modules to use SOAP4R. 
     189</p> 
     190 
     191<h3><span class="content">for ruby-1.8.6</span></h3> 
     192 
     193<dl> 
     194<dt class="path"><a href="http://raa.ruby-lang.org/project/http-access2/">[RAA:http-access2]</a> (2.0.5) (required for SSL)</dt> 
     195<dd>Yet another HTTP client implementation by NaHi. 
     196It's not required when you don't use SSL, but it's recommended to use. 
     197The author always runs and checks soap4r with http-access2.</dd> 
     198 
     199<dt class="path"><a href="http://raa.ruby-lang.org/project/uconv/">[RAA:uconv]</a> (0.4.10) (not required but needed if your Ruby doesn't have iconv module and you need UTF-8 encoded Japanese chars)</dt> 
     200<dd>by Yoshida Masato. 
     201It is requred when you want automatic CES conversion between 
     202SJIS &lt;-&gt; UTF8 and EUC &lt;-&gt; UTF8. 
     203Note: SJIS &lt;-&gt; EUC uses NKF module which is in standard distribution. 
     204</dd> 
     205 
     206</dl> 
     207 
     208<h3><span class="content">for ruby-1.6.8</span></h3> 
     209 
     210<dl> 
     211<dt class="path"><a href="http://raa.ruby-lang.org/project/webrick/">[RAA:webrick]</a> (1.3.1)</dt> 
     212<dd>TCP server toolkit by Gotoyuzo.</dd> 
     213 
     214<dt class="path"><a href="http://raa.ruby-lang.org/project/http-access2/">[RAA:http-access2]</a> (2.0.5)</dt> 
     215<dd>Yet another HTTP client implementation by NaHi.</dd> 
     216 
     217<dt class="path"><a href="http://raa.ruby-lang.org/project/devel-logger/">[RAA:devel-logger]</a> (1.1.0)</dt> 
     218<dd>Logging utility by NaHi.</dd> 
     219 
     220<dt class="path"><a href="http://raa.ruby-lang.org/project/date2/">[RAA:date2]</a> (3.2)</dt> 
     221<dd>Date and DateTime implementation by Todayoshi Funaba.</dd> 
     222 
     223<dt class="path"><a href="http://raa.ruby-lang.org/project/uconv/">[RAA:uconv]</a> (0.4.10) (required for UTF-8 handling)</dt> 
     224<dd>by Yoshida Masato. 
     225It is requred when you want automatic CES conversion between 
     226SJIS &lt;-&gt; UTF8 and EUC &lt;-&gt; UTF8. 
     227Note: SJIS &lt;-&gt; EUC uses NKF module which is in standard distribution. 
     228</dd> 
     229 
     230</dl> 
     231 
     232<h2 id="samples" name="samples"><span class="content">6. Samples</span></h2> 
     233 
     234<p> 
     235Samples are in sample/ directory of distribution. 
     236Some samples try to connect to public servers. 
     237Set environment variable SOAP_USE_PROXY and HTTP_PROXY if you are in a firewall and you have 
     238http proxy to the internet like; 
     239</p> 
     240<pre class="path"> 
     241$ export SOAP_USE_PROXY=on 
     242$ export HTTP_PROXY=http://myproxyserver:8080 
     243  or 
     244$ setenv SOAP_USE_PROXY on 
     245$ setenv HTTP_PROXY http://myproxyserver:8080 
     246</pre> 
     247 
     248<h3><span class="content">basic/ ... basic samples</span></h3> 
     249 
     250    <dl> 
     251      <dt class="path">babelfish.rb</dt> 
     252      <dd>a SOAP client sample to connect to a babelfish server.</dd> 
     253      <dt class="path">whois.rb</dt> 
     254      <dd>a SOAP client sample to connect to a whois server.</dd> 
     255      <dt class="path">flickr.rb</dt> 
     256      <dd>a SOAP client sample to connect to the flickr SOAP server and extract data from XML response.</dd> 
     257      <dt class="path">yahooNewsSearch.rb</dt> 
     258      <dd>a HTTP client sample to connect to the Yahoo news search REST service and extract data from XML response.</dd> 
     259 
     260      <dt class="path">helloworld/</dt> 
     261      <dd>a SOAP server and client sample of 'Hello World'. 
     262          To run the server; 
     263<pre class="path"> 
     264$ ./server.rb 
     265</pre> 
     266          And to connect to the server, run the client; 
     267<pre class="path"> 
     268$ ./client.rb 
     269</pre> 
     270      </dd> 
     271 
     272      <dt class="path">calc/</dt> 
     273      <dd>Calc service contains 2 servers and 2 clients. 
     274        calc.rb is hosted by server.rb, calc2.rb is hosted by server2.rb. 
     275        client.rb is for server.rb, client2.rb is for server2.rb. 
     276        <dl> 
     277          <dt>calc.rb</dt> 
     278          <dd>Calc server definition using module and module methods. 
     279            This module responds 'add', 'sub', 'multi' and 'div'. 
     280          </dd> 
     281          <dt>server.rb</dt> 
     282          <dd>Standalone server. 
     283            It requires calc.rb and serve module methods of this module. 
     284            To run this server; 
     285<pre class="path"> 
     286$ ./server.rb 
     287</pre> 
     288          </dd> 
     289          <dt>server.cgi</dt> 
     290          <dd>CGI version. 
     291            To run this server, copy server.cgi and calc.rb to suitable 
     292            directory of your WWW server. 
     293          </dd> 
     294          <dt>client.rb</dt> 
     295          <dd>It connects to server.rb or server.cgi, 
     296            and hit methods served by calc.rb. 
     297            To run the client; 
     298<pre class="path"> 
     299$ ./client.rb 
     300</pre> 
     301            Is it stacked?  Did you run the server.rb?<br/> 
     302            Turn logger and wireDumpDev in its source on to see logs and wire 
     303            dumps of SOAP transport. 
     304          </dd> 
     305          <dt>calc2.rb</dt> 
     306          <dd>Calc server definition using class and instance methods. 
     307            An instance of this class holds its value.  Methods 'set' and 'get' 
     308            is to set/get the value. 
     309            It also responds to '+', '-', '*', and '/'. 
     310          </dd> 
     311          <dt>server2.rb</dt> 
     312          <dd>It requires calc2.rb and creates an instance of CalcService2 
     313            that responds all SOAP requests. 
     314            Since '+', '-' and so on of calc2.rb are not valid name as an 
     315            element in XML instance, this sample register the method '+' as 
     316            'add', '-' as 'sub', and so on. 
     317          </dd> 
     318          <dt>server2.cgi</dt> 
     319          <dd>CGI version. 
     320            To run this server, copy server2.cgi and calc2.rb to suitable 
     321            directory of your WWW server. 
     322          </dd> 
     323          <dt>client2.rb</dt> 
     324          <dd>It connects to server2.rb or server2.cgi. 
     325            Set a value at first and call methods like 'puts objAtServer + 2'. 
     326          </dd> 
     327        </dl> 
     328      </dd> 
     329 
     330      <dt class="path">exchange/</dt> 
     331      <dd>A sample to retrieve the currency rate from public SOAP service. 
     332        <dl> 
     333          <dt>iExchange.rb</dt> 
     334          <dd>It includes common definitions for client and server of 
     335            Exchange service.  Including only a definition of namespace URI of 
     336            this service.</dd> 
     337          <dt>exchange.rb</dt> 
     338          <dd>Definition of servant class ExchangeService which returns the 
     339            currency rate after connecting to another site by SOAP to get the 
     340            real rate. 
     341            So that this class is the SOAP server for local client and  
     342            is also a SOAP client for public server. 
     343            An instance of this class is hosted by server.rb. 
     344            The instance responds to only 'getRate' which receives two country 
     345            code such as 'USA' and 'Japan'.</dd> 
     346          <dt>server.rb</dt> 
     347          <dd>It requires exchange.rb and creates an instance of 
     348            ExchangeService that responds all SOAP requests. 
     349            To run this server; 
     350<pre class="path"> 
     351$ ./server.rb 
     352</pre> 
     353          </dd> 
     354          <dt>server.cgi</dt> 
     355          <dd>CGI version.  To run this server, copy server.cgi and exchange.rb 
     356            to suitable directory of your WWW server.</dd> 
     357          <dt>client.rb</dt> 
     358          <dd>It connects to server.rb.  Turn logger and wireDumpDev in its 
     359            source on to see logs and wire dumps of SOAP transport. 
     360            To run the client; 
     361<pre class="path"> 
     362$ ./client.rb 
     363</pre> 
     364          </dd> 
     365        </dl> 
     366      </dd> 
     367 
     368      <dt class="path">sampleStruct/</dt> 
     369      <dd>A sample to transmit complex structured object which has recursive 
     370        object reference. 
     371        <dl> 
     372          <dt>iSampleStruct.rb</dt> 
     373          <dd>It includes common definitions for client and server of 
     374            SampleStruct service.  Definition of SampleStruct class and 
     375            namespace URI of this service.</dd> 
     376          <dt>sampleStruct.rb</dt> 
     377          <dd>Definition of servant class SampleStructService. 
     378            An instance of this class is hosted by server.rb. 
     379            The instance responds to only 'hi' which receives a SampleStruct 
     380            and wraps it in the new instance of SampleStruct to return .</dd> 
     381          <dt>server.rb</dt> 
     382          <dd>It requires sampleStruct.rb and creates an instance of 
     383            SampleStructService that responds all SOAP requests. 
     384            To run this server; 
     385<pre class="path"> 
     386$ ./server.rb 
     387</pre> 
     388          </dd> 
     389          <dt>server.cgi</dt> 
     390          <dd>CGI version.  To run this server, copy server.cgi and 
     391            sampleStruct.rb to suitable directory of your WWW server.</dd> 
     392          <dt>client.rb</dt> 
     393          <dd>It connects to server.rb.  Turn logger and wireDumpDev in its 
     394            source on to see logs and wire dumps of SOAP transport. 
     395            To run the client; 
     396<pre class="path"> 
     397$ ./client.rb 
     398</pre> 
     399          </dd> 
     400        </dl> 
     401      </dd> 
     402 
     403      <dt class="path">wsdl_helloworld/</dt> 
     404      <dd>A sample 'Hello World' SOAP client and server which utilize WSDL. 
     405      See wsdl_helloworld/README for more detail</dd> 
     406    </dl> 
     407 
     408<h3><span class="content">payload/ ... various payload configuration</span></h3> 
     409 
     410    <dl> 
     411      <dt class="path">basicauth/</dt> 
     412      <dd>BasicAuth server and client sample.</dd> 
     413 
     414      <dt class="path">cookies/</dt> 
     415      <dd>HTTP-Cookies server and client sample.</dd> 
     416 
     417      <dt class="path">ssl/</dt> 
     418      <dd>SSL SOAP server and client samples. 
     419        <dl> 
     420          <dt class="path">sslserver.rb</dt> 
     421          <dd>SSL server sample which hosts "hello world" service. 
     422            This server uses SSL server certificate in files/ directory 
     423            (SSL client should check this certificate for SSL server 
     424            authentication).</dd> 
     425          <dt class="path">sslserver_noauth.rb</dt> 
     426          <dd>This server generates SSL server certificate 
     427            at runtime.  No security.</dd> 
     428          <dt class="path">sslserver_require_clientauth.rb</dt> 
     429          <dd>This server users SSL server certificate in files/ directory 
     430            and requires SSL client authentication (clients must 
     431            have SSL client certificate and send it to the server).</dd> 
     432          <dt class="path">sslclient.rb</dt> 
     433          <dd>SSL client sample which calls "hello world" service via HTTPS. 
     434            This client checks SSL server certificate sent from SSL server.</dd> 
     435          <dt class="path">sslclient_require_noserverauth.rb</dt> 
     436          <dd>This client does not check SSL server certificate. 
     437            No security.</dd> 
     438          <dt class="path">sslclient_with_clientauth.rb</dt> 
     439          <dd>This client sends SSL client certificate in files/ directory 
     440            and checks SSL server certificate.</dd> 
     441        </dl> 
     442      </dd> 
     443 
     444      <dt class="path">gzipped/</dt> 
     445      <dd>gzipped content negotiation server and client sample.</dd> 
     446    </dl> 
     447 
     448<h3><span class="content">soapheader/ ... SOAPHeader configuration</span></h3> 
     449 
     450    <dl> 
     451      <dt class="path">authheader/</dt> 
     452      <dd>It contains a sample to utilize SOAP Header handler.  Send 
     453        userid/passwd and receive sessionid via SOAP Header</dd> 
     454 
     455      <dt class="path">soapext_basicauth/</dt> 
     456      <dd>It contains a sample to do BasicAuth in SOAPHeader.  (http://soap-authentication.org/basic/2001/10/)</dd> 
     457    </dl> 
     458 
     459<h3><span class="content">attachment/ ... SOAP with Attachment (SwA)</span></h3> 
     460 
     461    <dl> 
     462      <dt class="path">swa/</dt> 
     463      <dd>SOAP server and client sample of SwA (SOAP with Attachments).</dd> 
     464 
     465      <dt class="path">complexmime/</dt> 
     466      <dd>SOAP server and client sample of Complex Type + SwA</dd> 
     467    </dl> 
     468 
     469<h3><span class="content">howto/ ... various other configuration</span></h3> 
     470 
     471    <dl> 
     472      <dt class="path">as_xml/</dt> 
     473      <dd>Sample client to send a request with XML, and receive a response as XML.</dd> 
     474 
     475      <dt class="path">base64/</dt> 
     476      <dd>Sample client to send/receive base64 data.</dd> 
     477 
     478      <dt class="path">documentliteral/</dt> 
     479      <dd>Sample client and server of document/literal service.  See README.txt in this directory to run this sample.</dd> 
     480 
     481      <dt class="path">filter/</dt> 
     482      <dd>Sample client and server of filtering request/response before sending/receiving.</dd> 
     483 
     484      <dt class="path">scopesample/</dt> 
     485      <dd>SOAP server sample which shows a different behavior of SOAP server scope settings; Request scope vs Application scope. 
     486        sample/soap/scopesample/servant.rb is a servant which holds push-ed 
     487        object that can be pop-ed afterward. 
     488        See sample/soap/scopesample/server.rb how to define a servant as 
     489        a Request scope servant or an Application scope servant. 
     490        Application scope servant works as we expected because the servant 
     491        object is living from beginning to the time server terminated. 
     492        In contrast, request scope servant(s) does not work because a servant 
     493        object is created for each request. 
     494      </dd> 
     495 
     496      <dt class="path">styleuse/</dt> 
     497      <dd>Sample client and server of SOAP style and use combination, especially rpc/literal and document/encoded.</dd> 
     498 
     499      <dt class="path">wsdl_fault/</dt> 
     500      <dd>Sample client and server of handling SOAP fault specified in a WSDL.  See wsdl_fault/README.txt for more detail.</dd> 
     501 
     502      <dt class="path">wsdl_hash/</dt> 
     503      <dd>Sample client and server of sending/receiving Hash struct defined in a WSDL.</dd> 
     504    </dl> 
     505 
     506<h3><span class="content">marshal/ ... object &lt;-&gt; XML marshalling</span></h3> 
     507 
     508    <dl> 
     509      <dt class="path">digraph.rb</dt> 
     510      <dd>A sample of SOAP marshalling/unmarshalling. 
     511        It creates a digraph that contains multi-ref-ed nodes at first 
     512        and marshals this object to get serialized XML instance. 
     513        Then reads and unmarshals this XML instance to recover a object 
     514        which has the same links among nodes in the digraph. 
     515      </dd> 
     516 
     517      <dt class="path">customfactory.rb</dt> 
     518      <dd>Sample program for customizing mapping registry.</dd> 
     519 
     520      <dt class="path">enum/</dt> 
     521      <dd>Sample program to demonstrate how xsd2ruby.rb works.</dd> 
     522    </dl> 
     523 
     524<h3><span class="content">showcase/ ... showcase sample to demonstrate</span></h3> 
     525 
     526    <dl> 
     527      <dt class="path">raa2.4/</dt> 
     528      <dd>sample/soap/raa2.4/sample.rb is a sample client to retrieve project 
     529        information on RAA.  It uses raaDriver.rb which is generated by 
     530        wsdl2ruby.rb from WSDL at 
     531        <a href="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/">http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/</a>. 
     532        You'll find wsdlDriver.rb in sample/wsdl/raa2.4/wsdlDriver.rb which 
     533        loads the WSDL at runtime to connect.</dd> 
     534 
     535      <dt class="path">icd/</dt> 
     536      <dd>A client for 
     537        <a href="http://www.iwebmethod.net/">Insider's Computer Dictionary Web Service</a>. 
     538        This service is implemented with ASP.NET so that it's also a sample of 
     539        a client which connects to ASP.NET. 
     540        CAUTION: this sample contains non-ascii chars in its source and dumped 
     541        results. 
     542        <dl> 
     543          <dt>IICD.rb</dt> 
     544          <dd>Class(type) definitions for this server.</dd> 
     545          <dt>icd.rb</dt> 
     546          <dd>Client implementation.  To run the client; 
     547<pre class="path"> 
     548$ ./icd.rb 
     549</pre> 
     550          </dd> 
     551        </dl> 
     552      </dd> 
     553 
     554      <dt class="path">googleSearch/</dt> 
     555      <dd>Sample client to search with <a href="http://www.google.com/apis/">Google Web API</a> using WSDL.  You need to get a developer's key to use it.  See wsdlDriver.rb.</dd> 
     556 
     557      <dt class="path">amazon/</dt> 
     558      <dd>Sample client to connect with <a href="http://associates.amazon.com/exec/panama/associates/ntg/browse/-/1067662/086-5207681-4585409">AmazonWebServices</a> using WSDL.  See wsdlDriver.rb.</dd> 
     559 
     560      <dt class="path">noaa/</dt> 
     561      <dd>Sample client of National Weather Service digital weather forecast data service at http://weather.gov/</dd> 
     562 
     563      <dt class="path">raa2.4/</dt> 
     564      <dd>sample/wsdl/raa2.4/wsdlDriver.rb is a sample client to retrieve 
     565        project information on RAA.  It loads WSDL file  
     566        <a href="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/">http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/</a> 
     567        at <strong>runtime</strong>. 
     568        You'll find a sample client at sample/soap/raa2.4/sample.rb 
     569        which connects RAA using pre-generated service definitions 
     570        (not loads WSDL at runtime).</dd> 
     571 
     572      <dt class="path">googleAdwords/</dt> 
     573      <dd>Sample client of Google AdWords service.   
     574        CAUTION: I don't have an account of AdWords so the sample code is NOT 
     575        tested.  Please tell me (nahi@ruby-lang.org) if you will get good/bad 
     576        result in communicating with AdWords Server.</dd> 
     577 
     578      <dt class="path">amazonEC/</dt> 
     579      <dd>Sample client of AWSECommerce service. 
     580        CAUTION: I don't have an account of AWSECommerce so the sample code is 
     581        NOT tested.  Please tell me (nahi@ruby-lang.org) if you will get 
     582        good/bad result in communicating with AWSECommerce Server.</dd> 
     583    </dl> 
     584 
     585<p> 
     586There are more samples in this directory. 
     587</p> 
     588 
     589<h2 id="resources" name="resources"><span class="content">7. Resources</span></h2> 
     590 
     591<dl> 
     592<dt class="path"><a href="http://dev.ctor.org/soap4r">soap4r project page</a></dt> 
     593<dd>You can get the latest information and the latest development version of soap4r here.</dd> 
     594 
     595<dt class="path"><a href="http://raa.ruby-lang.org/project/soap4r">[RAA:soap4r]</a></dt> 
     596<dd>RAA meta information</dd> 
     597 
     598<dt class="path"><a href="http://groups.google.com/group/soap4r">soap4r-ml on Google Groups</a></dt> 
     599<dd>Feel free to join the list to ask any question and comment about soap4r. 
     600  You can browse messages archive.  Bear in mind that Google Groups is still 
     601  in [beta] stage.</dd> 
     602 
     603<dt class="path">Subversion repository</dt> 
     604<dd>Soap4r's svn repository is here: http://dev.ctor.org/svn/soap4r/ . 
     605  To checkout the latest soap4r module, try 
     606<pre> 
     607svn checkout http://dev.ctor.org/svn/soap4r/trunk soap4r 
     608</pre> 
     609  CVS repository of soap4r which was located at cvs.ruby-lang.org is pending since 2004-05-27. </dd> 
     610</dl> 
     611 
     612<h2 id="history" name="history"><span class="content">8. History</span></h2> 
     613 
     614<dl> 
     615<dt>1.5.6 - Jun 14, 2007</dt> 
     616<dd>Here are changes in 1.5.6 from 1.5.5. 
    57617<ul><li>SOAP/Ruby mapping 
    58618<ul><li>specify sending XML document over SOAP by REXML::Element or to_xmlproc -able object. (<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/21" title="send XML Document over SOAP (closed)">#21</a>) 
     
    219779<a class="closed ticket" href="http://dev.ctor.org/soap4r/ticket/329" title="property file and non UTF-8 encoding chars (closed)">#329</a> 
    220780</li></ul></li></ul> 
    221  
    222 <p> 
    223 Thanks to all of soap4r-ml members and soap4r users for their support. 
    224 And special thanks to following contributors; 
    225 </p> 
    226 <pre> 
    227 'Aaron Pfeifer' for contributing a patch for safemethodname. 
    228 'Andi Wundsam' for contributing a patch for net/http + no_proxy. 
    229 'anonymous contributor from Wall St.' for contributing a MSSOAP + Excel sample. 
    230 'Emil Marceta' for contributing a patch for one-way service support. 
    231 'Ernie' for contributing a helloworld WSDL sample and WSDL service feature of HTTPServer. 
    232 'Felipe Contreras' for contributing an union + memberType sample and patches for missing 'require'. 
    233 'Greg Lappen' for contributing an eBaySvc sample. 
    234 'Ger Apeldoorn' for contributing a sample of complex type + MIME attachment. 
    235 'Jamie Herre' for contributing a SwA implementation. 
    236 'John Anderson' for contributing a patch for handling gzipped HTTP content. 
    237 'Junichi Uekawa' for contributing a HTTP redirection patch for net/http. 
    238 'Kent Sibilev' for contributing a patch for correct extraattr handling of SOAPHeaderItem. 
    239 'Leoš Bitto' for contributing a patch for XML pretty print. 
    240 'Michael Neumann' for contributing an original implementation of standaloneServer. 
    241 'Oliver M. Bolzer' for contributing a patch for net/http + SSL. 
    242 'Owen Fraser-Green' for contributing a patch for MIME CRLF handling. 
    243 'Patrick Chanezon' for contributing a patch for wsdl2ruby classdef name option. 
    244 'Peter Gardfjäll' for contributing a patch for wsdl:fault handling. 
    245 'Sandi Metz' for contributing a patch for SwA in document/literal service. 
    246 'SHINAGAWA, Norihide' for contributing a patch for emx platform. 
    247 'Tadayoshi Funaba' for contributing a patch for date/time XMLSchema datatypes. 
    248 'UENO Katsuhiro' for xmlscan implementation. 
    249 'Walter Korman' for contributing soap4r.gemspec and a workaround patch for gem's require problem. 
    250 'wrex' for contributing a patch for soap4r to work with SalesForce service. 
    251 </pre> 
    252  
    253 <h2 id="install" name="install"><span class="content">2. Install</span></h2> 
    254  
    255 <p> 
    256 At first, see <a href="#dependencies">Dependencies</a> section. 
    257 You may need to install some extra packages. 
    258 Next, get the archived file of SOAP4R and extract it, then simply try; 
    259 </p> 
    260 <pre class="path"> 
    261 $ ruby install.rb 
    262 </pre> 
    263  
    264 <p> 
    265 Necessary files will be installed to suitable directory. 
    266 </p> 
    267  
    268 <p> 
    269 Files and directories in lib directory are SOAP4R library program itself. 
    270 </p> 
    271  
    272 <dl> 
    273 <dt class="path">lib/</dt> 
    274 <dd>Libraries.</dd> 
    275  
    276 <dt class="path">sample/</dt> 
    277 <dd>SOAP4R samples. 
    278 See <a href="#samples">Samples</a> section.</dd> 
    279  
    280 <dt class="path">test/</dt> 
    281 <dd>Tests.  It also contains useful sample scripts for servers and clients. 
    282 <br/> 
    283 test/interopR2/ directory includes Clients/Server for 
    284 <a href="http://www.xmethods.net/ilab/">`SOAPBuilders Interoperability Lab.'</a> 
    285 Followings are advanced examples to use complex type transmit, 
    286 sending base64 encoded string, multi-dimensional array, and so on. 
    287 <ul> 
    288 <li>test/interopR2/server.rb is a RPC Server side implementation.</li> 
    289 <li>test/interopR2/client.rb is a RPC Client side implementation.</li> 
    290 <li>test/interopR2/base.rb includes common definitions for client/server.</li> 
    291 </ul> 
    292781</dd> 
    293 </dl> 
    294  
    295 <h2 id="uninstall" name="uninstall"><span class="content">3. Uninstall</span></h2> 
    296  
    297 <p> 
    298 Simply delete installed files. 
    299 </p> 
    300  
    301 <h2 id="whats" name="whats"><span class="content">4. What is SOAP4R?</span></h2> 
    302  
    303 <p> 
    304 'SOAP4R' is an implementation of 
    305 <a href="http://www.w3.org/TR/SOAP/">SOAP 1.1 (W3C Note)</a>. 
    306 </p> 
    307  
    308 <p> 
    309 Comments, information such as interoperability between SOAP4R and another implementation are welcomed. 
    310 Feel free sending mail to 
    311 <a href="mailto:nahi@ruby-lang.org" class="path">nahi@ruby-lang.org</a>. 
    312 </p> 
    313  
    314 <h2 id="dependencies" name="dependencies"><span class="content">5. Dependencies</span></h2> 
    315  
    316 <p> 
    317 SOAP4R is written in <a href="http://www.ruby-lang.org">Ruby</a> and 
    318 aims to use with Ruby application. 
    319 You have to install Ruby itself. 
    320 Ruby/1.6 series or later is required. 
    321 </p> 
    322 <ul> 
    323   <li>ruby-1.8.6</li> 
    324   <li>ruby-1.6.8</li> 
    325 </ul> 
    326  
    327 <p> 
    328 SOAP4R depends on following Ruby modules in 
    329 <a href="http://raa.ruby-lang.org">RAA</a>. 
    330 You also have to install these modules to use SOAP4R. 
    331 </p> 
    332  
    333 <h3><span class="content">for ruby-1.8.6</span></h3> 
    334  
    335 <dl> 
    336 <dt class="path"><a href="http://raa.ruby-lang.org/project/http-access2/">[RAA:http-access2]</a> (2.0.5) (required for SSL)</dt> 
    337 <dd>Yet another HTTP client implementation by NaHi. 
    338 It's not required when you don't use SSL, but it's recommended to use. 
    339 The author always runs and checks soap4r with http-access2.</dd> 
    340  
    341 <dt class="path"><a href="http://raa.ruby-lang.org/project/uconv/">[RAA:uconv]</a> (0.4.10) (not required but needed if your Ruby doesn't have iconv module and you need UTF-8 encoded Japanese chars)</dt> 
    342 <dd>by Yoshida Masato. 
    343 It is requred when you want automatic CES conversion between 
    344 SJIS &lt;-&gt; UTF8 and EUC &lt;-&gt; UTF8. 
    345 Note: SJIS &lt;-&gt; EUC uses NKF module which is in standard distribution. 
    346 </dd> 
    347  
    348 </dl> 
    349  
    350 <h3><span class="content">for ruby-1.6.8</span></h3> 
    351  
    352 <dl> 
    353 <dt class="path"><a href="http://raa.ruby-lang.org/project/webrick/">[RAA:webrick]</a> (1.3.1)</dt> 
    354 <dd>TCP server toolkit by Gotoyuzo.</dd> 
    355  
    356 <dt class="path"><a href="http://raa.ruby-lang.org/project/http-access2/">[RAA:http-access2]</a> (2.0.5)</dt> 
    357 <dd>Yet another HTTP client implementation by NaHi.</dd> 
    358  
    359 <dt class="path"><a href="http://raa.ruby-lang.org/project/devel-logger/">[RAA:devel-logger]</a> (1.1.0)</dt> 
    360 <dd>Logging utility by NaHi.</dd> 
    361  
    362 <dt class="path"><a href="http://raa.ruby-lang.org/project/date2/">[RAA:date2]</a> (3.2)</dt> 
    363 <dd>Date and DateTime implementation by Todayoshi Funaba.</dd> 
    364  
    365 <dt class="path"><a href="http://raa.ruby-lang.org/project/uconv/">[RAA:uconv]</a> (0.4.10) (required for UTF-8 handling)</dt> 
    366 <dd>by Yoshida Masato. 
    367 It is requred when you want automatic CES conversion between 
    368 SJIS &lt;-&gt; UTF8 and EUC &lt;-&gt; UTF8. 
    369 Note: SJIS &lt;-&gt; EUC uses NKF module which is in standard distribution. 
    370 </dd> 
    371  
    372 </dl> 
    373  
    374 <h2 id="samples" name="samples"><span class="content">6. Samples</span></h2> 
    375  
    376 <p> 
    377 Samples are in sample/ directory of distribution. 
    378 Some samples try to connect to public servers. 
    379 Set environment variable SOAP_USE_PROXY and HTTP_PROXY if you are in a firewall and you have 
    380 http proxy to the internet like; 
    381 </p> 
    382 <pre class="path"> 
    383 $ export SOAP_USE_PROXY=on 
    384 $ export HTTP_PROXY=http://myproxyserver:8080 
    385   or 
    386 $ setenv SOAP_USE_PROXY on 
    387 $ setenv HTTP_PROXY http://myproxyserver:8080 
    388 </pre> 
    389  
    390 <h3><span class="content">basic/ ... basic samples</span></h3> 
    391  
    392     <dl> 
    393       <dt class="path">babelfish.rb</dt> 
    394       <dd>a SOAP client sample to connect to a babelfish server.</dd> 
    395       <dt class="path">whois.rb</dt> 
    396       <dd>a SOAP client sample to connect to a whois server.</dd> 
    397       <dt class="path">flickr.rb</dt> 
    398       <dd>a SOAP client sample to connect to the flickr SOAP server and extract data from XML response.</dd> 
    399       <dt class="path">yahooNewsSearch.rb</dt> 
    400       <dd>a HTTP client sample to connect to the Yahoo news search REST service and extract data from XML response.</dd> 
    401  
    402       <dt class="path">helloworld/</dt> 
    403       <dd>a SOAP server and client sample of 'Hello World'. 
    404           To run the server; 
    405 <pre class="path"> 
    406 $ ./server.rb 
    407 </pre> 
    408           And to connect to the server, run the client; 
    409 <pre class="path"> 
    410 $ ./client.rb 
    411 </pre> 
    412       </dd> 
    413  
    414       <dt class="path">calc/</dt> 
    415       <dd>Calc service contains 2 servers and 2 clients. 
    416         calc.rb is hosted by server.rb, calc2.rb is hosted by server2.rb. 
    417         client.rb is for server.rb, client2.rb is for server2.rb. 
    418         <dl> 
    419           <dt>calc.rb</dt> 
    420           <dd>Calc server definition using module and module methods. 
    421             This module responds 'add', 'sub', 'multi' and 'div'. 
    422           </dd> 
    423           <dt>server.rb</dt> 
    424           <dd>Standalone server. 
    425             It requires calc.rb and serve module methods of this module. 
    426             To run this server; 
    427 <pre class="path"> 
    428 $ ./server.rb 
    429 </pre> 
    430           </dd> 
    431           <dt>server.cgi</dt> 
    432           <dd>CGI version. 
    433             To run this server, copy server.cgi and calc.rb to suitable 
    434             directory of your WWW server. 
    435           </dd> 
    436           <dt>client.rb</dt> 
    437           <dd>It connects to server.rb or server.cgi, 
    438             and hit methods served by calc.rb. 
    439             To run the client; 
    440 <pre class="path"> 
    441 $ ./client.rb 
    442 </pre> 
    443             Is it stacked?  Did you run the server.rb?<br/> 
    444             Turn logger and wireDumpDev in its source on to see logs and wire 
    445             dumps of SOAP transport. 
    446           </dd> 
    447           <dt>calc2.rb</dt> 
    448           <dd>Calc server definition using class and instance methods. 
    449             An instance of this class holds its value.  Methods 'set' and 'get' 
    450             is to set/get the value. 
    451             It also responds to '+', '-', '*', and '/'. 
    452           </dd> 
    453           <dt>server2.rb</dt> 
    454           <dd>It requires calc2.rb and creates an instance of CalcService2 
    455             that responds all SOAP requests. 
    456             Since '+', '-' and so on of calc2.rb are not valid name as an 
    457             element in XML instance, this sample register the method '+' as 
    458             'add', '-' as 'sub', and so on. 
    459           </dd> 
    460           <dt>server2.cgi</dt> 
    461           <dd>CGI version. 
    462             To run this server, copy server2.cgi and calc2.rb to suitable 
    463             directory of your WWW server. 
    464           </dd> 
    465           <dt>client2.rb</dt> 
    466           <dd>It connects to server2.rb or server2.cgi. 
    467             Set a value at first and call methods like 'puts objAtServer + 2'. 
    468           </dd> 
    469         </dl> 
    470       </dd> 
    471  
    472       <dt class="path">exchange/</dt> 
    473       <dd>A sample to retrieve the currency rate from public SOAP service. 
    474         <dl> 
    475           <dt>iExchange.rb</dt> 
    476           <dd>It includes common definitions for client and server of 
    477             Exchange service.  Including only a definition of namespace URI of 
    478             this service.</dd> 
    479           <dt>exchange.rb</dt> 
    480           <dd>Definition of servant class ExchangeService which returns the 
    481             currency rate after connecting to another site by SOAP to get the 
    482             real rate. 
    483             So that this class is the SOAP server for local client and  
    484             is also a SOAP client for public server. 
    485             An instance of this class is hosted by server.rb. 
    486             The instance responds to only 'getRate' which receives two country 
    487             code such as 'USA' and 'Japan'.</dd> 
    488           <dt>server.rb</dt> 
    489           <dd>It requires exchange.rb and creates an instance of 
    490             ExchangeService that responds all SOAP requests. 
    491             To run this server; 
    492 <pre class="path"> 
    493 $ ./server.rb 
    494 </pre> 
    495           </dd> 
    496           <dt>server.cgi</dt> 
    497           <dd>CGI version.  To run this server, copy server.cgi and exchange.rb 
    498             to suitable directory of your WWW server.</dd> 
    499           <dt>client.rb</dt> 
    500           <dd>It connects to server.rb.  Turn logger and wireDumpDev in its 
    501             source on to see logs and wire dumps of SOAP transport. 
    502             To run the client; 
    503 <pre class="path"> 
    504 $ ./client.rb 
    505 </pre> 
    506           </dd> 
    507         </dl> 
    508       </dd> 
    509  
    510       <dt class="path">sampleStruct/</dt> 
    511       <dd>A sample to transmit complex structured object which has recursive 
    512         object reference. 
    513         <dl> 
    514           <dt>iSampleStruct.rb</dt> 
    515           <dd>It includes common definitions for client and server of 
    516             SampleStruct service.  Definition of SampleStruct class and 
    517             namespace URI of this service.</dd> 
    518           <dt>sampleStruct.rb</dt> 
    519           <dd>Definition of servant class SampleStructService. 
    520             An instance of this class is hosted by server.rb. 
    521             The instance responds to only 'hi' which receives a SampleStruct 
    522             and wraps it in the new instance of SampleStruct to return .</dd> 
    523           <dt>server.rb</dt> 
    524           <dd>It requires sampleStruct.rb and creates an instance of 
    525             SampleStructService that responds all SOAP requests. 
    526             To run this server; 
    527 <pre class="path"> 
    528 $ ./server.rb 
    529 </pre> 
    530           </dd> 
    531           <dt>server.cgi</dt> 
    532           <dd>CGI version.  To run this server, copy server.cgi and 
    533             sampleStruct.rb to suitable directory of your WWW server.</dd> 
    534           <dt>client.rb</dt> 
    535           <dd>It connects to server.rb.  Turn logger and wireDumpDev in its 
    536             source on to see logs and wire dumps of SOAP transport. 
    537             To run the client; 
    538 <pre class="path"> 
    539 $ ./client.rb 
    540 </pre> 
    541           </dd> 
    542         </dl> 
    543       </dd> 
    544  
    545       <dt class="path">wsdl_helloworld/</dt> 
    546       <dd>A sample 'Hello World' SOAP client and server which utilize WSDL. 
    547       See wsdl_helloworld/README for more detail</dd> 
    548     </dl> 
    549  
    550 <h3><span class="content">payload/ ... various payload configuration</span></h3> 
    551  
    552     <dl> 
    553       <dt class="path">basicauth/</dt> 
    554       <dd>BasicAuth server and client sample.</dd> 
    555  
    556       <dt class="path">cookies/</dt> 
    557       <dd>HTTP-Cookies server and client sample.</dd> 
    558  
    559       <dt class="path">ssl/</dt> 
    560       <dd>SSL SOAP server and client samples. 
    561         <dl> 
    562           <dt class="path">sslserver.rb</dt> 
    563           <dd>SSL server sample which hosts "hello world" service. 
    564             This server uses SSL server certificate in files/ directory 
    565             (SSL client should check this certificate for SSL server 
    566             authentication).</dd> 
    567           <dt class="path">sslserver_noauth.rb</dt> 
    568           <dd>This server generates SSL server certificate 
    569             at runtime.  No security.</dd> 
    570           <dt class="path">sslserver_require_clientauth.rb</dt> 
    571           <dd>This server users SSL server certificate in files/ directory 
    572             and requires SSL client authentication (clients must 
    573             have SSL client certificate and send it to the server).</dd> 
    574           <dt class="path">sslclient.rb</dt> 
    575           <dd>SSL client sample which calls "hello world" service via HTTPS. 
    576             This client checks SSL server certificate sent from SSL server.</dd> 
    577           <dt class="path">sslclient_require_noserverauth.rb</dt> 
    578           <dd>This client does not check SSL server certificate. 
    579             No security.</dd> 
    580           <dt class="path">sslclient_with_clientauth.rb</dt> 
    581           <dd>This client sends SSL client certificate in files/ directory 
    582             and checks SSL server certificate.</dd> 
    583         </dl> 
    584       </dd> 
    585  
    586       <dt class="path">gzipped/</dt> 
    587       <dd>gzipped content negotiation server and client sample.</dd> 
    588     </dl> 
    589  
    590 <h3><span class="content">soapheader/ ... SOAPHeader configuration</span></h3> 
    591  
    592     <dl> 
    593       <dt class="path">authheader/</dt> 
    594       <dd>It contains a sample to utilize SOAP Header handler.  Send 
    595         userid/passwd and receive sessionid via SOAP Header</dd> 
    596  
    597       <dt class="path">soapext_basicauth/</dt> 
    598&nbs