| 56 | | SOAP4R/1.4.4 still had a bug around detecting XML processor. |
|---|
| 57 | | SOAP4R/1.4.4.1 fixes this problem. REXML users should update to 1.4.4.1. |
|---|
| 58 | | I'm sorry for unstable and frequent release. |
|---|
| 59 | | </p> |
|---|
| 60 | | |
|---|
| 61 | | <p> |
|---|
| 62 | | This is a bug fix release. |
|---|
| 63 | | Following users should update. |
|---|
| 64 | | </p> |
|---|
| 65 | | |
|---|
| 66 | | <ul> |
|---|
| 67 | | <li>Users who use DateTime datatype.</li> |
|---|
| 68 | | <li>Developers of SOAP client/server which works under multi-thread condition.</li> |
|---|
| 69 | | <li>REXML users.</li> |
|---|
| 70 | | </ul> |
|---|
| 71 | | |
|---|
| 72 | | <p> |
|---|
| 73 | | Fixed bugs. |
|---|
| 74 | | </p> |
|---|
| 75 | | |
|---|
| 76 | | <ul> |
|---|
| 77 | | <li>XSDDataTime: Changed variable name usec to sec_frac. It's not a micro sec so name usec is misleading.</li> |
|---|
| 78 | | <li>XSDTime: Fixed bugs in usec part.</li> |
|---|
| 79 | | <li>date.rb in standard library and date2 version 3 conflicts because date2.rb is a successor of date.rb and not designed for dual use. |
|---|
| 80 | | (ex. using a module which requires date.rb like DBI and another module which requires date2.rb). |
|---|
| 81 | | Added a workaround for this.</li> |
|---|
| 82 | | <li>SOAP::Processor was not MT-safe. Fixed. |
|---|
| 83 | | Projected feature regards to MT are follows. |
|---|
| 84 | | At least I hope so. Tell me if you find these wrong. |
|---|
| 85 | | <ul> |
|---|
| 86 | | <li>Driver: safe</li> |
|---|
| 87 | | <li>Proxy: safe</li> |
|---|
| 88 | | <li>Server: safe</li> |
|---|
| 89 | | <li>CGIStub: safe</li> |
|---|
| 90 | | <li>StandaloneServer: safe</li> |
|---|
| 91 | | <li>RPCRouter: safe</li> |
|---|
| 92 | | <li>StreamHandler: safe</li> |
|---|
| 93 | | <li>Processor: safe</li> |
|---|
| 94 | | <li>SOAPParser: unsafe</li> |
|---|
| 95 | | <li>SOAPGenerator: unsafe</li> |
|---|
| 96 | | <li>EncodingStyleHandler: unsafe</li> |
|---|
| 97 | | </ul> |
|---|
| 98 | | </li> |
|---|
| 99 | | <li>SOAP4R/1.4.3 supports REXML/2.1.3 but it did not detect REXML processor automatically.</li> |
|---|
| 100 | | </ul> |
|---|
| | 56 | This version has these enhancements; |
|---|
| | 57 | </p> |
|---|
| | 58 | <ul> |
|---|
| | 59 | <li>Supports all primitive datatypes of XML Schema Part2 Datatypes except NOTATION. |
|---|
| | 60 | Added types are Duration, gYearMonth, anyURI, QName and so on.</li> |
|---|
| | 61 | <li>Runs much faster than earlier versions. |
|---|
| | 62 | Some performance check and tuning has been done.</li> |
|---|
| | 63 | <li>Supports all Ruby objects marshalling/unmarshalling |
|---|
| | 64 | except some special objects. See below for more detail.</li> |
|---|
| | 65 | </ul> |
|---|
| | 66 | |
|---|
| | 67 | <p> |
|---|
| | 68 | CAUTION: This version requires |
|---|
| | 69 | <a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=date2">[RAA:date2]</a> version 3.2 or later and |
|---|
| | 70 | <a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=http-access2">[RAA:http-access2]</a> version F. |
|---|
| | 71 | Please make sure the versions you use. |
|---|
| | 72 | </p> |
|---|
| | 73 | |
|---|
| | 74 | <p> |
|---|
| | 75 | Here is detail of change. |
|---|
| | 76 | </p> |
|---|
| | 77 | |
|---|
| | 78 | <dl> |
|---|
| | 79 | <dt>Datatypes (XMLSchemaDatatypes.rb and baseData.rb)</dt> |
|---|
| | 80 | <dd> |
|---|
| | 81 | <ul> |
|---|
| | 82 | <li>Added duration, gYearMonth, gYear, gMonthDay, gDay, gMonth, anyURI and QName datetypes. |
|---|
| | 83 | All primitive datatypes in XML Schema Part 2 section 3.2 except NOTAION are supported now.</li> |
|---|
| | 84 | <li>Modified XSDDataTime, XSDDate and XSDTime implementation. These use a DataTime as a data holder.</li> |
|---|
| | 85 | <li>Follow date/3.2: date2.rb -> date.rb.</li> |
|---|
| | 86 | <li>Changed to_s representations of single float and double float. Thanks to gotoken.</li> |
|---|
| | 87 | <li>XSDFloat: Add '0' if given str ends with 'E'. Float( "-1.4E" ) might fail on some system.</li> |
|---|
| | 88 | <li>Added SOAPRawString class. Given string is embedded into XML instance directly. |
|---|
| | 89 | You can use this class to embed (numeric) character references manually.</li> |
|---|
| | 90 | <li>Fixed UTF8 regexp bug. XSDString uses this regexp to check a given string.</li> |
|---|
| | 91 | <li>Added UT for XMLSchemaDatatypes.rb. See test/xsd_ut.rb and test/baseData_ut.rb.</li> |
|---|
| | 92 | </ul></dd> |
|---|
| | 93 | |
|---|
| | 94 | <dt>SOAP <-> Ruby object mapping (mappingRegistry.rb and rpcUtils.rb)</dt> |
|---|
| | 95 | <dd> |
|---|
| | 96 | <ul> |
|---|
| | 97 | <li>Exception raised from server side could not be mapped to specific exception. Fixed.</li> |
|---|
| | 98 | <li>Refactoring to avoid *_eval. Reduced warnings.</li> |
|---|
| | 99 | <li>Added Range marshalling support.</li> |
|---|
| | 100 | <li>Regexp#options support under ruby/1.6.</li> |
|---|
| | 101 | <li>Supports cyclic Range such as; |
|---|
| | 102 | <pre> |
|---|
| | 103 | class Foo |
|---|
| | 104 | attr_accessor :foo |
|---|
| | 105 | def succ; end |
|---|
| | 106 | def <=>( rhs ); end |
|---|
| | 107 | end |
|---|
| | 108 | |
|---|
| | 109 | o1 = Foo.new |
|---|
| | 110 | o2 = Foo.new |
|---|
| | 111 | r = o1..o2 |
|---|
| | 112 | o1.foo = r |
|---|
| | 113 | |
|---|
| | 114 | p SOAPMarshal.load( SOAPMarshal.dump( r )) |
|---|
| | 115 | </pre></li> |
|---|
| | 116 | <li>Supports some instance variable of ruby standard class. |
|---|
| | 117 | But instance variable of Array, Hash, String, Float and Bignum are not supported because of restriction of SOAP encoding format...</li> |
|---|
| | 118 | <li>Alias ::SOAPMarshal to ::SOAP::Marshal.</li> |
|---|
| | 119 | <li>Added Marshal.load and Marshal.dump as aliases to Marshal.unmarshal and |
|---|
| | 120 | Marshal.unmarshal.</li> |
|---|
| | 121 | </ul></dd> |
|---|
| | 122 | |
|---|
| | 123 | <dt>misc</dt> |
|---|
| | 124 | <dd> |
|---|
| | 125 | <ul> |
|---|
| | 126 | <li>Dumps what parser is used when $DEBUG. Try 'ruby -d -rsoap/processor -e 0'</li> |
|---|
| | 127 | <li>Added CGI samples in sample/.</li> |
|---|
| | 128 | <li>Some performance check and tuning has been done on both client and server side. |
|---|
| | 129 | One bottle neck is Kernel.methods which SOAP4R use(d) while mapping SOAP Data Model <-> Ruby object. |
|---|
| | 130 | I replaced it with Object.respond_to? . |
|---|
| | 131 | Another bottle neck of client side is delegate.rb which is used by http-access2. |
|---|
| | 132 | Get <a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=http-access2">[RAA:http-access2]</a> version F. |
|---|
| | 133 | </ul> |
|---|
| | 134 | </dd> |
|---|
| | 135 | </dl> |
|---|
| | 597 | <dt>1.4.5 - May 25, 2002</dt> |
|---|
| | 598 | <dd> |
|---|
| | 599 | This version has these enhancements; |
|---|
| | 600 | <ul> |
|---|
| | 601 | <li>Supports all primitive datatypes of XML Schema Part2 Datatypes except NOTATION. |
|---|
| | 602 | Added types are Duration, gYearMonth, anyURI, QName and so on.</li> |
|---|
| | 603 | <li>Runs much faster than earlier versions. |
|---|
| | 604 | Some performance check and tuning has been done.</li> |
|---|
| | 605 | <li>Supports all Ruby objects marshalling/unmarshalling |
|---|
| | 606 | except some special objects. See below for more detail.</li> |
|---|
| | 607 | </ul> |
|---|
| | 608 | |
|---|
| | 609 | CAUTION: This version requires |
|---|
| | 610 | <a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=date2">[RAA:date2]</a> version 3.2 or later and |
|---|
| | 611 | <a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=http-access2">[RAA:http-access2]</a> version F. |
|---|
| | 612 | Please make sure the versions you use. |
|---|
| | 613 | <br/><br/> |
|---|
| | 614 | |
|---|
| | 615 | Here is detail of change. |
|---|
| | 616 | <dl> |
|---|
| | 617 | <dt>Datatypes (XMLSchemaDatatypes.rb and baseData.rb)</dt> |
|---|
| | 618 | <dd> |
|---|
| | 619 | <ul> |
|---|
| | 620 | <li>Added duration, gYearMonth, gYear, gMonthDay, gDay, gMonth, anyURI and QName datetypes. |
|---|
| | 621 | All primitive datatypes in XML Schema Part 2 section 3.2 except NOTAION are supported now.</li> |
|---|
| | 622 | <li>Modified XSDDataTime, XSDDate and XSDTime implementation. These use a DataTime as a data holder.</li> |
|---|
| | 623 | <li>Follow date/3.2: date2.rb -> date.rb.</li> |
|---|
| | 624 | <li>Changed to_s representations of single float and double float. Thanks to gotoken.</li> |
|---|
| | 625 | <li>XSDFloat: Add '0' if given str ends with 'E'. Float( "-1.4E" ) might fail on some system.</li> |
|---|
| | 626 | <li>Added SOAPRawString class. Given string is embedded into XML instance directly. |
|---|
| | 627 | You can use this class to embed (numeric) character references manually.</li> |
|---|
| | 628 | <li>Fixed UTF8 regexp bug. XSDString uses this regexp to check a given string.</li> |
|---|
| | 629 | <li>Added UT for XMLSchemaDatatypes.rb. See test/xsd_ut.rb and test/baseData_ut.rb.</li> |
|---|
| | 630 | </ul></dd> |
|---|
| | 631 | |
|---|
| | 632 | <dt>SOAP <-> Ruby object mapping (mappingRegistry.rb and rpcUtils.rb)</dt> |
|---|
| | 633 | <dd> |
|---|
| | 634 | <ul> |
|---|
| | 635 | <li>Exception raised from server side could not be mapped to specific exception. Fixed.</li> |
|---|
| | 636 | <li>Refactoring to avoid *_eval. Reduced warnings.</li> |
|---|
| | 637 | <li>Added Range marshalling support.</li> |
|---|
| | 638 | <li>Regexp#options support under ruby/1.6.</li> |
|---|
| | 639 | <li>Supports cyclic Range such as; |
|---|
| | 640 | <pre> |
|---|
| | 641 | class Foo |
|---|
| | 642 | attr_accessor :foo |
|---|
| | 643 | def succ; end |
|---|
| | 644 | def <=>( rhs ); end |
|---|
| | 645 | end |
|---|
| | 646 | |
|---|
| | 647 | o1 = Foo.new |
|---|
| | 648 | o2 = Foo.new |
|---|
| | 649 | r = o1..o2 |
|---|
| | 650 | o1.foo = r |
|---|
| | 651 | |
|---|
| | 652 | p SOAPMarshal.load( SOAPMarshal.dump( r )) |
|---|
| | 653 | </pre></li> |
|---|
| | 654 | <li>Supports some instance variable of ruby standard class. |
|---|
| | 655 | But instance variable of Array, Hash, String, Float and Bignum are not supported because of restriction of SOAP encoding format...</li> |
|---|
| | 656 | <li>Alias ::SOAPMarshal to ::SOAP::Marshal.</li> |
|---|
| | 657 | <li>Added Marshal.load and Marshal.dump as aliases to Marshal.unmarshal and |
|---|
| | 658 | Marshal.unmarshal.</li> |
|---|
| | 659 | </ul></dd> |
|---|
| | 660 | |
|---|
| | 661 | <dt>misc</dt> |
|---|
| | 662 | <dd> |
|---|
| | 663 | <ul> |
|---|
| | 664 | <li>Dumps what parser is used when $DEBUG. Try 'ruby -d -rsoap/processor -e 0'</li> |
|---|
| | 665 | <li>Added CGI samples in sample/.</li> |
|---|
| | 666 | <li>Some performance check and tuning has been done on both client and server side. |
|---|
| | 667 | One bottle neck is Kernel.methods which SOAP4R use(d) while mapping SOAP Data Model <-> Ruby object. |
|---|
| | 668 | I replaced it with Object.respond_to? . |
|---|
| | 669 | Another bottle neck of client side is delegate.rb which is used by http-access2. |
|---|
| | 670 | Get <a href="http://www.ruby-lang.org/en/raa-list.rhtml?name=http-access2">[RAA:http-access2]</a> version F. |
|---|
| | 671 | </ul> |
|---|
| | 672 | </dd> |
|---|
| | 673 | </dl> |
|---|
| | 674 | </dd> |
|---|
| | 675 | |
|---|