rtiss_soap4r 1.6.1 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (432) hide show
  1. checksums.yaml +7 -0
  2. data/bin/wsdl2ruby.rb +2 -1
  3. data/bin/xsd2ruby.rb +2 -1
  4. data/lib/soap/attachment.rb +1 -1
  5. data/lib/soap/attrproxy.rb +1 -1
  6. data/lib/soap/baseData.rb +1 -1
  7. data/lib/soap/element.rb +2 -2
  8. data/lib/soap/encodingstyle/aspDotNetHandler.rb +1 -1
  9. data/lib/soap/encodingstyle/handler.rb +1 -1
  10. data/lib/soap/encodingstyle/literalHandler.rb +1 -1
  11. data/lib/soap/encodingstyle/soapHandler.rb +1 -1
  12. data/lib/soap/filter.rb +1 -1
  13. data/lib/soap/filter/filterchain.rb +1 -1
  14. data/lib/soap/filter/handler.rb +1 -1
  15. data/lib/soap/filter/streamhandler.rb +1 -1
  16. data/lib/soap/generator.rb +2 -2
  17. data/lib/soap/header/handler.rb +1 -1
  18. data/lib/soap/header/handlerset.rb +1 -1
  19. data/lib/soap/header/mappinghandler.rb +1 -1
  20. data/lib/soap/header/simplehandler.rb +1 -1
  21. data/lib/soap/http_logger.rb +20 -0
  22. data/lib/soap/httpconfigloader.rb +1 -1
  23. data/lib/soap/mapping.rb +1 -1
  24. data/lib/soap/mapping/encodedregistry.rb +16 -14
  25. data/lib/soap/mapping/factory.rb +2 -2
  26. data/lib/soap/mapping/literalregistry.rb +1 -1
  27. data/lib/soap/mapping/mapping.rb +7 -7
  28. data/lib/soap/mapping/registry.rb +1 -1
  29. data/lib/soap/mapping/rubytypeFactory.rb +1 -1
  30. data/lib/soap/mapping/schemadefinition.rb +1 -1
  31. data/lib/soap/mapping/typeMap.rb +1 -1
  32. data/lib/soap/mapping/wsdlencodedregistry.rb +1 -1
  33. data/lib/soap/mapping/wsdlliteralregistry.rb +1 -1
  34. data/lib/soap/marshal.rb +1 -1
  35. data/lib/soap/mimemessage.rb +1 -1
  36. data/lib/soap/nestedexception.rb +1 -1
  37. data/lib/soap/netHttpClient.rb +1 -1
  38. data/lib/soap/ns.rb +1 -1
  39. data/lib/soap/parser.rb +1 -1
  40. data/lib/soap/processor.rb +1 -1
  41. data/lib/soap/property.rb +7 -17
  42. data/lib/soap/proxy.rb +1 -1
  43. data/lib/soap/rpc/cgistub.rb +2 -1
  44. data/lib/soap/rpc/driver.rb +16 -1
  45. data/lib/soap/rpc/element.rb +1 -1
  46. data/lib/soap/rpc/httpserver.rb +2 -1
  47. data/lib/soap/rpc/methodDef.rb +1 -1
  48. data/lib/soap/rpc/proxy.rb +16 -4
  49. data/lib/soap/rpc/router.rb +1 -1
  50. data/lib/soap/rpc/rpc.rb +1 -1
  51. data/lib/soap/rpc/soaplet.rb +1 -1
  52. data/lib/soap/rpc/standaloneServer.rb +1 -1
  53. data/lib/soap/soap.rb +24 -4
  54. data/lib/soap/streamHandler.rb +3 -3
  55. data/lib/soap/version.rb +7 -4
  56. data/lib/soap/wsdlDriver.rb +1 -1
  57. data/lib/wsdl/binding.rb +1 -1
  58. data/lib/wsdl/data.rb +1 -1
  59. data/lib/wsdl/definitions.rb +1 -1
  60. data/lib/wsdl/documentation.rb +1 -1
  61. data/lib/wsdl/import.rb +1 -1
  62. data/lib/wsdl/importer.rb +1 -1
  63. data/lib/wsdl/info.rb +1 -1
  64. data/lib/wsdl/message.rb +1 -1
  65. data/lib/wsdl/operation.rb +1 -1
  66. data/lib/wsdl/operationBinding.rb +1 -1
  67. data/lib/wsdl/param.rb +1 -1
  68. data/lib/wsdl/parser.rb +17 -2
  69. data/lib/wsdl/part.rb +1 -1
  70. data/lib/wsdl/port.rb +1 -1
  71. data/lib/wsdl/portType.rb +1 -1
  72. data/lib/wsdl/service.rb +1 -1
  73. data/lib/wsdl/soap/address.rb +1 -1
  74. data/lib/wsdl/soap/binding.rb +1 -1
  75. data/lib/wsdl/soap/body.rb +1 -1
  76. data/lib/wsdl/soap/cgiStubCreator.rb +1 -1
  77. data/lib/wsdl/soap/classDefCreator.rb +1 -1
  78. data/lib/wsdl/soap/classDefCreatorSupport.rb +1 -1
  79. data/lib/wsdl/soap/classNameCreator.rb +1 -1
  80. data/lib/wsdl/soap/clientSkeltonCreator.rb +1 -1
  81. data/lib/wsdl/soap/complexType.rb +1 -1
  82. data/lib/wsdl/soap/data.rb +1 -1
  83. data/lib/wsdl/soap/definitions.rb +1 -1
  84. data/lib/wsdl/soap/driverCreator.rb +3 -4
  85. data/lib/wsdl/soap/element.rb +1 -1
  86. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +1 -1
  87. data/lib/wsdl/soap/fault.rb +1 -1
  88. data/lib/wsdl/soap/header.rb +1 -1
  89. data/lib/wsdl/soap/headerfault.rb +1 -1
  90. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +1 -1
  91. data/lib/wsdl/soap/mappingRegistryCreator.rb +1 -1
  92. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +1 -1
  93. data/lib/wsdl/soap/methodDefCreator.rb +1 -1
  94. data/lib/wsdl/soap/operation.rb +1 -1
  95. data/lib/wsdl/soap/servantSkeltonCreator.rb +1 -1
  96. data/lib/wsdl/soap/servletStubCreator.rb +1 -1
  97. data/lib/wsdl/soap/standaloneServerStubCreator.rb +1 -1
  98. data/lib/wsdl/soap/wsdl2ruby.rb +29 -20
  99. data/lib/wsdl/types.rb +1 -1
  100. data/lib/wsdl/wsdl.rb +1 -1
  101. data/lib/wsdl/xmlSchema/all.rb +1 -1
  102. data/lib/wsdl/xmlSchema/annotation.rb +1 -1
  103. data/lib/wsdl/xmlSchema/any.rb +1 -1
  104. data/lib/wsdl/xmlSchema/anyAttribute.rb +1 -1
  105. data/lib/wsdl/xmlSchema/attribute.rb +1 -1
  106. data/lib/wsdl/xmlSchema/attributeGroup.rb +1 -1
  107. data/lib/wsdl/xmlSchema/choice.rb +1 -1
  108. data/lib/wsdl/xmlSchema/complexContent.rb +1 -1
  109. data/lib/wsdl/xmlSchema/complexExtension.rb +1 -1
  110. data/lib/wsdl/xmlSchema/complexRestriction.rb +1 -1
  111. data/lib/wsdl/xmlSchema/complexType.rb +1 -1
  112. data/lib/wsdl/xmlSchema/content.rb +1 -1
  113. data/lib/wsdl/xmlSchema/data.rb +1 -1
  114. data/lib/wsdl/xmlSchema/element.rb +1 -1
  115. data/lib/wsdl/xmlSchema/enumeration.rb +1 -1
  116. data/lib/wsdl/xmlSchema/fractiondigits.rb +1 -1
  117. data/lib/wsdl/xmlSchema/group.rb +1 -1
  118. data/lib/wsdl/xmlSchema/import.rb +1 -2
  119. data/lib/wsdl/xmlSchema/importHandler.rb +1 -2
  120. data/lib/wsdl/xmlSchema/importer.rb +1 -1
  121. data/lib/wsdl/xmlSchema/include.rb +1 -2
  122. data/lib/wsdl/xmlSchema/length.rb +1 -1
  123. data/lib/wsdl/xmlSchema/list.rb +1 -1
  124. data/lib/wsdl/xmlSchema/maxexclusive.rb +1 -1
  125. data/lib/wsdl/xmlSchema/maxinclusive.rb +1 -1
  126. data/lib/wsdl/xmlSchema/maxlength.rb +1 -1
  127. data/lib/wsdl/xmlSchema/minexclusive.rb +1 -1
  128. data/lib/wsdl/xmlSchema/mininclusive.rb +1 -1
  129. data/lib/wsdl/xmlSchema/minlength.rb +1 -1
  130. data/lib/wsdl/xmlSchema/parser.rb +1 -1
  131. data/lib/wsdl/xmlSchema/pattern.rb +1 -1
  132. data/lib/wsdl/xmlSchema/ref.rb +1 -1
  133. data/lib/wsdl/xmlSchema/schema.rb +1 -1
  134. data/lib/wsdl/xmlSchema/sequence.rb +1 -1
  135. data/lib/wsdl/xmlSchema/simpleContent.rb +1 -1
  136. data/lib/wsdl/xmlSchema/simpleExtension.rb +1 -1
  137. data/lib/wsdl/xmlSchema/simpleRestriction.rb +1 -1
  138. data/lib/wsdl/xmlSchema/simpleType.rb +1 -1
  139. data/lib/wsdl/xmlSchema/totaldigits.rb +1 -1
  140. data/lib/wsdl/xmlSchema/union.rb +1 -1
  141. data/lib/wsdl/xmlSchema/unique.rb +1 -1
  142. data/lib/wsdl/xmlSchema/whitespace.rb +1 -1
  143. data/lib/wsdl/xmlSchema/xsd2ruby.rb +3 -2
  144. data/lib/xsd/charset.rb +2 -2
  145. data/lib/xsd/codegen.rb +1 -1
  146. data/lib/xsd/codegen/classdef.rb +1 -1
  147. data/lib/xsd/codegen/commentdef.rb +1 -1
  148. data/lib/xsd/codegen/gensupport.rb +1 -1
  149. data/lib/xsd/codegen/methoddef.rb +1 -1
  150. data/lib/xsd/codegen/moduledef.rb +1 -1
  151. data/lib/xsd/datatypes.rb +2 -3
  152. data/lib/xsd/datatypes1999.rb +1 -1
  153. data/lib/xsd/iconvcharset.rb +3 -4
  154. data/lib/xsd/mapping.rb +1 -1
  155. data/lib/xsd/namedelements.rb +1 -1
  156. data/lib/xsd/ns.rb +2 -2
  157. data/lib/xsd/qname.rb +1 -1
  158. data/lib/xsd/xmlparser.rb +43 -39
  159. data/lib/xsd/xmlparser/libxmlparser.rb +38 -18
  160. data/lib/xsd/xmlparser/nokogiriparser.rb +63 -0
  161. data/lib/xsd/xmlparser/ogaparser.rb +53 -0
  162. data/lib/xsd/xmlparser/oxparser.rb +97 -0
  163. data/lib/xsd/xmlparser/parser.rb +2 -2
  164. data/lib/xsd/xmlparser/rexmlparser.rb +4 -9
  165. metadata +175 -424
  166. data/lib/xsd/xmlparser/xmlparser.rb +0 -51
  167. data/lib/xsd/xmlparser/xmlscanner.rb +0 -150
  168. data/test/16runner.rb +0 -69
  169. data/test/helper.rb +0 -7
  170. data/test/interopR2/README.txt +0 -2
  171. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +0 -461
  172. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +0 -19
  173. data/test/interopR2/base.rb +0 -289
  174. data/test/interopR2/client.NetRemoting.rb +0 -18
  175. data/test/interopR2/client.rb +0 -1235
  176. data/test/interopR2/client4S4C.rb +0 -16
  177. data/test/interopR2/client4S4C2.rb +0 -15
  178. data/test/interopR2/clientASP.NET.rb +0 -18
  179. data/test/interopR2/clientApacheAxis.rb +0 -17
  180. data/test/interopR2/clientApacheSOAP.rb +0 -18
  181. data/test/interopR2/clientBEAWebLogic.rb +0 -18
  182. data/test/interopR2/clientBase.rb +0 -1968
  183. data/test/interopR2/clientCapeConnect.rb +0 -19
  184. data/test/interopR2/clientDelphi.rb +0 -20
  185. data/test/interopR2/clientEasySoap.rb +0 -15
  186. data/test/interopR2/clientFrontier.rb +0 -26
  187. data/test/interopR2/clientGLUE.rb +0 -33
  188. data/test/interopR2/clientHP.rb +0 -14
  189. data/test/interopR2/clientJAX-RPC.rb +0 -20
  190. data/test/interopR2/clientJSOAP.rb +0 -15
  191. data/test/interopR2/clientKafkaXSLT.rb +0 -16
  192. data/test/interopR2/clientMSSOAPToolkit2.0.rb +0 -18
  193. data/test/interopR2/clientMSSOAPToolkit3.0.rb +0 -18
  194. data/test/interopR2/clientNuSOAP.rb +0 -20
  195. data/test/interopR2/clientNuWave.rb +0 -16
  196. data/test/interopR2/clientOpenLink.rb +0 -16
  197. data/test/interopR2/clientOracle.rb +0 -16
  198. data/test/interopR2/clientPEAR.rb +0 -19
  199. data/test/interopR2/clientPhalanx.rb +0 -19
  200. data/test/interopR2/clientSIMACE.rb +0 -19
  201. data/test/interopR2/clientSOAP4R.rb +0 -19
  202. data/test/interopR2/clientSOAP__Lite.rb +0 -15
  203. data/test/interopR2/clientSQLData.rb +0 -19
  204. data/test/interopR2/clientSilverStream.rb +0 -18
  205. data/test/interopR2/clientSpray2001.rb +0 -18
  206. data/test/interopR2/clientSun.rb +0 -20
  207. data/test/interopR2/clientVWOpentalkSoap.rb +0 -20
  208. data/test/interopR2/clientWASP.rb +0 -20
  209. data/test/interopR2/clientWASPC.rb +0 -19
  210. data/test/interopR2/clientWebMethods.rb +0 -16
  211. data/test/interopR2/clientWhiteMesa.rb +0 -29
  212. data/test/interopR2/clientWingfoot.rb +0 -16
  213. data/test/interopR2/clientXMLBus.rb +0 -20
  214. data/test/interopR2/clientXMLRPC-EPI.rb +0 -18
  215. data/test/interopR2/clientXSOAP.rb +0 -15
  216. data/test/interopR2/clientZSI.rb +0 -20
  217. data/test/interopR2/clienteSOAP.rb +0 -19
  218. data/test/interopR2/clientgSOAP.rb +0 -19
  219. data/test/interopR2/clientkSOAP.rb +0 -18
  220. data/test/interopR2/iSimonReg.rb +0 -113
  221. data/test/interopR2/interopResultBase.rb +0 -115
  222. data/test/interopR2/interopService.rb +0 -248
  223. data/test/interopR2/rwikiInteropService.rb +0 -106
  224. data/test/interopR2/server.cgi +0 -271
  225. data/test/interopR2/server.rb +0 -276
  226. data/test/interopR2/simonReg.rb +0 -124
  227. data/test/interopR2/test.sh +0 -49
  228. data/test/interopR4/client.rb +0 -113
  229. data/test/runner.rb +0 -8
  230. data/test/sm11/classDef.rb +0 -157
  231. data/test/sm11/client.rb +0 -543
  232. data/test/sm11/driver.rb +0 -184
  233. data/test/sm11/servant.rb +0 -1068
  234. data/test/sm11/server.rb +0 -26
  235. data/test/soap/asp.net/hello.wsdl +0 -96
  236. data/test/soap/asp.net/test_aspdotnet.rb +0 -124
  237. data/test/soap/auth/htdigest +0 -2
  238. data/test/soap/auth/htpasswd +0 -2
  239. data/test/soap/auth/test_basic.rb +0 -118
  240. data/test/soap/auth/test_digest.rb +0 -119
  241. data/test/soap/calc/calc.rb +0 -18
  242. data/test/soap/calc/calc2.rb +0 -30
  243. data/test/soap/calc/server.cgi +0 -16
  244. data/test/soap/calc/server.rb +0 -18
  245. data/test/soap/calc/server2.rb +0 -21
  246. data/test/soap/calc/test_calc.rb +0 -53
  247. data/test/soap/calc/test_calc2.rb +0 -57
  248. data/test/soap/calc/test_calc_cgi.rb +0 -72
  249. data/test/soap/case/test_mapping.rb +0 -58
  250. data/test/soap/fault/test_customfault.rb +0 -61
  251. data/test/soap/fault/test_fault.rb +0 -47
  252. data/test/soap/fault/test_soaparray.rb +0 -36
  253. data/test/soap/filter/test_filter.rb +0 -147
  254. data/test/soap/header/server.cgi +0 -121
  255. data/test/soap/header/test_authheader.rb +0 -241
  256. data/test/soap/header/test_authheader_cgi.rb +0 -122
  257. data/test/soap/header/test_simplehandler.rb +0 -117
  258. data/test/soap/helloworld/hw_s.rb +0 -17
  259. data/test/soap/helloworld/test_helloworld.rb +0 -45
  260. data/test/soap/htpasswd +0 -2
  261. data/test/soap/literalArrayMapping/amazonEc.rb +0 -4779
  262. data/test/soap/literalArrayMapping/amazonEcDriver.rb +0 -173
  263. data/test/soap/literalArrayMapping/amazonresponse.xml +0 -100
  264. data/test/soap/literalArrayMapping/test_definedarray.rb +0 -35
  265. data/test/soap/marshal/marshaltestlib.rb +0 -498
  266. data/test/soap/marshal/test_digraph.rb +0 -57
  267. data/test/soap/marshal/test_marshal.rb +0 -28
  268. data/test/soap/marshal/test_struct.rb +0 -48
  269. data/test/soap/ssl/README +0 -1
  270. data/test/soap/ssl/ca.cert +0 -23
  271. data/test/soap/ssl/client.cert +0 -19
  272. data/test/soap/ssl/client.key +0 -15
  273. data/test/soap/ssl/server.cert +0 -19
  274. data/test/soap/ssl/server.key +0 -15
  275. data/test/soap/ssl/sslsvr.rb +0 -59
  276. data/test/soap/ssl/subca.cert +0 -21
  277. data/test/soap/ssl/test_ssl.rb +0 -236
  278. data/test/soap/struct/test_struct.rb +0 -71
  279. data/test/soap/styleuse/client.rb +0 -21
  280. data/test/soap/styleuse/server.rb +0 -87
  281. data/test/soap/swa/test_file.rb +0 -76
  282. data/test/soap/test_basetype.rb +0 -1091
  283. data/test/soap/test_cookie.rb +0 -113
  284. data/test/soap/test_custom_ns.rb +0 -106
  285. data/test/soap/test_custommap.rb +0 -111
  286. data/test/soap/test_empty.rb +0 -106
  287. data/test/soap/test_envelopenamespace.rb +0 -86
  288. data/test/soap/test_extraattr.rb +0 -55
  289. data/test/soap/test_generator.rb +0 -32
  290. data/test/soap/test_httpconfigloader.rb +0 -72
  291. data/test/soap/test_mapping.rb +0 -132
  292. data/test/soap/test_nestedexception.rb +0 -71
  293. data/test/soap/test_nil.rb +0 -71
  294. data/test/soap/test_no_indent.rb +0 -89
  295. data/test/soap/test_property.rb +0 -429
  296. data/test/soap/test_response_as_xml.rb +0 -118
  297. data/test/soap/test_soapelement.rb +0 -139
  298. data/test/soap/test_streamhandler.rb +0 -271
  299. data/test/soap/test_styleuse.rb +0 -327
  300. data/test/soap/wsdlDriver/README.txt +0 -2
  301. data/test/soap/wsdlDriver/calc.wsdl +0 -126
  302. data/test/soap/wsdlDriver/document.wsdl +0 -54
  303. data/test/soap/wsdlDriver/echo_version.rb +0 -30
  304. data/test/soap/wsdlDriver/simpletype.wsdl +0 -63
  305. data/test/soap/wsdlDriver/test_calc.rb +0 -72
  306. data/test/soap/wsdlDriver/test_document.rb +0 -72
  307. data/test/soap/wsdlDriver/test_simpletype.rb +0 -82
  308. data/test/testutil.rb +0 -55
  309. data/test/wsdl/abstract/abstract.wsdl +0 -176
  310. data/test/wsdl/abstract/test_abstract.rb +0 -160
  311. data/test/wsdl/anonymous/expectedClassDef.rb +0 -129
  312. data/test/wsdl/anonymous/expectedDriver.rb +0 -60
  313. data/test/wsdl/anonymous/expectedMappingRegistry.rb +0 -177
  314. data/test/wsdl/anonymous/lp.wsdl +0 -147
  315. data/test/wsdl/anonymous/test_anonymous.rb +0 -131
  316. data/test/wsdl/any/any.wsdl +0 -114
  317. data/test/wsdl/any/expectedDriver.rb +0 -69
  318. data/test/wsdl/any/expectedEcho.rb +0 -58
  319. data/test/wsdl/any/expectedMappingRegistry.rb +0 -64
  320. data/test/wsdl/any/expectedService.rb +0 -70
  321. data/test/wsdl/any/test_any.rb +0 -194
  322. data/test/wsdl/axisArray/axisArray.wsdl +0 -87
  323. data/test/wsdl/axisArray/test_axisarray.rb +0 -125
  324. data/test/wsdl/choice/choice.wsdl +0 -167
  325. data/test/wsdl/choice/test_choice.rb +0 -311
  326. data/test/wsdl/complexcontent/complexContent.wsdl +0 -83
  327. data/test/wsdl/complexcontent/test_echo.rb +0 -91
  328. data/test/wsdl/datetime/DatetimeService.rb +0 -45
  329. data/test/wsdl/datetime/datetime.rb +0 -0
  330. data/test/wsdl/datetime/datetime.wsdl +0 -45
  331. data/test/wsdl/datetime/datetimeServant.rb +0 -23
  332. data/test/wsdl/datetime/test_datetime.rb +0 -88
  333. data/test/wsdl/document/array/double.wsdl +0 -161
  334. data/test/wsdl/document/array/test_array.rb +0 -202
  335. data/test/wsdl/document/document.wsdl +0 -76
  336. data/test/wsdl/document/number.wsdl +0 -54
  337. data/test/wsdl/document/ping_nosoapaction.wsdl +0 -66
  338. data/test/wsdl/document/test_nosoapaction.rb +0 -103
  339. data/test/wsdl/document/test_number.rb +0 -93
  340. data/test/wsdl/document/test_rpc.rb +0 -356
  341. data/test/wsdl/emptycomplextype.wsdl +0 -31
  342. data/test/wsdl/fault/fault.wsdl +0 -79
  343. data/test/wsdl/fault/multifault.wsdl +0 -96
  344. data/test/wsdl/fault/test_fault.rb +0 -120
  345. data/test/wsdl/fault/test_multifault.rb +0 -135
  346. data/test/wsdl/group/expectedClassdef.rb +0 -59
  347. data/test/wsdl/group/expectedDriver.rb +0 -52
  348. data/test/wsdl/group/expectedMappingRegistry.rb +0 -68
  349. data/test/wsdl/group/group.wsdl +0 -88
  350. data/test/wsdl/group/test_rpc.rb +0 -146
  351. data/test/wsdl/list/list.wsdl +0 -93
  352. data/test/wsdl/list/test_list.rb +0 -125
  353. data/test/wsdl/map/map.wsdl +0 -92
  354. data/test/wsdl/map/map.xml +0 -43
  355. data/test/wsdl/map/test_map.rb +0 -100
  356. data/test/wsdl/marshal/person.wsdl +0 -21
  357. data/test/wsdl/marshal/person_org.rb +0 -24
  358. data/test/wsdl/marshal/test_wsdlmarshal.rb +0 -76
  359. data/test/wsdl/multiplefault.wsdl +0 -75
  360. data/test/wsdl/oneway/oneway.wsdl +0 -36
  361. data/test/wsdl/oneway/test_oneway.rb +0 -109
  362. data/test/wsdl/overload/expectedClient.rb +0 -38
  363. data/test/wsdl/overload/expectedDriver.rb +0 -62
  364. data/test/wsdl/overload/expectedServant.rb +0 -36
  365. data/test/wsdl/overload/overload.wsdl +0 -70
  366. data/test/wsdl/overload/test_overload.rb +0 -132
  367. data/test/wsdl/qualified/lp.wsdl +0 -47
  368. data/test/wsdl/qualified/lp.xsd +0 -26
  369. data/test/wsdl/qualified/np.wsdl +0 -51
  370. data/test/wsdl/qualified/test_qualified.rb +0 -138
  371. data/test/wsdl/qualified/test_unqualified.rb +0 -139
  372. data/test/wsdl/raa/RAAService.rb +0 -126
  373. data/test/wsdl/raa/README.txt +0 -8
  374. data/test/wsdl/raa/expectedClassDef.rb +0 -101
  375. data/test/wsdl/raa/expectedDriver.rb +0 -97
  376. data/test/wsdl/raa/expectedMappingRegistry.rb +0 -122
  377. data/test/wsdl/raa/raa.wsdl +0 -264
  378. data/test/wsdl/raa/test_raa.rb +0 -127
  379. data/test/wsdl/ref/expectedDriver.rb +0 -52
  380. data/test/wsdl/ref/expectedProduct.rb +0 -244
  381. data/test/wsdl/ref/product.wsdl +0 -147
  382. data/test/wsdl/ref/test_ref.rb +0 -269
  383. data/test/wsdl/rpc/rpc.wsdl +0 -109
  384. data/test/wsdl/rpc/test-rpc-lit.wsdl +0 -371
  385. data/test/wsdl/rpc/test_rpc.rb +0 -177
  386. data/test/wsdl/rpc/test_rpc_lit.rb +0 -471
  387. data/test/wsdl/simplecontent/simplecontent.wsdl +0 -84
  388. data/test/wsdl/simplecontent/test_simplecontent.rb +0 -103
  389. data/test/wsdl/simpletype/rpc/expectedClient.rb +0 -35
  390. data/test/wsdl/simpletype/rpc/expectedDriver.rb +0 -59
  391. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +0 -37
  392. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +0 -58
  393. data/test/wsdl/simpletype/rpc/expectedServant.rb +0 -33
  394. data/test/wsdl/simpletype/rpc/expectedService.rb +0 -56
  395. data/test/wsdl/simpletype/rpc/rpc.wsdl +0 -98
  396. data/test/wsdl/simpletype/rpc/test_rpc.rb +0 -53
  397. data/test/wsdl/simpletype/simpletype.wsdl +0 -114
  398. data/test/wsdl/simpletype/test_simpletype.rb +0 -93
  399. data/test/wsdl/soap/soapbodyparts.wsdl +0 -103
  400. data/test/wsdl/soap/test_soapbodyparts.rb +0 -80
  401. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +0 -22
  402. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +0 -35
  403. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +0 -59
  404. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +0 -37
  405. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +0 -33
  406. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +0 -49
  407. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +0 -56
  408. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +0 -80
  409. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +0 -38
  410. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +0 -31
  411. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +0 -54
  412. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +0 -64
  413. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +0 -84
  414. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +0 -103
  415. data/test/wsdl/soaptype/soaptype.wsdl +0 -61
  416. data/test/wsdl/soaptype/test_soaptype.rb +0 -179
  417. data/test/wsdl/test_emptycomplextype.rb +0 -22
  418. data/test/wsdl/test_fault.rb +0 -51
  419. data/test/wsdl/test_multiplefault.rb +0 -42
  420. data/test/xsd/codegen/test_classdef.rb +0 -245
  421. data/test/xsd/noencoding.xml +0 -4
  422. data/test/xsd/test_noencoding.rb +0 -33
  423. data/test/xsd/test_ns.rb +0 -42
  424. data/test/xsd/test_xmlschemaparser.rb +0 -23
  425. data/test/xsd/test_xsd.rb +0 -1639
  426. data/test/xsd/xmllang.xml +0 -43
  427. data/test/xsd/xmlschema.xml +0 -12
  428. data/test/xsd/xsd2ruby/expected_mysample.rb +0 -66
  429. data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +0 -12
  430. data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +0 -52
  431. data/test/xsd/xsd2ruby/section.xsd +0 -49
  432. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +0 -91
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - Proxy library.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - CGI/mod_ruby stub library
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -11,6 +11,7 @@ require 'soap/streamHandler'
11
11
  require 'webrick/httpresponse'
12
12
  require 'webrick/httpstatus'
13
13
  require 'logger'
14
+ require 'logger-application' unless defined?(Logger::Application)
14
15
  require 'soap/rpc/soaplet'
15
16
 
16
17
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - SOAP RPC driver
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -43,6 +43,19 @@ class Driver
43
43
  attr_reader :options
44
44
  attr_accessor :soapaction
45
45
 
46
+ class << self
47
+ # http logger should be set once on initialization
48
+ # It should be a subclass of SOAP::HttpLogger, for example:
49
+ # SPA::RPC::Driver.http_logger = SOAP::SimpleHttpLogger.new
50
+ def http_logger
51
+ @@http_logger ||= nil
52
+ end
53
+
54
+ def http_logger=(http_logger)
55
+ @@http_logger = http_logger
56
+ end
57
+ end
58
+
46
59
  def inspect
47
60
  "#<#{self.class}:#{@proxy.inspect}>"
48
61
  end
@@ -85,6 +98,8 @@ class Driver
85
98
  @options = setup_options
86
99
  @wiredump_file_base = nil
87
100
  @proxy = Proxy.new(endpoint_url, @soapaction, @options)
101
+ @proxy.driver_class = self.class
102
+ @proxy.http_logger = self.http_logger
88
103
  end
89
104
 
90
105
  def loadproperty(propertyname)
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - RPC element definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - WEBrick HTTP Server
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -8,6 +8,7 @@
8
8
 
9
9
 
10
10
  require 'logger'
11
+ require 'logger-application' unless defined?(Logger::Application)
11
12
  require 'soap/attrproxy'
12
13
  require 'soap/rpc/soaplet'
13
14
  require 'soap/streamHandler'
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - A method definition
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - RPC Proxy library.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -41,6 +41,8 @@ public
41
41
 
42
42
  attr_accessor :mapping_registry
43
43
  attr_accessor :literal_mapping_registry
44
+ attr_accessor :driver_class
45
+ attr_accessor :http_logger
44
46
 
45
47
  attr_reader :operation
46
48
 
@@ -147,7 +149,7 @@ public
147
149
  if resopt[:generate_explicit_type].nil?
148
150
  resopt[:generate_explicit_type] = (op_info.response_use == :encoded)
149
151
  end
150
- env = route(req_header, req_body, reqopt, resopt)
152
+ env = route(req_header, req_body, reqopt, resopt, name)
151
153
  if op_info.response_use.nil?
152
154
  return nil
153
155
  end
@@ -166,7 +168,7 @@ public
166
168
  end
167
169
  end
168
170
 
169
- def route(req_header, req_body, reqopt, resopt)
171
+ def route(req_header, req_body, reqopt, resopt, method_name = nil)
170
172
  req_env = ::SOAP::SOAPEnvelope.new(req_header, req_body)
171
173
  unless reqopt[:envelopenamespace].nil?
172
174
  set_envelopenamespace(req_env, reqopt[:envelopenamespace])
@@ -184,7 +186,17 @@ public
184
186
  conn_data.send_contenttype = mime.headers['content-type'].str
185
187
  end
186
188
  conn_data.soapaction = reqopt[:soapaction]
187
- conn_data = @streamhandler.send(@endpoint_url, conn_data)
189
+
190
+ start = Time.now
191
+ begin
192
+ conn_data = @streamhandler.send(@endpoint_url, conn_data)
193
+ rescue Exception => e
194
+ raise # re-raise the exception
195
+ ensure
196
+ dauer_ms = (1000 * (Time.now - start)).round
197
+ http_logger.log(driver_class, method_name, @endpoint_url, conn_data.send_string, conn_data.receive_string, dauer_ms) if http_logger # todo error flag
198
+ end
199
+
188
200
  if conn_data.receive_string.empty?
189
201
  return nil
190
202
  end
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - RPC Routing library
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - RPC utility.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - SOAP handler servlet for WEBrick
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - WEBrick Server
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # soap/soap.rb: SOAP4R - Base definitions.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -16,8 +16,7 @@ require 'soap/version'
16
16
  module SOAP
17
17
 
18
18
 
19
- # VERSION = Version = SOAP::VERSION::STRING # '1.5.8-HEAD'
20
- Version = SOAP::VERSION::STRING # '1.5.8-HEAD'
19
+ Version = SOAP::VERSION::STRING # evaluates to 'SOAP4R-NG 2.0.2' or later
21
20
  PropertyName = 'soap/property'
22
21
 
23
22
  EnvelopeNamespace = 'http://schemas.xmlsoap.org/soap/envelope/'
@@ -100,9 +99,18 @@ class FaultError < Error
100
99
  attr_reader :faultactor
101
100
  attr_accessor :detail
102
101
 
102
+ def message=(message)
103
+ @faultmessage = message
104
+ end
105
+
103
106
  def initialize(fault)
104
107
  @faultcode = fault.faultcode
105
108
  @faultstring = fault.faultstring
109
+ if @faultstring and @faultstring.respond_to?('data')
110
+ @faultmessage = fault.faultstring.data
111
+ else
112
+ @faultmessage = nil
113
+ end
106
114
  @faultactor = fault.faultactor
107
115
  @detail = fault.detail
108
116
  super(self.to_s)
@@ -110,7 +118,9 @@ class FaultError < Error
110
118
 
111
119
  def to_s
112
120
  str = nil
113
- if @faultstring and @faultstring.respond_to?('data')
121
+ if @faultmessage
122
+ str = @faultmessage.to_s
123
+ elsif @faultstring and @faultstring.respond_to?('data')
114
124
  str = @faultstring.data
115
125
  end
116
126
  str || '(No faultstring)'
@@ -152,3 +162,13 @@ unless Kernel.respond_to?(:warn)
152
162
  end
153
163
  end
154
164
  end
165
+
166
+
167
+ # For Ruby 1.8 and below
168
+ unless Kernel.respond_to?(:require_relative)
169
+ module Kernel
170
+ def require_relative(path)
171
+ require File.join(File.dirname(caller[0]), path.to_str)
172
+ end
173
+ end
174
+ end
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - Stream handler.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -56,7 +56,7 @@ class StreamHandler
56
56
  end
57
57
  charset = $1
58
58
  charset.gsub!(/"/, '') if charset
59
- charset || 'us-ascii'
59
+ charset || 'utf-8'
60
60
  end
61
61
 
62
62
  def self.create_media_type(charset)
@@ -146,7 +146,7 @@ public
146
146
  if Client == HTTPClient && SHARED_HTTPCLIENT
147
147
  @client = SHARED_HTTPCLIENT
148
148
  else
149
- @client = Client.new(nil, "RUBYJEDI-SOAP4R/#{ Version }")
149
+ @client = Client.new(nil, SOAP::VERSION::FORK_STRING)
150
150
  end
151
151
  if @client.respond_to?(:request_filter)
152
152
  @client.request_filter << HttpPostRequestFilter.new(@filterchain)
@@ -1,9 +1,12 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  module SOAP
3
3
  module VERSION #:nodoc:
4
- MAJOR = 1
5
- MINOR = 6
6
- TINY = 1
4
+ MAJOR = 2
5
+ MINOR = 0
6
+ TINY = 4
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
+
9
+ FORK = "SOAP4R-NG"
10
+ FORK_STRING = "#{SOAP::VERSION::FORK}/#{SOAP::VERSION::STRING}"
8
11
  end
9
12
  end
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # SOAP4R - SOAP WSDL driver
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL binding definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL data definitions.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL definitions.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL SOAP documentation element.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL import definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL importer library.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL information base.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL message definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL operation definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL bound operation definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL param definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL XML Instance parser library.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -138,7 +138,9 @@ private
138
138
  o.root = parent.root
139
139
  o.parent = parent if o.parent.nil?
140
140
  end
141
- attrs.each do |key, value|
141
+ to_array_and_splice_name_to_first(attrs).each do |attr|
142
+ key = attr[:key]
143
+ value = attr[:value]
142
144
  attr_ele = ns.parse(key, true)
143
145
  value_ele = ns.parse(value, false)
144
146
  value_ele.source = value # for recovery; value may not be a QName
@@ -159,6 +161,19 @@ private
159
161
  def decode_text(ns, text)
160
162
  @textbuf << text
161
163
  end
164
+
165
+ def to_array_and_splice_name_to_first(attrs)
166
+ attrs_name = []
167
+ attrs_other = []
168
+ attrs.each do |key, value|
169
+ if key == "name"
170
+ attrs_name << { :key => key, :value => value }
171
+ elsif
172
+ attrs_other << { :key => key, :value => value }
173
+ end
174
+ end
175
+ attrs_name.concat(attrs_other)
176
+ end
162
177
  end
163
178
 
164
179
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL part definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL port definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL portType definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL service definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL SOAP address definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL SOAP binding definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - WSDL SOAP body definition.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - Creating CGI stub code from WSDL.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - Creating class definition from WSDL
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4
 
@@ -1,4 +1,4 @@
1
- # encoding: ASCII-8BIT
1
+ # encoding: UTF-8
2
2
  # WSDL4R - Creating class code support from WSDL.
3
3
  # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
4