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,330 @@
1
+ # SOAP4R - RPC element definition.
2
+ # Copyright (C) 2000, 2001, 2003, 2005 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 'soap/baseData'
10
+
11
+
12
+ module SOAP
13
+
14
+ # Add method definitions for RPC to common definition in element.rb
15
+ class SOAPBody < SOAPStruct
16
+ public
17
+
18
+ def request
19
+ root_node
20
+ end
21
+
22
+ def response
23
+ root = root_node
24
+ if !@is_fault
25
+ if root.nil?
26
+ nil
27
+ elsif root.is_a?(SOAPBasetype)
28
+ root
29
+ else
30
+ # Initial element is [retval].
31
+ root[0]
32
+ end
33
+ else
34
+ root
35
+ end
36
+ end
37
+
38
+ def outparams
39
+ root = root_node
40
+ if !@is_fault and !root.nil? and !root.is_a?(SOAPBasetype)
41
+ op = root[1..-1]
42
+ op = nil if op && op.empty?
43
+ op
44
+ else
45
+ nil
46
+ end
47
+ end
48
+
49
+ def fault
50
+ if @is_fault
51
+ self['fault']
52
+ else
53
+ nil
54
+ end
55
+ end
56
+
57
+ def fault=(fault)
58
+ @is_fault = true
59
+ add_member('fault', fault)
60
+ end
61
+ end
62
+
63
+
64
+ module RPC
65
+
66
+
67
+ class RPCError < Error; end
68
+ class MethodDefinitionError < RPCError; end
69
+ class ParameterError < RPCError; end
70
+
71
+ class SOAPMethod < SOAPStruct
72
+ RETVAL = 'retval'
73
+ IN = 'in'
74
+ OUT = 'out'
75
+ INOUT = 'inout'
76
+
77
+ attr_reader :param_def
78
+ attr_reader :inparam
79
+ attr_reader :outparam
80
+ attr_reader :retval_name
81
+ attr_reader :retval_class_name
82
+
83
+ def initialize(qname, param_def = nil)
84
+ super(nil)
85
+ @elename = qname
86
+ @encodingstyle = nil
87
+
88
+ @param_def = param_def
89
+
90
+ @signature = []
91
+ @inparam_names = []
92
+ @inoutparam_names = []
93
+ @outparam_names = []
94
+
95
+ @inparam = {}
96
+ @outparam = {}
97
+ @retval_name = nil
98
+ @retval_class_name = nil
99
+
100
+ init_param(@param_def) if @param_def
101
+ end
102
+
103
+ def have_outparam?
104
+ @outparam_names.size > 0
105
+ end
106
+
107
+ def input_params
108
+ collect_params(IN, INOUT)
109
+ end
110
+
111
+ def output_params
112
+ collect_params(OUT, INOUT)
113
+ end
114
+
115
+ def set_param(params)
116
+ params.each do |param, data|
117
+ @inparam[param] = data
118
+ data.elename = XSD::QName.new(data.elename.namespace, param)
119
+ data.parent = self
120
+ end
121
+ end
122
+
123
+ def set_outparam(params)
124
+ params.each do |param, data|
125
+ @outparam[param] = data
126
+ data.elename = XSD::QName.new(data.elename.namespace, param)
127
+ end
128
+ end
129
+
130
+ def get_paramtypes(names)
131
+ types = []
132
+ @signature.each do |io_type, name, param_type|
133
+ if param_type && idx = names.index(name)
134
+ types[idx] = XSD::QName.new(param_type[1], param_type[2])
135
+ end
136
+ end
137
+ types
138
+ end
139
+
140
+ def SOAPMethod.param_count(param_def, *type)
141
+ count = 0
142
+ param_def.each do |io_type, name, param_type|
143
+ if type.include?(io_type)
144
+ count += 1
145
+ end
146
+ end
147
+ count
148
+ end
149
+
150
+ def SOAPMethod.derive_rpc_param_def(obj, name, *param)
151
+ if param.size == 1 and param[0].is_a?(Array)
152
+ return param[0]
153
+ end
154
+ if param.empty?
155
+ method = obj.method(name)
156
+ param_names = (1..method.arity.abs).collect { |i| "p#{i}" }
157
+ else
158
+ param_names = param
159
+ end
160
+ create_rpc_param_def(param_names)
161
+ end
162
+
163
+ def SOAPMethod.create_rpc_param_def(param_names)
164
+ param_def = []
165
+ param_names.each do |param_name|
166
+ param_def.push([IN, param_name, nil])
167
+ end
168
+ param_def.push([RETVAL, 'return', nil])
169
+ param_def
170
+ end
171
+
172
+ def SOAPMethod.create_doc_param_def(req_qnames, res_qnames)
173
+ req_qnames = [req_qnames] if req_qnames.is_a?(XSD::QName)
174
+ res_qnames = [res_qnames] if res_qnames.is_a?(XSD::QName)
175
+ param_def = []
176
+ # req_qnames and res_qnames can be nil
177
+ if req_qnames
178
+ req_qnames.each do |qname|
179
+ param_def << [IN, qname.name, [nil, qname.namespace, qname.name]]
180
+ end
181
+ end
182
+ if res_qnames
183
+ res_qnames.each do |qname|
184
+ param_def << [OUT, qname.name, [nil, qname.namespace, qname.name]]
185
+ end
186
+ end
187
+ param_def
188
+ end
189
+
190
+ private
191
+
192
+ def collect_params(*type)
193
+ names = []
194
+ @signature.each do |io_type, name, param_type|
195
+ names << name if type.include?(io_type)
196
+ end
197
+ names
198
+ end
199
+
200
+ def init_param(param_def)
201
+ param_def.each do |io_type, name, param_type|
202
+ case io_type
203
+ when IN
204
+ @signature.push([IN, name, param_type])
205
+ @inparam_names.push(name)
206
+ when OUT
207
+ @signature.push([OUT, name, param_type])
208
+ @outparam_names.push(name)
209
+ when INOUT
210
+ @signature.push([INOUT, name, param_type])
211
+ @inoutparam_names.push(name)
212
+ when RETVAL
213
+ if @retval_name
214
+ raise MethodDefinitionError.new('duplicated retval')
215
+ end
216
+ @retval_name = name
217
+ @retval_class_name = nil
218
+ if param_type
219
+ if param_type[0].is_a?(String)
220
+ @retval_class_name = Mapping.class_from_name(param_type[0])
221
+ else
222
+ @retval_class_name = param_type[0]
223
+ end
224
+ end
225
+ else
226
+ raise MethodDefinitionError.new("unknown type: #{io_type}")
227
+ end
228
+ end
229
+ end
230
+ end
231
+
232
+
233
+ class SOAPMethodRequest < SOAPMethod
234
+ attr_accessor :soapaction
235
+
236
+ def SOAPMethodRequest.create_request(qname, *params)
237
+ param_def = []
238
+ param_value = []
239
+ i = 0
240
+ params.each do |param|
241
+ param_name = "p#{i}"
242
+ i += 1
243
+ param_def << [IN, param_name, nil]
244
+ param_value << [param_name, param]
245
+ end
246
+ param_def << [RETVAL, 'return', nil]
247
+ o = new(qname, param_def)
248
+ o.set_param(param_value)
249
+ o
250
+ end
251
+
252
+ def initialize(qname, param_def = nil, soapaction = nil)
253
+ super(qname, param_def)
254
+ @soapaction = soapaction
255
+ end
256
+
257
+ def each
258
+ input_params.each do |name|
259
+ unless @inparam[name]
260
+ raise ParameterError.new("parameter: #{name} was not given")
261
+ end
262
+ yield(name, @inparam[name])
263
+ end
264
+ end
265
+
266
+ def dup
267
+ req = self.class.new(@elename.dup, @param_def, @soapaction)
268
+ req.encodingstyle = @encodingstyle
269
+ req
270
+ end
271
+
272
+ def create_method_response(response_name = nil)
273
+ response_name ||=
274
+ XSD::QName.new(@elename.namespace, @elename.name + 'Response')
275
+ SOAPMethodResponse.new(response_name, @param_def)
276
+ end
277
+ end
278
+
279
+
280
+ class SOAPMethodResponse < SOAPMethod
281
+
282
+ def initialize(qname, param_def = nil)
283
+ super(qname, param_def)
284
+ @retval = nil
285
+ end
286
+
287
+ def retval=(retval)
288
+ @retval = retval
289
+ @retval.elename = @retval.elename.dup_name(@retval_name || 'return')
290
+ retval.parent = self
291
+ retval
292
+ end
293
+
294
+ def each
295
+ if @retval_name and !@retval.is_a?(SOAPVoid)
296
+ yield(@retval_name, @retval)
297
+ end
298
+
299
+ output_params.each do |name|
300
+ unless @outparam[name]
301
+ raise ParameterError.new("parameter: #{name} was not given")
302
+ end
303
+ yield(name, @outparam[name])
304
+ end
305
+ end
306
+ end
307
+
308
+
309
+ # To return(?) void explicitly.
310
+ # def foo(input_var)
311
+ # ...
312
+ # return SOAP::RPC::SOAPVoid.new
313
+ # end
314
+ class SOAPVoid < XSD::XSDAnySimpleType
315
+ include SOAPBasetype
316
+ extend SOAPModuleUtils
317
+ Name = XSD::QName.new(Mapping::RubyCustomTypeNamespace, nil)
318
+
319
+ public
320
+ def initialize()
321
+ @elename = Name
322
+ @id = nil
323
+ @precedents = []
324
+ @parent = nil
325
+ end
326
+ end
327
+
328
+
329
+ end
330
+ end
@@ -0,0 +1,143 @@
1
+ # SOAP4R - WEBrick HTTP Server
2
+ # Copyright (C) 2003, 2004, 2005 by 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 'logger'
10
+ require 'soap/rpc/soaplet'
11
+ require 'soap/streamHandler'
12
+ require 'webrick'
13
+
14
+
15
+ module SOAP
16
+ module RPC
17
+
18
+
19
+ class HTTPServer < Logger::Application
20
+ attr_reader :server
21
+ attr_accessor :default_namespace
22
+
23
+ def initialize(config)
24
+ actor = config[:SOAPHTTPServerApplicationName] || self.class.name
25
+ super(actor)
26
+ @default_namespace = config[:SOAPDefaultNamespace]
27
+ @webrick_config = config.dup
28
+ self.level = Logger::Severity::ERROR # keep silent by default
29
+ @webrick_config[:Logger] ||= @log
30
+ @log = @webrick_config[:Logger] # sync logger of App and HTTPServer
31
+ @router = ::SOAP::RPC::Router.new(actor)
32
+ @soaplet = ::SOAP::RPC::SOAPlet.new(@router)
33
+ on_init
34
+ @server = WEBrick::HTTPServer.new(@webrick_config)
35
+ @server.mount('/soaprouter', @soaplet)
36
+ if wsdldir = config[:WSDLDocumentDirectory]
37
+ @server.mount('/wsdl', WEBrick::HTTPServlet::FileHandler, wsdldir)
38
+ end
39
+ # for backward compatibility
40
+ @server.mount('/', @soaplet)
41
+ end
42
+
43
+ def on_init
44
+ # do extra initialization in a derived class if needed.
45
+ end
46
+
47
+ def status
48
+ @server.status if @server
49
+ end
50
+
51
+ def shutdown
52
+ @server.shutdown if @server
53
+ end
54
+
55
+ def mapping_registry
56
+ @router.mapping_registry
57
+ end
58
+
59
+ def mapping_registry=(mapping_registry)
60
+ @router.mapping_registry = mapping_registry
61
+ end
62
+
63
+ def literal_mapping_registry
64
+ @router.literal_mapping_registry
65
+ end
66
+
67
+ def literal_mapping_registry=(literal_mapping_registry)
68
+ @router.literal_mapping_registry = literal_mapping_registry
69
+ end
70
+
71
+ def generate_explicit_type
72
+ @router.generate_explicit_type
73
+ end
74
+
75
+ def generate_explicit_type=(generate_explicit_type)
76
+ @router.generate_explicit_type = generate_explicit_type
77
+ end
78
+
79
+ # servant entry interface
80
+
81
+ def add_rpc_request_servant(factory, namespace = @default_namespace)
82
+ @router.add_rpc_request_servant(factory, namespace)
83
+ end
84
+
85
+ def add_rpc_servant(obj, namespace = @default_namespace)
86
+ @router.add_rpc_servant(obj, namespace)
87
+ end
88
+
89
+ def add_request_headerhandler(factory)
90
+ @router.add_request_headerhandler(factory)
91
+ end
92
+
93
+ def add_headerhandler(obj)
94
+ @router.add_headerhandler(obj)
95
+ end
96
+ alias add_rpc_headerhandler add_headerhandler
97
+
98
+ # method entry interface
99
+
100
+ def add_rpc_method(obj, name, *param)
101
+ add_rpc_method_as(obj, name, name, *param)
102
+ end
103
+ alias add_method add_rpc_method
104
+
105
+ def add_rpc_method_as(obj, name, name_as, *param)
106
+ qname = XSD::QName.new(@default_namespace, name_as)
107
+ soapaction = nil
108
+ param_def = SOAPMethod.derive_rpc_param_def(obj, name, *param)
109
+ @router.add_rpc_operation(obj, qname, soapaction, name, param_def)
110
+ end
111
+ alias add_method_as add_rpc_method_as
112
+
113
+ def add_document_method(obj, soapaction, name, req_qnames, res_qnames)
114
+ param_def = SOAPMethod.create_doc_param_def(req_qnames, res_qnames)
115
+ @router.add_document_operation(obj, soapaction, name, param_def)
116
+ end
117
+
118
+ def add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})
119
+ @router.add_rpc_operation(receiver, qname, soapaction, name, param_def, opt)
120
+ end
121
+
122
+ def add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {})
123
+ @router.add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt)
124
+ end
125
+
126
+ def add_document_operation(receiver, soapaction, name, param_def, opt = {})
127
+ @router.add_document_operation(receiver, soapaction, name, param_def, opt)
128
+ end
129
+
130
+ def add_document_request_operation(factory, soapaction, name, param_def, opt = {})
131
+ @router.add_document_request_operation(factory, soapaction, name, param_def, opt)
132
+ end
133
+
134
+ private
135
+
136
+ def run
137
+ @server.start
138
+ end
139
+ end
140
+
141
+
142
+ end
143
+ end