| 1 |
<?xml version="1.0"?> |
|---|
| 2 |
<!DOCTYPE html |
|---|
| 3 |
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
|---|
| 4 |
"DTD/xhtml1-strict.dtd"> |
|---|
| 5 |
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> |
|---|
| 6 |
<head> |
|---|
| 7 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> |
|---|
| 8 |
<meta http-equiv="Content-Style-Type" content="text/css" /> |
|---|
| 9 |
<link rev="MADE" href="mailto:nakahiro@sarion.co.jp" /> |
|---|
| 10 |
<link rel="StyleSheet" href="rubyStyle.css" type="text/css" media="screen" /> |
|---|
| 11 |
<title>Release Notes - SOAP4R</title> |
|---|
| 12 |
</head> |
|---|
| 13 |
<body> |
|---|
| 14 |
|
|---|
| 15 |
<div class="header"> |
|---|
| 16 |
<h1> |
|---|
| 17 |
Release Notes - SOAP4R |
|---|
| 18 |
</h1> |
|---|
| 19 |
|
|---|
| 20 |
<p class="status"> |
|---|
| 21 |
Last modified: May 20, 2001<br /> |
|---|
| 22 |
Created: July 17, 2000 |
|---|
| 23 |
</p> |
|---|
| 24 |
</div> |
|---|
| 25 |
|
|---|
| 26 |
<hr /> |
|---|
| 27 |
|
|---|
| 28 |
<div class="main"> |
|---|
| 29 |
<h2>0. In this document...</h2> |
|---|
| 30 |
|
|---|
| 31 |
<p> |
|---|
| 32 |
This is Release Notes of SOAP4R. |
|---|
| 33 |
</p> |
|---|
| 34 |
|
|---|
| 35 |
<p> |
|---|
| 36 |
Target SOAP4R version: SOAP4R/1.3.0 |
|---|
| 37 |
</p> |
|---|
| 38 |
|
|---|
| 39 |
<ol> |
|---|
| 40 |
<li><a href="#changes">Changes</a></li> |
|---|
| 41 |
<li><a href="#install">Install</a></li> |
|---|
| 42 |
<li><a href="#uninstall">Uninstall</a></li> |
|---|
| 43 |
<li><a href="#whats">What is SOAP4R?</a></li> |
|---|
| 44 |
<li><a href="#dependencies">Dependencies</a></li> |
|---|
| 45 |
<li><a href="#restrictions">Restrictions</a></li> |
|---|
| 46 |
<li><a href="#history">History</a></li> |
|---|
| 47 |
<li><a href="#author">Author</a></li> |
|---|
| 48 |
<li><a href="#copyright">Copyright</a></li> |
|---|
| 49 |
</ol> |
|---|
| 50 |
|
|---|
| 51 |
<h2 id="changes" name="changes">1. Changes</h2> |
|---|
| 52 |
|
|---|
| 53 |
<ul> |
|---|
| 54 |
<li>Adopted |
|---|
| 55 |
<a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=NQXML">NQXML module</a> |
|---|
| 56 |
instead of XMLParser module extensively. |
|---|
| 57 |
(You can implement your SOAP parser with XMLParser module. |
|---|
| 58 |
See the last part of lib/soap/parser.rb) |
|---|
| 59 |
<ul> |
|---|
| 60 |
<li>Use NQXML's streamingParser or tokenizer instead of XMLParser's DOMParser for unmarshalling.</li> |
|---|
| 61 |
<li>Use NQXML's document instead of XMLParser's DOM for marshalling.</li> |
|---|
| 62 |
</ul></li> |
|---|
| 63 |
<li>Passed almost inteoperability test in |
|---|
| 64 |
<a href="http://www.xmethods.net/ilab/">`SOAPBuilders Interoperability Lab.'</a> |
|---|
| 65 |
See test/interop/README.txt.</li> |
|---|
| 66 |
<li>Changed module namespace. SOAPFoo -> SOAP::Foo.</li> |
|---|
| 67 |
<li>Added float datatype support.</li> |
|---|
| 68 |
<li>Changed dateTime marshalling format. No timezone was added to marshalled string because SOAP4R does not support timezone now.</li> |
|---|
| 69 |
</ul> |
|---|
| 70 |
|
|---|
| 71 |
<h2 id="install" name="install">2. Install</h2> |
|---|
| 72 |
|
|---|
| 73 |
<p> |
|---|
| 74 |
Simply, get the archived file and extract it. |
|---|
| 75 |
Files in lib/soap are SOAP4R library program itself. |
|---|
| 76 |
To use this library, copy the directory lib/soap as 'soap' to suitable directory and require it like 'require "soap/..."' since there is no installer yet. |
|---|
| 77 |
</p> |
|---|
| 78 |
|
|---|
| 79 |
<p> |
|---|
| 80 |
To play with SOAP4R, you also have copy redistributed files below in redist/ to suitable directory. |
|---|
| 81 |
</p> |
|---|
| 82 |
|
|---|
| 83 |
<dl> |
|---|
| 84 |
<dt class="path">date3.rb</dt> |
|---|
| 85 |
<dd>by Funaba-san (<a href="http://www.kt.rim.or.jp/~tadf/ruby-en.html">http://www.kt.rim.or.jp/~tadf/ruby-en.html</a>)</dd> |
|---|
| 86 |
|
|---|
| 87 |
<dt class="path">parsedate3.rb</dt> |
|---|
| 88 |
<dd>by Funaba-san (<a href="http://www.kt.rim.or.jp/~tadf/ruby-en.html">http://www.kt.rim.or.jp/~tadf/ruby-en.html</a>)</dd> |
|---|
| 89 |
|
|---|
| 90 |
<dt class="path">uri.rb</dt> |
|---|
| 91 |
<dd>by Koshimizu-san (<a href="http://www02.so-net.ne.jp/~greentea/ruby/uri/">http://www02.so-net.ne.jp/~greentea/ruby/uri/</a>)</dd> |
|---|
| 92 |
</dl> |
|---|
| 93 |
|
|---|
| 94 |
<p> |
|---|
| 95 |
Files in archive: |
|---|
| 96 |
</p> |
|---|
| 97 |
|
|---|
| 98 |
<dl> |
|---|
| 99 |
<dt class="path">lib/soap/</dt> |
|---|
| 100 |
<dd>SOAP4R library program.</dd> |
|---|
| 101 |
|
|---|
| 102 |
<dt class="path">sample/</dt> |
|---|
| 103 |
<dd>Sample program using SOAP4R.</dd> |
|---|
| 104 |
|
|---|
| 105 |
<dt class="path">sample/apacheClient.rb</dt> |
|---|
| 106 |
<dd>SOAP-RPC client sample. |
|---|
| 107 |
It connects with demonstration server programs stockquote and addressbook in Apache-SOAP. |
|---|
| 108 |
You have to install Apache-SOAP and deploy demostration programs.<br /> |
|---|
| 109 |
To execute; |
|---|
| 110 |
<pre class="path"> |
|---|
| 111 |
./apacheClient.rb http://localhsot:2020/xml-soap/rpcrouter/rpcrouter.jsp |
|---|
| 112 |
</pre> |
|---|
| 113 |
</dd> |
|---|
| 114 |
|
|---|
| 115 |
<dt class="path">sample/apacheServer.rb</dt> |
|---|
| 116 |
<dd>SOAP-RPC CGI server sample emulates Apache-SOAP sample such as AddressBook. |
|---|
| 117 |
Interfaces such as getQuote and getAddressFromName are defined. |
|---|
| 118 |
Only interfaces, no implementation.</dd> |
|---|
| 119 |
|
|---|
| 120 |
<dt class="path">sample/RAA/*</dt> |
|---|
| 121 |
<dd>SOAP-RPC client samples. |
|---|
| 122 |
<ul> |
|---|
| 123 |
<li>soap4r.rb, soap4rApp.rb: Ruby program using SOAP4R</li> |
|---|
| 124 |
<li>xmlrpc4r.rb: Ruby program using xmlrpc4r</li> |
|---|
| 125 |
<li>pocketSOAP.js: JScript program using pocketSOAP</li> |
|---|
| 126 |
<li>SOAP::Lite.pl: Perl program using SOAP::Lite for Perl</li> |
|---|
| 127 |
</ul> |
|---|
| 128 |
There programs connect with testing RAA server on www.ruby-lang.org. |
|---|
| 129 |
Since the server is under testing phase so stable operation is not expected.</dd> |
|---|
| 130 |
|
|---|
| 131 |
<dt class="path">test/</dt> |
|---|
| 132 |
<dd>Clients/Server for |
|---|
| 133 |
<a href="http://www.xmethods.net/ilab/">`SOAPBuilders Interoperability Lab.'</a></dd> |
|---|
| 134 |
|
|---|
| 135 |
<dt class="path">redist/</dt> |
|---|
| 136 |
<dd>Redistributed programs which SOAP4R is using. |
|---|
| 137 |
I would appriciate to authors of these programs. |
|---|
| 138 |
</dd> |
|---|
| 139 |
|
|---|
| 140 |
<dt class="path">redist/archive/</dt> |
|---|
| 141 |
<dd>Archives. |
|---|
| 142 |
Follow the term of each archive to use these programs. |
|---|
| 143 |
</dd> |
|---|
| 144 |
</dl> |
|---|
| 145 |
|
|---|
| 146 |
<h2 id="uninstall" name="uninstall">3. Uninstall</h2> |
|---|
| 147 |
|
|---|
| 148 |
<p> |
|---|
| 149 |
Delete created files at installation. |
|---|
| 150 |
</p> |
|---|
| 151 |
|
|---|
| 152 |
<h2 id="whats" name="whats">4. What is SOAP4R?</h2> |
|---|
| 153 |
|
|---|
| 154 |
<p> |
|---|
| 155 |
'SOAP4R' is a Ruby library program to handle |
|---|
| 156 |
<a href="http://www.w3.org/TR/SOAP/">Simple Object Access Protocol (SOAP) 1.1 (W3C Note)</a>. |
|---|
| 157 |
</p> |
|---|
| 158 |
|
|---|
| 159 |
<p> |
|---|
| 160 |
Comments, information such as interoperability between SOAP4R and another implementation are welcomed. |
|---|
| 161 |
Feel free sending mail to |
|---|
| 162 |
<a href="mailto:nakahiro@sarion.co.jp" class="path">nakahiro@sarion.co.jp</a>. |
|---|
| 163 |
</p> |
|---|
| 164 |
|
|---|
| 165 |
<h2 id="dependencies" name="dependencies">5. Dependencies</h2> |
|---|
| 166 |
|
|---|
| 167 |
<p> |
|---|
| 168 |
SOAP4R depends on below programs: |
|---|
| 169 |
</p> |
|---|
| 170 |
|
|---|
| 171 |
<ul> |
|---|
| 172 |
<li>SOAP4R is a |
|---|
| 173 |
<a href="http://www.ruby-lang.org">Ruby</a> |
|---|
| 174 |
library program. |
|---|
| 175 |
You have to install Ruby itself. |
|---|
| 176 |
Ruby/1.6 series are required. |
|---|
| 177 |
It does not works on 1.4 series because of class variable.</li> |
|---|
| 178 |
|
|---|
| 179 |
<li>SOAP4R delegates XML related processing to |
|---|
| 180 |
<a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=NQXML">NQXML module</a>. |
|---|
| 181 |
You have to install NQXML module.</li> |
|---|
| 182 |
|
|---|
| 183 |
<li>To play with SOAP-RPC client sample, you have to install |
|---|
| 184 |
<a href="http://xml.apache.org/soap/">Apache SOAP</a>. |
|---|
| 185 |
</li> |
|---|
| 186 |
</ul> |
|---|
| 187 |
|
|---|
| 188 |
<h2 id="restrictions" name="restrictions">6. Restrictions</h2> |
|---|
| 189 |
|
|---|
| 190 |
<p> |
|---|
| 191 |
The following features of the |
|---|
| 192 |
<a href="http://www.w3.org/TR/SOAP/">SOAP 1.1 (W3C Note)</a> |
|---|
| 193 |
spec are <strong>NOT</strong> currently supported: |
|---|
| 194 |
</p> |
|---|
| 195 |
|
|---|
| 196 |
<ul> |
|---|
| 197 |
<li style="margin-top: 2ex;">SOAP Envelope |
|---|
| 198 |
<ul> |
|---|
| 199 |
<li>SOAP actor attribute</li> |
|---|
| 200 |
<li>SOAP Fault Codes</li> |
|---|
| 201 |
<li>encodingStyle in SOAP Envelope must be SOAP Encoding; |
|---|
| 202 |
Does not support literal XML encoding such as in SOAP for Java</li> |
|---|
| 203 |
</ul></li> |
|---|
| 204 |
<li style="margin-top: 2ex;">SOAP Encoding |
|---|
| 205 |
<ul> |
|---|
| 206 |
<li>encoding/decoding using XML Schema; |
|---|
| 207 |
Only xsi:type in SOAP Encoding is checked</li> |
|---|
| 208 |
<li>Arrays which has two or more dimensions (rank), Partially Transmitted Arrays, and Sparse Arrays</li> |
|---|
| 209 |
<li>SOAP root attribute</li> |
|---|
| 210 |
<li>Marshalling references to href/id (Unmarshalling is OK)</li> |
|---|
| 211 |
</ul></li> |
|---|
| 212 |
<li style="margin-top: 2ex;">Othres |
|---|
| 213 |
<ul> |
|---|
| 214 |
<li>Transport binding except HTTP server(CGI) and client</li> |
|---|
| 215 |
<li>HTTP Extension Framework (M-POST)</li> |
|---|
| 216 |
<li>Content-Type is 'text/xml'; |
|---|
| 217 |
Does not support 'charset='. |
|---|
| 218 |
</li> |
|---|
| 219 |
</ul></li> |
|---|
| 220 |
</ul> |
|---|
| 221 |
|
|---|
| 222 |
<h2 id="history" name="history">7. History</h2> |
|---|
| 223 |
|
|---|
| 224 |
<dl> |
|---|
| 225 |
<dt>1.3.0 - May 20, 2001</dt> |
|---|
| 226 |
<dd><ul> |
|---|
| 227 |
<li>Adopted |
|---|
| 228 |
<a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=NQXML">NQXML module</a> |
|---|
| 229 |
instead of XMLParser module extensively. |
|---|
| 230 |
(You can implement your SOAP parser with XMLParser module. |
|---|
| 231 |
See the last part of lib/soap/parser.rb) |
|---|
| 232 |
<ul> |
|---|
| 233 |
<li>Use NQXML's streamingParser or tokenizer instead of XMLParser's DOMParser for unmarshalling.</li> |
|---|
| 234 |
<li>Use NQXML's document instead of XMLParser's DOM for marshalling.</li> |
|---|
| 235 |
</ul></li> |
|---|
| 236 |
<li>Passed major(?) part of inteoperability test in |
|---|
| 237 |
<a href="http://www.xmethods.net/ilab/">`SOAPBuilders Interoperability Lab.'</a> |
|---|
| 238 |
See test/interop/README.txt.</li> |
|---|
| 239 |
<li>Changed module namespace. SOAPFoo -> SOAP::Foo.</li> |
|---|
| 240 |
<li>Added float datatype support.</li> |
|---|
| 241 |
<li>Changed dateTime marshalling format. No timezone was added to marshalled string because SOAP4R does not support timezone now.</li> |
|---|
| 242 |
</ul></dd> |
|---|
| 243 |
|
|---|
| 244 |
<dt>1.2.0 - March 30, 2001</dt> |
|---|
| 245 |
<dd>Checked interoperability with |
|---|
| 246 |
<a href="http://xml.apache.org/soap/">Apache-SOAP</a>, |
|---|
| 247 |
<a href="http://www.pocketsoap.com">pocketSOAP/0.91</a>, |
|---|
| 248 |
<a href="http://www.geocities.com/paulclinger/soap.html">SOAP::Lite for Perl</a>, |
|---|
| 249 |
and <a href="http://www.develop.com/soap/">SOAP/Perl/0.28</a>. |
|---|
| 250 |
It seems to work good except SOAP/Perl/0.28. |
|---|
| 251 |
|
|---|
| 252 |
<ul> |
|---|
| 253 |
<li>Added href/id unmarshalling support. |
|---|
| 254 |
(href/id marshalling has not been supported yet)</li> |
|---|
| 255 |
<li>Added SOAP's base64 type support.</li> |
|---|
| 256 |
<li>SOAPTimeInstant -> SOAPDateTime. Following XML Schema PR.</li> |
|---|
| 257 |
<li>SOAPStruct can have multiple accessor which have same name. |
|---|
| 258 |
Should I separate it from original SOAPStruct?</li> |
|---|
| 259 |
<li>Unknown attribute in Header Item raised an exception. Omitted.</li> |
|---|
| 260 |
<li>Router can handle methods which belong to different namespace.</li> |
|---|
| 261 |
<li>Added an option to allow unqualified SOAP element.</li> |
|---|
| 262 |
<li>Added Apache's Map type support. Ruby's Hash are mapped to it now. |
|---|
| 263 |
(Ruby's Hash marshalled by 1.1 processor in the old way can be unmarshalled, |
|---|
| 264 |
but 1.2 processor marshals it in the new way and 1.1 processor does not |
|---|
| 265 |
unmarshals it into Hash. Incompatibility between SOAP4R/1.2 and 1.1)</li> |
|---|
| 266 |
<li>Unknown type 'unknown:SOAPStruct' was incorrectly unmarshalled into SOAPStruct. Fixed.</li> |
|---|
| 267 |
<li>Added utility methods map! and members to SOAPArray and SOAPStruct.</li> |
|---|
| 268 |
<li>Added methods request, response, and fault to SOAPBody.</li> |
|---|
| 269 |
</ul></dd> |
|---|
| 270 |
|
|---|
| 271 |
<dt>1.1.0 - March 23, 2001</dt> |
|---|
| 272 |
<dd>Made many changes. |
|---|
| 273 |
Since it is tested only for my limited use, please be careful to use. |
|---|
| 274 |
Any comments especially "cannot connect to XXX implementation" are welcomed. |
|---|
| 275 |
Feel free sending mail to |
|---|
| 276 |
<a href="mailto:nakahiro@sarion.co.jp" class="path">nakahiro@sarion.co.jp</a>. |
|---|
| 277 |
|
|---|
| 278 |
<ul> |
|---|
| 279 |
<li>Added RPC server support.</li> |
|---|
| 280 |
<li>Divided RPC client/server implementation from core.</li> |
|---|
| 281 |
<li>Added Date, Hash type support. (Unknown type is converted to Struct as usual)</li> |
|---|
| 282 |
<li>Adopted Date in date3.rb by Funaba-san instead of Time as TimeInstant.</li> |
|---|
| 283 |
<li>Many encoding/decoding bugs around SOAPArray and SOAPStruct were fixed.</li> |
|---|
| 284 |
</ul></dd> |
|---|
| 285 |
|
|---|
| 286 |
<dt>1.0.2 - November 11, 2000</dt> |
|---|
| 287 |
<dd>Since the previous package dated, refreshes some points. |
|---|
| 288 |
<ul> |
|---|
| 289 |
<li>Ruby: ruby 1.6.x</li> |
|---|
| 290 |
<li>uri.rb: 4.22</li> |
|---|
| 291 |
<li>sample: xml-soap/2.0</li> |
|---|
| 292 |
</ul></dd> |
|---|
| 293 |
|
|---|
| 294 |
<dt>1.0.1 - July 27, 2000</dt> |
|---|
| 295 |
<dd>Handles SOAP/1.1 arrays. |
|---|
| 296 |
1.0.0 cannot handles SOAP/1.1 arrays... |
|---|
| 297 |
Bare in mind there still be many |
|---|
| 298 |
<a href="#restrictions">restrictions</a> |
|---|
| 299 |
around SOAP arrays.</dd> |
|---|
| 300 |
|
|---|
| 301 |
<dt>1.0.0 - July 17, 2000</dt> |
|---|
| 302 |
<dd>It is the initial released version of SOAP4R. :-)</dd> |
|---|
| 303 |
</dl> |
|---|
| 304 |
|
|---|
| 305 |
<h2 id="author" name="author">8. Author</h2> |
|---|
| 306 |
|
|---|
| 307 |
<dl> |
|---|
| 308 |
<dt>Name</dt> |
|---|
| 309 |
<dd>NAKAMURA, Hiroshi (aka NaHi or nakahiro)</dd> |
|---|
| 310 |
|
|---|
| 311 |
<dt>E-mail</dt> |
|---|
| 312 |
<dd><a href="mailto:nakahiro@sarion.co.jp" class="path">nakahiro@sarion.co.jp</a></dd> |
|---|
| 313 |
|
|---|
| 314 |
<dt>URL</dt> |
|---|
| 315 |
<dd><a href="http://www.jin.gr.jp/~nahi/" class="path">http://www.jin.gr.jp/~nahi/</a> (Japanese)</dd> |
|---|
| 316 |
</dl> |
|---|
| 317 |
|
|---|
| 318 |
<h2 id="copyright" name="copyright">9. Copyright</h2> |
|---|
| 319 |
|
|---|
| 320 |
<p style="text-align: center;"> |
|---|
| 321 |
SOAP4R<br /> |
|---|
| 322 |
Copyright © 2000, 2001 NAKAMURA, Hiroshi. |
|---|
| 323 |
</p> |
|---|
| 324 |
|
|---|
| 325 |
<p> |
|---|
| 326 |
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. |
|---|
| 327 |
</p> |
|---|
| 328 |
|
|---|
| 329 |
<p> |
|---|
| 330 |
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|---|
| 331 |
See the GNU General Public License(the file named `COPYING') for more details. |
|---|
| 332 |
</p> |
|---|
| 333 |
|
|---|
| 334 |
<p> |
|---|
| 335 |
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|---|
| 336 |
</p> |
|---|
| 337 |
|
|---|
| 338 |
</div> |
|---|
| 339 |
|
|---|
| 340 |
<hr /> |
|---|
| 341 |
|
|---|
| 342 |
<div class="footer"> |
|---|
| 343 |
<address> |
|---|
| 344 |
<a href="http://www.jin.gr.jp/~nahi/Ruby/SOAP4R/">SOAP4R</a>.<br /> |
|---|
| 345 |
Copyright © 2000, 2001 |
|---|
| 346 |
<a href="http://www.jin.gr.jp/~nahi/">NAKAMURA, Hiroshi</a>. |
|---|
| 347 |
</address> |
|---|
| 348 |
</div> |
|---|
| 349 |
</body> |
|---|
| 350 |
</html> |
|---|