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,33 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL SOAP documentation element.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+
15
+
16
+ class Documentation < Info
17
+ def initialize
18
+ super
19
+ end
20
+
21
+ def parse_element(element)
22
+ # Accepts any element.
23
+ self
24
+ end
25
+
26
+ def parse_attr(attr, value)
27
+ # Accepts any attribute.
28
+ true
29
+ end
30
+ end
31
+
32
+
33
+ end
@@ -0,0 +1,81 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL import definition.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'wsdl/info'
11
+ require 'wsdl/importer'
12
+
13
+
14
+ module WSDL
15
+
16
+
17
+ class Import < Info
18
+ attr_reader :namespace
19
+ attr_reader :location
20
+ attr_reader :content
21
+
22
+ def initialize
23
+ super
24
+ @namespace = nil
25
+ @location = nil
26
+ @content = nil
27
+ @web_client = nil
28
+ end
29
+
30
+ def parse_element(element)
31
+ case element
32
+ when DocumentationName
33
+ o = Documentation.new
34
+ o
35
+ else
36
+ nil
37
+ end
38
+ end
39
+
40
+ def parse_attr(attr, value)
41
+ case attr
42
+ when NamespaceAttrName
43
+ @namespace = value.source
44
+ if @content
45
+ @content.targetnamespace = @namespace
46
+ end
47
+ @namespace
48
+ when LocationAttrName
49
+ @location = URI.parse(value.source)
50
+ if @location.relative? and !parent.location.nil? and
51
+ !parent.location.relative?
52
+ @location = parent.location + @location
53
+ end
54
+ if root.importedschema.key?(@location)
55
+ @content = root.importedschema[@location]
56
+ else
57
+ root.importedschema[@location] = nil # placeholder
58
+ @content = import(@location)
59
+ if @content.is_a?(Definitions)
60
+ @content.root = root
61
+ if @namespace
62
+ @content.targetnamespace = @namespace
63
+ end
64
+ end
65
+ root.importedschema[@location] = @content
66
+ end
67
+ @location
68
+ else
69
+ nil
70
+ end
71
+ end
72
+
73
+ private
74
+
75
+ def import(location)
76
+ Importer.import(location, root)
77
+ end
78
+ end
79
+
80
+
81
+ end
@@ -0,0 +1,39 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL importer library.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'wsdl/xmlSchema/importer'
11
+ require 'wsdl/parser'
12
+
13
+
14
+ module WSDL
15
+
16
+
17
+ class Importer < WSDL::XMLSchema::Importer
18
+ def self.import(location, originalroot = nil)
19
+ new.import(location, originalroot)
20
+ end
21
+
22
+ private
23
+
24
+ def parse(content, location, originalroot)
25
+ opt = {
26
+ :location => location,
27
+ :originalroot => originalroot
28
+ }
29
+ begin
30
+ WSDL::Parser.new(opt).parse(content)
31
+ rescue WSDL::Parser::ParseError
32
+ super(content, location, originalroot)
33
+ end
34
+ end
35
+
36
+ end
37
+
38
+
39
+ end
data/lib/wsdl/info.rb ADDED
@@ -0,0 +1,51 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL information base.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ module WSDL
11
+
12
+
13
+ class Info
14
+ attr_accessor :root
15
+ attr_accessor :parent
16
+ attr_accessor :id
17
+
18
+ def initialize
19
+ @root = nil
20
+ @parent = nil
21
+ @id = nil
22
+ end
23
+
24
+ def inspect
25
+ if self.respond_to?(:name)
26
+ sprintf("#<%s:0x%x %s>", self.class.name, __id__, self.name)
27
+ else
28
+ sprintf("#<%s:0x%x>", self.class.name, __id__)
29
+ end
30
+ end
31
+
32
+ def parse_element(element); end # abstract
33
+
34
+ def parse_attr(attr, value); end # abstract
35
+
36
+ def parse_epilogue; end # abstract
37
+
38
+ private
39
+
40
+ def to_int(value)
41
+ Integer(value.source)
42
+ end
43
+
44
+ def to_boolean(value)
45
+ s = value.source
46
+ s == "true" or s == "1"
47
+ end
48
+ end
49
+
50
+
51
+ end
@@ -0,0 +1,55 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL message definition.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+
15
+
16
+ class Message < Info
17
+ attr_reader :name # required
18
+ attr_reader :parts
19
+
20
+ def initialize
21
+ super
22
+ @name = nil
23
+ @parts = []
24
+ end
25
+
26
+ def targetnamespace
27
+ parent.targetnamespace
28
+ end
29
+
30
+ def parse_element(element)
31
+ case element
32
+ when PartName
33
+ o = Part.new
34
+ @parts << o
35
+ o
36
+ when DocumentationName
37
+ o = Documentation.new
38
+ o
39
+ else
40
+ nil
41
+ end
42
+ end
43
+
44
+ def parse_attr(attr, value)
45
+ case attr
46
+ when NameAttrName
47
+ @name = XSD::QName.new(parent.targetnamespace, value.source)
48
+ else
49
+ nil
50
+ end
51
+ end
52
+ end
53
+
54
+
55
+ end
@@ -0,0 +1,152 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL operation definition.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+
15
+
16
+ class Operation < Info
17
+ attr_reader :name # required
18
+ attr_reader :parameter_order # optional
19
+ attr_reader :input
20
+ attr_reader :output
21
+ attr_reader :fault
22
+ attr_reader :type # required
23
+
24
+ def initialize
25
+ super
26
+ @name = nil
27
+ @type = nil
28
+ @parameter_order = nil
29
+ @input = nil
30
+ @output = nil
31
+ @fault = []
32
+ end
33
+
34
+ def targetnamespace
35
+ parent.targetnamespace
36
+ end
37
+
38
+ def operationname
39
+ as_operationname(@name)
40
+ end
41
+
42
+ EMPTY = [].freeze
43
+ # TODO: remove once after OperationInfo created
44
+ def inputparts
45
+ if message = input_message
46
+ sort_parts(message.parts)
47
+ else
48
+ EMPTY
49
+ end
50
+ end
51
+
52
+ def inputname
53
+ if input
54
+ as_operationname(input.name ? input.name.name : @name)
55
+ else
56
+ nil
57
+ end
58
+ end
59
+
60
+ # TODO: remove once after OperationInfo created
61
+ def outputparts
62
+ if message = output_message
63
+ sort_parts(message.parts)
64
+ else
65
+ EMPTY
66
+ end
67
+ end
68
+
69
+ def outputname
70
+ if output
71
+ as_operationname(output.name ? output.name.name : @name + 'Response')
72
+ else
73
+ nil
74
+ end
75
+ end
76
+
77
+ def parse_element(element)
78
+ case element
79
+ when InputName
80
+ o = Param.new
81
+ @input = o
82
+ o
83
+ when OutputName
84
+ o = Param.new
85
+ @output = o
86
+ o
87
+ when FaultName
88
+ o = Param.new
89
+ @fault << o
90
+ o
91
+ when DocumentationName
92
+ o = Documentation.new
93
+ o
94
+ else
95
+ nil
96
+ end
97
+ end
98
+
99
+ def parse_attr(attr, value)
100
+ case attr
101
+ when NameAttrName
102
+ @name = value.source
103
+ when TypeAttrName
104
+ @type = value
105
+ when ParameterOrderAttrName
106
+ @parameter_order = value.source.split(/\s+/)
107
+ else
108
+ nil
109
+ end
110
+ end
111
+
112
+ private
113
+
114
+ def input_message
115
+ if input and message = input.find_message
116
+ message
117
+ else
118
+ nil
119
+ end
120
+ end
121
+
122
+ def output_message
123
+ if output and message = output.find_message
124
+ message
125
+ else
126
+ nil
127
+ end
128
+ end
129
+
130
+ def sort_parts(parts)
131
+ return parts.dup unless parameter_order
132
+ result = []
133
+ parameter_order.each do |orderitem|
134
+ if (ele = parts.find { |part| part.name == orderitem })
135
+ result << ele
136
+ end
137
+ end
138
+ if result.length == 0
139
+ return parts.dup
140
+ end
141
+ # result length can be shorter than parts's.
142
+ # return part must not be a part of the parameterOrder.
143
+ result
144
+ end
145
+
146
+ def as_operationname(name)
147
+ XSD::QName.new(targetnamespace, name)
148
+ end
149
+ end
150
+
151
+
152
+ end
@@ -0,0 +1,241 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL bound operation definition.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+
15
+
16
+ class OperationBinding < Info
17
+ attr_reader :name # required
18
+ attr_reader :input
19
+ attr_reader :output
20
+ attr_reader :fault
21
+ attr_reader :soapoperation
22
+
23
+ class OperationInfo
24
+ attr_reader :boundid
25
+ attr_reader :qname
26
+ attr_reader :style
27
+ attr_accessor :inputuse
28
+ attr_accessor :outputuse
29
+ attr_reader :parts
30
+ attr_reader :faults
31
+
32
+ def initialize(boundid, qname, style, inputuse, outputuse)
33
+ @boundid = boundid
34
+ @qname = qname
35
+ @style = style
36
+ @inputuse = inputuse
37
+ @outputuse = outputuse
38
+ @parts = []
39
+ @faults = {}
40
+ end
41
+ end
42
+
43
+ class Part
44
+ attr_reader :io_type
45
+ attr_reader :name
46
+ attr_reader :type
47
+ attr_reader :element
48
+
49
+ def initialize(io_type, name, type, element)
50
+ @io_type = io_type
51
+ @name = name
52
+ @type = type
53
+ @element = element
54
+ end
55
+ end
56
+
57
+ class BoundId
58
+ attr_reader :name
59
+ attr_reader :soapaction
60
+
61
+ def initialize(name, soapaction)
62
+ @name = name
63
+ @soapaction = soapaction
64
+ end
65
+
66
+ def ==(rhs)
67
+ !rhs.nil? and @name == rhs.name and @soapaction == rhs.soapaction
68
+ end
69
+
70
+ def eql?(rhs)
71
+ (self == rhs)
72
+ end
73
+
74
+ def hash
75
+ @name.hash ^ @soapaction.hash
76
+ end
77
+ end
78
+
79
+ def initialize
80
+ super
81
+ @name = nil
82
+ @input = nil
83
+ @output = nil
84
+ @fault = []
85
+ @soapoperation = nil
86
+ end
87
+
88
+ def operation_info
89
+ qname = soapoperation_name()
90
+ style = soapoperation_style()
91
+ use_input = soapbody_use(@input)
92
+ use_output = soapbody_use(@output)
93
+ info = OperationInfo.new(boundid, qname, style, use_input, use_output)
94
+ op = find_operation()
95
+ if style == :rpc
96
+ info.parts.concat(collect_rpcparameter(op))
97
+ else
98
+ info.parts.concat(collect_documentparameter(op))
99
+ end
100
+ @fault.each do |fault|
101
+ op_fault = {}
102
+ soapfault = fault.soapfault
103
+ next if soapfault.nil?
104
+ op_fault[:ns] = fault.name.namespace
105
+ op_fault[:name] = fault.name.name
106
+ op_fault[:namespace] = soapfault.namespace
107
+ op_fault[:use] = soapfault.use || "literal"
108
+ op_fault[:encodingstyle] = soapfault.encodingstyle || "document"
109
+ info.faults[fault.name] = op_fault
110
+ end
111
+ info
112
+ end
113
+
114
+ def targetnamespace
115
+ parent.targetnamespace
116
+ end
117
+
118
+ def porttype
119
+ root.porttype(parent.type)
120
+ end
121
+
122
+ def boundid
123
+ BoundId.new(name, soapaction)
124
+ end
125
+
126
+ def find_operation
127
+ porttype.operations.each do |op|
128
+ next if op.name != @name
129
+ next if op.input and @input and op.input.name and @input.name and
130
+ op.input.name != @input.name
131
+ next if op.output and @output and op.output.name and @output.name and
132
+ op.output.name != @output.name
133
+ return op
134
+ end
135
+ raise RuntimeError.new("#{@name} not found")
136
+ end
137
+
138
+ def soapoperation_name
139
+ op_name = find_operation.operationname
140
+ if @input and @input.soapbody and @input.soapbody.namespace
141
+ op_name = XSD::QName.new(@input.soapbody.namespace, op_name.name)
142
+ end
143
+ op_name
144
+ end
145
+
146
+ def soapoperation_style
147
+ style = nil
148
+ if @soapoperation
149
+ style = @soapoperation.operation_style
150
+ elsif parent.soapbinding
151
+ style = parent.soapbinding.style
152
+ else
153
+ raise TypeError.new("operation style definition not found")
154
+ end
155
+ style || :document
156
+ end
157
+
158
+ def soapaction
159
+ if @soapoperation
160
+ @soapoperation.soapaction
161
+ else
162
+ nil
163
+ end
164
+ end
165
+
166
+ def parse_element(element)
167
+ case element
168
+ when InputName
169
+ o = Param.new
170
+ @input = o
171
+ o
172
+ when OutputName
173
+ o = Param.new
174
+ @output = o
175
+ o
176
+ when FaultName
177
+ o = Param.new
178
+ @fault << o
179
+ o
180
+ when SOAPOperationName
181
+ o = WSDL::SOAP::Operation.new
182
+ @soapoperation = o
183
+ o
184
+ when DocumentationName
185
+ o = Documentation.new
186
+ o
187
+ else
188
+ nil
189
+ end
190
+ end
191
+
192
+ def parse_attr(attr, value)
193
+ case attr
194
+ when NameAttrName
195
+ @name = value.source
196
+ else
197
+ nil
198
+ end
199
+ end
200
+
201
+ private
202
+
203
+ def soapbody_use(param)
204
+ param ? param.soapbody_use : nil
205
+ end
206
+
207
+ def collect_rpcparameter(operation)
208
+ result = operation.inputparts.collect { |part|
209
+ Part.new(:in, part.name, part.type, part.element)
210
+ }
211
+ outparts = operation.outputparts
212
+ if outparts.size > 0
213
+ retval = outparts[0]
214
+ result << Part.new(:retval, retval.name, retval.type, retval.element)
215
+ cdr(outparts).each { |part|
216
+ result << Part.new(:out, part.name, part.type, part.element)
217
+ }
218
+ end
219
+ result
220
+ end
221
+
222
+ def collect_documentparameter(operation)
223
+ param = []
224
+ operation.inputparts.each do |input|
225
+ param << Part.new(:in, input.name, input.type, input.element)
226
+ end
227
+ operation.outputparts.each do |output|
228
+ param << Part.new(:out, output.name, output.type, output.element)
229
+ end
230
+ param
231
+ end
232
+
233
+ def cdr(ary)
234
+ result = ary.dup
235
+ result.shift
236
+ result
237
+ end
238
+ end
239
+
240
+
241
+ end