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,277 @@
1
+ # SOAP4R - SOAP elements library
2
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'xsd/qname'
10
+ require 'soap/baseData'
11
+
12
+
13
+ module SOAP
14
+
15
+
16
+ ###
17
+ ## SOAP elements
18
+ #
19
+ module SOAPEnvelopeElement; end
20
+
21
+ class SOAPFault < SOAPStruct
22
+ include SOAPEnvelopeElement
23
+ include SOAPCompoundtype
24
+
25
+ public
26
+
27
+ def faultcode
28
+ self['faultcode']
29
+ end
30
+
31
+ def faultstring
32
+ self['faultstring']
33
+ end
34
+
35
+ def faultactor
36
+ self['faultactor']
37
+ end
38
+
39
+ def detail
40
+ self['detail']
41
+ end
42
+
43
+ def faultcode=(rhs)
44
+ self['faultcode'] = rhs
45
+ end
46
+
47
+ def faultstring=(rhs)
48
+ self['faultstring'] = rhs
49
+ end
50
+
51
+ def faultactor=(rhs)
52
+ self['faultactor'] = rhs
53
+ end
54
+
55
+ def detail=(rhs)
56
+ self['detail'] = rhs
57
+ end
58
+
59
+ def initialize(faultcode = nil, faultstring = nil, faultactor = nil, detail = nil)
60
+ super(EleFaultName)
61
+ @elename = EleFaultName
62
+ @encodingstyle = EncodingNamespace
63
+ if faultcode
64
+ self.faultcode = faultcode
65
+ self.faultstring = faultstring
66
+ self.faultactor = faultactor
67
+ self.detail = detail
68
+ self.faultcode.elename = EleFaultCodeName if self.faultcode
69
+ self.faultstring.elename = EleFaultStringName if self.faultstring
70
+ self.faultactor.elename = EleFaultActorName if self.faultactor
71
+ self.detail.elename = EleFaultDetailName if self.detail
72
+ end
73
+ faultcode.parent = self if faultcode
74
+ faultstring.parent = self if faultstring
75
+ faultactor.parent = self if faultactor
76
+ detail.parent = self if detail
77
+ end
78
+
79
+ def encode(generator, ns, attrs = {})
80
+ Generator.assign_ns(attrs, ns, EnvelopeNamespace)
81
+ Generator.assign_ns(attrs, ns, EncodingNamespace)
82
+ attrs[ns.name(AttrEncodingStyleName)] = EncodingNamespace
83
+ name = ns.name(@elename)
84
+ generator.encode_tag(name, attrs)
85
+ yield(self.faultcode)
86
+ yield(self.faultstring)
87
+ yield(self.faultactor)
88
+ yield(self.detail) if self.detail
89
+ generator.encode_tag_end(name, true)
90
+ end
91
+ end
92
+
93
+
94
+ class SOAPBody < SOAPStruct
95
+ include SOAPEnvelopeElement
96
+
97
+ attr_reader :is_fault
98
+
99
+ def initialize(data = nil, is_fault = false)
100
+ super(nil)
101
+ @elename = EleBodyName
102
+ @encodingstyle = nil
103
+ if data
104
+ if data.respond_to?(:to_xmlpart)
105
+ data = SOAP::SOAPRawData.new(data)
106
+ elsif defined?(::REXML) and data.is_a?(::REXML::Element)
107
+ data = SOAP::SOAPRawData.new(SOAP::SOAPREXMLElementWrap.new(data))
108
+ end
109
+ if data.respond_to?(:elename)
110
+ add(data.elename.name, data)
111
+ else
112
+ data.to_a.each do |datum|
113
+ add(datum.elename.name, datum)
114
+ end
115
+ end
116
+ end
117
+ @is_fault = is_fault
118
+ end
119
+
120
+ def encode(generator, ns, attrs = {})
121
+ name = ns.name(@elename)
122
+ generator.encode_tag(name, attrs)
123
+ @data.each do |data|
124
+ yield(data)
125
+ end
126
+ generator.encode_tag_end(name, @data.size > 0)
127
+ end
128
+
129
+ def root_node
130
+ @data.each do |node|
131
+ if node.root == 1
132
+ return node
133
+ end
134
+ end
135
+ # No specified root...
136
+ @data.each do |node|
137
+ if node.root != 0
138
+ return node
139
+ end
140
+ end
141
+ raise Parser::FormatDecodeError.new('no root element')
142
+ end
143
+ end
144
+
145
+
146
+ class SOAPHeaderItem < XSD::NSDBase
147
+ include SOAPEnvelopeElement
148
+ include SOAPCompoundtype
149
+
150
+ public
151
+
152
+ attr_accessor :element
153
+ attr_accessor :mustunderstand
154
+ attr_accessor :encodingstyle
155
+ attr_accessor :actor
156
+
157
+ def initialize(element, mustunderstand = true, encodingstyle = nil, actor = nil)
158
+ super()
159
+ @type = nil
160
+ @element = element
161
+ @mustunderstand = mustunderstand
162
+ @encodingstyle = encodingstyle
163
+ @actor = actor
164
+ element.parent = self if element
165
+ element.qualified = true
166
+ end
167
+
168
+ def encode(generator, ns, attrs = {})
169
+ attrs.each do |key, value|
170
+ @element.extraattr[key] = value
171
+ end
172
+ # to remove mustUnderstand attribute, set it to nil
173
+ unless @mustunderstand.nil?
174
+ @element.extraattr[AttrMustUnderstandName] = (@mustunderstand ? '1' : '0')
175
+ end
176
+ if @encodingstyle
177
+ @element.extraattr[AttrEncodingStyleName] = @encodingstyle
178
+ end
179
+ unless @element.encodingstyle
180
+ @element.encodingstyle = @encodingstyle
181
+ end
182
+ if @actor
183
+ @element.extraattr[AttrActorName] = @actor
184
+ end
185
+ yield(@element)
186
+ end
187
+ end
188
+
189
+
190
+ class SOAPHeader < SOAPStruct
191
+ include SOAPEnvelopeElement
192
+
193
+ attr_writer :force_encode
194
+
195
+ def initialize
196
+ super(nil)
197
+ @elename = EleHeaderName
198
+ @encodingstyle = nil
199
+ @force_encode = false
200
+ end
201
+
202
+ def encode(generator, ns, attrs = {})
203
+ name = ns.name(@elename)
204
+ generator.encode_tag(name, attrs)
205
+ @data.each do |data|
206
+ yield(data)
207
+ end
208
+ generator.encode_tag_end(name, @data.size > 0)
209
+ end
210
+
211
+ def add(name, value)
212
+ actor = value.extraattr[AttrActorName]
213
+ mu = value.extraattr[AttrMustUnderstandName]
214
+ encstyle = value.extraattr[AttrEncodingStyleName]
215
+ mu_value = mu.nil? ? nil : (mu == '1')
216
+ # to remove mustUnderstand attribute, set it to nil
217
+ item = SOAPHeaderItem.new(value, mu_value, encstyle, actor)
218
+ super(name, item)
219
+ end
220
+
221
+ def length
222
+ @data.length
223
+ end
224
+ alias size length
225
+
226
+ def encode?
227
+ @force_encode or length > 0
228
+ end
229
+ end
230
+
231
+
232
+ class SOAPEnvelope < XSD::NSDBase
233
+ include SOAPEnvelopeElement
234
+ include SOAPCompoundtype
235
+
236
+ attr_reader :header
237
+ attr_reader :body
238
+ attr_reader :external_content
239
+
240
+ def initialize(header = nil, body = nil)
241
+ super()
242
+ @type = nil
243
+ @elename = EleEnvelopeName
244
+ @encodingstyle = nil
245
+ @header = header
246
+ @body = body
247
+ @external_content = {}
248
+ header.parent = self if header
249
+ body.parent = self if body
250
+ end
251
+
252
+ def header=(header)
253
+ header.parent = self
254
+ @header = header
255
+ end
256
+
257
+ def body=(body)
258
+ body.parent = self
259
+ @body = body
260
+ end
261
+
262
+ def encode(generator, ns, attrs = {})
263
+ Generator.assign_ns(attrs, ns, elename.namespace)
264
+ name = ns.name(@elename)
265
+ generator.encode_tag(name, attrs)
266
+ yield(@header) if @header and @header.encode?
267
+ yield(@body)
268
+ generator.encode_tag_end(name, true)
269
+ end
270
+
271
+ def to_ary
272
+ [header, body]
273
+ end
274
+ end
275
+
276
+
277
+ end
@@ -0,0 +1,207 @@
1
+ # SOAP4R - ASP.NET EncodingStyle handler library
2
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'soap/encodingstyle/handler'
10
+
11
+
12
+ module SOAP
13
+ module EncodingStyle
14
+
15
+
16
+ class ASPDotNetHandler < Handler
17
+ Namespace = 'http://tempuri.org/ASP.NET'
18
+ add_handler
19
+
20
+ def initialize(charset = nil)
21
+ super(charset)
22
+ @textbuf = ''
23
+ @decode_typemap = nil
24
+ end
25
+
26
+
27
+ ###
28
+ ## encode interface.
29
+ #
30
+ def encode_data(generator, ns, data, parent)
31
+ attrs = {}
32
+ # ASPDotNetHandler is intended to be used for accessing an ASP.NET doc/lit
33
+ # service as an rpc/encoded service. in the situation, local elements
34
+ # should be qualified. propagate parent's namespace to children.
35
+ if data.elename.namespace.nil?
36
+ data.elename =
37
+ XSD::QName.new(parent.elename.namespace, data.elename.name)
38
+ end
39
+ name = generator.encode_name(ns, data, attrs)
40
+ case data
41
+ when SOAPRawString
42
+ generator.encode_tag(name, attrs)
43
+ generator.encode_rawstring(data.to_s)
44
+ when XSD::XSDString
45
+ generator.encode_tag(name, attrs)
46
+ generator.encode_string(@charset ?
47
+ XSD::Charset.encoding_to_xml(data.to_s, @charset) : data.to_s)
48
+ when XSD::XSDAnySimpleType
49
+ generator.encode_tag(name, attrs)
50
+ generator.encode_string(data.to_s)
51
+ when SOAPStruct
52
+ generator.encode_tag(name, attrs)
53
+ data.each do |key, value|
54
+ generator.encode_child(ns, value, data)
55
+ end
56
+ when SOAPArray
57
+ generator.encode_tag(name, attrs)
58
+ data.traverse do |child, *rank|
59
+ data.position = nil
60
+ generator.encode_child(ns, child, data)
61
+ end
62
+ else
63
+ raise EncodingStyleError.new(
64
+ "unknown object:#{data} in this encodingStyle")
65
+ end
66
+ end
67
+
68
+ def encode_data_end(generator, ns, data, parent)
69
+ name = generator.encode_name_end(ns, data)
70
+ cr = (data.is_a?(SOAPCompoundtype) and data.have_member)
71
+ generator.encode_tag_end(name, cr)
72
+ end
73
+
74
+
75
+ ###
76
+ ## decode interface.
77
+ #
78
+ class SOAPTemporalObject
79
+ attr_accessor :parent
80
+
81
+ def initialize
82
+ @parent = nil
83
+ end
84
+ end
85
+
86
+ class SOAPUnknown < SOAPTemporalObject
87
+ def initialize(handler, elename)
88
+ super()
89
+ @handler = handler
90
+ @elename = elename
91
+ end
92
+
93
+ def as_struct
94
+ o = SOAPStruct.decode(@elename, XSD::AnyTypeName)
95
+ o.parent = @parent
96
+ o.type.name = @name
97
+ @handler.decode_parent(@parent, o)
98
+ o
99
+ end
100
+
101
+ def as_string
102
+ o = SOAPString.decode(@elename)
103
+ o.parent = @parent
104
+ @handler.decode_parent(@parent, o)
105
+ o
106
+ end
107
+ end
108
+
109
+ def decode_tag(ns, elename, attrs, parent)
110
+ @textbuf = ''
111
+ o = SOAPUnknown.new(self, elename)
112
+ o.parent = parent
113
+ o
114
+ end
115
+
116
+ def decode_tag_end(ns, node)
117
+ o = node.node
118
+ if o.is_a?(SOAPUnknown)
119
+ newnode = o.as_string
120
+ # if /\A\s*\z/ =~ @textbuf
121
+ # o.as_struct
122
+ # else
123
+ # o.as_string
124
+ # end
125
+ node.replace_node(newnode)
126
+ o = node.node
127
+ end
128
+
129
+ decode_textbuf(o)
130
+ @textbuf = ''
131
+ end
132
+
133
+ def decode_text(ns, text)
134
+ # @textbuf is set at decode_tag_end.
135
+ @textbuf << text
136
+ end
137
+
138
+ def decode_prologue
139
+ end
140
+
141
+ def decode_epilogue
142
+ end
143
+
144
+ def decode_parent(parent, node)
145
+ case parent.node
146
+ when SOAPUnknown
147
+ newparent = parent.node.as_struct
148
+ node.parent = newparent
149
+ parent.replace_node(newparent)
150
+ decode_parent(parent, node)
151
+
152
+ when SOAPStruct
153
+ data = parent.node[node.elename.name]
154
+ case data
155
+ when nil
156
+ parent.node.add(node.elename.name, node)
157
+ when SOAPArray
158
+ name, type_ns = node.elename.name, node.type.namespace
159
+ data.add(node)
160
+ node.elename, node.type.namespace = name, type_ns
161
+ else
162
+ parent.node[node.elename.name] = SOAPArray.new
163
+ name, type_ns = data.elename.name, data.type.namespace
164
+ parent.node[node.elename.name].add(data)
165
+ data.elename.name, data.type.namespace = name, type_ns
166
+ name, type_ns = node.elename.name, node.type.namespace
167
+ parent.node[node.elename.name].add(node)
168
+ node.elename.name, node.type.namespace = name, type_ns
169
+ end
170
+
171
+ when SOAPArray
172
+ if node.position
173
+ parent.node[*(decode_arypos(node.position))] = node
174
+ parent.node.sparse = true
175
+ else
176
+ parent.node.add(node)
177
+ end
178
+
179
+ when SOAPBasetype
180
+ raise EncodingStyleError.new("SOAP base type must not have a child")
181
+
182
+ else
183
+ # SOAPUnknown does not have parent.
184
+ # raise EncodingStyleError.new("illegal parent: #{parent}")
185
+ end
186
+ end
187
+
188
+ private
189
+
190
+ def decode_textbuf(node)
191
+ if node.is_a?(XSD::XSDString)
192
+ if @charset
193
+ node.set(XSD::Charset.encoding_from_xml(@textbuf, @charset))
194
+ else
195
+ node.set(@textbuf)
196
+ end
197
+ else
198
+ # Nothing to do...
199
+ end
200
+ end
201
+ end
202
+
203
+ ASPDotNetHandler.new
204
+
205
+
206
+ end
207
+ end