Directory lib/soap/mapping/

Directory Created:
2003-09-24 16:18
Total Files:
Deleted Files:
Lines of Code:

Browse with ViewVC


Lines of Code

lib/soap/mapping/ Lines of Code


Author Changes Lines of Code Lines per Change
Totals 69 (100.0%) 3586 (100.0%) 51.9
nahi 56 (81.2%) 3573 (99.6%) 63.8
matz 3 (4.3%) 10 (0.3%) 3.3
ko1 2 (2.9%) 2 (0.1%) 1.0
nobu 1 (1.4%) 1 (0.0%) 1.0
shyouhei 7 (10.1%) 0 (0.0%) 0.0

Most Recent Commits

ko1 2007-02-24 06:22

* lib/soap/mapping/factory.rb: catch up with spec changes (return

Symbols instead of Strings).

* lib/soap/mapping/mapping.rb: ditto.

2 lines of code changed in:

shyouhei 2007-02-13 00:01

set svn:eol-style

0 lines of code changed in:

matz 2006-11-02 01:21

* lib/xmlrpc/create.rb (XMLRPC::Create::conv2value): Symbol should

come earlier than String.

* lib/soap/mapping/rubytypeFactory.rb (RubytypeFactory::obj2soap):


* lib/set.rb (TC_Set::test_s_new): strings are no longer


* lib/soap/property.rb (Property::load): ditto.

* lib/webrick/httputils.rb (WEBrick::HTTPUtils::parse_header): ditto.

* lib/soap/mimemessage.rb (MIMEMessage::Headers::parse): ditto.

8 lines of code changed in:

matz 2006-07-20 18:36

* object.c (rb_mod_attr): make Module#attr to be an alias to

attr_reader. [RCR#331]

* ruby.h: export classes/modules to implement sandbox.


2 lines of code changed in:

nahi 2005-09-15 16:07

forgot to update some files in the previous soap4r-1.5.5 import.

81 lines of code changed in:

nahi 2005-09-15 15:33

* lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.5.

#nnn is a ticket number at


* allow to configure an envelope namespace of SOAP request. (#124)

TemporaryNamespace = ''

@client.options["soap.envelope.requestnamespace"] =


@client.options["soap.envelope.responsenamespace"] =



* let SOAP request XML indent space configuable. see

"soap.envelope.no_indent" option. (#130)

* let external CES configuable.

ex. client["soap.mapping.external_ces"] = 'SJIS'. $KCODE is used

by default. (#133)

external CES ::= CES used in Ruby object of client and server

internal CES ::= CES used in SOAP/OM

* add iso-8859-1 external CES support. (#106)

* fixed illegal 'qualified' handling of elements. it caused

ASP.NET inteoperability problem. (#144)

* added 'soap.envelope.use_numeric_character_reference' (boolean)

option to let query XML use numeric character reference in XML,

not plain UTF-8 character. !GoogleSearch server seems to not

allow plain UTF-8 character since 2005-08-15 update. (#147)

* SOAP::Header::SimpleHeader (de)serialization throws an exception

on !SimpleHeader.on_(in|out)bound when header is a String. so we

could not use a simple single element headerItem. fixed. thanks

to emil. (#129)

* out parameter of rpc operation did not work. (#132)

* follow HTTP redirect only if using http-access2. (#125) (#145)

* add a workaround for importing an WSDL whose path begins with

drive letter. (#115)


* SOAP Data which is defined as a simpletype was not mapped

correctly to Ruby obj when using wsdl2ruby.rb generated classdef

file. (#123)

* rpc/literal support. (#118)

* re-implemented local element qualify/unqualify control. handles

elementFormDefault and form in WSDL. (#119)

* Array of an element which has simpleType causes a crash. (#128)

* prarmeterOrder may not contain return part so it can be shorter

than parts size. Thanks to Hugh. (#139)

* Samples

* added !BasicAuth client sample. (#117)

* added Base64 client/server sample.

* added Flickr SOAP interface client sample. (#122)

* added !SalesForce client sample. (#135)

* updated Thawte CA certificate for !GoogleAdWords sample.

* updated a client script with the newer version made by Johan.


* shortened long file names. (#120)

* fixed typo in authheader sample. (#129)

* updated deprecated method usage. (#138)

82 lines of code changed in:

nobu 2005-09-02 15:53

* lib: do not use __send__ to access private methods. [ruby-dev:26935]

1 lines of code changed in:

nahi 2005-05-22 14:03

* lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.4.

== 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


* 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).

=== 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.

* 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.

* allow to use an URI object as an endpoint_url even with net/http,

not http-access2.

=== 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.

* 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


== WSDL ==

=== WSDL definition ===

* improved XML Schema support such as extension, restriction,

simpleType, complexType + simpleContent, ref, length, import,


* reduced "unknown element/attribute" warnings (warn only 1 time for

each QName).

* importing XSD file at schemaLocation with xsd:import.

=== code generation from WSDL ===

* generator crashed when there's '-' in defined element/attribute


* added ApacheMap WSDL definition.

* sample/{soap,wsdl}: removed.

634 lines of code changed in:

nahi 2004-12-21 16:08

* lib/soap/*, test/soap/*, sample/soap/authheader/*: eval cleanup.

39 lines of code changed in:

nahi 2004-12-20 14:50

* added files:

* lib/soap/mapping/wsdl*.rb

* lib/wsdl/soap/element.rb

* lib/wsdl/xmlSchema/simpleContent.rb

* modified files:

* lib/soap/*

* lib/wsdl/*

* lib/xsd/*

* test/soap/*

* test/wsdl/*

* test/xsd/*

* summary

* imported from the soap4r repository. Version: 1.5.3-ruby1.8.2

* added several XSD basetype support: nonPositiveInteger,

negativeInteger, nonNegativeInteger, unsignedLong, unsignedInt,

unsignedShort, unsignedByte, positiveInteger

* HTTP client connection/send/receive timeout support.

* HTTP client/server gzipped content encoding support.

* improved WSDL schema definition support; still is far from

complete, but is making step by step improovement.

642 lines of code changed in:

nahi 2004-07-03 14:33

* added files:

* lib/soap/header/*

* lib/soap/rpc/httpserver.rb

* lib/wsdl/soap/cgiStubCreator.rb

* lib/wsdl/soap/classDefCreator.rb

* lib/wsdl/soap/classDefCreatorSupport.rb

* lib/wsdl/soap/clientSkeltonCreator.rb

* lib/wsdl/soap/driverCreator.rb

* lib/wsdl/soap/mappingRegistryCreator.rb

* lib/wsdl/soap/methodDefCreator.rb

* lib/wsdl/soap/servantSkeltonCreator.rb

* lib/wsdl/soap/standaloneServerStubCreator.rb

* lib/wsdl/xmlSchema/enumeration.rb

* lib/wsdl/xmlSchema/simpleRestriction.rb

* lib/wsdl/xmlSchema/simpleType.rb

* lib/xsd/codegen/*

* lib/xsd/codegen.rb

* sample/soap/authheader/*

* sample/soap/raa2.4/*

* sample/soap/ssl/*

* sample/soap/swa/*

* sample/soap/whois.rb

* sample/wsdl/raa2.4/*

* test/soap/header/*

* test/soap/ssl/*

* test/soap/struct/*

* test/soap/swa/*

* test/soap/wsdlDriver/*

* test/wsdl/multiplefault.wsdl

* test/wsdl/simpletype/*

* test/wsdl/test_multiplefault.rb

* modified files:

* lib/soap/baseData.rb

* lib/soap/element.rb

* lib/soap/generator.rb

* lib/soap/netHttpClient.rb

* lib/soap/parser.rb

* lib/soap/property.rb

* lib/soap/soap.rb

* lib/soap/streamHandler.rb

* lib/soap/wsdlDriver.rb

* lib/soap/wsdlDriver.rb

* lib/soap/encodingstyle/handler.rb

* lib/soap/encodingstyle/literalHandler.rb

* lib/soap/encodingstyle/soapHandler.rb

* lib/soap/mapping/factory.rb

* lib/soap/mapping/mapping.rb

* lib/soap/mapping/registry.rb

* lib/soap/mapping/rubytypeFactory.rb

* lib/soap/mapping/wsdlRegistry.rb

* lib/soap/rpc/cgistub.rb

* lib/soap/rpc/driver.rb

* lib/soap/rpc/proxy.rb

* lib/soap/rpc/router.rb

* lib/soap/rpc/soaplet.rb

* lib/soap/rpc/standaloneServer.rb

* lib/wsdl/data.rb

* lib/wsdl/definitions.rb

* lib/wsdl/operation.rb

* lib/wsdl/parser.rb

* lib/wsdl/soap/definitions.rb

* lib/wsdl/xmlSchema/complexContent.rb

* lib/wsdl/xmlSchema/complexType.rb

* lib/wsdl/xmlSchema/data.rb

* lib/wsdl/xmlSchema/parser.rb

* lib/wsdl/xmlSchema/schema.rb

* lib/xsd/datatypes.rb

* lib/xsd/qname.rb

* sample/soap/sampleStruct/server.rb

* sample/wsdl/amazon/AmazonSearch.rb

* sample/wsdl/amazon/AmazonSearchDriver.rb

* test/soap/test_property.rb

* test/soap/calc/test_calc_cgi.rb

* test/wsdl/test_emptycomplextype.rb

* summary

* add SOAP Header mustUnderstand support.

* add HTTP client SSL configuration and Cookies support (works

completely with http-access2).

* add header handler for handling sending/receiving SOAP Header.

* map Ruby's anonymous Struct to common SOAP Struct in SOAP Object

Model. it caused error.

* add WSDL simpleType support to restrict lexical value space.

151 lines of code changed in:

nahi 2004-04-01 11:58

* lib/soap/mapping/{factory.rb,registry.rb}: fixed illegal mapped URI

object with soap/marshal.

added URIFactory class for URI mapping. BasetypeFactory checks

instance_variables when original mapping is not allowed (ivar must

be empty). Instance of URI have instance_variables but it must be

llowed whenever original mapping is allowed or not.

17 lines of code changed in:

nahi 2004-02-19 14:26

* lib/soap/mapping/rubytypeFactory.rb: should not dump singleton class.


c = class <<; class C; self; end; end; SOAPMarshal.dump(c)

2 lines of code changed in:

nahi 2004-01-06 03:20

* import soap4r/1.5.2;

* lib/soap/{attachment.rb,baseData.rb,encodingstyle/soapHandler.rb}:

introduce SOAPExternalReference class as a referenct to SOAPEnvelope

external content.

* lib/soap/{attachment.rb,mimemessage.rb}: great SwA (SOAP messages

with Attachments) support code by Jamie Herre.

* lib/soap/{element.rb,marshal.rb,parser.rb,processor.rb,

streamHandler.rb,wsdlDriver.rb}: SwA support.

* lib/soap/rpc/{cgistub.rb,driver.rb,element.rb,proxy.rb,router.rb,

soaplet.rb}: SwA support and refactoring.

* lib/soap/generator.rb, lib/soap/mapping/mapping.rb: follow

SOAPReference#initialize signature change.

* lib/soap/mapping/factory.rb: deleted unused methods.

* lib/soap/mapping/rubytypeFactory.rb: do no ignore case while xsi:type

string <-> Ruby class name matching.

* lib/xsd/datatypes.rb: check the smallest positive non-zero

single-precision float exactly instead of packing with "f".


* test/soap/test_basetype.rb, test/xsd/test_xsd.rb: use 1.402e-45, not

1.4e-45. 1.4e-45 is smaller than 2 ** -149...

* test/soap/test_basetype.rb, test/soap/marshal/test_marshal.rb,

test/xsd/test_xsd.rb: use "(-1.0 / (1.0 / 0.0))" instead of "-0.0".

* test/soap/test_streamhandler.rb: revert to the previous test that

warns "basic_auth unsupported under net/http".

1 lines of code changed in:

nahi 2003-11-28 06:53

* lib/soap/streamHandler.rb: drop unused http parameters.

* lib/soap/encodingstyle/soapHandler.rb, lib/soap/mapping/factory.rb,

lib/soap/mapping/mapping.rb, lib/soap/mapping/registry.rb,

lib/wsdl/soap/complexType.rb: ApacheSOAP's map support was broken under WSDL

dynanic client environment. fixed.

* test/wsdl/raa/*: add tests.

* lib/xsd/datatypes.rb: dateTime precision bug fix (at least, I hope.) bug of

soap4r. XSDDateTimeImple.to_time passed a Float to Time.local/ as an

usec, and NUM2LONG(rb_num2long for Float) causes rounding error.

22 lines of code changed in:

nahi 2003-11-25 08:31

* lib/soap/**/*.rb, lib/wsdl/**/*.rb, lib/xsd/**/*.rb: changed license; GPL2 -> Ruby's.

* lib/soap/rpc/driver.rb, lib/soap/wsdlDriver.rb, lib/soap/streamHandler.rb: add interface to streamhandler.

* lib/soap/marshal.rb: raise error if parse fails.

* lib/soap/netHttpClient.rb: add https support. Patched by Oliver M. Bolzer.

* lib/soap/netHttpClient.rb: dump HTTP response message body by itself.

* lib/soap/rpc/driver.rb, lib/soap/rpc/proxy.rb, lib/soap/wsdlDriver.rb: add driver#mandatorycharset interface to foce using charset for parsing response from buggy server.

* lib/soap/encodingstyle/soapHandler.rb: support Apache Axis's half typed multi-ref array.

* lib/soap/mapping/factory.rb, lib/soap/mapping/registry.rb: map SOAPStruct which has multi-accessors which name are the same, to an array.

* lib/soap/rpc/element.rb: fixed illegal parameter order.

* lib/soap/rpc/element.rb: element name of response message could have the name other than 'return'.

* lib/wsdl/operation.rb, lib/wsdl/operationBinding.rb, lib/wsdl/soap/classDefCreator.rb, lib/wsdl/soap/methodDefCreator.rb, lib/wsdl/soap/methodDefCreatorSupport.rb: WSDL/1.1 allows plural fault definition in a operation. [ruby-talk:84948]

* test/wsdl/multiplefault.wsdl, test/wsdl/test_multiplefault.rb: add test for above fix.

* lib/wsdl/soap/complexType.rb: support WSDL array definition with maxOccures="unbound".

* lib/xsd/charset.rb: use cp932 under emx. Patched by Siena. / SHINAGAWA, Norihide in [ruby-dev:21972]

* lib/xsd/xmlparser/parser.rb: set @charset nil by default. Nil means 'follow encoding declaration in XML'.

* sample/soap/digraph.rb, sample/wsdl/amazon/wsdlDriver.rb, sample/wsdl/googleSearch/sampleClient.rb, sample/wsdl/googleSearch/wsdlDriver.rb, test/wsdl/test_emptycomplextype.rb, test/wsdl/marshal/test_wsdlmarshal.rb, test/xsd/test_xmlschemaparser.rb: use { |f| } instead of [ruby-dev:21964]

* test/wsdl/emptycomplextype.wsdl, test/wsdl/test_emptycomplextype.rb: simplify the test case.

* test/wsdl/axisArray/*: add tests for axis's array encoding.

55 lines of code changed in:

nahi 2003-11-08 10:52

* test/wsdl/raa/*: add new testcase for WSDL loading, parsing and reading.

* test/soap/marshal/*: backport from soap4r/1.5.1. all differences are for


* lib/soap/*: backport from soap4r/1.5.1. all differences are for ruby/1.6.

* lib/wsdl/data.rb, lib/wsdl/xmlSchema/data.rb: move definition of

ArrayTypeAttrName from ::WSDL::XMLSchema::* to ::WSDL::*. [ruby-talk:84813]

* lib/wsdl/soap/definitions.rb: element name typo in custom exception struct

definition which is needed for wsdlDriver; camelCase -> underscore_name.

36 lines of code changed in:

nahi 2003-10-31 17:50

* lib/soap/mapping/factory.rb: mark marshalled basetype objects when

@allow_original_mapping is true. multi-referencing basetype node is

prohibited in SOAP/1.1 encoding but soap4r's original ruby object mapping

requires basetype to be marked to detect self referencing loop.

e.g. o = 1; o.instance_eval { @iv = o } soap4r's original mapping is only

used through soap/marshal API.

* test/soap/marshal/test_marshal.rb: add tests for self referencing immutable


* test/soap/calc/test_calc_cgi.rb: fix test name.

4 lines of code changed in:

nahi 2003-10-14 16:14

* lib/soap/baseData.rb: Introduce SOAPType as the common ancestor of

SOAPBasetype and SOAPCompoundtype.

* lib/soap/generator.rb, lib/soap/element.rb, lib/soap/encodingstyle/*:

Encoding methods signature change. Pass SOAPGenerator as a parameter.

* lib/soap/mapping/*, test/soap/marshal/test_marshal.rb: Refactoring for better

marshalling/unmarshalling support. Now I think SOAP marshaller supports all

kind of object graph which is supported by Ruby's original marshaller. Of

course there could be bugs as always. Find it. :-)

* lib/soap/rpc/standaloneServer.rb: Set severity threshould to INFO. DEBUG is

too noisy.

* lib/xsd/datatypes.rb: DateTime#of is obsoleted. Use DateTime#offset.

* test/wsdl/emptycomplextype.wsdl, test/xsd/xmlschema.xml: Avoid useless


357 lines of code changed in:

nahi 2003-09-24 16:18

* lib/soap/* (29 files): SOAP4R added.

* lib/wsdl/* (42 files): WSDL4R added.

* lib/xsd/* (12 files): XSD4R added.

* test/soap/* (16 files): added.

* test/wsdl/* (2 files): added.

* test/xsd/* (3 files): added.

* sample/soap/* (27 files): added.

* sample/wsdl/* (13 files): added.

1450 lines of code changed in:

Generated by StatSVN 0.3.2-SNAPSHOT