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,58 @@
1
+ require 'test/unit'
2
+ require 'soap/rpc/driver'
3
+ require 'soap/rpc/standaloneServer'
4
+
5
+
6
+ module SOAP
7
+ module Fault
8
+
9
+
10
+ class TestCustomFault < Test::Unit::TestCase
11
+ Port = 17171
12
+
13
+ class CustomFaultServer < SOAP::RPC::StandaloneServer
14
+ def on_init
15
+ add_method(self, 'fault', 'msg')
16
+ end
17
+
18
+ def fault(msg)
19
+ SOAPFault.new(SOAPString.new("mycustom"),
20
+ SOAPString.new("error: #{msg}"),
21
+ SOAPString.new(self.class.name))
22
+ end
23
+ end
24
+
25
+ def setup
26
+ @server = CustomFaultServer.new('customfault', 'urn:customfault', '0.0.0.0', Port)
27
+ @server.level = Logger::Severity::ERROR
28
+ @t = Thread.new {
29
+ Thread.current.abort_on_exception = true
30
+ @server.start
31
+ }
32
+ @endpoint = "http://localhost:#{Port}/"
33
+ @client = SOAP::RPC::Driver.new(@endpoint, 'urn:customfault')
34
+ @client.wiredump_dev = STDERR if $DEBUG
35
+ @client.add_method("fault", "msg")
36
+ end
37
+
38
+ def teardown
39
+ @server.shutdown
40
+ @t.kill
41
+ @t.join
42
+ @client.reset_stream
43
+ end
44
+
45
+ def test_custom_fault
46
+ begin
47
+ @client.fault("message")
48
+ assert(false, 'exception not raised')
49
+ rescue SOAP::FaultError => e
50
+ assert(true, 'exception raised')
51
+ assert_equal('error: message', e.message)
52
+ end
53
+ end
54
+ end
55
+
56
+
57
+ end
58
+ end
@@ -0,0 +1,119 @@
1
+ require 'pstore'
2
+ require 'soap/rpc/cgistub'
3
+ require 'soap/header/simplehandler'
4
+
5
+
6
+ class AuthHeaderPortServer < SOAP::RPC::CGIStub
7
+ PortName = 'http://tempuri.org/authHeaderPort'
8
+ SupportPortName = 'http://tempuri.org/authHeaderSupportPort'
9
+ MyHeaderName = XSD::QName.new("http://tempuri.org/authHeader", "auth")
10
+ SessionDB = File.join(File.expand_path(File.dirname(__FILE__)), 'session.pstoredb')
11
+
12
+ class AuthHeaderService
13
+ def self.create
14
+ new
15
+ end
16
+
17
+ def deposit(amt)
18
+ "deposit #{amt} OK"
19
+ end
20
+
21
+ def withdrawal(amt)
22
+ "withdrawal #{amt} OK"
23
+ end
24
+ end
25
+
26
+ class AuthHeaderSupportService
27
+ def delete_sessiondb
28
+ File.unlink(SessionDB) if File.file?(SessionDB)
29
+ backup = SessionDB + "~"
30
+ File.unlink(backup) if File.file?(backup)
31
+ end
32
+ end
33
+
34
+ def initialize(*arg)
35
+ super
36
+ add_rpc_servant(AuthHeaderService.new, PortName)
37
+ add_rpc_servant(AuthHeaderSupportService.new, SupportPortName)
38
+ add_rpc_headerhandler(ServerAuthHeaderHandler.new)
39
+ end
40
+
41
+ class ServerAuthHeaderHandler < SOAP::Header::SimpleHandler
42
+ Users = {
43
+ 'NaHi' => 'passwd',
44
+ 'HiNa' => 'wspass'
45
+ }
46
+
47
+ def initialize
48
+ super(MyHeaderName)
49
+ @db = PStore.new(SessionDB)
50
+ @db.transaction do
51
+ @db["root"] = {} unless @db.root?("root")
52
+ end
53
+ @userid = @sessionid = nil
54
+ end
55
+
56
+ def login(userid, passwd)
57
+ userid and passwd and Users[userid] == passwd
58
+ end
59
+
60
+ def auth(sessionid)
61
+ in_sessiondb do |root|
62
+ root[sessionid][0]
63
+ end
64
+ end
65
+
66
+ def create_session(userid)
67
+ in_sessiondb do |root|
68
+ while true
69
+ key = create_sessionkey
70
+ break unless root[key]
71
+ end
72
+ root[key] = [userid]
73
+ key
74
+ end
75
+ end
76
+
77
+ def destroy_session(sessionkey)
78
+ in_sessiondb do |root|
79
+ root.delete(sessionkey)
80
+ end
81
+ end
82
+
83
+ def on_simple_outbound
84
+ { "sessionid" => @sessionid }
85
+ end
86
+
87
+ def on_simple_inbound(my_header, mu)
88
+ succeeded = false
89
+ userid = my_header["userid"]
90
+ passwd = my_header["passwd"]
91
+ if login(userid, passwd)
92
+ succeeded = true
93
+ elsif sessionid = my_header["sessionid"]
94
+ if userid = auth(sessionid)
95
+ destroy_session(sessionid)
96
+ succeeded = true
97
+ end
98
+ end
99
+ raise RuntimeError.new("authentication failed") unless succeeded
100
+ @userid = userid
101
+ @sessionid = create_session(userid)
102
+ end
103
+
104
+ private
105
+
106
+ def create_sessionkey
107
+ Time.now.usec.to_s
108
+ end
109
+
110
+ def in_sessiondb
111
+ @db.transaction do
112
+ yield(@db["root"])
113
+ end
114
+ end
115
+ end
116
+ end
117
+
118
+
119
+ status = AuthHeaderPortServer.new('AuthHeaderPortServer', nil).start
@@ -0,0 +1,240 @@
1
+ require 'test/unit'
2
+ require 'soap/rpc/driver'
3
+ require 'soap/rpc/standaloneServer'
4
+ require 'soap/header/simplehandler'
5
+
6
+
7
+ module SOAP
8
+ module Header
9
+
10
+
11
+ class TestAuthHeader < Test::Unit::TestCase
12
+ Port = 17171
13
+ PortName = 'http://tempuri.org/authHeaderPort'
14
+ MyHeaderName = XSD::QName.new("http://tempuri.org/authHeader", "auth")
15
+ DummyHeaderName = XSD::QName.new("http://tempuri.org/authHeader", "dummy")
16
+
17
+ class AuthHeaderPortServer < SOAP::RPC::StandaloneServer
18
+ class AuthHeaderService
19
+ def self.create
20
+ new
21
+ end
22
+
23
+ def deposit(amt)
24
+ "deposit #{amt} OK"
25
+ end
26
+
27
+ def withdrawal(amt)
28
+ "withdrawal #{amt} OK"
29
+ end
30
+ end
31
+
32
+ def initialize(*arg)
33
+ super
34
+ add_rpc_servant(AuthHeaderService.new, PortName)
35
+ ServerAuthHeaderHandler.init
36
+ add_request_headerhandler(ServerAuthHeaderHandler)
37
+ end
38
+
39
+ class ServerAuthHeaderHandler < SOAP::Header::SimpleHandler
40
+ class << self
41
+ def create
42
+ new
43
+ end
44
+
45
+ def init
46
+ @users = {
47
+ 'NaHi' => 'passwd',
48
+ 'HiNa' => 'wspass'
49
+ }
50
+ @sessions = {}
51
+ end
52
+
53
+ def login(userid, passwd)
54
+ userid and passwd and @users[userid] == passwd
55
+ end
56
+
57
+ def auth(sessionid)
58
+ @sessions[sessionid][0]
59
+ end
60
+
61
+ def create_session(userid)
62
+ while true
63
+ key = create_sessionkey
64
+ break unless @sessions[key]
65
+ end
66
+ @sessions[key] = [userid]
67
+ key
68
+ end
69
+
70
+ def destroy_session(sessionkey)
71
+ @sessions.delete(sessionkey)
72
+ end
73
+
74
+ def sessions
75
+ @sessions
76
+ end
77
+
78
+ private
79
+
80
+ def create_sessionkey
81
+ Time.now.usec.to_s
82
+ end
83
+ end
84
+
85
+ def initialize
86
+ super(MyHeaderName)
87
+ @userid = @sessionid = nil
88
+ end
89
+
90
+ def on_simple_outbound
91
+ { "sessionid" => @sessionid }
92
+ end
93
+
94
+ def on_simple_inbound(my_header, mu)
95
+ auth = false
96
+ userid = my_header["userid"]
97
+ passwd = my_header["passwd"]
98
+ if self.class.login(userid, passwd)
99
+ auth = true
100
+ elsif sessionid = my_header["sessionid"]
101
+ if userid = self.class.auth(sessionid)
102
+ self.class.destroy_session(sessionid)
103
+ auth = true
104
+ end
105
+ end
106
+ raise RuntimeError.new("authentication failed") unless auth
107
+ @userid = userid
108
+ @sessionid = self.class.create_session(userid)
109
+ end
110
+ end
111
+ end
112
+
113
+ class ClientAuthHeaderHandler < SOAP::Header::SimpleHandler
114
+ def initialize(userid, passwd, mustunderstand)
115
+ super(MyHeaderName)
116
+ @sessionid = nil
117
+ @userid = userid
118
+ @passwd = passwd
119
+ @mustunderstand = mustunderstand
120
+ end
121
+
122
+ def on_simple_outbound
123
+ if @sessionid
124
+ { "sessionid" => @sessionid }
125
+ else
126
+ { "userid" => @userid, "passwd" => @passwd }
127
+ end
128
+ end
129
+
130
+ def on_simple_inbound(my_header, mustunderstand)
131
+ @sessionid = my_header["sessionid"]
132
+ end
133
+
134
+ def sessionid
135
+ @sessionid
136
+ end
137
+ end
138
+
139
+ class DummyHeaderHandler < SOAP::Header::SimpleHandler
140
+ def initialize(mustunderstand)
141
+ super(DummyHeaderName)
142
+ @mustunderstand = mustunderstand
143
+ end
144
+
145
+ def on_simple_outbound
146
+ { XSD::QName.new("foo", "bar") => nil }
147
+ end
148
+
149
+ def on_simple_inbound(my_header, mustunderstand)
150
+ end
151
+ end
152
+
153
+ def setup
154
+ @endpoint = "http://localhost:#{Port}/"
155
+ setup_server
156
+ setup_client
157
+ end
158
+
159
+ def setup_server
160
+ @server = AuthHeaderPortServer.new(self.class.name, nil, '0.0.0.0', Port)
161
+ @server.level = Logger::Severity::ERROR
162
+ @t = Thread.new {
163
+ @server.start
164
+ }
165
+ end
166
+
167
+ def setup_client
168
+ @client = SOAP::RPC::Driver.new(@endpoint, PortName)
169
+ @client.wiredump_dev = STDERR if $DEBUG
170
+ @client.add_method('deposit', 'amt')
171
+ @client.add_method('withdrawal', 'amt')
172
+ end
173
+
174
+ def teardown
175
+ teardown_server
176
+ teardown_client
177
+ end
178
+
179
+ def teardown_server
180
+ @server.shutdown
181
+ @t.kill
182
+ @t.join
183
+ end
184
+
185
+ def teardown_client
186
+ @client.reset_stream
187
+ end
188
+
189
+ def test_success_no_mu
190
+ h = ClientAuthHeaderHandler.new('NaHi', 'passwd', false)
191
+ @client.headerhandler << h
192
+ do_transaction_check(h)
193
+ end
194
+
195
+ def test_success_mu
196
+ h = ClientAuthHeaderHandler.new('NaHi', 'passwd', true)
197
+ @client.headerhandler << h
198
+ do_transaction_check(h)
199
+ end
200
+
201
+ def test_no_mu
202
+ h = ClientAuthHeaderHandler.new('NaHi', 'passwd', true)
203
+ @client.headerhandler << h
204
+ @client.headerhandler << DummyHeaderHandler.new(false)
205
+ do_transaction_check(h)
206
+ end
207
+
208
+ def test_mu
209
+ h = ClientAuthHeaderHandler.new('NaHi', 'passwd', true)
210
+ @client.headerhandler << h
211
+ @client.headerhandler << (h2 = DummyHeaderHandler.new(true))
212
+ assert_raise(SOAP::UnhandledMustUnderstandHeaderError) do
213
+ assert_equal("deposit 150 OK", @client.deposit(150))
214
+ end
215
+ @client.headerhandler.delete(h2)
216
+ @client.headerhandler << (h2 = DummyHeaderHandler.new(false))
217
+ do_transaction_check(h)
218
+ end
219
+
220
+ def do_transaction_check(h)
221
+ assert_equal("deposit 150 OK", @client.deposit(150))
222
+ serversess = AuthHeaderPortServer::ServerAuthHeaderHandler.sessions[h.sessionid]
223
+ assert_equal("NaHi", serversess[0])
224
+ assert_equal("withdrawal 120 OK", @client.withdrawal(120))
225
+ serversess = AuthHeaderPortServer::ServerAuthHeaderHandler.sessions[h.sessionid]
226
+ assert_equal("NaHi", serversess[0])
227
+ end
228
+
229
+ def test_authfailure
230
+ h = ClientAuthHeaderHandler.new('NaHi', 'pa', false)
231
+ @client.headerhandler << h
232
+ assert_raises(RuntimeError) do
233
+ @client.deposit(150)
234
+ end
235
+ end
236
+ end
237
+
238
+
239
+ end
240
+ end
@@ -0,0 +1,121 @@
1
+ require 'test/unit'
2
+ require 'soap/rpc/driver'
3
+ require 'soap/rpc/standaloneServer'
4
+ require 'soap/header/simplehandler'
5
+ require 'logger'
6
+ require 'webrick'
7
+ require 'rbconfig'
8
+
9
+
10
+ module SOAP
11
+ module Header
12
+
13
+
14
+ class TestAuthHeaderCGI < Test::Unit::TestCase
15
+ # This test shuld be run after installing ruby.
16
+ RUBYBIN = File.join(
17
+ Config::CONFIG["bindir"],
18
+ Config::CONFIG["ruby_install_name"] + Config::CONFIG["EXEEXT"]
19
+ )
20
+ RUBYBIN << " -d" if $DEBUG
21
+
22
+ Port = 17171
23
+ PortName = 'http://tempuri.org/authHeaderPort'
24
+ SupportPortName = 'http://tempuri.org/authHeaderSupportPort'
25
+ MyHeaderName = XSD::QName.new("http://tempuri.org/authHeader", "auth")
26
+
27
+ class ClientAuthHeaderHandler < SOAP::Header::SimpleHandler
28
+ def initialize(userid, passwd)
29
+ super(MyHeaderName)
30
+ @sessionid = nil
31
+ @userid = userid
32
+ @passwd = passwd
33
+ end
34
+
35
+ def on_simple_outbound
36
+ if @sessionid
37
+ { "sessionid" => @sessionid }
38
+ else
39
+ { "userid" => @userid, "passwd" => @passwd }
40
+ end
41
+ end
42
+
43
+ def on_simple_inbound(my_header, mustunderstand)
44
+ @sessionid = my_header["sessionid"]
45
+ end
46
+
47
+ def sessionid
48
+ @sessionid
49
+ end
50
+ end
51
+
52
+ def setup
53
+ @endpoint = "http://localhost:#{Port}/"
54
+ setup_server
55
+ setup_client
56
+ end
57
+
58
+ def setup_server
59
+ @endpoint = "http://localhost:#{Port}/server.cgi"
60
+ logger = Logger.new(STDERR)
61
+ logger.level = Logger::Severity::ERROR
62
+ @server = WEBrick::HTTPServer.new(
63
+ :BindAddress => "0.0.0.0",
64
+ :Logger => logger,
65
+ :Port => Port,
66
+ :AccessLog => [],
67
+ :DocumentRoot => File.dirname(File.expand_path(__FILE__)),
68
+ :CGIPathEnv => ENV['PATH'],
69
+ :CGIInterpreter => RUBYBIN
70
+ )
71
+ @t = Thread.new {
72
+ Thread.current.abort_on_exception = true
73
+ @server.start
74
+ }
75
+ end
76
+
77
+ def setup_client
78
+ @client = SOAP::RPC::Driver.new(@endpoint, PortName)
79
+ @client.wiredump_dev = STDERR if $DEBUG
80
+ @client.add_method('deposit', 'amt')
81
+ @client.add_method('withdrawal', 'amt')
82
+ @supportclient = SOAP::RPC::Driver.new(@endpoint, SupportPortName)
83
+ @supportclient.add_method('delete_sessiondb')
84
+ end
85
+
86
+ def teardown
87
+ @supportclient.delete_sessiondb
88
+ teardown_server
89
+ teardown_client
90
+ end
91
+
92
+ def teardown_server
93
+ @server.shutdown
94
+ @t.kill
95
+ @t.join
96
+ end
97
+
98
+ def teardown_client
99
+ @client.reset_stream
100
+ @supportclient.reset_stream
101
+ end
102
+
103
+ def test_success
104
+ h = ClientAuthHeaderHandler.new('NaHi', 'passwd')
105
+ @client.headerhandler << h
106
+ assert_equal("deposit 150 OK", @client.deposit(150))
107
+ assert_equal("withdrawal 120 OK", @client.withdrawal(120))
108
+ end
109
+
110
+ def test_authfailure
111
+ h = ClientAuthHeaderHandler.new('NaHi', 'pa')
112
+ @client.headerhandler << h
113
+ assert_raises(RuntimeError) do
114
+ @client.deposit(150)
115
+ end
116
+ end
117
+ end
118
+
119
+
120
+ end
121
+ end