Directory lib/wsdl/soap/

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

Browse with ViewVC


Lines of Code

lib/wsdl/soap/ Lines of Code


Author Changes Lines of Code Lines per Change
Totals 97 (100.0%) 2785 (100.0%) 28.7
nahi 75 (77.3%) 2783 (99.9%) 37.1
matz 1 (1.0%) 2 (0.1%) 2.0
shyouhei 21 (21.6%) 0 (0.0%) 0.0

Most Recent Commits

shyouhei 2007-02-13 00:01

set svn:eol-style

0 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)

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

498 lines of code changed in:

matz 2005-03-04 07:47

* array.c: replace rb_protect_inspect() and rb_inspecting_p() by

rb_exec_recursive() in eval.c.

* eval.c (rb_exec_recursive): new function.

* array.c (rb_ary_join): use rb_exec_recursive().

* array.c (rb_ary_inspect, rb_ary_hash): ditto.

* file.c (rb_file_join): ditto.

* hash.c (rb_hash_inspect, rb_hash_to_s, rb_hash_hash): ditto.

* io.c (rb_io_puts): ditto.

* object.c (rb_obj_inspect): ditto

* struct.c (rb_struct_inspect): ditto.

* lib/set.rb (SortedSet::setup): a hack to shut up warning.


* lib/time.rb (Time::strptime): add new function. inspired by


* lib/parsedate.rb (ParseDate::strptime): ditto.

* regparse.c: move st_*_strend() functions from st.c. fixed some

potential memory leaks.

* exception error messages updated. [ruby-core:04497]

* ext/socket/socket.c (Init_socket): add bunch of Socket

constants. Patch from Sam Roberts <>.


* array.c (rb_ary_s_create): no need for negative argc check.


* array.c (rb_ary_unshift_m): ditto.

* lib/xmlrpc/parser.rb (XMLRPC::FaultException): make it subclass

of StandardError class, not Exception class. [ruby-core:04429]

* parse.y (fcall_gen): lvar(arg) will be evaluated as when lvar is a defined local variable. [new]

* object.c (rb_class_initialize): call inherited method before

calling initializing block.

* eval.c (rb_thread_start_1): initialize newly pushed frame.

* lib/open3.rb (Open3::popen3): $? should not be EXIT_FAILURE.

fixed: [ruby-core:04444]

* eval.c (is_defined): NODE_IASGN is an assignment.

* ext/readline/readline.c (Readline.readline): use rl_outstream

and rl_instream. [ruby-dev:25699]

* ext/etc/etc.c (Init_etc): sGroup needs HAVE_ST_GR_PASSWD check


* misc/ruby-mode.el: [ruby-core:04415]

* lib/rdoc/generators/html_generator.rb: [ruby-core:04412]

* lib/rdoc/generators/ri_generator.rb: ditto.

* struct.c (make_struct): fixed: [ruby-core:04402]

* ext/curses/curses.c (window_color_set): [ruby-core:04393]

* ext/socket/socket.c (Init_socket): SO_REUSEPORT added.


* object.c: [ruby-doc:818]

* parse.y (open_args): fix too verbose warnings for the space

before argument parentheses. [ruby-dev:25492]

* parse.y (parser_yylex): ditto.

* parse.y (parser_yylex): the first expression in the parentheses

should not be a command. [ruby-dev:25492]

* lib/irb/context.rb (IRB::Context::initialize): [ruby-core:04330]

* object.c (Init_Object): remove Object#type. [ruby-core:04335]

* st.c (st_foreach): report success/failure by return value.


* parse.y: forgot to initialize parser struct. [ruby-dev:25492]

* parse.y (parser_yylex): no tLABEL on EXPR_BEG.


* document updates - [ruby-core:04296], [ruby-core:04301],

[ruby-core:04302], [ruby-core:04307]

* dir.c (rb_push_glob): should work for NUL delimited patterns.

* dir.c (rb_glob2): should aware of offset in the pattern.

* string.c (rb_str_new4): should propagate taintedness.

* env.h: rename member names in struct FRAME; last_func -> callee,

orig_func -> this_func, last_class -> this_class.

* struct.c (rb_struct_set): use original method name, not callee

name, to retrieve member slot. [ruby-core:04268]

* time.c (time_strftime): protect from format modification from GC


* object.c (Init_Object): remove rb_obj_id_obsolete()

* eval.c (rb_mod_define_method): incomplete subclass check.


* gc.c (rb_data_object_alloc): klass may be NULL.


* bignum.c (rb_big_rand): should return positive random number.


* bignum.c (rb_big_rand): do not use rb_big_modulo to generate

random bignums. [ruby-dev:25396]

* variable.c (rb_autoload): [ruby-dev:25373]

* eval.c (svalue_to_avalue): [ruby-dev:25366]

* string.c (rb_str_justify): [ruby-dev:25367]

* io.c (rb_f_select): [ruby-dev:25312]

* ext/socket/socket.c (sock_s_getservbyport): [ruby-talk:124072]

* struct.c (make_struct): [ruby-dev:25249]

* dir.c (dir_open_dir): new function. [ruby-dev:25242]

* io.c (rb_f_open): add type check for return value from to_open.

* lib/pstore.rb (PStore#transaction): Use the empty content when a

file is not found. [ruby-dev:24561]

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

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

863 lines of code changed in:

nahi 2004-01-18 12:10

* lib/soap/wsdlDriver.rb, lib/wsdl/soap/operation.rb: add support of

"parts" attribute of soap:body element in WSDL.

* lib/wsdl/xmlSchema/schema.rb: friendly warning message for

simpleType element which is not supported for now.

* test/wsdl/soap/{soapbodyparts.wsdl,test_soapbodyparts.wsdl}: new


4 lines of code changed in:

nahi 2003-11-30 05:33

* lib/soap/encodingstyle/soapHandler.rb: refactoring - Simplifying

Conditional Expressions.

* lib/wsdl/soap/definitions.rb: refactoring - Move Method.

* test/xsd/{test_noencoding.rb,noencoding.xml}: new files. test for

encoding unspecified XML file parsing.

* test/wsdl/{test_fault.rb,map,datetime}: new files. test of

SOAPFault, dateTime and Apache's Map.

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

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

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

802 lines of code changed in:

Generated by StatSVN 0.3.2-SNAPSHOT