soap4r 1.5.5.20061022

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 (440) hide show
  1. data/bin/wsdl2ruby.rb +131 -0
  2. data/bin/xsd2ruby.rb +82 -0
  3. data/lib/soap/XMLSchemaDatatypes.rb +9 -0
  4. data/lib/soap/XMLSchemaDatatypes1999.rb +10 -0
  5. data/lib/soap/attachment.rb +108 -0
  6. data/lib/soap/baseData.rb +992 -0
  7. data/lib/soap/cgistub.rb +9 -0
  8. data/lib/soap/charset.rb +9 -0
  9. data/lib/soap/compat.rb +182 -0
  10. data/lib/soap/driver.rb +9 -0
  11. data/lib/soap/element.rb +266 -0
  12. data/lib/soap/encodingstyle/aspDotNetHandler.rb +207 -0
  13. data/lib/soap/encodingstyle/handler.rb +109 -0
  14. data/lib/soap/encodingstyle/literalHandler.rb +241 -0
  15. data/lib/soap/encodingstyle/soapHandler.rb +598 -0
  16. data/lib/soap/generator.rb +264 -0
  17. data/lib/soap/header/handler.rb +60 -0
  18. data/lib/soap/header/handlerset.rb +70 -0
  19. data/lib/soap/header/simplehandler.rb +44 -0
  20. data/lib/soap/httpconfigloader.rb +119 -0
  21. data/lib/soap/mapping.rb +12 -0
  22. data/lib/soap/mapping/encodedregistry.rb +531 -0
  23. data/lib/soap/mapping/factory.rb +372 -0
  24. data/lib/soap/mapping/literalregistry.rb +321 -0
  25. data/lib/soap/mapping/mapping.rb +561 -0
  26. data/lib/soap/mapping/registry.rb +258 -0
  27. data/lib/soap/mapping/rubytypeFactory.rb +475 -0
  28. data/lib/soap/mapping/typeMap.rb +82 -0
  29. data/lib/soap/mapping/wsdlencodedregistry.rb +253 -0
  30. data/lib/soap/mapping/wsdlliteralregistry.rb +246 -0
  31. data/lib/soap/mappingRegistry.rb +9 -0
  32. data/lib/soap/marshal.rb +59 -0
  33. data/lib/soap/mimemessage.rb +241 -0
  34. data/lib/soap/namespace.rb +9 -0
  35. data/lib/soap/netHttpClient.rb +204 -0
  36. data/lib/soap/parser.rb +251 -0
  37. data/lib/soap/processor.rb +66 -0
  38. data/lib/soap/property.rb +333 -0
  39. data/lib/soap/proxy.rb +14 -0
  40. data/lib/soap/qname.rb +9 -0
  41. data/lib/soap/rpc/cgistub.rb +214 -0
  42. data/lib/soap/rpc/driver.rb +245 -0
  43. data/lib/soap/rpc/element.rb +330 -0
  44. data/lib/soap/rpc/httpserver.rb +143 -0
  45. data/lib/soap/rpc/proxy.rb +563 -0
  46. data/lib/soap/rpc/router.rb +602 -0
  47. data/lib/soap/rpc/rpc.rb +25 -0
  48. data/lib/soap/rpc/soaplet.rb +162 -0
  49. data/lib/soap/rpc/standaloneServer.rb +43 -0
  50. data/lib/soap/rpcRouter.rb +9 -0
  51. data/lib/soap/rpcUtils.rb +9 -0
  52. data/lib/soap/server.rb +9 -0
  53. data/lib/soap/soap.rb +150 -0
  54. data/lib/soap/standaloneServer.rb +9 -0
  55. data/lib/soap/streamHandler.rb +258 -0
  56. data/lib/soap/wsdlDriver.rb +580 -0
  57. data/lib/wsdl/binding.rb +65 -0
  58. data/lib/wsdl/data.rb +64 -0
  59. data/lib/wsdl/definitions.rb +250 -0
  60. data/lib/wsdl/documentation.rb +32 -0
  61. data/lib/wsdl/import.rb +80 -0
  62. data/lib/wsdl/importer.rb +38 -0
  63. data/lib/wsdl/info.rb +39 -0
  64. data/lib/wsdl/message.rb +54 -0
  65. data/lib/wsdl/operation.rb +175 -0
  66. data/lib/wsdl/operationBinding.rb +116 -0
  67. data/lib/wsdl/param.rb +85 -0
  68. data/lib/wsdl/parser.rb +163 -0
  69. data/lib/wsdl/part.rb +52 -0
  70. data/lib/wsdl/port.rb +84 -0
  71. data/lib/wsdl/portType.rb +75 -0
  72. data/lib/wsdl/service.rb +61 -0
  73. data/lib/wsdl/soap/address.rb +40 -0
  74. data/lib/wsdl/soap/binding.rb +49 -0
  75. data/lib/wsdl/soap/body.rb +56 -0
  76. data/lib/wsdl/soap/cgiStubCreator.rb +88 -0
  77. data/lib/wsdl/soap/classDefCreator.rb +340 -0
  78. data/lib/wsdl/soap/classDefCreatorSupport.rb +131 -0
  79. data/lib/wsdl/soap/clientSkeltonCreator.rb +93 -0
  80. data/lib/wsdl/soap/complexType.rb +166 -0
  81. data/lib/wsdl/soap/data.rb +42 -0
  82. data/lib/wsdl/soap/definitions.rb +151 -0
  83. data/lib/wsdl/soap/driverCreator.rb +110 -0
  84. data/lib/wsdl/soap/element.rb +28 -0
  85. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +117 -0
  86. data/lib/wsdl/soap/fault.rb +56 -0
  87. data/lib/wsdl/soap/header.rb +86 -0
  88. data/lib/wsdl/soap/headerfault.rb +56 -0
  89. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +188 -0
  90. data/lib/wsdl/soap/mappingRegistryCreator.rb +53 -0
  91. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +233 -0
  92. data/lib/wsdl/soap/methodDefCreator.rb +253 -0
  93. data/lib/wsdl/soap/operation.rb +122 -0
  94. data/lib/wsdl/soap/servantSkeltonCreator.rb +78 -0
  95. data/lib/wsdl/soap/standaloneServerStubCreator.rb +98 -0
  96. data/lib/wsdl/soap/wsdl2ruby.rb +196 -0
  97. data/lib/wsdl/types.rb +44 -0
  98. data/lib/wsdl/wsdl.rb +23 -0
  99. data/lib/wsdl/xmlSchema/all.rb +24 -0
  100. data/lib/wsdl/xmlSchema/annotation.rb +34 -0
  101. data/lib/wsdl/xmlSchema/any.rb +56 -0
  102. data/lib/wsdl/xmlSchema/attribute.rb +123 -0
  103. data/lib/wsdl/xmlSchema/choice.rb +55 -0
  104. data/lib/wsdl/xmlSchema/complexContent.rb +88 -0
  105. data/lib/wsdl/xmlSchema/complexExtension.rb +104 -0
  106. data/lib/wsdl/xmlSchema/complexRestriction.rb +92 -0
  107. data/lib/wsdl/xmlSchema/complexType.rb +152 -0
  108. data/lib/wsdl/xmlSchema/content.rb +74 -0
  109. data/lib/wsdl/xmlSchema/data.rb +90 -0
  110. data/lib/wsdl/xmlSchema/element.rb +158 -0
  111. data/lib/wsdl/xmlSchema/enumeration.rb +36 -0
  112. data/lib/wsdl/xmlSchema/import.rb +65 -0
  113. data/lib/wsdl/xmlSchema/importer.rb +87 -0
  114. data/lib/wsdl/xmlSchema/include.rb +54 -0
  115. data/lib/wsdl/xmlSchema/length.rb +35 -0
  116. data/lib/wsdl/xmlSchema/list.rb +48 -0
  117. data/lib/wsdl/xmlSchema/maxlength.rb +35 -0
  118. data/lib/wsdl/xmlSchema/minlength.rb +35 -0
  119. data/lib/wsdl/xmlSchema/parser.rb +166 -0
  120. data/lib/wsdl/xmlSchema/pattern.rb +36 -0
  121. data/lib/wsdl/xmlSchema/schema.rb +144 -0
  122. data/lib/wsdl/xmlSchema/sequence.rb +51 -0
  123. data/lib/wsdl/xmlSchema/simpleContent.rb +69 -0
  124. data/lib/wsdl/xmlSchema/simpleExtension.rb +54 -0
  125. data/lib/wsdl/xmlSchema/simpleRestriction.rb +91 -0
  126. data/lib/wsdl/xmlSchema/simpleType.rb +80 -0
  127. data/lib/wsdl/xmlSchema/unique.rb +34 -0
  128. data/lib/wsdl/xmlSchema/xsd2ruby.rb +107 -0
  129. data/lib/xsd/charset.rb +187 -0
  130. data/lib/xsd/codegen.rb +12 -0
  131. data/lib/xsd/codegen/classdef.rb +203 -0
  132. data/lib/xsd/codegen/commentdef.rb +34 -0
  133. data/lib/xsd/codegen/gensupport.rb +168 -0
  134. data/lib/xsd/codegen/methoddef.rb +70 -0
  135. data/lib/xsd/codegen/moduledef.rb +191 -0
  136. data/lib/xsd/datatypes.rb +1282 -0
  137. data/lib/xsd/datatypes1999.rb +20 -0
  138. data/lib/xsd/iconvcharset.rb +33 -0
  139. data/lib/xsd/mapping.rb +42 -0
  140. data/lib/xsd/namedelements.rb +124 -0
  141. data/lib/xsd/ns.rb +146 -0
  142. data/lib/xsd/qname.rb +78 -0
  143. data/lib/xsd/xmlparser.rb +61 -0
  144. data/lib/xsd/xmlparser/parser.rb +96 -0
  145. data/lib/xsd/xmlparser/rexmlparser.rb +54 -0
  146. data/lib/xsd/xmlparser/xmlparser.rb +50 -0
  147. data/lib/xsd/xmlparser/xmlscanner.rb +147 -0
  148. data/test/16runner.rb +68 -0
  149. data/test/interopR2/README.txt +2 -0
  150. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  151. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  152. data/test/interopR2/base.rb +288 -0
  153. data/test/interopR2/client.NetRemoting.rb +17 -0
  154. data/test/interopR2/client.NetRemoting.rb.result +3410 -0
  155. data/test/interopR2/client.NetRemoting_Base.log +6279 -0
  156. data/test/interopR2/client.NetRemoting_GroupB.log +1188 -0
  157. data/test/interopR2/client.rb +1228 -0
  158. data/test/interopR2/client4S4C.rb +15 -0
  159. data/test/interopR2/client4S4C2.rb +14 -0
  160. data/test/interopR2/client4S4C2_Base.log +4955 -0
  161. data/test/interopR2/client4S4C2_GroupB.log +1000 -0
  162. data/test/interopR2/client4S4C_Base.log +4635 -0
  163. data/test/interopR2/client4S4C_GroupB.log +900 -0
  164. data/test/interopR2/clientASP.NET.rb +17 -0
  165. data/test/interopR2/clientASP.NET_Base.log +5468 -0
  166. data/test/interopR2/clientASP.NET_GroupB.log +977 -0
  167. data/test/interopR2/clientApacheAxis.rb +16 -0
  168. data/test/interopR2/clientApacheAxis_Base.log +3171 -0
  169. data/test/interopR2/clientApacheAxis_GroupB.log +498 -0
  170. data/test/interopR2/clientApacheSOAP.rb +17 -0
  171. data/test/interopR2/clientApacheSOAP_Base.log +3171 -0
  172. data/test/interopR2/clientBEAWebLogic.rb +17 -0
  173. data/test/interopR2/clientBEAWebLogic_Base.log +3171 -0
  174. data/test/interopR2/clientBEAWebLogic_GroupB.log +498 -0
  175. data/test/interopR2/clientBase.rb +1970 -0
  176. data/test/interopR2/clientCapeConnect.rb +18 -0
  177. data/test/interopR2/clientCapeConnect_Base.log +2126 -0
  178. data/test/interopR2/clientDelphi.rb +19 -0
  179. data/test/interopR2/clientDelphi_Base.log +0 -0
  180. data/test/interopR2/clientEasySoap.rb +14 -0
  181. data/test/interopR2/clientEasySoap_Base.log +6187 -0
  182. data/test/interopR2/clientEasySoap_GroupB.log +1076 -0
  183. data/test/interopR2/clientFrontier.rb +25 -0
  184. data/test/interopR2/clientFrontier_Base.log +5188 -0
  185. data/test/interopR2/clientGLUE.rb +32 -0
  186. data/test/interopR2/clientHP.rb +13 -0
  187. data/test/interopR2/clientHP_Base.log +3171 -0
  188. data/test/interopR2/clientHP_GroupB.log +498 -0
  189. data/test/interopR2/clientJAX-RPC.rb +19 -0
  190. data/test/interopR2/clientJSOAP.rb +14 -0
  191. data/test/interopR2/clientJSOAP_Base.log +4465 -0
  192. data/test/interopR2/clientJSOAP_GroupB.log +824 -0
  193. data/test/interopR2/clientKafkaXSLT.rb +15 -0
  194. data/test/interopR2/clientKafkaXSLT_Base.log +10299 -0
  195. data/test/interopR2/clientKafkaXSLT_GroupB.log +1739 -0
  196. data/test/interopR2/clientMSSOAPToolkit2.0.rb +17 -0
  197. data/test/interopR2/clientMSSOAPToolkit2.0_Base.log +4805 -0
  198. data/test/interopR2/clientMSSOAPToolkit2.0_GroupB.log +871 -0
  199. data/test/interopR2/clientMSSOAPToolkit3.0.rb +17 -0
  200. data/test/interopR2/clientMSSOAPToolkit3.0_Base.log +5076 -0
  201. data/test/interopR2/clientMSSOAPToolkit3.0_GroupB.log +908 -0
  202. data/test/interopR2/clientNuSOAP.rb +19 -0
  203. data/test/interopR2/clientNuSOAP_Base.log +5076 -0
  204. data/test/interopR2/clientNuSOAP_GroupB.log +958 -0
  205. data/test/interopR2/clientNuWave.rb +15 -0
  206. data/test/interopR2/clientNuWave_Base.log +2019 -0
  207. data/test/interopR2/clientOpenLink.rb +15 -0
  208. data/test/interopR2/clientOpenLink_Base.log +6171 -0
  209. data/test/interopR2/clientOpenLink_GroupB.log +1094 -0
  210. data/test/interopR2/clientOracle.rb +15 -0
  211. data/test/interopR2/clientOracle_Base.log +5594 -0
  212. data/test/interopR2/clientPEAR.rb +18 -0
  213. data/test/interopR2/clientPEAR_Base.log +6261 -0
  214. data/test/interopR2/clientPEAR_GroupB.log +1106 -0
  215. data/test/interopR2/clientPhalanx.rb +18 -0
  216. data/test/interopR2/clientPhalanx_Base.log +41036 -0
  217. data/test/interopR2/clientPhalanx_GroupB.log +6519 -0
  218. data/test/interopR2/clientSIMACE.rb +18 -0
  219. data/test/interopR2/clientSIMACE_Base.log +6171 -0
  220. data/test/interopR2/clientSIMACE_GroupB.log +1093 -0
  221. data/test/interopR2/clientSOAP4R.rb +18 -0
  222. data/test/interopR2/clientSOAP4R.rb.result +3409 -0
  223. data/test/interopR2/clientSOAP4R_Base.log +6366 -0
  224. data/test/interopR2/clientSOAP4R_GroupB.log +1112 -0
  225. data/test/interopR2/clientSOAP__Lite.rb +14 -0
  226. data/test/interopR2/clientSQLData.rb +18 -0
  227. data/test/interopR2/clientSQLData_Base.log +4857 -0
  228. data/test/interopR2/clientSQLData_GroupB.log +770 -0
  229. data/test/interopR2/clientSilverStream.rb +17 -0
  230. data/test/interopR2/clientSilverStream_Base.log +3171 -0
  231. data/test/interopR2/clientSpray2001.rb +17 -0
  232. data/test/interopR2/clientSpray2001_Base.log +8187 -0
  233. data/test/interopR2/clientSpray2001_GroupB.log +1408 -0
  234. data/test/interopR2/clientSun.rb +19 -0
  235. data/test/interopR2/clientSun_Base.log +4641 -0
  236. data/test/interopR2/clientSun_GroupB.log +856 -0
  237. data/test/interopR2/clientVWOpentalkSoap.rb +19 -0
  238. data/test/interopR2/clientVWOpentalkSoap_Base.log +5402 -0
  239. data/test/interopR2/clientVWOpentalkSoap_GroupB.log +972 -0
  240. data/test/interopR2/clientWASP.rb +19 -0
  241. data/test/interopR2/clientWASPC.rb +18 -0
  242. data/test/interopR2/clientWASPC_Base.log +4187 -0
  243. data/test/interopR2/clientWASPC_GroupB.log +763 -0
  244. data/test/interopR2/clientWASP_Base.log +5414 -0
  245. data/test/interopR2/clientWASP_GroupB.log +970 -0
  246. data/test/interopR2/clientWebMethods.rb +15 -0
  247. data/test/interopR2/clientWebMethods_Base.log +3075 -0
  248. data/test/interopR2/clientWebMethods_GroupB.log +483 -0
  249. data/test/interopR2/clientWhiteMesa.rb +28 -0
  250. data/test/interopR2/clientWhiteMesa_Base.log +4359 -0
  251. data/test/interopR2/clientWhiteMesa_GroupB.log +808 -0
  252. data/test/interopR2/clientWingfoot.rb +15 -0
  253. data/test/interopR2/clientWingfoot_Base.log +4445 -0
  254. data/test/interopR2/clientWingfoot_GroupB.log +848 -0
  255. data/test/interopR2/clientXMLBus.rb +19 -0
  256. data/test/interopR2/clientXMLBus_Base.log +3075 -0
  257. data/test/interopR2/clientXMLBus_GroupB.log +483 -0
  258. data/test/interopR2/clientXMLRPC-EPI.rb +17 -0
  259. data/test/interopR2/clientXSOAP.rb +14 -0
  260. data/test/interopR2/clientXSOAP_Base.log +4445 -0
  261. data/test/interopR2/clientZSI.rb +19 -0
  262. data/test/interopR2/clienteSOAP.rb +18 -0
  263. data/test/interopR2/clienteSOAP_Base.log +8728 -0
  264. data/test/interopR2/clientgSOAP.rb +18 -0
  265. data/test/interopR2/clientgSOAP_Base.log +4689 -0
  266. data/test/interopR2/clientgSOAP_GroupB.log +1014 -0
  267. data/test/interopR2/clientkSOAP.rb +17 -0
  268. data/test/interopR2/clientkSOAP_Base.log +5625 -0
  269. data/test/interopR2/iSimonReg.rb +112 -0
  270. data/test/interopR2/interopResultBase.rb +114 -0
  271. data/test/interopR2/interopService.rb +247 -0
  272. data/test/interopR2/result_client.NetRemoting.txt +4593 -0
  273. data/test/interopR2/rwikiInteropService.rb +105 -0
  274. data/test/interopR2/server.cgi +270 -0
  275. data/test/interopR2/server.rb +274 -0
  276. data/test/interopR2/simonReg.rb +123 -0
  277. data/test/interopR2/test.sh +49 -0
  278. data/test/interopR4/client.rb +112 -0
  279. data/test/runner.rb +9 -0
  280. data/test/sm11/classDef.rb +156 -0
  281. data/test/sm11/client.rb +542 -0
  282. data/test/sm11/driver.rb +183 -0
  283. data/test/sm11/servant.rb +1067 -0
  284. data/test/sm11/server.rb +25 -0
  285. data/test/soap/asp.net/hello.wsdl +96 -0
  286. data/test/soap/asp.net/test_aspdotnet.rb +112 -0
  287. data/test/soap/calc/calc.rb +17 -0
  288. data/test/soap/calc/calc2.rb +29 -0
  289. data/test/soap/calc/server.cgi +13 -0
  290. data/test/soap/calc/server.rb +17 -0
  291. data/test/soap/calc/server2.rb +20 -0
  292. data/test/soap/calc/test_calc.rb +49 -0
  293. data/test/soap/calc/test_calc2.rb +53 -0
  294. data/test/soap/calc/test_calc_cgi.rb +69 -0
  295. data/test/soap/fault/test_customfault.rb +58 -0
  296. data/test/soap/header/server.cgi +119 -0
  297. data/test/soap/header/test_authheader.rb +240 -0
  298. data/test/soap/header/test_authheader_cgi.rb +121 -0
  299. data/test/soap/header/test_simplehandler.rb +116 -0
  300. data/test/soap/helloworld/hw_s.rb +16 -0
  301. data/test/soap/helloworld/test_helloworld.rb +41 -0
  302. data/test/soap/literalArrayMapping/amazonEc.rb +4778 -0
  303. data/test/soap/literalArrayMapping/amazonEcDriver.rb +172 -0
  304. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  305. data/test/soap/literalArrayMapping/test_definedarray.rb +36 -0
  306. data/test/soap/marshal/marshaltestlib.rb +494 -0
  307. data/test/soap/marshal/test_digraph.rb +56 -0
  308. data/test/soap/marshal/test_marshal.rb +26 -0
  309. data/test/soap/marshal/test_struct.rb +47 -0
  310. data/test/soap/ssl/README +1 -0
  311. data/test/soap/ssl/ca.cert +23 -0
  312. data/test/soap/ssl/client.cert +19 -0
  313. data/test/soap/ssl/client.key +15 -0
  314. data/test/soap/ssl/server.cert +19 -0
  315. data/test/soap/ssl/server.key +15 -0
  316. data/test/soap/ssl/sslsvr.rb +57 -0
  317. data/test/soap/ssl/subca.cert +21 -0
  318. data/test/soap/ssl/test_ssl.rb +245 -0
  319. data/test/soap/struct/test_struct.rb +77 -0
  320. data/test/soap/styleuse/client.rb +20 -0
  321. data/test/soap/styleuse/server.rb +86 -0
  322. data/test/soap/swa/test_file.rb +73 -0
  323. data/test/soap/test_basetype.rb +976 -0
  324. data/test/soap/test_custommap.rb +108 -0
  325. data/test/soap/test_empty.rb +79 -0
  326. data/test/soap/test_envelopenamespace.rb +92 -0
  327. data/test/soap/test_httpconfigloader.rb +39 -0
  328. data/test/soap/test_mapping.rb +59 -0
  329. data/test/soap/test_no_indent.rb +86 -0
  330. data/test/soap/test_property.rb +424 -0
  331. data/test/soap/test_response_as_xml.rb +95 -0
  332. data/test/soap/test_soapelement.rb +120 -0
  333. data/test/soap/test_streamhandler.rb +262 -0
  334. data/test/soap/test_styleuse.rb +333 -0
  335. data/test/soap/wsdlDriver/README.txt +2 -0
  336. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  337. data/test/soap/wsdlDriver/document.wsdl +54 -0
  338. data/test/soap/wsdlDriver/echo_version.rb +29 -0
  339. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  340. data/test/soap/wsdlDriver/test_calc.rb +100 -0
  341. data/test/soap/wsdlDriver/test_document.rb +78 -0
  342. data/test/soap/wsdlDriver/test_simpletype.rb +87 -0
  343. data/test/wsdl/abstract/abstract.wsdl +97 -0
  344. data/test/wsdl/abstract/test_abstract.rb +130 -0
  345. data/test/wsdl/any/any.wsdl +51 -0
  346. data/test/wsdl/any/expectedDriver.rb +46 -0
  347. data/test/wsdl/any/expectedEcho.rb +18 -0
  348. data/test/wsdl/any/expectedService.rb +42 -0
  349. data/test/wsdl/any/test_any.rb +193 -0
  350. data/test/wsdl/axisArray/axisArray.wsdl +60 -0
  351. data/test/wsdl/axisArray/itemList.rb +14 -0
  352. data/test/wsdl/axisArray/test_axisarray.rb +69 -0
  353. data/test/wsdl/choice/choice.wsdl +91 -0
  354. data/test/wsdl/choice/test_choice.rb +134 -0
  355. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  356. data/test/wsdl/complexcontent/test_echo.rb +101 -0
  357. data/test/wsdl/datetime/DatetimeService.rb +44 -0
  358. data/test/wsdl/datetime/datetime.rb +0 -0
  359. data/test/wsdl/datetime/datetime.wsdl +45 -0
  360. data/test/wsdl/datetime/datetimeServant.rb +21 -0
  361. data/test/wsdl/datetime/test_datetime.rb +82 -0
  362. data/test/wsdl/document/array/double.wsdl +72 -0
  363. data/test/wsdl/document/array/test_array.rb +117 -0
  364. data/test/wsdl/document/document.wsdl +74 -0
  365. data/test/wsdl/document/number.wsdl +54 -0
  366. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  367. data/test/wsdl/document/test_nosoapaction.rb +109 -0
  368. data/test/wsdl/document/test_number.rb +99 -0
  369. data/test/wsdl/document/test_rpc.rb +211 -0
  370. data/test/wsdl/emptycomplextype.wsdl +31 -0
  371. data/test/wsdl/list/list.wsdl +93 -0
  372. data/test/wsdl/list/test_list.rb +134 -0
  373. data/test/wsdl/map/map.wsdl +92 -0
  374. data/test/wsdl/map/map.xml +43 -0
  375. data/test/wsdl/map/test_map.rb +99 -0
  376. data/test/wsdl/marshal/person.wsdl +21 -0
  377. data/test/wsdl/marshal/person_org.rb +18 -0
  378. data/test/wsdl/marshal/test_wsdlmarshal.rb +79 -0
  379. data/test/wsdl/multiplefault.wsdl +68 -0
  380. data/test/wsdl/overload/overload.wsdl +80 -0
  381. data/test/wsdl/overload/test_overload.rb +118 -0
  382. data/test/wsdl/qualified/lp.wsdl +47 -0
  383. data/test/wsdl/qualified/lp.xsd +26 -0
  384. data/test/wsdl/qualified/np.wsdl +51 -0
  385. data/test/wsdl/qualified/test_qualified.rb +145 -0
  386. data/test/wsdl/qualified/test_unqualified.rb +159 -0
  387. data/test/wsdl/raa/RAA.rb +120 -0
  388. data/test/wsdl/raa/RAAServant.rb +107 -0
  389. data/test/wsdl/raa/RAAService.rb +120 -0
  390. data/test/wsdl/raa/README.txt +8 -0
  391. data/test/wsdl/raa/raa.wsdl +264 -0
  392. data/test/wsdl/raa/server.rb +103 -0
  393. data/test/wsdl/raa/test_raa.rb +91 -0
  394. data/test/wsdl/ref/expectedProduct.rb +158 -0
  395. data/test/wsdl/ref/product.wsdl +147 -0
  396. data/test/wsdl/ref/test_ref.rb +289 -0
  397. data/test/wsdl/rpc/rpc.wsdl +83 -0
  398. data/test/wsdl/rpc/test-rpc-lit.wsdl +364 -0
  399. data/test/wsdl/rpc/test_rpc.rb +173 -0
  400. data/test/wsdl/rpc/test_rpc_lit.rb +407 -0
  401. data/test/wsdl/simplecontent/simplecontent.wsdl +83 -0
  402. data/test/wsdl/simplecontent/test_simplecontent.rb +116 -0
  403. data/test/wsdl/simpletype/rpc/expectedClient.rb +34 -0
  404. data/test/wsdl/simpletype/rpc/expectedDriver.rb +55 -0
  405. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +19 -0
  406. data/test/wsdl/simpletype/rpc/expectedServant.rb +32 -0
  407. data/test/wsdl/simpletype/rpc/expectedService.rb +51 -0
  408. data/test/wsdl/simpletype/rpc/rpc.wsdl +80 -0
  409. data/test/wsdl/simpletype/rpc/test_rpc.rb +62 -0
  410. data/test/wsdl/simpletype/simpletype.wsdl +95 -0
  411. data/test/wsdl/simpletype/test_simpletype.rb +99 -0
  412. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  413. data/test/wsdl/soap/test_soapbodyparts.rb +79 -0
  414. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +19 -0
  415. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +34 -0
  416. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +55 -0
  417. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +32 -0
  418. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +44 -0
  419. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +51 -0
  420. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  421. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +31 -0
  422. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  423. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +54 -0
  424. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  425. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +96 -0
  426. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +79 -0
  427. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  428. data/test/wsdl/soaptype/test_soaptype.rb +160 -0
  429. data/test/wsdl/test_emptycomplextype.rb +21 -0
  430. data/test/wsdl/test_fault.rb +50 -0
  431. data/test/wsdl/test_multiplefault.rb +39 -0
  432. data/test/xsd/codegen/test_classdef.rb +214 -0
  433. data/test/xsd/noencoding.xml +4 -0
  434. data/test/xsd/test_noencoding.rb +32 -0
  435. data/test/xsd/test_ns.rb +20 -0
  436. data/test/xsd/test_xmlschemaparser.rb +22 -0
  437. data/test/xsd/test_xsd.rb +1523 -0
  438. data/test/xsd/xmllang.xml +43 -0
  439. data/test/xsd/xmlschema.xml +12 -0
  440. metadata +539 -0
@@ -0,0 +1,188 @@
1
+ # WSDL4R - Creating LiteralMappingRegistry code from WSDL.
2
+ # Copyright (C) 2006 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'wsdl/info'
10
+ require 'wsdl/soap/mappingRegistryCreatorSupport'
11
+
12
+
13
+ module WSDL
14
+ module SOAP
15
+
16
+
17
+ class LiteralMappingRegistryCreator
18
+ include MappingRegistryCreatorSupport
19
+
20
+ def initialize(definitions, modulepath)
21
+ @definitions = definitions
22
+ @modulepath = modulepath
23
+ @elements = definitions.collect_elements
24
+ @elements.uniq!
25
+ @attributes = definitions.collect_attributes
26
+ @attributes.uniq!
27
+ @simpletypes = definitions.collect_simpletypes
28
+ @simpletypes.uniq!
29
+ @complextypes = definitions.collect_complextypes
30
+ @complextypes.uniq!
31
+ @varname = nil
32
+ end
33
+
34
+ def dump(varname)
35
+ @varname = varname
36
+ result = ''
37
+ str = dump_element
38
+ unless str.empty?
39
+ result << "\n" unless result.empty?
40
+ result << str
41
+ end
42
+ str = dump_attribute
43
+ unless str.empty?
44
+ result << "\n" unless result.empty?
45
+ result << str
46
+ end
47
+ str = dump_complextype
48
+ unless str.empty?
49
+ result << "\n" unless result.empty?
50
+ result << str
51
+ end
52
+ str = dump_simpletype
53
+ unless str.empty?
54
+ result << "\n" unless result.empty?
55
+ result << str
56
+ end
57
+ result
58
+ end
59
+
60
+ private
61
+
62
+ def dump_element
63
+ @elements.collect { |ele|
64
+ if ele.local_complextype
65
+ qualified = (ele.elementform == 'qualified')
66
+ dump_complextypedef(ele.name, ele.local_complextype, qualified)
67
+ elsif ele.local_simpletype
68
+ dump_simpletypedef(ele.name, ele.local_simpletype)
69
+ else
70
+ nil
71
+ end
72
+ }.compact.join("\n")
73
+ end
74
+
75
+ def dump_attribute
76
+ @attributes.collect { |attr|
77
+ if attr.local_simpletype
78
+ dump_simpletypedef(attr.name, attr.local_simpletype)
79
+ end
80
+ }.compact.join("\n")
81
+ end
82
+
83
+ def dump_simpletype
84
+ @simpletypes.collect { |type|
85
+ dump_simpletypedef(type.name, type)
86
+ }.compact.join("\n")
87
+ end
88
+
89
+ def dump_complextype
90
+ @complextypes.collect { |type|
91
+ dump_complextypedef(type.name, type) unless type.abstract
92
+ }.compact.join("\n")
93
+ end
94
+
95
+ def dump_complextypedef(qname, typedef, qualified = false)
96
+ case typedef.compoundtype
97
+ when :TYPE_STRUCT, :TYPE_EMPTY
98
+ dump_struct_typemap(qname, typedef, qualified)
99
+ when :TYPE_ARRAY
100
+ dump_array_typemap(qname, typedef)
101
+ when :TYPE_SIMPLE
102
+ dump_simple_typemap(qname, typedef)
103
+ when :TYPE_MAP
104
+ # mapped as a general Hash
105
+ nil
106
+ else
107
+ raise RuntimeError.new(
108
+ "unknown kind of complexContent: #{typedef.compoundtype}")
109
+ end
110
+ end
111
+
112
+ def dump_struct_typemap(qname, typedef, qualified = false)
113
+ var = {}
114
+ var[:class] = create_class_name(qname, @modulepath)
115
+ if typedef.name.nil?
116
+ # local complextype of a element
117
+ var[:schema_name] = qname.name
118
+ else
119
+ # named complextype
120
+ var[:schema_type] = qname.name
121
+ end
122
+ var[:schema_ns] = qname.namespace
123
+ var[:schema_qualified] = qualified.to_s
124
+
125
+ parsed_element = parse_elements(typedef.elements, qname.namespace)
126
+ if typedef.choice?
127
+ parsed_element.unshift(:choice)
128
+ end
129
+ var[:schema_element] = dump_schema_element_definition(parsed_element, 2)
130
+ unless typedef.attributes.empty?
131
+ var[:schema_attribute] = define_attribute(typedef.attributes)
132
+ end
133
+ dump_entry(@varname, var)
134
+ end
135
+
136
+ DEFAULT_ITEM_NAME = XSD::QName.new(nil, 'item')
137
+
138
+ def dump_array_typemap(qname, typedef)
139
+ var = {}
140
+ var[:class] = create_class_name(qname, @modulepath)
141
+ var[:schema_ns] = qname.namespace
142
+ if typedef.name.nil?
143
+ # local complextype of a element
144
+ var[:schema_name] = qname.name
145
+ else
146
+ # named complextype
147
+ var[:schema_type] = qname.name
148
+ end
149
+ child_type = typedef.child_type
150
+ child_element = typedef.find_aryelement
151
+ if child_type == XSD::AnyTypeName
152
+ type = nil
153
+ elsif child_element and (klass = element_basetype(child_element))
154
+ type = klass.name
155
+ elsif child_type
156
+ type = create_class_name(child_type, @modulepath)
157
+ else
158
+ type = nil
159
+ end
160
+ if child_element
161
+ if child_element.map_as_array?
162
+ type << '[]' if type
163
+ end
164
+ child_element_name = child_element.name
165
+ else
166
+ child_element_name = DEFAULT_ITEM_NAME
167
+ end
168
+ parsed_element = []
169
+ parsed_element << [child_element_name.name, child_element_name, type]
170
+ var[:schema_element] = dump_schema_element_definition(parsed_element, 2)
171
+ dump_entry(@varname, var)
172
+ end
173
+
174
+ def dump_simple_typemap(qname, type_or_element)
175
+ var = {}
176
+ var[:class] = create_class_name(qname, @modulepath)
177
+ var[:schema_ns] = qname.namespace
178
+ var[:schema_type] = qname.name
179
+ unless type_or_element.attributes.empty?
180
+ var[:schema_attribute] = define_attribute(type_or_element.attributes)
181
+ end
182
+ dump_entry(@varname, var)
183
+ end
184
+ end
185
+
186
+
187
+ end
188
+ end
@@ -0,0 +1,53 @@
1
+ # WSDL4R - Creating MappingRegistry code from WSDL.
2
+ # Copyright (C) 2006 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'wsdl/info'
10
+ require 'wsdl/soap/classDefCreatorSupport'
11
+ require 'wsdl/soap/encodedMappingRegistryCreator'
12
+ require 'wsdl/soap/literalMappingRegistryCreator'
13
+
14
+
15
+ module WSDL
16
+ module SOAP
17
+
18
+
19
+ class MappingRegistryCreator
20
+ include ClassDefCreatorSupport
21
+
22
+ attr_reader :definitions
23
+
24
+ def initialize(definitions, modulepath = nil)
25
+ @definitions = definitions
26
+ @modulepath = modulepath
27
+ end
28
+
29
+ def dump
30
+ encoded_creator = EncodedMappingRegistryCreator.new(@definitions, @modulepath)
31
+ literal_creator = LiteralMappingRegistryCreator.new(@definitions, @modulepath)
32
+ wsdl_name = @definitions.name ? @definitions.name.name : 'default'
33
+ module_name = safeconstname(wsdl_name + 'MappingRegistry')
34
+ if @modulepath
35
+ module_name = [@modulepath, module_name].join('::')
36
+ end
37
+ m = XSD::CodeGen::ModuleDef.new(module_name)
38
+ m.def_require("soap/mapping")
39
+ varname = 'EncodedRegistry'
40
+ methodname = 'define_encoded_mapping'
41
+ m.def_const(varname, '::SOAP::Mapping::EncodedRegistry.new')
42
+ m.def_code(encoded_creator.dump(varname))
43
+ varname = 'LiteralRegistry'
44
+ methodname = 'define_literal_mapping'
45
+ m.def_const(varname, '::SOAP::Mapping::LiteralRegistry.new')
46
+ m.def_code(literal_creator.dump(varname))
47
+ m.dump
48
+ end
49
+ end
50
+
51
+
52
+ end
53
+ end
@@ -0,0 +1,233 @@
1
+ # WSDL4R - Creating MappingRegistry support.
2
+ # Copyright (C) 2006 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'wsdl/soap/classDefCreatorSupport'
10
+
11
+
12
+ module WSDL
13
+ module SOAP
14
+
15
+
16
+ module MappingRegistryCreatorSupport
17
+ include ClassDefCreatorSupport
18
+ include XSD::CodeGen
19
+
20
+ def dump_schema_element_definition(definition, indent = 0)
21
+ return '[]' if definition.empty?
22
+ sp = ' ' * indent
23
+ if definition[0] == :choice
24
+ definition.shift
25
+ "[ :choice,\n" +
26
+ dump_schema_element(definition, indent + 2) + "\n" + sp + "]"
27
+ elsif definition[0].is_a?(::Array)
28
+ "[\n" +
29
+ dump_schema_element(definition, indent + 2) + "\n" + sp + "]"
30
+ else
31
+ varname, name, type = definition
32
+ '[' +
33
+ (
34
+ if name
35
+ varname.dump + ', [' + ndq(type) + ', ' + dqname(name) + ']'
36
+ else
37
+ varname.dump + ', ' + ndq(type)
38
+ end
39
+ ) + ']'
40
+ end
41
+ end
42
+
43
+ def dump_schema_element(schema_element, indent = 0)
44
+ sp = ' ' * indent
45
+ delimiter = ",\n" + sp
46
+ sp + schema_element.collect { |definition|
47
+ dump_schema_element_definition(definition, indent)
48
+ }.join(delimiter)
49
+ end
50
+
51
+ def parse_elements(elements, base_namespace)
52
+ schema_element = []
53
+ any = false
54
+ elements.each do |element|
55
+ case element
56
+ when XMLSchema::Any
57
+ # only 1 <any/> is allowed for now.
58
+ raise RuntimeError.new("duplicated 'any'") if any
59
+ any = true
60
+ varname = 'any' # not used
61
+ eleqname = XSD::AnyTypeName
62
+ type = nil
63
+ schema_element << [varname, eleqname, type]
64
+ when XMLSchema::Element
65
+ if element.type == XSD::AnyTypeName
66
+ type = nil
67
+ elsif klass = element_basetype(element)
68
+ type = klass.name
69
+ elsif element.type
70
+ type = create_class_name(element.type, @modulepath)
71
+ elsif element.ref
72
+ type = create_class_name(element.ref, @modulepath)
73
+ else
74
+ type = nil # means anyType.
75
+ # do we define a class for local complexType from it's name?
76
+ # type = create_class_name(element.name, @modulepath)
77
+ # <element>
78
+ # <complexType>
79
+ # <seq...>
80
+ # </complexType>
81
+ # </element>
82
+ end
83
+ name = name_element(element).name
84
+ varname = safevarname(name)
85
+ if element.map_as_array?
86
+ if type
87
+ type << '[]'
88
+ else
89
+ type = '[]'
90
+ end
91
+ end
92
+ # nil means @@schema_ns + varname
93
+ eleqname = element.name || element.ref
94
+ if eleqname && varname == name && eleqname.namespace == base_namespace
95
+ eleqname = nil
96
+ end
97
+ schema_element << [varname, eleqname, type]
98
+ when WSDL::XMLSchema::Sequence
99
+ child_schema_element = parse_elements(element.elements, base_namespace)
100
+ schema_element << child_schema_element
101
+ when WSDL::XMLSchema::Choice
102
+ child_schema_element = parse_elements(element.elements, base_namespace)
103
+ child_schema_element.unshift(:choice)
104
+ schema_element << child_schema_element
105
+ else
106
+ raise RuntimeError.new("unknown type: #{element}")
107
+ end
108
+ end
109
+ schema_element
110
+ end
111
+
112
+ def element_basetype(ele)
113
+ if klass = basetype_class(ele.type)
114
+ klass
115
+ elsif ele.local_simpletype
116
+ basetype_class(ele.local_simpletype.base)
117
+ else
118
+ nil
119
+ end
120
+ end
121
+
122
+ def attribute_basetype(attr)
123
+ if klass = basetype_class(attr.type)
124
+ klass
125
+ elsif attr.local_simpletype
126
+ basetype_class(attr.local_simpletype.base)
127
+ else
128
+ nil
129
+ end
130
+ end
131
+
132
+ def basetype_class(type)
133
+ return nil if type.nil?
134
+ if simpletype = @simpletypes[type]
135
+ basetype_mapped_class(simpletype.base)
136
+ else
137
+ basetype_mapped_class(type)
138
+ end
139
+ end
140
+
141
+ def define_attribute(attributes)
142
+ schema_attribute = []
143
+ attributes.each do |attribute|
144
+ name = name_attribute(attribute)
145
+ if klass = attribute_basetype(attribute)
146
+ type = klass.name
147
+ else
148
+ warn("unresolved attribute type #{attribute.type} for #{name}")
149
+ type = nil
150
+ end
151
+ schema_attribute << [name, type]
152
+ end
153
+ "{\n " +
154
+ schema_attribute.collect { |name, type|
155
+ dqname(name) + ' => ' + ndq(type)
156
+ }.join(",\n ") +
157
+ "\n }"
158
+ end
159
+
160
+ def name_element(element)
161
+ return element.name if element.name
162
+ return element.ref if element.ref
163
+ raise RuntimeError.new("cannot define name of #{element}")
164
+ end
165
+
166
+ def name_attribute(attribute)
167
+ return attribute.name if attribute.name
168
+ return attribute.ref if attribute.ref
169
+ raise RuntimeError.new("cannot define name of #{attribute}")
170
+ end
171
+
172
+ def dump_entry(regname, var)
173
+ "#{regname}.register(\n " +
174
+ [
175
+ dump_entry_item(var, :class),
176
+ dump_entry_item(var, :soap_class),
177
+ dump_entry_item(var, :schema_ns, true),
178
+ dump_entry_item(var, :schema_name, true),
179
+ dump_entry_item(var, :schema_type, true),
180
+ dump_entry_item(var, :schema_qualified),
181
+ dump_entry_item(var, :schema_element),
182
+ dump_entry_item(var, :schema_attribute)
183
+ ].compact.join(",\n ") +
184
+ "\n)\n"
185
+ end
186
+
187
+ def dump_entry_item(var, key, as_string = false)
188
+ if var.key?(key)
189
+ if as_string
190
+ ":#{key} => #{ndq(var[key])}"
191
+ else
192
+ ":#{key} => #{var[key]}"
193
+ end
194
+ else
195
+ nil
196
+ end
197
+ end
198
+
199
+ def dump_simpletypedef(qname, simpletype)
200
+ if simpletype.restriction
201
+ dump_simpletypedef_restriction(qname, simpletype)
202
+ elsif simpletype.list
203
+ dump_simpletypedef_list(qname, simpletype)
204
+ else
205
+ raise RuntimeError.new("unknown kind of simpletype: #{simpletype}")
206
+ end
207
+ end
208
+
209
+ def dump_simpletypedef_restriction(qname, typedef)
210
+ restriction = typedef.restriction
211
+ if restriction.enumeration.empty?
212
+ # not supported. minlength?
213
+ return nil
214
+ end
215
+ var = {}
216
+ var[:class] = create_class_name(qname, @modulepath)
217
+ var[:schema_ns] = qname.namespace
218
+ if typedef.name.nil?
219
+ var[:schema_type] = nil
220
+ else
221
+ var[:schema_type] = qname.name
222
+ end
223
+ dump_entry(@varname, var)
224
+ end
225
+
226
+ def dump_simpletypedef_list(qname, typedef)
227
+ nil
228
+ end
229
+ end
230
+
231
+
232
+ end
233
+ end