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

Changes in 1.5.7

Here are changes in 1.5.7 from 1.5.6.

  • Environment
    • soap4r gem depends on httpclient >= 2.1.0. (#379)
    • let soap4r http clients (SOAP::RPC::Driver and WSDL/XSD importers) do not check soap_use_proxy environment variable and use only http_proxy/HTTP_PROXY and no_proxy/NO_PROXY envvars for proxy configuration. no need to set 'soap_use_proxy=on' envvar anymore. But to avoid proxy injection problem, when a library is used on CGI environment (with checking REQUEST_METHOD envvar existence), soap4r http clients use cgi_http_proxy/CGI_HTTP_PROXY envvar instead of http_proxy/HTTP_PROXY. (#378)
  • SOAP/Ruby mapping
    • 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. (#223)
    • 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. (#362, #363)
    • [BUG] Array or Struct was not properly marshalled when literal service + generated stub combination. (#360)
    • [BUG] derived class was marshalled without xsi:type for literal service. (#361)
    • [BUG] passing nil as a basetype through generated mapping registry was broken in 1.5.6. (#369)
    • [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. (#371)
    • [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. (#373)
  • SOAP
    • allow xsi:nil="true" element as an RPC request though I don't think it's SOAP spec compliant. (#374)
    • allow to customize default ns definition of SOAP Envelope. SOAPGenerator.new gets option hash as 'opt' and treats opt[:default_ns] as a XSD::NS which stores default ns definition of SOAP Envelope. See how it works in test/soap/test_custom_ns.rb. (#380)
  • Payload
    • added an API for filtering streamhandler to capture/generate HTTP header. (#276)
    • added 'protocol.http.auth' option to set authentication information for both BasicAuth? and DigestAuth?. with the latest httpclient (formerly known as http-access2), now soap4r client can connect to DigestAuth? server. (#345)
  • WSDL
    • importer should not import http://schemas.xmlsoap.org/soap/encoding/. (#366)
    • [BUG] error when simpleType element usage as "part" definition directly. (#367)
    • [BUG] wsdl2ruby.rb did not generate a classdef entry for empty element definition such as <element name="foo"/>. let wsdl2ruby.rb generate 'class Foo < String'. (#370)