tomdz-soap4r 1.5.8.20111103171510

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.rb +14 -0
  12. data/lib/soap/filter/filterchain.rb +52 -0
  13. data/lib/soap/filter/handler.rb +32 -0
  14. data/lib/soap/filter/streamhandler.rb +30 -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.rb +13 -0
  22. data/lib/soap/mapping/encodedregistry.rb +539 -0
  23. data/lib/soap/mapping/factory.rb +389 -0
  24. data/lib/soap/mapping/literalregistry.rb +392 -0
  25. data/lib/soap/mapping/mapping.rb +577 -0
  26. data/lib/soap/mapping/registry.rb +296 -0
  27. data/lib/soap/mapping/rubytypeFactory.rb +446 -0
  28. data/lib/soap/mapping/schemadefinition.rb +171 -0
  29. data/lib/soap/mapping/typeMap.rb +107 -0
  30. data/lib/soap/mapping/wsdlencodedregistry.rb +212 -0
  31. data/lib/soap/mapping/wsdlliteralregistry.rb +249 -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 +302 -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.rb +13 -0
  144. data/lib/xsd/codegen/classdef.rb +209 -0
  145. data/lib/xsd/codegen/commentdef.rb +35 -0
  146. data/lib/xsd/codegen/gensupport.rb +277 -0
  147. data/lib/xsd/codegen/methoddef.rb +71 -0
  148. data/lib/xsd/codegen/moduledef.rb +209 -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.rb +77 -0
  157. data/lib/xsd/xmlparser/libxmlparser.rb +116 -0
  158. data/lib/xsd/xmlparser/parser.rb +101 -0
  159. data/lib/xsd/xmlparser/rexmlparser.rb +59 -0
  160. data/lib/xsd/xmlparser/xmlparser.rb +51 -0
  161. data/lib/xsd/xmlparser/xmlscanner.rb +150 -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 +490 -0
@@ -0,0 +1,13 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - Generating code 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/codegen/gensupport'
11
+ require 'xsd/codegen/moduledef'
12
+ require 'xsd/codegen/classdef'
13
+ require 'xsd/codegen/methoddef'
@@ -0,0 +1,209 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - Generating class definition code
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/codegen/gensupport'
11
+ require 'xsd/codegen/moduledef'
12
+ require 'xsd/codegen/methoddef'
13
+
14
+
15
+ module XSD
16
+ module CodeGen
17
+
18
+
19
+ class ClassDef < ModuleDef
20
+ include GenSupport
21
+
22
+ def initialize(name, baseclass = nil)
23
+ super(name)
24
+ @baseclass = baseclass
25
+ @classvar = []
26
+ @attrdef = []
27
+ end
28
+
29
+ def def_classvar(var, value)
30
+ var = var.sub(/\A@@/, "")
31
+ unless safevarname?(var)
32
+ raise ArgumentError.new("#{var} seems to be unsafe")
33
+ end
34
+ @classvar << [var, value]
35
+ end
36
+
37
+ def def_attr(attrname, writable = true, varname = nil)
38
+ unless safevarname?(varname || attrname)
39
+ raise ArgumentError.new("#{varname || attrname} seems to be unsafe")
40
+ end
41
+ @attrdef << [attrname, writable, varname]
42
+ end
43
+
44
+ def dump
45
+ buf = ""
46
+ unless @requirepath.empty?
47
+ buf << dump_requirepath
48
+ end
49
+ buf << dump_emptyline unless buf.empty?
50
+ package = @name.split(/::/)[0..-2]
51
+ buf << dump_package_def(package) unless package.empty?
52
+ buf << dump_comment if @comment
53
+ buf << dump_class_def
54
+ spacer = false
55
+ unless @classvar.empty?
56
+ spacer = true
57
+ buf << dump_classvar
58
+ end
59
+ unless @const.empty?
60
+ buf << dump_emptyline if spacer
61
+ spacer = true
62
+ buf << dump_const
63
+ end
64
+ unless @innermodule.empty?
65
+ buf << dump_emptyline # always add 1 empty line
66
+ spacer = true
67
+ buf << dump_innermodule
68
+ end
69
+ unless @code.empty?
70
+ buf << dump_emptyline if spacer
71
+ spacer = true
72
+ buf << dump_code
73
+ end
74
+ unless @attrdef.empty?
75
+ buf << dump_emptyline if spacer
76
+ spacer = true
77
+ buf << dump_attributes
78
+ end
79
+ unless @methoddef.empty?
80
+ buf << dump_emptyline if spacer
81
+ spacer = true
82
+ buf << dump_methods
83
+ end
84
+ buf << dump_class_def_end
85
+ buf << dump_package_def_end(package) unless package.empty?
86
+ buf.gsub(/^\s+$/, '')
87
+ end
88
+
89
+ private
90
+
91
+ def dump_class_def
92
+ name = @name.to_s.split(/::/)
93
+ if @baseclass
94
+ format("class #{name.last} < #{@baseclass}")
95
+ else
96
+ format("class #{name.last}")
97
+ end
98
+ end
99
+
100
+ def dump_class_def_end
101
+ str = format("end")
102
+ end
103
+
104
+ def dump_classvar
105
+ dump_static(
106
+ @classvar.collect { |var, value|
107
+ %Q(@@#{var.sub(/^@@/, "")} = #{dump_value(value)})
108
+ }.join("\n")
109
+ )
110
+ end
111
+
112
+ def dump_attributes
113
+ str = ""
114
+ @attrdef.each do |attrname, writable, varname|
115
+ varname ||= attrname
116
+ if attrname == varname
117
+ str << format(dump_accessor(attrname, writable), 2)
118
+ end
119
+ end
120
+ @attrdef.each do |attrname, writable, varname|
121
+ varname ||= attrname
122
+ if attrname != varname
123
+ str << "\n" unless str.empty?
124
+ str << format(dump_attribute(attrname, writable, varname), 2)
125
+ end
126
+ end
127
+ str
128
+ end
129
+
130
+ def dump_accessor(attrname, writable)
131
+ if writable
132
+ "attr_accessor :#{attrname}"
133
+ else
134
+ "attr_reader :#{attrname}"
135
+ end
136
+ end
137
+
138
+ def dump_attribute(attrname, writable, varname)
139
+ str = nil
140
+ mr = MethodDef.new(attrname)
141
+ mr.definition = "@#{varname}"
142
+ str = mr.dump
143
+ if writable
144
+ mw = MethodDef.new(attrname + "=", 'value')
145
+ mw.definition = "@#{varname} = value"
146
+ str << "\n" + mw.dump
147
+ end
148
+ str
149
+ end
150
+ end
151
+
152
+
153
+ end
154
+ end
155
+
156
+
157
+ if __FILE__ == $0
158
+ require 'xsd/codegen/classdef'
159
+ include XSD::CodeGen
160
+ c = ClassDef.new("Foo::Bar::HobbitName", String)
161
+ c.def_require("foo/bar")
162
+ c.comment = <<-EOD
163
+ foo
164
+ bar
165
+ baz
166
+ EOD
167
+ c.def_const("FOO", 1)
168
+ c.def_classvar("@@foo", "var".dump)
169
+ c.def_classvar("baz", "1".dump)
170
+ c.def_attr("Foo", true, "foo")
171
+ c.def_attr("bar")
172
+ c.def_attr("baz", true)
173
+ c.def_attr("Foo2", true, "foo2")
174
+ c.def_attr("foo3", false, "foo3")
175
+ c.def_method("foo") do
176
+ <<-EOD
177
+ foo.bar = 1
178
+ \tbaz.each do |ele|
179
+ \t ele
180
+ end
181
+ EOD
182
+ end
183
+ c.def_method("baz", "qux") do
184
+ <<-EOD
185
+ [1, 2, 3].each do |i|
186
+ p i
187
+ end
188
+ EOD
189
+ end
190
+
191
+ m = MethodDef.new("qux", "quxx", "quxxx") do
192
+ <<-EOD
193
+ p quxx + quxxx
194
+ EOD
195
+ end
196
+ m.comment = "hello world\n123"
197
+ c.add_method(m)
198
+ c.def_code <<-EOD
199
+ Foo.new
200
+ Bar.z
201
+ EOD
202
+ c.def_code <<-EOD
203
+ Foo.new
204
+ Bar.z
205
+ EOD
206
+ c.def_privatemethod("foo", "baz", "*arg", "&block")
207
+
208
+ puts c.dump
209
+ end
@@ -0,0 +1,35 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - Generating comment definition code
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/codegen/gensupport'
11
+
12
+
13
+ module XSD
14
+ module CodeGen
15
+
16
+
17
+ module CommentDef
18
+ include GenSupport
19
+
20
+ attr_accessor :comment
21
+
22
+ private
23
+
24
+ def dump_comment
25
+ if /\A#/ =~ @comment
26
+ format(@comment)
27
+ else
28
+ format(@comment).gsub(/^/, '# ')
29
+ end
30
+ end
31
+ end
32
+
33
+
34
+ end
35
+ end
@@ -0,0 +1,277 @@
1
+ # encoding: ASCII-8BIT
2
+ # XSD4R - Code generation 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
+ module XSD
11
+ module CodeGen
12
+
13
+ # from the file 'keywords' in 1.9.
14
+ KEYWORDS = {}
15
+ %w(
16
+ __LINE__
17
+ __FILE__
18
+ BEGIN
19
+ END
20
+ alias
21
+ and
22
+ begin
23
+ break
24
+ case
25
+ class
26
+ def
27
+ defined?
28
+ do
29
+ else
30
+ elsif
31
+ end
32
+ ensure
33
+ false
34
+ for
35
+ if
36
+ in
37
+ module
38
+ next
39
+ nil
40
+ not
41
+ or
42
+ redo
43
+ rescue
44
+ retry
45
+ return
46
+ self
47
+ super
48
+ then
49
+ true
50
+ undef
51
+ unless
52
+ until
53
+ when
54
+ while
55
+ yield
56
+ ).each { |k| KEYWORDS[k] = nil }
57
+
58
+ # from Module.constants from 1.8 & 1.9
59
+ CONSTANTS = {}
60
+ %w(
61
+ ARGF
62
+ ARGV
63
+ ArgumentError
64
+ Array
65
+ BasicObject
66
+ Bignum
67
+ Binding
68
+ Class
69
+ Comparable
70
+ Continuation
71
+ Data
72
+ Dir
73
+ ENV
74
+ EOFError
75
+ Enumerable
76
+ Errno
77
+ Exception
78
+ FALSE
79
+ FalseClass
80
+ File
81
+ FileTest
82
+ Fixnum
83
+ Float
84
+ FloatDomainError
85
+ GC
86
+ Hash
87
+ IO
88
+ IOError
89
+ IndexError
90
+ Integer
91
+ Interrupt
92
+ Kernel
93
+ KeyError
94
+ LoadError
95
+ LocalJumpError
96
+ Marshal
97
+ MatchData
98
+ MatchingData
99
+ Math
100
+ Method
101
+ Module
102
+ Mutex
103
+ NIL
104
+ NameError
105
+ NilClass
106
+ NoMemoryError
107
+ NoMethodError
108
+ NotImplementedError
109
+ Numeric
110
+ Object
111
+ ObjectSpace
112
+ PLATFORM
113
+ Precision
114
+ Proc
115
+ Process
116
+ RELEASE_DATE
117
+ RUBY_PATCHLEVEL
118
+ RUBY_PLATFORM
119
+ RUBY_RELEASE_DATE
120
+ RUBY_VERSION
121
+ Range
122
+ RangeError
123
+ Regexp
124
+ RegexpError
125
+ RuntimeError
126
+ STDERR
127
+ STDIN
128
+ STDOUT
129
+ ScriptError
130
+ SecurityError
131
+ Signal
132
+ SignalException
133
+ StandardError
134
+ String
135
+ Struct
136
+ Symbol
137
+ SyntaxError
138
+ SystemCallError
139
+ SystemExit
140
+ SystemStackError
141
+ TOPLEVEL_BINDING
142
+ TRUE
143
+ Thread
144
+ ThreadError
145
+ ThreadGroup
146
+ Time
147
+ TrueClass
148
+ TypeError
149
+ UnboundMethod
150
+ VERSION
151
+ VM
152
+ ZeroDivisionError
153
+ ).each { |c| CONSTANTS[c] = nil }
154
+
155
+
156
+ module GenSupport
157
+ def capitalize(target)
158
+ target.sub(/^([a-z])/) { $1.upcase }
159
+ end
160
+ module_function :capitalize
161
+
162
+ def uncapitalize(target)
163
+ target.sub(/^([A-Z])/) { $1.downcase }
164
+ end
165
+ module_function :uncapitalize
166
+
167
+ def safeconstname(name)
168
+ safename = name.scan(/[a-zA-Z0-9_]+/).collect { |ele|
169
+ GenSupport.capitalize(ele)
170
+ }.join
171
+ if /\A[A-Z]/ !~ safename or keyword?(safename) or constant?(safename)
172
+ "C_#{safename}"
173
+ else
174
+ safename
175
+ end
176
+ end
177
+ module_function :safeconstname
178
+
179
+ def safeconstname?(name)
180
+ /\A[A-Z][a-zA-Z0-9_]*\z/ =~ name and !keyword?(name)
181
+ end
182
+ module_function :safeconstname?
183
+
184
+ def safemethodname(name)
185
+ postfix = name[/[=?!]$/]
186
+ safename = name.scan(/[a-zA-Z0-9_]+/).join('_')
187
+ safename = uncapitalize(safename)
188
+ safename += postfix if postfix
189
+ if /\A[a-z]/ !~ safename or keyword?(safename)
190
+ "m_#{safename}"
191
+ else
192
+ safename
193
+ end
194
+ end
195
+ module_function :safemethodname
196
+
197
+ def safemethodname?(name)
198
+ /\A[a-zA-Z_][a-zA-Z0-9_]*[=!?]?\z/ =~ name and !keyword?(name)
199
+ end
200
+ module_function :safemethodname?
201
+
202
+ def safevarname(name)
203
+ safename = uncapitalize(name.scan(/[a-zA-Z0-9_]+/).join('_'))
204
+ if /\A[a-z]/ !~ safename or keyword?(safename)
205
+ "v_#{safename}"
206
+ else
207
+ safename
208
+ end
209
+ end
210
+ module_function :safevarname
211
+
212
+ def safevarname?(name)
213
+ /\A[a-z_][a-zA-Z0-9_]*\z/ =~ name and !keyword?(name)
214
+ end
215
+ module_function :safevarname?
216
+
217
+ def keyword?(word)
218
+ KEYWORDS.key?(word)
219
+ end
220
+ module_function :keyword?
221
+
222
+ def constant?(word)
223
+ CONSTANTS.key?(word)
224
+ end
225
+ module_function :constant?
226
+
227
+ def format(str, indent = nil)
228
+ str = trim_eol(str)
229
+ str = trim_indent(str)
230
+ if indent
231
+ str.to_s.gsub(/^/, " " * indent)
232
+ else
233
+ str
234
+ end
235
+ end
236
+
237
+ private
238
+
239
+ def trim_eol(str)
240
+ str = str.lines if str.respond_to?(:lines) # RubyJedi: compatible with Ruby 1.8.6 and above
241
+ str.collect { |line|
242
+ line.sub(/\r?\n\z/, "") + "\n"
243
+ }.join
244
+ end
245
+
246
+ def trim_indent(str)
247
+ indent = nil
248
+ str = str.lines if str.respond_to?(:lines) # RubyJedi: compatible with Ruby 1.8.6 and above
249
+ str = str.collect { |line| untab(line) }.join
250
+ str = str.lines if str.respond_to?(:lines) # RubyJedi: compatible with Ruby 1.8.6 and above
251
+ str.each do |line|
252
+ head = line.index(/\S/)
253
+ if !head.nil? and (indent.nil? or head < indent)
254
+ indent = head
255
+ end
256
+ end
257
+ return str unless indent
258
+ str.collect { |line|
259
+ line.sub(/^ {0,#{indent}}/, "")
260
+ }.join
261
+ end
262
+
263
+ def untab(line, ts = 8)
264
+ while pos = line.index(/\t/)
265
+ line = line.sub(/\t/, " " * (ts - (pos % ts)))
266
+ end
267
+ line
268
+ end
269
+
270
+ def dump_emptyline
271
+ "\n"
272
+ end
273
+ end
274
+
275
+
276
+ end
277
+ end