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

Changes in 1.5.4

Version 1.5.4 is the next version of 1.5.2. Version 1.5.3 is the module which is included in ruby-1.8.2 and not released independently.

Changes in 1.5.3 from 1.5.2 are at Changes of soap4r module in ruby-1.8.2. (Version 1.5.2 and 1.5.3 are included in ruby-1.8.1 and ruby-1.8.2 respectively.)

Here are changes in 1.5.4 from 1.5.3.

SOAP client and server

for both client side and server side

  • improved document/literal service support. style(rpc, document)/use(encoding, literal) combination are all supported. for the detail about combination, see test/soap/test_style.rb. #60.
  • let WSDLEncodedRegistry#soap2obj map SOAP/OM to Ruby according to WSDL as well as obj2soap. closes #70.
  • let SOAP::Mapping::Object handle XML attribute for doc/lit service. you can set/get XML attribute via accessor methods which as a name 'xmlattr_' prefixed (<foo name="bar"/> -> Foo#xmlattr_name). #81.

client side

  • WSDLDriver capitalized name operation bug fixed. from 1.5.3-ruby1.8.2, operation which has capitalized name (such as KeywordSearchRequest? in AWS) is defined as a method having uncapitalized name. (converted with GenSupport?.safemethodname to handle operation name 'foo-bar'). it introduced serious incompatibility; in the past, it was defined as a capitalized. define capitalized method as well under that circumstance. #64.
  • added new factory interface 'WSDLDriverFactory#create_rpc_driver' to create RPC::Driver, not WSDLDriver (RPC::Driver and WSDLDriver are merged). 'WSDLDriverFactory#create_driver' still creates WSDLDriver for compatibility but it warns that the method is deprecated. please use create_rpc_driver instead of create_driver. #10.
  • allow to use an URI object as an endpoint_url even with net/http, not http-access2. #54.

server side

  • added mod_ruby support to SOAP::CGIStub. rename a CGI script server.cgi to server.rb and let mod_ruby's RubyHandler? handles the script. CGIStub detects if it's running under mod_ruby environment or not.
  • added fcgi support to SOAP::CGIStub. see the sample at sample/soap/calc/server.fcgi. (almost same as server.cgi but has fcgi handler at the bottom.)
  • allow to return a SOAPFault object to respond customized SOAP fault. #63.
  • added the interface 'generate_explicit_type' for server side (CGIStub, HTTPServer). call 'self.generate_explicit_type = true' if you want to return simplified XML even if it's rpc/encoded service.

WSDL

WSDL definition

  • improved XML Schema support such as extension, restriction, simpleType, complexType + simpleContent, ref, length, import, include.
  • reduced "unknown element/attribute" warnings (warn only 1 time for each QName). #66.
  • importing XSD file at schemaLocation with xsd:import. #88.

code generation from WSDL

  • generator crashed when there's '-' in defined element/attribute name. #47.

Samples

  • added XML <-> Ruby mapping utility. XSD::Mapping#xml2obj maps an XML to a tree of SOAP::Mapping::Object. XSD::Mapping#obj2xml is for reverse direction conversion. see a sample in sample/wsdl/noaa/client.rb
  • added a sample for weather.gov's NDFD services.
  • add a sample of googleAdWords. CAUTION: I don't have an account of AdWords? so the sample code is NOT tested. Please tell me (nahi@ruby-lang.org) if you will get good/bad result in communicating with AdWords? Server. #91.
  • add a sample of AWSECommerce. CAUTION: I don't have an account of AWSECommerce so the sample code is NOT tested. Please tell me (nahi@ruby-lang.org) if you will get good/bad result in communicating with AWSECommerce Server. #33.

Redists

  • include xmlscan as a redistributed module. xmlscan now is a first class XML processor. still soap4r should run with REXML and XMLParser.