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

Changes in 1.5.6

Here are changes in 1.5.6 from 1.5.5.

  • SOAP/Ruby mapping
    • specify sending XML document over SOAP by REXML::Element or to_xmlproc -able object. (#21)
    • encode or decode of single basetype parameter according to type definition in rpc/encoded service. (#14, #98)
    • determining rpc method paramaters and outputs at runtime with MethodDefCreator?#{collect_rpcparameter|collect_documentparameter} (#142)
    • support an array element name other than 'item' in document/literal service. (#150)
    • let document/literal service proxy generated by WSDLDriverFactory accept key-value pair array of array ([['k1', 'v1'], ...]) as same as a hash ({'k1' => 'v1', ...}). (#156)
    • allow an XSD::QName as a value of extraattr such as <elename xmlns:n1="urn:valuenamespace">n1:value</elename>. (#157)
    • SwA and doc/lit service. (#165)
    • allow to define an empty SOAP Body service. Thanks, emil. (#174)
    • method overloading support. allow to define methods which have same name and different signatures, and let Router invoke a method according to SOAPAction. you need to define methods with different SOAPAction. (#233)
    • let Driver#generate_explicit_type work for ltieral service, too. (#234)
    • get the raw XML from the response. you get a result as an XML string when you set Driver#return_response_as_xml = true. (#250)
    • do not validate CES of String by default to avoid consuming memory. let XML processor check it instead. (you can turn it on by XSD::XSDString.strict_ces_check = true) (#265)
    • allow SOAP::Mapping::Object to dump/load with marshal_dump/marshal_load. (#266)
    • handle CDATA correctly with xmlscan and rexml (only xmlparser worked). (#332)
    • defined omit element / xsi:nil="true" elemet control. nil means xsi:nil="true" for encoded service and nil means element omission for literal service. pass SOAPNil.new to pass xsi:nil="true" for literal service. (#343)
    • one-way service support. (#200, #346, #347)
    • offer clearly defined message interceptor API. see test/soap/filter for more detail. (#350)
    • SOAPElement.from_obj(obj): allow to set XML attribute. this method is called when you pass a Hash or [['key1', 'value1'], ...] to literal service so you can easily add XML attribute to a request. see #331 for more detail. (#331)
  • Payload
    • merged a patch from Ernie that enables httpserver to serve WSDL. (#161)
    • allow user to set own streamhandler of a SOAP::RPC::Driver. (#180)
    • let Driver#test_loopback_response work under soap4r + net/http. (#181)
    • allow to define basic_auth parameters with property file. (#198)
    • follow HTTP redirection even with net/http. (#280)
    • [ruby-Bugs-7532] make SOAP::HTTPStreamHandler handle gzipped content. Thanks, John Anderson. (#310)
  • SOAP format
    • SOAP actor name can be set through HeaderHandler?. (#19)
    • support xsd:token and xsd:language. Thanks, Jirka Pech. (#252)
    • let XSD::QName immutable. (#274)
    • allow Header::Handler to access SOAPHeader from inside of on_outbound. (#354)
  • WSDL
    • support <xsd:list> of <xsd:simpleType>. (#3, #248)
    • support <xsd:union> of memberTypes. (#6)
    • support <xsd:extension> for <xsd:complexContent>. (#72)
    • support <any>. (#148, #155)
    • support <xsd:restriction> for <xsd:complexContent>. (#167)
    • support <choice>. (#168, #205)
    • support simpleContent + attribute extension. (#176)
    • generate Array classdef for maxOccurs="unbounded" element. (#182)
    • support minLength and maxLength attributes. (#185)
    • support abstract attribute of complexTypes. (#195)
    • moved @@schema_* things in classdef definition generated by wsdl2ruby.rb to mapping registry. Mapping registries for each classdef are defined in independent file and required from driver and server. NOTE: old classdef files should still work but it should be re-generated by new wsdl2ruby.rb. (#175, #267, #270)
    • support wsdl:fault definitions. Thanks, Peter Gardfjall. (#319)
  • Samples
    • add a demo how to call from Excel a simple soap service running in apache (sample/soap/mssoap/) Thanks, an 'anonymous contributor from Wall St.' (#143, #154)
    • a sample to send an integer as Long type. (#160)
    • an eBaySvc sample by Greg. Thanks! (#183)
    • basicauth client + server sample. (#249)
    • cookie client + server sample. (#321)
  • misc
    • add a --prefix option in install.rb. (#255)
    • warn misusage of lib/wsdl/soap/wsdl2ruby.rb. (#339)
    • wsdl2ruby --classdef could have an optional classname argument. Thanks, P@. (#173)
    • putting the classes that support a web service into a service-specific module. check --module_path (#279)