rtiss_soap4r 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. data/bin/wsdl2ruby.rb +139 -0
  2. data/bin/xsd2ruby.rb +91 -0
  3. data/lib/soap/attachment.rb +109 -0
  4. data/lib/soap/attrproxy.rb +35 -0
  5. data/lib/soap/baseData.rb +1095 -0
  6. data/lib/soap/element.rb +278 -0
  7. data/lib/soap/encodingstyle/aspDotNetHandler.rb +208 -0
  8. data/lib/soap/encodingstyle/handler.rb +121 -0
  9. data/lib/soap/encodingstyle/literalHandler.rb +196 -0
  10. data/lib/soap/encodingstyle/soapHandler.rb +560 -0
  11. data/lib/soap/filter/filterchain.rb +52 -0
  12. data/lib/soap/filter/handler.rb +32 -0
  13. data/lib/soap/filter/streamhandler.rb +30 -0
  14. data/lib/soap/filter.rb +14 -0
  15. data/lib/soap/generator.rb +299 -0
  16. data/lib/soap/header/handler.rb +62 -0
  17. data/lib/soap/header/handlerset.rb +71 -0
  18. data/lib/soap/header/mappinghandler.rb +48 -0
  19. data/lib/soap/header/simplehandler.rb +45 -0
  20. data/lib/soap/httpconfigloader.rb +140 -0
  21. data/lib/soap/mapping/encodedregistry.rb +539 -0
  22. data/lib/soap/mapping/factory.rb +389 -0
  23. data/lib/soap/mapping/literalregistry.rb +392 -0
  24. data/lib/soap/mapping/mapping.rb +577 -0
  25. data/lib/soap/mapping/registry.rb +296 -0
  26. data/lib/soap/mapping/rubytypeFactory.rb +446 -0
  27. data/lib/soap/mapping/schemadefinition.rb +171 -0
  28. data/lib/soap/mapping/typeMap.rb +107 -0
  29. data/lib/soap/mapping/wsdlencodedregistry.rb +212 -0
  30. data/lib/soap/mapping/wsdlliteralregistry.rb +249 -0
  31. data/lib/soap/mapping.rb +13 -0
  32. data/lib/soap/marshal.rb +60 -0
  33. data/lib/soap/mimemessage.rb +243 -0
  34. data/lib/soap/nestedexception.rb +43 -0
  35. data/lib/soap/netHttpClient.rb +242 -0
  36. data/lib/soap/ns.rb +39 -0
  37. data/lib/soap/parser.rb +253 -0
  38. data/lib/soap/processor.rb +67 -0
  39. data/lib/soap/property.rb +340 -0
  40. data/lib/soap/proxy.rb +15 -0
  41. data/lib/soap/rpc/cgistub.rb +248 -0
  42. data/lib/soap/rpc/driver.rb +222 -0
  43. data/lib/soap/rpc/element.rb +375 -0
  44. data/lib/soap/rpc/httpserver.rb +143 -0
  45. data/lib/soap/rpc/methodDef.rb +69 -0
  46. data/lib/soap/rpc/proxy.rb +573 -0
  47. data/lib/soap/rpc/router.rb +663 -0
  48. data/lib/soap/rpc/rpc.rb +26 -0
  49. data/lib/soap/rpc/soaplet.rb +201 -0
  50. data/lib/soap/rpc/standaloneServer.rb +44 -0
  51. data/lib/soap/soap.rb +154 -0
  52. data/lib/soap/streamHandler.rb +306 -0
  53. data/lib/soap/version.rb +9 -0
  54. data/lib/soap/wsdlDriver.rb +165 -0
  55. data/lib/wsdl/binding.rb +66 -0
  56. data/lib/wsdl/data.rb +65 -0
  57. data/lib/wsdl/definitions.rb +237 -0
  58. data/lib/wsdl/documentation.rb +33 -0
  59. data/lib/wsdl/import.rb +81 -0
  60. data/lib/wsdl/importer.rb +39 -0
  61. data/lib/wsdl/info.rb +51 -0
  62. data/lib/wsdl/message.rb +55 -0
  63. data/lib/wsdl/operation.rb +152 -0
  64. data/lib/wsdl/operationBinding.rb +241 -0
  65. data/lib/wsdl/param.rb +94 -0
  66. data/lib/wsdl/parser.rb +165 -0
  67. data/lib/wsdl/part.rb +53 -0
  68. data/lib/wsdl/port.rb +67 -0
  69. data/lib/wsdl/portType.rb +76 -0
  70. data/lib/wsdl/service.rb +62 -0
  71. data/lib/wsdl/soap/address.rb +41 -0
  72. data/lib/wsdl/soap/binding.rb +50 -0
  73. data/lib/wsdl/soap/body.rb +59 -0
  74. data/lib/wsdl/soap/cgiStubCreator.rb +93 -0
  75. data/lib/wsdl/soap/classDefCreator.rb +434 -0
  76. data/lib/wsdl/soap/classDefCreatorSupport.rb +241 -0
  77. data/lib/wsdl/soap/classNameCreator.rb +55 -0
  78. data/lib/wsdl/soap/clientSkeltonCreator.rb +107 -0
  79. data/lib/wsdl/soap/complexType.rb +174 -0
  80. data/lib/wsdl/soap/data.rb +43 -0
  81. data/lib/wsdl/soap/definitions.rb +201 -0
  82. data/lib/wsdl/soap/driverCreator.rb +121 -0
  83. data/lib/wsdl/soap/element.rb +34 -0
  84. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +74 -0
  85. data/lib/wsdl/soap/fault.rb +57 -0
  86. data/lib/wsdl/soap/header.rb +87 -0
  87. data/lib/wsdl/soap/headerfault.rb +57 -0
  88. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +116 -0
  89. data/lib/wsdl/soap/mappingRegistryCreator.rb +59 -0
  90. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +377 -0
  91. data/lib/wsdl/soap/methodDefCreator.rb +200 -0
  92. data/lib/wsdl/soap/operation.rb +113 -0
  93. data/lib/wsdl/soap/servantSkeltonCreator.rb +92 -0
  94. data/lib/wsdl/soap/servletStubCreator.rb +105 -0
  95. data/lib/wsdl/soap/standaloneServerStubCreator.rb +101 -0
  96. data/lib/wsdl/soap/wsdl2ruby.rb +226 -0
  97. data/lib/wsdl/types.rb +45 -0
  98. data/lib/wsdl/wsdl.rb +25 -0
  99. data/lib/wsdl/xmlSchema/all.rb +25 -0
  100. data/lib/wsdl/xmlSchema/annotation.rb +35 -0
  101. data/lib/wsdl/xmlSchema/any.rb +62 -0
  102. data/lib/wsdl/xmlSchema/anyAttribute.rb +49 -0
  103. data/lib/wsdl/xmlSchema/attribute.rb +105 -0
  104. data/lib/wsdl/xmlSchema/attributeGroup.rb +69 -0
  105. data/lib/wsdl/xmlSchema/choice.rb +59 -0
  106. data/lib/wsdl/xmlSchema/complexContent.rb +98 -0
  107. data/lib/wsdl/xmlSchema/complexExtension.rb +120 -0
  108. data/lib/wsdl/xmlSchema/complexRestriction.rb +105 -0
  109. data/lib/wsdl/xmlSchema/complexType.rb +194 -0
  110. data/lib/wsdl/xmlSchema/content.rb +96 -0
  111. data/lib/wsdl/xmlSchema/data.rb +117 -0
  112. data/lib/wsdl/xmlSchema/element.rb +154 -0
  113. data/lib/wsdl/xmlSchema/enumeration.rb +37 -0
  114. data/lib/wsdl/xmlSchema/fractiondigits.rb +38 -0
  115. data/lib/wsdl/xmlSchema/group.rb +101 -0
  116. data/lib/wsdl/xmlSchema/import.rb +54 -0
  117. data/lib/wsdl/xmlSchema/importHandler.rb +46 -0
  118. data/lib/wsdl/xmlSchema/importer.rb +103 -0
  119. data/lib/wsdl/xmlSchema/include.rb +49 -0
  120. data/lib/wsdl/xmlSchema/length.rb +38 -0
  121. data/lib/wsdl/xmlSchema/list.rb +49 -0
  122. data/lib/wsdl/xmlSchema/maxexclusive.rb +38 -0
  123. data/lib/wsdl/xmlSchema/maxinclusive.rb +38 -0
  124. data/lib/wsdl/xmlSchema/maxlength.rb +38 -0
  125. data/lib/wsdl/xmlSchema/minexclusive.rb +38 -0
  126. data/lib/wsdl/xmlSchema/mininclusive.rb +38 -0
  127. data/lib/wsdl/xmlSchema/minlength.rb +38 -0
  128. data/lib/wsdl/xmlSchema/parser.rb +168 -0
  129. data/lib/wsdl/xmlSchema/pattern.rb +37 -0
  130. data/lib/wsdl/xmlSchema/ref.rb +34 -0
  131. data/lib/wsdl/xmlSchema/schema.rb +179 -0
  132. data/lib/wsdl/xmlSchema/sequence.rb +55 -0
  133. data/lib/wsdl/xmlSchema/simpleContent.rb +70 -0
  134. data/lib/wsdl/xmlSchema/simpleExtension.rb +63 -0
  135. data/lib/wsdl/xmlSchema/simpleRestriction.rb +133 -0
  136. data/lib/wsdl/xmlSchema/simpleType.rb +88 -0
  137. data/lib/wsdl/xmlSchema/totaldigits.rb +38 -0
  138. data/lib/wsdl/xmlSchema/union.rb +36 -0
  139. data/lib/wsdl/xmlSchema/unique.rb +35 -0
  140. data/lib/wsdl/xmlSchema/whitespace.rb +38 -0
  141. data/lib/wsdl/xmlSchema/xsd2ruby.rb +176 -0
  142. data/lib/xsd/charset.rb +190 -0
  143. data/lib/xsd/codegen/classdef.rb +209 -0
  144. data/lib/xsd/codegen/commentdef.rb +35 -0
  145. data/lib/xsd/codegen/gensupport.rb +277 -0
  146. data/lib/xsd/codegen/methoddef.rb +71 -0
  147. data/lib/xsd/codegen/moduledef.rb +209 -0
  148. data/lib/xsd/codegen.rb +13 -0
  149. data/lib/xsd/datatypes.rb +1466 -0
  150. data/lib/xsd/datatypes1999.rb +21 -0
  151. data/lib/xsd/iconvcharset.rb +34 -0
  152. data/lib/xsd/mapping.rb +69 -0
  153. data/lib/xsd/namedelements.rb +133 -0
  154. data/lib/xsd/ns.rb +183 -0
  155. data/lib/xsd/qname.rb +80 -0
  156. data/lib/xsd/xmlparser/libxmlparser.rb +116 -0
  157. data/lib/xsd/xmlparser/parser.rb +101 -0
  158. data/lib/xsd/xmlparser/rexmlparser.rb +59 -0
  159. data/lib/xsd/xmlparser/xmlparser.rb +51 -0
  160. data/lib/xsd/xmlparser/xmlscanner.rb +150 -0
  161. data/lib/xsd/xmlparser.rb +77 -0
  162. data/test/16runner.rb +69 -0
  163. data/test/helper.rb +7 -0
  164. data/test/interopR2/README.txt +2 -0
  165. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  166. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  167. data/test/interopR2/base.rb +289 -0
  168. data/test/interopR2/client.NetRemoting.rb +18 -0
  169. data/test/interopR2/client.rb +1235 -0
  170. data/test/interopR2/client4S4C.rb +16 -0
  171. data/test/interopR2/client4S4C2.rb +15 -0
  172. data/test/interopR2/clientASP.NET.rb +18 -0
  173. data/test/interopR2/clientApacheAxis.rb +17 -0
  174. data/test/interopR2/clientApacheSOAP.rb +18 -0
  175. data/test/interopR2/clientBEAWebLogic.rb +18 -0
  176. data/test/interopR2/clientBase.rb +1968 -0
  177. data/test/interopR2/clientCapeConnect.rb +19 -0
  178. data/test/interopR2/clientDelphi.rb +20 -0
  179. data/test/interopR2/clientEasySoap.rb +15 -0
  180. data/test/interopR2/clientFrontier.rb +26 -0
  181. data/test/interopR2/clientGLUE.rb +33 -0
  182. data/test/interopR2/clientHP.rb +14 -0
  183. data/test/interopR2/clientJAX-RPC.rb +20 -0
  184. data/test/interopR2/clientJSOAP.rb +15 -0
  185. data/test/interopR2/clientKafkaXSLT.rb +16 -0
  186. data/test/interopR2/clientMSSOAPToolkit2.0.rb +18 -0
  187. data/test/interopR2/clientMSSOAPToolkit3.0.rb +18 -0
  188. data/test/interopR2/clientNuSOAP.rb +20 -0
  189. data/test/interopR2/clientNuWave.rb +16 -0
  190. data/test/interopR2/clientOpenLink.rb +16 -0
  191. data/test/interopR2/clientOracle.rb +16 -0
  192. data/test/interopR2/clientPEAR.rb +19 -0
  193. data/test/interopR2/clientPhalanx.rb +19 -0
  194. data/test/interopR2/clientSIMACE.rb +19 -0
  195. data/test/interopR2/clientSOAP4R.rb +19 -0
  196. data/test/interopR2/clientSOAP__Lite.rb +15 -0
  197. data/test/interopR2/clientSQLData.rb +19 -0
  198. data/test/interopR2/clientSilverStream.rb +18 -0
  199. data/test/interopR2/clientSpray2001.rb +18 -0
  200. data/test/interopR2/clientSun.rb +20 -0
  201. data/test/interopR2/clientVWOpentalkSoap.rb +20 -0
  202. data/test/interopR2/clientWASP.rb +20 -0
  203. data/test/interopR2/clientWASPC.rb +19 -0
  204. data/test/interopR2/clientWebMethods.rb +16 -0
  205. data/test/interopR2/clientWhiteMesa.rb +29 -0
  206. data/test/interopR2/clientWingfoot.rb +16 -0
  207. data/test/interopR2/clientXMLBus.rb +20 -0
  208. data/test/interopR2/clientXMLRPC-EPI.rb +18 -0
  209. data/test/interopR2/clientXSOAP.rb +15 -0
  210. data/test/interopR2/clientZSI.rb +20 -0
  211. data/test/interopR2/clienteSOAP.rb +19 -0
  212. data/test/interopR2/clientgSOAP.rb +19 -0
  213. data/test/interopR2/clientkSOAP.rb +18 -0
  214. data/test/interopR2/iSimonReg.rb +113 -0
  215. data/test/interopR2/interopResultBase.rb +115 -0
  216. data/test/interopR2/interopService.rb +248 -0
  217. data/test/interopR2/rwikiInteropService.rb +106 -0
  218. data/test/interopR2/server.cgi +271 -0
  219. data/test/interopR2/server.rb +276 -0
  220. data/test/interopR2/simonReg.rb +124 -0
  221. data/test/interopR2/test.sh +49 -0
  222. data/test/interopR4/client.rb +113 -0
  223. data/test/runner.rb +8 -0
  224. data/test/sm11/classDef.rb +157 -0
  225. data/test/sm11/client.rb +543 -0
  226. data/test/sm11/driver.rb +184 -0
  227. data/test/sm11/servant.rb +1068 -0
  228. data/test/sm11/server.rb +26 -0
  229. data/test/soap/asp.net/hello.wsdl +96 -0
  230. data/test/soap/asp.net/test_aspdotnet.rb +124 -0
  231. data/test/soap/auth/htdigest +2 -0
  232. data/test/soap/auth/htpasswd +2 -0
  233. data/test/soap/auth/test_basic.rb +118 -0
  234. data/test/soap/auth/test_digest.rb +119 -0
  235. data/test/soap/calc/calc.rb +18 -0
  236. data/test/soap/calc/calc2.rb +30 -0
  237. data/test/soap/calc/server.cgi +16 -0
  238. data/test/soap/calc/server.rb +18 -0
  239. data/test/soap/calc/server2.rb +21 -0
  240. data/test/soap/calc/test_calc.rb +53 -0
  241. data/test/soap/calc/test_calc2.rb +57 -0
  242. data/test/soap/calc/test_calc_cgi.rb +72 -0
  243. data/test/soap/case/test_mapping.rb +58 -0
  244. data/test/soap/fault/test_customfault.rb +61 -0
  245. data/test/soap/fault/test_fault.rb +47 -0
  246. data/test/soap/fault/test_soaparray.rb +36 -0
  247. data/test/soap/filter/test_filter.rb +147 -0
  248. data/test/soap/header/server.cgi +121 -0
  249. data/test/soap/header/test_authheader.rb +241 -0
  250. data/test/soap/header/test_authheader_cgi.rb +122 -0
  251. data/test/soap/header/test_simplehandler.rb +117 -0
  252. data/test/soap/helloworld/hw_s.rb +17 -0
  253. data/test/soap/helloworld/test_helloworld.rb +45 -0
  254. data/test/soap/htpasswd +2 -0
  255. data/test/soap/literalArrayMapping/amazonEc.rb +4779 -0
  256. data/test/soap/literalArrayMapping/amazonEcDriver.rb +173 -0
  257. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  258. data/test/soap/literalArrayMapping/test_definedarray.rb +35 -0
  259. data/test/soap/marshal/marshaltestlib.rb +498 -0
  260. data/test/soap/marshal/test_digraph.rb +57 -0
  261. data/test/soap/marshal/test_marshal.rb +28 -0
  262. data/test/soap/marshal/test_struct.rb +48 -0
  263. data/test/soap/ssl/README +1 -0
  264. data/test/soap/ssl/ca.cert +23 -0
  265. data/test/soap/ssl/client.cert +19 -0
  266. data/test/soap/ssl/client.key +15 -0
  267. data/test/soap/ssl/server.cert +19 -0
  268. data/test/soap/ssl/server.key +15 -0
  269. data/test/soap/ssl/sslsvr.rb +59 -0
  270. data/test/soap/ssl/subca.cert +21 -0
  271. data/test/soap/ssl/test_ssl.rb +236 -0
  272. data/test/soap/struct/test_struct.rb +71 -0
  273. data/test/soap/styleuse/client.rb +21 -0
  274. data/test/soap/styleuse/server.rb +87 -0
  275. data/test/soap/swa/test_file.rb +76 -0
  276. data/test/soap/test_basetype.rb +1091 -0
  277. data/test/soap/test_cookie.rb +113 -0
  278. data/test/soap/test_custom_ns.rb +106 -0
  279. data/test/soap/test_custommap.rb +111 -0
  280. data/test/soap/test_empty.rb +106 -0
  281. data/test/soap/test_envelopenamespace.rb +86 -0
  282. data/test/soap/test_extraattr.rb +55 -0
  283. data/test/soap/test_generator.rb +32 -0
  284. data/test/soap/test_httpconfigloader.rb +72 -0
  285. data/test/soap/test_mapping.rb +132 -0
  286. data/test/soap/test_nestedexception.rb +71 -0
  287. data/test/soap/test_nil.rb +71 -0
  288. data/test/soap/test_no_indent.rb +89 -0
  289. data/test/soap/test_property.rb +429 -0
  290. data/test/soap/test_response_as_xml.rb +118 -0
  291. data/test/soap/test_soapelement.rb +139 -0
  292. data/test/soap/test_streamhandler.rb +271 -0
  293. data/test/soap/test_styleuse.rb +327 -0
  294. data/test/soap/wsdlDriver/README.txt +2 -0
  295. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  296. data/test/soap/wsdlDriver/document.wsdl +54 -0
  297. data/test/soap/wsdlDriver/echo_version.rb +30 -0
  298. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  299. data/test/soap/wsdlDriver/test_calc.rb +72 -0
  300. data/test/soap/wsdlDriver/test_document.rb +72 -0
  301. data/test/soap/wsdlDriver/test_simpletype.rb +82 -0
  302. data/test/testutil.rb +55 -0
  303. data/test/wsdl/abstract/abstract.wsdl +176 -0
  304. data/test/wsdl/abstract/test_abstract.rb +160 -0
  305. data/test/wsdl/anonymous/expectedClassDef.rb +129 -0
  306. data/test/wsdl/anonymous/expectedDriver.rb +60 -0
  307. data/test/wsdl/anonymous/expectedMappingRegistry.rb +177 -0
  308. data/test/wsdl/anonymous/lp.wsdl +147 -0
  309. data/test/wsdl/anonymous/test_anonymous.rb +131 -0
  310. data/test/wsdl/any/any.wsdl +114 -0
  311. data/test/wsdl/any/expectedDriver.rb +69 -0
  312. data/test/wsdl/any/expectedEcho.rb +58 -0
  313. data/test/wsdl/any/expectedMappingRegistry.rb +64 -0
  314. data/test/wsdl/any/expectedService.rb +70 -0
  315. data/test/wsdl/any/test_any.rb +194 -0
  316. data/test/wsdl/axisArray/axisArray.wsdl +87 -0
  317. data/test/wsdl/axisArray/test_axisarray.rb +125 -0
  318. data/test/wsdl/choice/choice.wsdl +167 -0
  319. data/test/wsdl/choice/test_choice.rb +311 -0
  320. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  321. data/test/wsdl/complexcontent/test_echo.rb +91 -0
  322. data/test/wsdl/datetime/DatetimeService.rb +45 -0
  323. data/test/wsdl/datetime/datetime.rb +0 -0
  324. data/test/wsdl/datetime/datetime.wsdl +45 -0
  325. data/test/wsdl/datetime/datetimeServant.rb +23 -0
  326. data/test/wsdl/datetime/test_datetime.rb +88 -0
  327. data/test/wsdl/document/array/double.wsdl +161 -0
  328. data/test/wsdl/document/array/test_array.rb +202 -0
  329. data/test/wsdl/document/document.wsdl +76 -0
  330. data/test/wsdl/document/number.wsdl +54 -0
  331. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  332. data/test/wsdl/document/test_nosoapaction.rb +103 -0
  333. data/test/wsdl/document/test_number.rb +93 -0
  334. data/test/wsdl/document/test_rpc.rb +356 -0
  335. data/test/wsdl/emptycomplextype.wsdl +31 -0
  336. data/test/wsdl/fault/fault.wsdl +79 -0
  337. data/test/wsdl/fault/multifault.wsdl +96 -0
  338. data/test/wsdl/fault/test_fault.rb +120 -0
  339. data/test/wsdl/fault/test_multifault.rb +135 -0
  340. data/test/wsdl/group/expectedClassdef.rb +59 -0
  341. data/test/wsdl/group/expectedDriver.rb +52 -0
  342. data/test/wsdl/group/expectedMappingRegistry.rb +68 -0
  343. data/test/wsdl/group/group.wsdl +88 -0
  344. data/test/wsdl/group/test_rpc.rb +146 -0
  345. data/test/wsdl/list/list.wsdl +93 -0
  346. data/test/wsdl/list/test_list.rb +125 -0
  347. data/test/wsdl/map/map.wsdl +92 -0
  348. data/test/wsdl/map/map.xml +43 -0
  349. data/test/wsdl/map/test_map.rb +100 -0
  350. data/test/wsdl/marshal/person.wsdl +21 -0
  351. data/test/wsdl/marshal/person_org.rb +24 -0
  352. data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
  353. data/test/wsdl/multiplefault.wsdl +75 -0
  354. data/test/wsdl/oneway/oneway.wsdl +36 -0
  355. data/test/wsdl/oneway/test_oneway.rb +109 -0
  356. data/test/wsdl/overload/expectedClient.rb +38 -0
  357. data/test/wsdl/overload/expectedDriver.rb +62 -0
  358. data/test/wsdl/overload/expectedServant.rb +36 -0
  359. data/test/wsdl/overload/overload.wsdl +70 -0
  360. data/test/wsdl/overload/test_overload.rb +132 -0
  361. data/test/wsdl/qualified/lp.wsdl +47 -0
  362. data/test/wsdl/qualified/lp.xsd +26 -0
  363. data/test/wsdl/qualified/np.wsdl +51 -0
  364. data/test/wsdl/qualified/test_qualified.rb +138 -0
  365. data/test/wsdl/qualified/test_unqualified.rb +139 -0
  366. data/test/wsdl/raa/RAAService.rb +126 -0
  367. data/test/wsdl/raa/README.txt +8 -0
  368. data/test/wsdl/raa/expectedClassDef.rb +101 -0
  369. data/test/wsdl/raa/expectedDriver.rb +97 -0
  370. data/test/wsdl/raa/expectedMappingRegistry.rb +122 -0
  371. data/test/wsdl/raa/raa.wsdl +264 -0
  372. data/test/wsdl/raa/test_raa.rb +127 -0
  373. data/test/wsdl/ref/expectedDriver.rb +52 -0
  374. data/test/wsdl/ref/expectedProduct.rb +244 -0
  375. data/test/wsdl/ref/product.wsdl +147 -0
  376. data/test/wsdl/ref/test_ref.rb +269 -0
  377. data/test/wsdl/rpc/rpc.wsdl +109 -0
  378. data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
  379. data/test/wsdl/rpc/test_rpc.rb +177 -0
  380. data/test/wsdl/rpc/test_rpc_lit.rb +471 -0
  381. data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
  382. data/test/wsdl/simplecontent/test_simplecontent.rb +103 -0
  383. data/test/wsdl/simpletype/rpc/expectedClient.rb +35 -0
  384. data/test/wsdl/simpletype/rpc/expectedDriver.rb +59 -0
  385. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +37 -0
  386. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +58 -0
  387. data/test/wsdl/simpletype/rpc/expectedServant.rb +33 -0
  388. data/test/wsdl/simpletype/rpc/expectedService.rb +56 -0
  389. data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
  390. data/test/wsdl/simpletype/rpc/test_rpc.rb +53 -0
  391. data/test/wsdl/simpletype/simpletype.wsdl +114 -0
  392. data/test/wsdl/simpletype/test_simpletype.rb +93 -0
  393. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  394. data/test/wsdl/soap/test_soapbodyparts.rb +80 -0
  395. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +22 -0
  396. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +35 -0
  397. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +59 -0
  398. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +37 -0
  399. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +33 -0
  400. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +49 -0
  401. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +56 -0
  402. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  403. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +38 -0
  404. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  405. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +54 -0
  406. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  407. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +84 -0
  408. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +103 -0
  409. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  410. data/test/wsdl/soaptype/test_soaptype.rb +179 -0
  411. data/test/wsdl/test_emptycomplextype.rb +22 -0
  412. data/test/wsdl/test_fault.rb +51 -0
  413. data/test/wsdl/test_multiplefault.rb +42 -0
  414. data/test/xsd/codegen/test_classdef.rb +245 -0
  415. data/test/xsd/noencoding.xml +4 -0
  416. data/test/xsd/test_noencoding.rb +33 -0
  417. data/test/xsd/test_ns.rb +42 -0
  418. data/test/xsd/test_xmlschemaparser.rb +23 -0
  419. data/test/xsd/test_xsd.rb +1639 -0
  420. data/test/xsd/xmllang.xml +43 -0
  421. data/test/xsd/xmlschema.xml +12 -0
  422. data/test/xsd/xsd2ruby/expected_mysample.rb +66 -0
  423. data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +12 -0
  424. data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +52 -0
  425. data/test/xsd/xsd2ruby/section.xsd +49 -0
  426. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +91 -0
  427. metadata +489 -0
@@ -0,0 +1,21 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - XML Schema Datatype 1999 support
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'xsd/datatypes'
11
+
12
+
13
+ module XSD
14
+ Namespace.replace('http://www.w3.org/1999/XMLSchema')
15
+ InstanceNamespace.replace('http://www.w3.org/1999/XMLSchema-instance')
16
+ AnyTypeLiteral.replace('ur-type')
17
+ AnySimpleTypeLiteral.replace('ur-type')
18
+ NilLiteral.replace('null')
19
+ NilValue.replace('1')
20
+ DateTimeLiteral.replace('timeInstant')
21
+ end
@@ -0,0 +1,34 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - Charset handling with iconv.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'iconv'
11
+
12
+
13
+ module XSD
14
+
15
+
16
+ class IconvCharset
17
+ def self.safe_iconv(to, from, str)
18
+ iconv = Iconv.new(to, from)
19
+ out = ""
20
+ begin
21
+ out << iconv.iconv(str)
22
+ rescue Iconv::IllegalSequence => e
23
+ out << e.success
24
+ ch, str = e.failed.split(//, 2)
25
+ out << '?'
26
+ warn("Failed to convert #{ch}")
27
+ retry
28
+ end
29
+ return out
30
+ end
31
+ end
32
+
33
+
34
+ end
@@ -0,0 +1,69 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - XML Mapping for Ruby
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require "soap/parser"
11
+ require 'soap/encodingstyle/literalHandler'
12
+ require "soap/generator"
13
+ require "soap/mapping"
14
+ require "soap/mapping/wsdlliteralregistry"
15
+
16
+
17
+ module XSD
18
+
19
+
20
+ module Mapping
21
+ MappingRegistry = SOAP::Mapping::LiteralRegistry.new
22
+
23
+ def self.obj2xml(obj, elename = nil, io = nil)
24
+ Mapper.new(MappingRegistry).obj2xml(obj, elename, io)
25
+ end
26
+
27
+ def self.xml2obj(stream, klass = nil)
28
+ Mapper.new(MappingRegistry).xml2obj(stream, klass)
29
+ end
30
+
31
+ class Mapper
32
+ MAPPING_OPT = {
33
+ :default_encodingstyle => SOAP::LiteralNamespace,
34
+ :generate_explicit_type => false,
35
+ :root_type_hint => true
36
+ }.freeze
37
+
38
+ def initialize(registry)
39
+ @registry = registry
40
+ end
41
+
42
+ def obj2xml(obj, elename = nil, io = nil)
43
+ opt = MAPPING_OPT.dup
44
+ unless elename
45
+ if definition = @registry.elename_schema_definition_from_class(obj.class)
46
+ elename = definition.elename
47
+ opt[:root_type_hint] = false
48
+ end
49
+ end
50
+ elename = SOAP::Mapping.to_qname(elename) if elename
51
+ soap = SOAP::Mapping.obj2soap(obj, @registry, elename, opt)
52
+ if soap.elename.nil? or soap.elename == XSD::QName::EMPTY
53
+ soap.elename =
54
+ XSD::QName.new(nil, SOAP::Mapping.name2elename(obj.class.to_s))
55
+ end
56
+ generator = SOAP::Generator.new(opt)
57
+ generator.generate(soap, io)
58
+ end
59
+
60
+ def xml2obj(stream, klass = nil)
61
+ parser = SOAP::Parser.new(MAPPING_OPT)
62
+ soap = parser.parse(stream)
63
+ SOAP::Mapping.soap2obj(soap, @registry, klass)
64
+ end
65
+ end
66
+ end
67
+
68
+
69
+ end
@@ -0,0 +1,133 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - WSDL named element collection.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ module XSD
11
+
12
+
13
+ class NamedElements
14
+ include Enumerable
15
+
16
+ def initialize
17
+ @elements = []
18
+ @cache = {}
19
+ end
20
+
21
+ def dup
22
+ o = NamedElements.new
23
+ o.elements = @elements.dup
24
+ o
25
+ end
26
+
27
+ def freeze
28
+ super
29
+ @elements.freeze
30
+ self
31
+ end
32
+
33
+ def empty?
34
+ size == 0
35
+ end
36
+
37
+ def size
38
+ @elements.size
39
+ end
40
+
41
+ def [](idx)
42
+ if idx.is_a?(Numeric)
43
+ @elements[idx]
44
+ else
45
+ @cache[idx] ||= @elements.find { |item| item.name == idx }
46
+ end
47
+ end
48
+
49
+ def find_name(name)
50
+ @elements.find { |item| item.name.name == name }
51
+ end
52
+
53
+ def keys
54
+ collect { |element| element.name }
55
+ end
56
+
57
+ def each
58
+ @elements.each do |element|
59
+ yield(element)
60
+ end
61
+ end
62
+
63
+ def <<(rhs)
64
+ @elements << rhs
65
+ self
66
+ end
67
+
68
+ def delete(rhs)
69
+ rv = @elements.delete(rhs)
70
+ @cache.clear
71
+ rv
72
+ end
73
+
74
+ def +(rhs)
75
+ o = NamedElements.new
76
+ o.elements = @elements + rhs.elements
77
+ @cache.clear
78
+ o
79
+ end
80
+
81
+ def concat(rhs)
82
+ @elements.concat(rhs.elements)
83
+ @cache.clear
84
+ self
85
+ end
86
+
87
+ def uniq
88
+ o = NamedElements.new
89
+ o.elements = uniq_elements
90
+ o
91
+ end
92
+
93
+ def uniq!
94
+ @elements.replace(uniq_elements)
95
+ @cache.clear
96
+ end
97
+
98
+ def find_all
99
+ o = NamedElements.new
100
+ each do |ele|
101
+ o << ele if yield(ele)
102
+ end
103
+ o
104
+ end
105
+
106
+ Empty = NamedElements.new.freeze
107
+
108
+ protected
109
+
110
+ def elements=(rhs)
111
+ @elements = rhs
112
+ end
113
+
114
+ def elements
115
+ @elements
116
+ end
117
+
118
+ private
119
+
120
+ def uniq_elements
121
+ dict = {}
122
+ elements = []
123
+ @elements.each do |ele|
124
+ unless dict.key?(ele.name)
125
+ dict[ele.name] = ele
126
+ elements << ele
127
+ end
128
+ end
129
+ elements
130
+ end
131
+ end
132
+
133
+ end
data/lib/xsd/ns.rb ADDED
@@ -0,0 +1,183 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - XML Schema Namespace library
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'xsd/datatypes'
11
+
12
+
13
+ module XSD
14
+
15
+
16
+ class NS
17
+ Namespace = 'http://www.w3.org/XML/1998/namespace'
18
+
19
+ KNOWN_TAG = {
20
+ XSD::Namespace => 'xsd',
21
+ XSD::InstanceNamespace => 'xsi',
22
+ }
23
+
24
+ class Assigner
25
+ attr_reader :known_tag
26
+
27
+ def initialize(known_tag)
28
+ @known_tag = known_tag.dup
29
+ @count = 0
30
+ end
31
+
32
+ def assign(ns)
33
+ if @known_tag.key?(ns)
34
+ return @known_tag[ns]
35
+ end
36
+ @count += 1
37
+ "n#{@count}"
38
+ end
39
+ end
40
+
41
+ attr_reader :default_namespace
42
+
43
+ class FormatError < Error; end
44
+
45
+ public
46
+
47
+ def initialize(tag2ns = nil)
48
+ @tag2ns = tag2ns || ns_default
49
+ @ns2tag = @tag2ns.invert
50
+ @assigner = nil
51
+ @default_namespace = nil
52
+ end
53
+
54
+ def known_tag
55
+ @assigner ||= Assigner.new(default_known_tag)
56
+ @assigner.known_tag
57
+ end
58
+
59
+ def assign(ns, tag = nil)
60
+ if tag == ''
61
+ if ns.empty?
62
+ @default_namespace = nil
63
+ else
64
+ @default_namespace = ns
65
+ end
66
+ tag
67
+ else
68
+ @assigner ||= Assigner.new(default_known_tag)
69
+ tag ||= @assigner.assign(ns)
70
+ @ns2tag[ns] = tag
71
+ @tag2ns[tag] = ns
72
+ tag
73
+ end
74
+ end
75
+
76
+ def assigned?(ns)
77
+ @default_namespace == ns or @ns2tag.key?(ns)
78
+ end
79
+
80
+ def assigned_as_tagged?(ns)
81
+ @ns2tag.key?(ns)
82
+ end
83
+
84
+ def assigned_tag?(tag)
85
+ @tag2ns.key?(tag)
86
+ end
87
+
88
+ def clone_ns
89
+ cloned = self.class.new(@tag2ns.dup)
90
+ cloned.assigner = @assigner
91
+ cloned.assign(@default_namespace, '') if @default_namespace
92
+ cloned
93
+ end
94
+
95
+ def name(qname)
96
+ if qname.namespace == @default_namespace
97
+ qname.name
98
+ elsif tag = @ns2tag[qname.namespace]
99
+ "#{tag}:#{qname.name}"
100
+ else
101
+ raise FormatError.new("namespace: #{qname.namespace} not defined yet")
102
+ end
103
+ end
104
+
105
+ # no default namespace
106
+ def name_attr(qname)
107
+ if tag = @ns2tag[qname.namespace]
108
+ "#{tag}:#{qname.name}"
109
+ else
110
+ raise FormatError.new("namespace: #{qname.namespace} not defined yet")
111
+ end
112
+ end
113
+
114
+ def compare(ns, name, rhs)
115
+ if (ns == @default_namespace)
116
+ return true if (name == rhs)
117
+ end
118
+ @tag2ns.each do |assigned_tag, assigned_ns|
119
+ if assigned_ns == ns && "#{assigned_tag}:#{name}" == rhs
120
+ return true
121
+ end
122
+ end
123
+ false
124
+ end
125
+
126
+ # $1 and $2 are necessary.
127
+ ParseRegexp = Regexp.new('\A([^:]+)(?::(.+))?\z', nil, 'n')
128
+
129
+ def parse(str, local = false)
130
+ if ParseRegexp =~ str
131
+ if (name = $2) and (ns = @tag2ns[$1])
132
+ return XSD::QName.new(ns, name)
133
+ end
134
+ end
135
+ XSD::QName.new(local ? nil : @default_namespace, str)
136
+ end
137
+
138
+ # For local attribute key parsing
139
+ # <foo xmlns="urn:a" xmlns:n1="urn:a" bar="1" n1:baz="2" />
140
+ # =>
141
+ # {}bar, {urn:a}baz
142
+ def parse_local(elem)
143
+ ParseRegexp =~ elem
144
+ if $2
145
+ ns = @tag2ns[$1]
146
+ name = $2
147
+ if !ns
148
+ raise FormatError.new("unknown namespace qualifier: #{$1}")
149
+ end
150
+ elsif $1
151
+ ns = nil
152
+ name = $1
153
+ else
154
+ raise FormatError.new("illegal element format: #{elem}")
155
+ end
156
+ XSD::QName.new(ns, name)
157
+ end
158
+
159
+ def each_ns
160
+ @ns2tag.each do |ns, tag|
161
+ yield(ns, tag)
162
+ end
163
+ end
164
+
165
+ protected
166
+
167
+ def assigner=(assigner)
168
+ @assigner = assigner
169
+ end
170
+
171
+ private
172
+
173
+ def ns_default
174
+ {'xml' => Namespace}
175
+ end
176
+
177
+ def default_known_tag
178
+ KNOWN_TAG
179
+ end
180
+ end
181
+
182
+
183
+ end
data/lib/xsd/qname.rb ADDED
@@ -0,0 +1,80 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - XML QName definition.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ module XSD
11
+
12
+
13
+ class QName
14
+ attr_reader :namespace
15
+ attr_reader :name
16
+ attr_accessor :source
17
+
18
+ def initialize(namespace = nil, name = nil)
19
+ @namespace = namespace ? namespace.to_s : nil
20
+ @name = name ? name.to_s : nil
21
+ @source = nil
22
+ end
23
+
24
+ def dup_name(name)
25
+ XSD::QName.new(@namespace, name)
26
+ end
27
+
28
+ def dump(predefined_ns = nil)
29
+ ns = predefined_ns
30
+ ns ||= @namespace.nil? ? 'nil' : @namespace.dump
31
+ name = @name.nil? ? 'nil' : @name.dump
32
+ "XSD::QName.new(#{ns}, #{name})"
33
+ end
34
+
35
+ def match(rhs)
36
+ if rhs.namespace and (rhs.namespace != @namespace)
37
+ return false
38
+ end
39
+ if rhs.name and (rhs.name != @name)
40
+ return false
41
+ end
42
+ true
43
+ end
44
+
45
+ def ==(rhs)
46
+ !rhs.nil? and @namespace == rhs.namespace and @name == rhs.name
47
+ end
48
+
49
+ def ===(rhs)
50
+ (self == rhs)
51
+ end
52
+
53
+ def eql?(rhs)
54
+ (self == rhs)
55
+ end
56
+
57
+ def hash
58
+ @namespace.hash ^ @name.hash
59
+ end
60
+
61
+ def to_s
62
+ "{#{ namespace }}#{ name }"
63
+ end
64
+
65
+ def inspect
66
+ sprintf("#<%s:0x%x %s>", self.class.name, __id__,
67
+ "{#{ namespace }}#{ name }")
68
+ end
69
+
70
+ NormalizedNameRegexp = /^\{([^}]*)\}(.*)$/
71
+ def parse(str)
72
+ NormalizedNameRegexp =~ str
73
+ self.new($1, $2)
74
+ end
75
+
76
+ EMPTY = QName.new.freeze
77
+ end
78
+
79
+
80
+ end
@@ -0,0 +1,116 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - XMLParser XML parser library.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'xsd/xmlparser'
11
+ require 'xml/libxml'
12
+
13
+
14
+ module XSD
15
+ module XMLParser
16
+
17
+
18
+ class LibXMLParser < XSD::XMLParser::Parser
19
+ include XML::SaxParser::Callbacks
20
+
21
+ def do_parse(string_or_readable)
22
+ if string_or_readable.respond_to?(:read)
23
+ string = string_or_readable.read
24
+ else
25
+ string = string_or_readable
26
+ end
27
+ # XMLParser passes a String in utf-8.
28
+ @charset = 'utf-8'
29
+ @parser = XML::SaxParser.new
30
+ @parser.callbacks = self
31
+ @parser.string = string
32
+ @parser.parse
33
+ end
34
+
35
+ ENTITY_REF_MAP = {
36
+ 'lt' => '<',
37
+ 'gt' => '>',
38
+ 'amp' => '&',
39
+ 'quot' => '"',
40
+ 'apos' => '\''
41
+ }
42
+
43
+ #def on_internal_subset(name, external_id, system_id)
44
+ # nil
45
+ #end
46
+
47
+ #def on_is_standalone()
48
+ # nil
49
+ #end
50
+
51
+ #def on_has_internal_subset()
52
+ # nil
53
+ #end
54
+
55
+ #def on_has_external_subset()
56
+ # nil
57
+ #end
58
+
59
+ #def on_start_document()
60
+ # nil
61
+ #end
62
+
63
+ #def on_end_document()
64
+ # nil
65
+ #end
66
+
67
+ def on_start_element(name, attr_hash)
68
+ start_element(name, attr_hash)
69
+ end
70
+
71
+ def on_end_element(name)
72
+ end_element(name)
73
+ end
74
+
75
+ def on_reference(name)
76
+ characters(ENTITY_REF_MAP[name])
77
+ end
78
+
79
+ def on_characters(chars)
80
+ characters(chars)
81
+ end
82
+
83
+ #def on_processing_instruction(target, data)
84
+ # nil
85
+ #end
86
+
87
+ #def on_comment(msg)
88
+ # nil
89
+ #end
90
+
91
+ def on_parser_warning(msg)
92
+ warn(msg)
93
+ end
94
+
95
+ def on_parser_error(msg)
96
+ raise ParseError.new(msg)
97
+ end
98
+
99
+ def on_parser_fatal_error(msg)
100
+ raise ParseError.new(msg)
101
+ end
102
+
103
+ def on_cdata_block(cdata)
104
+ characters(cdata)
105
+ end
106
+
107
+ def on_external_subset(name, external_id, system_id)
108
+ nil
109
+ end
110
+
111
+ add_factory(self)
112
+ end
113
+
114
+
115
+ end
116
+ end