DefV-soap4r 1.5.8.2

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 (443) hide show
  1. data/bin/wsdl2ruby.rb +137 -0
  2. data/bin/xsd2ruby.rb +90 -0
  3. data/lib/soap/attachment.rb +108 -0
  4. data/lib/soap/attrproxy.rb +34 -0
  5. data/lib/soap/baseData.rb +1094 -0
  6. data/lib/soap/element.rb +277 -0
  7. data/lib/soap/encodingstyle/aspDotNetHandler.rb +207 -0
  8. data/lib/soap/encodingstyle/handler.rb +120 -0
  9. data/lib/soap/encodingstyle/literalHandler.rb +195 -0
  10. data/lib/soap/encodingstyle/soapHandler.rb +559 -0
  11. data/lib/soap/filter.rb +13 -0
  12. data/lib/soap/filter/filterchain.rb +51 -0
  13. data/lib/soap/filter/handler.rb +31 -0
  14. data/lib/soap/filter/streamhandler.rb +29 -0
  15. data/lib/soap/generator.rb +299 -0
  16. data/lib/soap/header/handler.rb +61 -0
  17. data/lib/soap/header/handlerset.rb +70 -0
  18. data/lib/soap/header/mappinghandler.rb +47 -0
  19. data/lib/soap/header/simplehandler.rb +44 -0
  20. data/lib/soap/httpconfigloader.rb +139 -0
  21. data/lib/soap/mapping.rb +12 -0
  22. data/lib/soap/mapping/encodedregistry.rb +537 -0
  23. data/lib/soap/mapping/factory.rb +388 -0
  24. data/lib/soap/mapping/literalregistry.rb +391 -0
  25. data/lib/soap/mapping/mapping.rb +577 -0
  26. data/lib/soap/mapping/registry.rb +295 -0
  27. data/lib/soap/mapping/rubytypeFactory.rb +446 -0
  28. data/lib/soap/mapping/schemadefinition.rb +170 -0
  29. data/lib/soap/mapping/typeMap.rb +106 -0
  30. data/lib/soap/mapping/wsdlencodedregistry.rb +211 -0
  31. data/lib/soap/mapping/wsdlliteralregistry.rb +248 -0
  32. data/lib/soap/marshal.rb +59 -0
  33. data/lib/soap/mimemessage.rb +241 -0
  34. data/lib/soap/nestedexception.rb +42 -0
  35. data/lib/soap/netHttpClient.rb +241 -0
  36. data/lib/soap/ns.rb +34 -0
  37. data/lib/soap/parser.rb +252 -0
  38. data/lib/soap/processor.rb +66 -0
  39. data/lib/soap/property.rb +333 -0
  40. data/lib/soap/proxy.rb +14 -0
  41. data/lib/soap/rpc/cgistub.rb +247 -0
  42. data/lib/soap/rpc/driver.rb +221 -0
  43. data/lib/soap/rpc/element.rb +374 -0
  44. data/lib/soap/rpc/element.rb.orig +374 -0
  45. data/lib/soap/rpc/httpserver.rb +142 -0
  46. data/lib/soap/rpc/methodDef.rb +68 -0
  47. data/lib/soap/rpc/proxy.rb +572 -0
  48. data/lib/soap/rpc/router.rb +662 -0
  49. data/lib/soap/rpc/rpc.rb +25 -0
  50. data/lib/soap/rpc/soaplet.rb +200 -0
  51. data/lib/soap/rpc/standaloneServer.rb +43 -0
  52. data/lib/soap/soap.rb +151 -0
  53. data/lib/soap/streamHandler.rb +301 -0
  54. data/lib/soap/wsdlDriver.rb +164 -0
  55. data/lib/wsdl/binding.rb +65 -0
  56. data/lib/wsdl/data.rb +64 -0
  57. data/lib/wsdl/definitions.rb +236 -0
  58. data/lib/wsdl/documentation.rb +32 -0
  59. data/lib/wsdl/import.rb +80 -0
  60. data/lib/wsdl/importer.rb +38 -0
  61. data/lib/wsdl/info.rb +50 -0
  62. data/lib/wsdl/message.rb +54 -0
  63. data/lib/wsdl/operation.rb +151 -0
  64. data/lib/wsdl/operationBinding.rb +240 -0
  65. data/lib/wsdl/param.rb +93 -0
  66. data/lib/wsdl/parser.rb +164 -0
  67. data/lib/wsdl/part.rb +52 -0
  68. data/lib/wsdl/port.rb +66 -0
  69. data/lib/wsdl/portType.rb +75 -0
  70. data/lib/wsdl/service.rb +61 -0
  71. data/lib/wsdl/soap/address.rb +40 -0
  72. data/lib/wsdl/soap/binding.rb +49 -0
  73. data/lib/wsdl/soap/body.rb +58 -0
  74. data/lib/wsdl/soap/cgiStubCreator.rb +92 -0
  75. data/lib/wsdl/soap/classDefCreator.rb +433 -0
  76. data/lib/wsdl/soap/classDefCreatorSupport.rb +240 -0
  77. data/lib/wsdl/soap/classNameCreator.rb +54 -0
  78. data/lib/wsdl/soap/clientSkeltonCreator.rb +104 -0
  79. data/lib/wsdl/soap/complexType.rb +173 -0
  80. data/lib/wsdl/soap/data.rb +42 -0
  81. data/lib/wsdl/soap/definitions.rb +200 -0
  82. data/lib/wsdl/soap/driverCreator.rb +118 -0
  83. data/lib/wsdl/soap/element.rb +33 -0
  84. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +73 -0
  85. data/lib/wsdl/soap/fault.rb +56 -0
  86. data/lib/wsdl/soap/header.rb +86 -0
  87. data/lib/wsdl/soap/headerfault.rb +56 -0
  88. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +115 -0
  89. data/lib/wsdl/soap/mappingRegistryCreator.rb +58 -0
  90. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +376 -0
  91. data/lib/wsdl/soap/methodDefCreator.rb +199 -0
  92. data/lib/wsdl/soap/operation.rb +112 -0
  93. data/lib/wsdl/soap/servantSkeltonCreator.rb +89 -0
  94. data/lib/wsdl/soap/servletStubCreator.rb +104 -0
  95. data/lib/wsdl/soap/standaloneServerStubCreator.rb +100 -0
  96. data/lib/wsdl/soap/wsdl2ruby.rb +217 -0
  97. data/lib/wsdl/types.rb +44 -0
  98. data/lib/wsdl/wsdl.rb +24 -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 +61 -0
  102. data/lib/wsdl/xmlSchema/anyAttribute.rb +48 -0
  103. data/lib/wsdl/xmlSchema/attribute.rb +104 -0
  104. data/lib/wsdl/xmlSchema/attributeGroup.rb +68 -0
  105. data/lib/wsdl/xmlSchema/choice.rb +58 -0
  106. data/lib/wsdl/xmlSchema/complexContent.rb +97 -0
  107. data/lib/wsdl/xmlSchema/complexExtension.rb +119 -0
  108. data/lib/wsdl/xmlSchema/complexRestriction.rb +104 -0
  109. data/lib/wsdl/xmlSchema/complexType.rb +193 -0
  110. data/lib/wsdl/xmlSchema/content.rb +95 -0
  111. data/lib/wsdl/xmlSchema/data.rb +116 -0
  112. data/lib/wsdl/xmlSchema/element.rb +153 -0
  113. data/lib/wsdl/xmlSchema/enumeration.rb +36 -0
  114. data/lib/wsdl/xmlSchema/fractiondigits.rb +37 -0
  115. data/lib/wsdl/xmlSchema/group.rb +100 -0
  116. data/lib/wsdl/xmlSchema/import.rb +53 -0
  117. data/lib/wsdl/xmlSchema/importHandler.rb +45 -0
  118. data/lib/wsdl/xmlSchema/importer.rb +102 -0
  119. data/lib/wsdl/xmlSchema/include.rb +48 -0
  120. data/lib/wsdl/xmlSchema/length.rb +37 -0
  121. data/lib/wsdl/xmlSchema/list.rb +48 -0
  122. data/lib/wsdl/xmlSchema/maxexclusive.rb +37 -0
  123. data/lib/wsdl/xmlSchema/maxinclusive.rb +37 -0
  124. data/lib/wsdl/xmlSchema/maxlength.rb +37 -0
  125. data/lib/wsdl/xmlSchema/minexclusive.rb +37 -0
  126. data/lib/wsdl/xmlSchema/mininclusive.rb +37 -0
  127. data/lib/wsdl/xmlSchema/minlength.rb +37 -0
  128. data/lib/wsdl/xmlSchema/parser.rb +167 -0
  129. data/lib/wsdl/xmlSchema/pattern.rb +36 -0
  130. data/lib/wsdl/xmlSchema/ref.rb +33 -0
  131. data/lib/wsdl/xmlSchema/schema.rb +178 -0
  132. data/lib/wsdl/xmlSchema/sequence.rb +54 -0
  133. data/lib/wsdl/xmlSchema/simpleContent.rb +69 -0
  134. data/lib/wsdl/xmlSchema/simpleExtension.rb +62 -0
  135. data/lib/wsdl/xmlSchema/simpleRestriction.rb +132 -0
  136. data/lib/wsdl/xmlSchema/simpleType.rb +87 -0
  137. data/lib/wsdl/xmlSchema/totaldigits.rb +37 -0
  138. data/lib/wsdl/xmlSchema/union.rb +35 -0
  139. data/lib/wsdl/xmlSchema/unique.rb +34 -0
  140. data/lib/wsdl/xmlSchema/whitespace.rb +37 -0
  141. data/lib/wsdl/xmlSchema/xsd2ruby.rb +174 -0
  142. data/lib/xsd/charset.rb +188 -0
  143. data/lib/xsd/codegen.rb +12 -0
  144. data/lib/xsd/codegen/classdef.rb +208 -0
  145. data/lib/xsd/codegen/commentdef.rb +34 -0
  146. data/lib/xsd/codegen/gensupport.rb +273 -0
  147. data/lib/xsd/codegen/methoddef.rb +70 -0
  148. data/lib/xsd/codegen/moduledef.rb +208 -0
  149. data/lib/xsd/datatypes.rb +1466 -0
  150. data/lib/xsd/datatypes1999.rb +20 -0
  151. data/lib/xsd/iconvcharset.rb +33 -0
  152. data/lib/xsd/mapping.rb +68 -0
  153. data/lib/xsd/namedelements.rb +132 -0
  154. data/lib/xsd/ns.rb +182 -0
  155. data/lib/xsd/qname.rb +79 -0
  156. data/lib/xsd/xmlparser.rb +76 -0
  157. data/lib/xsd/xmlparser.rb.orig +76 -0
  158. data/lib/xsd/xmlparser/libxmlparser.rb +119 -0
  159. data/lib/xsd/xmlparser/parser.rb +100 -0
  160. data/lib/xsd/xmlparser/rexmlparser.rb +58 -0
  161. data/lib/xsd/xmlparser/xmlparser.rb +50 -0
  162. data/lib/xsd/xmlparser/xmlscanner.rb +149 -0
  163. data/test/16runner.rb +68 -0
  164. data/test/interopR2/README.txt +2 -0
  165. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  166. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  167. data/test/interopR2/base.rb +288 -0
  168. data/test/interopR2/client.NetRemoting.rb +17 -0
  169. data/test/interopR2/client.rb +1234 -0
  170. data/test/interopR2/client4S4C.rb +15 -0
  171. data/test/interopR2/client4S4C2.rb +14 -0
  172. data/test/interopR2/clientASP.NET.rb +17 -0
  173. data/test/interopR2/clientApacheAxis.rb +16 -0
  174. data/test/interopR2/clientApacheSOAP.rb +17 -0
  175. data/test/interopR2/clientBEAWebLogic.rb +17 -0
  176. data/test/interopR2/clientBase.rb +1967 -0
  177. data/test/interopR2/clientCapeConnect.rb +18 -0
  178. data/test/interopR2/clientDelphi.rb +19 -0
  179. data/test/interopR2/clientEasySoap.rb +14 -0
  180. data/test/interopR2/clientFrontier.rb +25 -0
  181. data/test/interopR2/clientGLUE.rb +32 -0
  182. data/test/interopR2/clientHP.rb +13 -0
  183. data/test/interopR2/clientJAX-RPC.rb +19 -0
  184. data/test/interopR2/clientJSOAP.rb +14 -0
  185. data/test/interopR2/clientKafkaXSLT.rb +15 -0
  186. data/test/interopR2/clientMSSOAPToolkit2.0.rb +17 -0
  187. data/test/interopR2/clientMSSOAPToolkit3.0.rb +17 -0
  188. data/test/interopR2/clientNuSOAP.rb +19 -0
  189. data/test/interopR2/clientNuWave.rb +15 -0
  190. data/test/interopR2/clientOpenLink.rb +15 -0
  191. data/test/interopR2/clientOracle.rb +15 -0
  192. data/test/interopR2/clientPEAR.rb +18 -0
  193. data/test/interopR2/clientPhalanx.rb +18 -0
  194. data/test/interopR2/clientSIMACE.rb +18 -0
  195. data/test/interopR2/clientSOAP4R.rb +18 -0
  196. data/test/interopR2/clientSOAP__Lite.rb +14 -0
  197. data/test/interopR2/clientSQLData.rb +18 -0
  198. data/test/interopR2/clientSilverStream.rb +17 -0
  199. data/test/interopR2/clientSpray2001.rb +17 -0
  200. data/test/interopR2/clientSun.rb +19 -0
  201. data/test/interopR2/clientVWOpentalkSoap.rb +19 -0
  202. data/test/interopR2/clientWASP.rb +19 -0
  203. data/test/interopR2/clientWASPC.rb +18 -0
  204. data/test/interopR2/clientWebMethods.rb +15 -0
  205. data/test/interopR2/clientWhiteMesa.rb +28 -0
  206. data/test/interopR2/clientWingfoot.rb +15 -0
  207. data/test/interopR2/clientXMLBus.rb +19 -0
  208. data/test/interopR2/clientXMLRPC-EPI.rb +17 -0
  209. data/test/interopR2/clientXSOAP.rb +14 -0
  210. data/test/interopR2/clientZSI.rb +19 -0
  211. data/test/interopR2/clienteSOAP.rb +18 -0
  212. data/test/interopR2/clientgSOAP.rb +18 -0
  213. data/test/interopR2/clientkSOAP.rb +17 -0
  214. data/test/interopR2/iSimonReg.rb +112 -0
  215. data/test/interopR2/interopResultBase.rb +114 -0
  216. data/test/interopR2/interopService.rb +247 -0
  217. data/test/interopR2/rwikiInteropService.rb +105 -0
  218. data/test/interopR2/server.cgi +270 -0
  219. data/test/interopR2/server.rb +275 -0
  220. data/test/interopR2/simonReg.rb +123 -0
  221. data/test/interopR2/test.sh +49 -0
  222. data/test/interopR4/client.rb +112 -0
  223. data/test/results +4810 -0
  224. data/test/runner.rb +7 -0
  225. data/test/sm11/classDef.rb +156 -0
  226. data/test/sm11/client.rb +542 -0
  227. data/test/sm11/driver.rb +183 -0
  228. data/test/sm11/servant.rb +1067 -0
  229. data/test/sm11/server.rb +25 -0
  230. data/test/soap/asp.net/hello.wsdl +96 -0
  231. data/test/soap/asp.net/test_aspdotnet.rb +123 -0
  232. data/test/soap/auth/htdigest +2 -0
  233. data/test/soap/auth/htpasswd +2 -0
  234. data/test/soap/auth/test_basic.rb +117 -0
  235. data/test/soap/auth/test_digest.rb +118 -0
  236. data/test/soap/calc/calc.rb +17 -0
  237. data/test/soap/calc/calc2.rb +29 -0
  238. data/test/soap/calc/server.cgi +13 -0
  239. data/test/soap/calc/server.rb +17 -0
  240. data/test/soap/calc/server2.rb +20 -0
  241. data/test/soap/calc/test_calc.rb +51 -0
  242. data/test/soap/calc/test_calc2.rb +55 -0
  243. data/test/soap/calc/test_calc_cgi.rb +71 -0
  244. data/test/soap/case/test_mapping.rb +57 -0
  245. data/test/soap/fault/test_customfault.rb +60 -0
  246. data/test/soap/fault/test_fault.rb +46 -0
  247. data/test/soap/fault/test_soaparray.rb +35 -0
  248. data/test/soap/filter/test_filter.rb +146 -0
  249. data/test/soap/header/server.cgi +119 -0
  250. data/test/soap/header/session.pstoredb +0 -0
  251. data/test/soap/header/test_authheader.rb +240 -0
  252. data/test/soap/header/test_authheader_cgi.rb +121 -0
  253. data/test/soap/header/test_simplehandler.rb +116 -0
  254. data/test/soap/helloworld/hw_s.rb +16 -0
  255. data/test/soap/helloworld/test_helloworld.rb +43 -0
  256. data/test/soap/htpasswd +2 -0
  257. data/test/soap/literalArrayMapping/amazonEc.rb +4778 -0
  258. data/test/soap/literalArrayMapping/amazonEcDriver.rb +172 -0
  259. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  260. data/test/soap/literalArrayMapping/test_definedarray.rb +34 -0
  261. data/test/soap/marshal/marshaltestlib.rb +494 -0
  262. data/test/soap/marshal/test_digraph.rb +56 -0
  263. data/test/soap/marshal/test_marshal.rb +26 -0
  264. data/test/soap/marshal/test_struct.rb +47 -0
  265. data/test/soap/ssl/README +1 -0
  266. data/test/soap/ssl/ca.cert +23 -0
  267. data/test/soap/ssl/client.cert +19 -0
  268. data/test/soap/ssl/client.key +15 -0
  269. data/test/soap/ssl/server.cert +19 -0
  270. data/test/soap/ssl/server.key +15 -0
  271. data/test/soap/ssl/sslsvr.rb +57 -0
  272. data/test/soap/ssl/subca.cert +21 -0
  273. data/test/soap/ssl/test_ssl.rb +235 -0
  274. data/test/soap/struct/test_struct.rb +70 -0
  275. data/test/soap/styleuse/client.rb +20 -0
  276. data/test/soap/styleuse/server.rb +86 -0
  277. data/test/soap/swa/test_file.rb +75 -0
  278. data/test/soap/test_basetype.rb +1090 -0
  279. data/test/soap/test_cookie.rb +112 -0
  280. data/test/soap/test_custom_ns.rb +105 -0
  281. data/test/soap/test_custommap.rb +110 -0
  282. data/test/soap/test_empty.rb +105 -0
  283. data/test/soap/test_envelopenamespace.rb +85 -0
  284. data/test/soap/test_extraattr.rb +54 -0
  285. data/test/soap/test_generator.rb +27 -0
  286. data/test/soap/test_httpconfigloader.rb +71 -0
  287. data/test/soap/test_mapping.rb +131 -0
  288. data/test/soap/test_nestedexception.rb +56 -0
  289. data/test/soap/test_nil.rb +57 -0
  290. data/test/soap/test_no_indent.rb +88 -0
  291. data/test/soap/test_property.rb +428 -0
  292. data/test/soap/test_response_as_xml.rb +117 -0
  293. data/test/soap/test_soapelement.rb +138 -0
  294. data/test/soap/test_streamhandler.rb +270 -0
  295. data/test/soap/test_styleuse.rb +326 -0
  296. data/test/soap/wsdlDriver/README.txt +2 -0
  297. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  298. data/test/soap/wsdlDriver/document.wsdl +54 -0
  299. data/test/soap/wsdlDriver/echo_version.rb +29 -0
  300. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  301. data/test/soap/wsdlDriver/test_calc.rb +71 -0
  302. data/test/soap/wsdlDriver/test_document.rb +71 -0
  303. data/test/soap/wsdlDriver/test_simpletype.rb +80 -0
  304. data/test/testutil.rb +54 -0
  305. data/test/wsdl/abstract/abstract.wsdl +176 -0
  306. data/test/wsdl/abstract/test_abstract.rb +159 -0
  307. data/test/wsdl/anonymous/expectedClassDef.rb +128 -0
  308. data/test/wsdl/anonymous/expectedDriver.rb +59 -0
  309. data/test/wsdl/anonymous/expectedMappingRegistry.rb +176 -0
  310. data/test/wsdl/anonymous/lp.wsdl +147 -0
  311. data/test/wsdl/anonymous/test_anonymous.rb +130 -0
  312. data/test/wsdl/any/any.wsdl +114 -0
  313. data/test/wsdl/any/expectedDriver.rb +68 -0
  314. data/test/wsdl/any/expectedEcho.rb +57 -0
  315. data/test/wsdl/any/expectedMappingRegistry.rb +63 -0
  316. data/test/wsdl/any/expectedService.rb +69 -0
  317. data/test/wsdl/any/test_any.rb +193 -0
  318. data/test/wsdl/axisArray/axisArray.wsdl +87 -0
  319. data/test/wsdl/axisArray/test_axisarray.rb +124 -0
  320. data/test/wsdl/choice/choice.wsdl +167 -0
  321. data/test/wsdl/choice/test_choice.rb +310 -0
  322. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  323. data/test/wsdl/complexcontent/test_echo.rb +90 -0
  324. data/test/wsdl/datetime/DatetimeService.rb +44 -0
  325. data/test/wsdl/datetime/datetime.rb +0 -0
  326. data/test/wsdl/datetime/datetime.wsdl +45 -0
  327. data/test/wsdl/datetime/datetimeServant.rb +22 -0
  328. data/test/wsdl/datetime/test_datetime.rb +86 -0
  329. data/test/wsdl/document/array/double.wsdl +161 -0
  330. data/test/wsdl/document/array/test_array.rb +201 -0
  331. data/test/wsdl/document/document.wsdl +76 -0
  332. data/test/wsdl/document/number.wsdl +54 -0
  333. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  334. data/test/wsdl/document/test_nosoapaction.rb +102 -0
  335. data/test/wsdl/document/test_number.rb +92 -0
  336. data/test/wsdl/document/test_rpc.rb +355 -0
  337. data/test/wsdl/emptycomplextype.wsdl +31 -0
  338. data/test/wsdl/fault/fault.wsdl +79 -0
  339. data/test/wsdl/fault/multifault.wsdl +96 -0
  340. data/test/wsdl/fault/test_fault.rb +119 -0
  341. data/test/wsdl/fault/test_multifault.rb +134 -0
  342. data/test/wsdl/group/expectedClassdef.rb +58 -0
  343. data/test/wsdl/group/expectedDriver.rb +51 -0
  344. data/test/wsdl/group/expectedMappingRegistry.rb +67 -0
  345. data/test/wsdl/group/group.wsdl +88 -0
  346. data/test/wsdl/group/test_rpc.rb +145 -0
  347. data/test/wsdl/list/list.wsdl +93 -0
  348. data/test/wsdl/list/test_list.rb +124 -0
  349. data/test/wsdl/map/map.wsdl +92 -0
  350. data/test/wsdl/map/map.xml +43 -0
  351. data/test/wsdl/map/test_map.rb +99 -0
  352. data/test/wsdl/marshal/Person.rb +1 -0
  353. data/test/wsdl/marshal/person.wsdl +21 -0
  354. data/test/wsdl/marshal/person_org.rb +23 -0
  355. data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
  356. data/test/wsdl/multiplefault.wsdl +75 -0
  357. data/test/wsdl/oneway/oneway.wsdl +36 -0
  358. data/test/wsdl/oneway/test_oneway.rb +108 -0
  359. data/test/wsdl/overload/expectedClient.rb +37 -0
  360. data/test/wsdl/overload/expectedDriver.rb +61 -0
  361. data/test/wsdl/overload/expectedServant.rb +35 -0
  362. data/test/wsdl/overload/overload.wsdl +70 -0
  363. data/test/wsdl/overload/test_overload.rb +131 -0
  364. data/test/wsdl/qualified/lp.wsdl +47 -0
  365. data/test/wsdl/qualified/lp.xsd +26 -0
  366. data/test/wsdl/qualified/np.wsdl +51 -0
  367. data/test/wsdl/qualified/test_qualified.rb +137 -0
  368. data/test/wsdl/qualified/test_unqualified.rb +138 -0
  369. data/test/wsdl/raa/RAAService.rb +125 -0
  370. data/test/wsdl/raa/README.txt +8 -0
  371. data/test/wsdl/raa/expectedClassDef.rb +100 -0
  372. data/test/wsdl/raa/expectedDriver.rb +96 -0
  373. data/test/wsdl/raa/expectedMappingRegistry.rb +121 -0
  374. data/test/wsdl/raa/raa.wsdl +264 -0
  375. data/test/wsdl/raa/test_raa.rb +126 -0
  376. data/test/wsdl/ref/expectedDriver.rb +51 -0
  377. data/test/wsdl/ref/expectedProduct.rb +243 -0
  378. data/test/wsdl/ref/product.wsdl +147 -0
  379. data/test/wsdl/ref/test_ref.rb +268 -0
  380. data/test/wsdl/rpc/rpc.wsdl +109 -0
  381. data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
  382. data/test/wsdl/rpc/test_rpc.rb +176 -0
  383. data/test/wsdl/rpc/test_rpc_lit.rb +470 -0
  384. data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
  385. data/test/wsdl/simplecontent/test_simplecontent.rb +102 -0
  386. data/test/wsdl/simpletype/rpc/echo_version.rb +1 -0
  387. data/test/wsdl/simpletype/rpc/echo_versionDriver.rb +10 -0
  388. data/test/wsdl/simpletype/rpc/echo_versionMappingRegistry.rb +4 -0
  389. data/test/wsdl/simpletype/rpc/echo_versionServant.rb +3 -0
  390. data/test/wsdl/simpletype/rpc/echo_version_service.rb +3 -0
  391. data/test/wsdl/simpletype/rpc/echo_version_serviceClient.rb +34 -0
  392. data/test/wsdl/simpletype/rpc/expectedClient.rb +34 -0
  393. data/test/wsdl/simpletype/rpc/expectedDriver.rb +58 -0
  394. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +36 -0
  395. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +57 -0
  396. data/test/wsdl/simpletype/rpc/expectedServant.rb +32 -0
  397. data/test/wsdl/simpletype/rpc/expectedService.rb +55 -0
  398. data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
  399. data/test/wsdl/simpletype/rpc/test_rpc.rb +52 -0
  400. data/test/wsdl/simpletype/simpletype.wsdl +114 -0
  401. data/test/wsdl/simpletype/test_simpletype.rb +92 -0
  402. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  403. data/test/wsdl/soap/test_soapbodyparts.rb +79 -0
  404. data/test/wsdl/soap/wsdl2ruby/echo_version.rb +1 -0
  405. data/test/wsdl/soap/wsdl2ruby/echo_versionDriver.rb +10 -0
  406. data/test/wsdl/soap/wsdl2ruby/echo_versionMappingRegistry.rb +4 -0
  407. data/test/wsdl/soap/wsdl2ruby/echo_versionServant.rb +3 -0
  408. data/test/wsdl/soap/wsdl2ruby/echo_version_service.cgi +3 -0
  409. data/test/wsdl/soap/wsdl2ruby/echo_version_service.rb +7 -0
  410. data/test/wsdl/soap/wsdl2ruby/echo_version_serviceClient.rb +34 -0
  411. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +21 -0
  412. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +34 -0
  413. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +58 -0
  414. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +36 -0
  415. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +32 -0
  416. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +48 -0
  417. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +55 -0
  418. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  419. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +37 -0
  420. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  421. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +53 -0
  422. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  423. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +83 -0
  424. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +102 -0
  425. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  426. data/test/wsdl/soaptype/test_soaptype.rb +178 -0
  427. data/test/wsdl/test_emptycomplextype.rb +21 -0
  428. data/test/wsdl/test_fault.rb +50 -0
  429. data/test/wsdl/test_multiplefault.rb +41 -0
  430. data/test/xsd/codegen/test_classdef.rb +244 -0
  431. data/test/xsd/noencoding.xml +4 -0
  432. data/test/xsd/test_noencoding.rb +32 -0
  433. data/test/xsd/test_ns.rb +41 -0
  434. data/test/xsd/test_xmlschemaparser.rb +22 -0
  435. data/test/xsd/test_xsd.rb +1638 -0
  436. data/test/xsd/xmllang.xml +43 -0
  437. data/test/xsd/xmlschema.xml +12 -0
  438. data/test/xsd/xsd2ruby/expected_mysample.rb +65 -0
  439. data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +11 -0
  440. data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +51 -0
  441. data/test/xsd/xsd2ruby/section.xsd +49 -0
  442. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +90 -0
  443. metadata +568 -0
@@ -0,0 +1,35 @@
1
+ require 'soap/rpc/router'
2
+ require 'soap/mapping/mapping'
3
+ require 'soap/processor'
4
+ require 'test/unit'
5
+
6
+
7
+ module SOAP
8
+ module Fault
9
+
10
+
11
+ class TestSOAPArray < Test::Unit::TestCase
12
+
13
+ # simulate the soap fault creation and parsing on the client
14
+ def test_parse_fault
15
+ router = SOAP::RPC::Router.new('parse_SOAPArray_error')
16
+ soap_fault = pump_stack rescue router.create_fault_response($!)
17
+ env = SOAP::Processor.unmarshal(soap_fault.send_string)
18
+ soap_fault = SOAP::FaultError.new(env.body.fault)
19
+ # in literal service, RuntimeError is raised (not an ArgumentError)
20
+ # any chance to use Ruby's exception encoding in literal service?
21
+ assert_raises(RuntimeError) do
22
+ registry = SOAP::Mapping::LiteralRegistry.new
23
+ SOAP::Mapping.fault2exception(soap_fault, registry)
24
+ end
25
+ end
26
+
27
+ def pump_stack(max = 0)
28
+ raise ArgumentError if max > 10
29
+ pump_stack(max+1)
30
+ end
31
+ end
32
+
33
+
34
+ end
35
+ end
@@ -0,0 +1,146 @@
1
+ require 'test/unit'
2
+ require 'soap/rpc/driver'
3
+ require 'soap/rpc/standaloneServer'
4
+ require 'soap/filter'
5
+
6
+
7
+ module SOAP
8
+ module Filter
9
+
10
+
11
+ class TestFilter < Test::Unit::TestCase
12
+ Port = 17171
13
+ PortName = 'http://tempuri.org/filterPort'
14
+
15
+ class FilterTestServer < SOAP::RPC::StandaloneServer
16
+ class Servant
17
+ def self.create
18
+ new
19
+ end
20
+
21
+ def echo(amt)
22
+ amt
23
+ end
24
+ end
25
+
26
+ class ServerFilter1 < SOAP::Filter::Handler
27
+ # 15 -> 30
28
+ def on_outbound(envelope, opt)
29
+ unless envelope.body.is_fault
30
+ node = envelope.body.root_node
31
+ node.retval = SOAPInt.new(node.retval.data * 2)
32
+ node.elename = XSD::QName.new(nil, 'return')
33
+ end
34
+ envelope
35
+ end
36
+
37
+ # 4 -> 5
38
+ def on_inbound(xml, opt)
39
+ xml = xml.sub(/4/, '5')
40
+ xml
41
+ end
42
+ end
43
+
44
+ class ServerFilter2 < SOAP::Filter::Handler
45
+ # 5 -> 15
46
+ def on_outbound(envelope, opt)
47
+ unless envelope.body.is_fault
48
+ node = envelope.body.root_node
49
+ node.retval = SOAPInt.new(node.retval.data + 10)
50
+ node.elename = XSD::QName.new(nil, 'return')
51
+ end
52
+ envelope
53
+ end
54
+
55
+ # 5 -> 6
56
+ def on_inbound(xml, opt)
57
+ xml = xml.sub(/5/, '6')
58
+ xml
59
+ end
60
+ end
61
+
62
+ def initialize(*arg)
63
+ super
64
+ add_rpc_servant(Servant.new, PortName)
65
+ self.filterchain << ServerFilter1.new
66
+ self.filterchain << ServerFilter2.new
67
+ end
68
+ end
69
+
70
+ def setup
71
+ @endpoint = "http://localhost:#{Port}/"
72
+ setup_server
73
+ setup_client
74
+ end
75
+
76
+ def setup_server
77
+ @server = FilterTestServer.new(self.class.name, nil, '0.0.0.0', Port)
78
+ @server.level = Logger::Severity::ERROR
79
+ @t = Thread.new {
80
+ @server.start
81
+ }
82
+ end
83
+
84
+ def setup_client
85
+ @client = SOAP::RPC::Driver.new(@endpoint, PortName)
86
+ @client.wiredump_dev = STDERR if $DEBUG
87
+ @client.add_method('echo', 'amt')
88
+ end
89
+
90
+ def teardown
91
+ teardown_server if @server
92
+ teardown_client if @client
93
+ end
94
+
95
+ def teardown_server
96
+ @server.shutdown
97
+ @t.kill
98
+ @t.join
99
+ end
100
+
101
+ def teardown_client
102
+ @client.reset_stream
103
+ end
104
+
105
+ class ClientFilter1 < SOAP::Filter::Handler
106
+ # 1 -> 2
107
+ def on_outbound(envelope, opt)
108
+ param = envelope.body.root_node.inparam
109
+ param["amt"] = SOAPInt.new(param["amt"].data + 1)
110
+ param["amt"].elename = XSD::QName.new(nil, 'amt')
111
+ envelope
112
+ end
113
+
114
+ # 31 -> 32
115
+ def on_inbound(xml, opt)
116
+ xml = xml.sub(/31/, '32')
117
+ xml
118
+ end
119
+ end
120
+
121
+ class ClientFilter2 < SOAP::Filter::Handler
122
+ # 2 -> 4
123
+ def on_outbound(envelope, opt)
124
+ param = envelope.body.root_node.inparam
125
+ param["amt"] = SOAPInt.new(param["amt"].data * 2)
126
+ param["amt"].elename = XSD::QName.new(nil, 'amt')
127
+ envelope
128
+ end
129
+
130
+ # 30 -> 31
131
+ def on_inbound(xml, opt)
132
+ xml = xml.sub(/30/, '31')
133
+ xml
134
+ end
135
+ end
136
+
137
+ def test_call
138
+ @client.filterchain << ClientFilter1.new
139
+ @client.filterchain << ClientFilter2.new
140
+ assert_equal(32, @client.echo(1))
141
+ end
142
+ end
143
+
144
+
145
+ end
146
+ 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 if @server
176
+ teardown_client if @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