tomdz-soap4r 1.5.8.20111103171510

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