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,9 @@
1
+ # encoding: ASCII-8BIT
2
+ module SOAP
3
+ module VERSION #:nodoc:
4
+ MAJOR = 1
5
+ MINOR = 5
6
+ TINY = 8
7
+ STRING = [MAJOR, MINOR, TINY].join('.')
8
+ end
9
+ end
@@ -0,0 +1,165 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - SOAP WSDL driver
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/parser'
11
+ require 'wsdl/importer'
12
+ require 'xsd/qname'
13
+ require 'xsd/codegen/gensupport'
14
+ require 'soap/attrproxy'
15
+ require 'soap/mapping/wsdlencodedregistry'
16
+ require 'soap/mapping/wsdlliteralregistry'
17
+ require 'soap/rpc/driver'
18
+ require 'wsdl/soap/methodDefCreator'
19
+ require 'wsdl/soap/classDefCreatorSupport'
20
+ require 'wsdl/soap/classNameCreator'
21
+
22
+
23
+ module SOAP
24
+
25
+
26
+ class WSDLDriverFactory
27
+ include WSDL::SOAP::ClassDefCreatorSupport
28
+
29
+ class FactoryError < StandardError; end
30
+
31
+ attr_reader :wsdl
32
+
33
+ def initialize(wsdl)
34
+ @wsdl = import(wsdl)
35
+ end
36
+
37
+ def inspect
38
+ sprintf("#<%s:%s:0x%x\n\n%s>", self.class.name, @wsdl.name, __id__, dump_method_signatures)
39
+ end
40
+
41
+ def create_rpc_driver(servicename = nil, portname = nil)
42
+ port = find_port(servicename, portname)
43
+ drv = SOAP::RPC::Driver.new(port.soap_address.location)
44
+ if binding = port.find_binding
45
+ init_driver(drv, binding)
46
+ add_operation(drv, binding)
47
+ end
48
+ drv
49
+ end
50
+
51
+ def dump_method_signatures(servicename = nil, portname = nil)
52
+ targetservice = XSD::QName.new(@wsdl.targetnamespace, servicename) if servicename
53
+ targetport = XSD::QName.new(@wsdl.targetnamespace, portname) if portname
54
+ sig = []
55
+ element_definitions = @wsdl.collect_elements
56
+ @wsdl.services.each do |service|
57
+ next if targetservice and service.name != targetservice
58
+ service.ports.each do |port|
59
+ next if targetport and port.name != targetport
60
+ if porttype = port.porttype
61
+ assigned_method = collect_assigned_method(porttype.name)
62
+ if binding = port.porttype.find_binding
63
+ sig << binding.operations.collect { |op_bind|
64
+ operation = op_bind.find_operation
65
+ name = assigned_method[op_bind.boundid] || op_bind.name
66
+ str = "= #{safemethodname(name)}\n\n"
67
+ str << dump_method_signature(name, operation, element_definitions)
68
+ str.gsub(/^#/, " ")
69
+ }.join("\n")
70
+ end
71
+ end
72
+ end
73
+ end
74
+ sig.join("\n")
75
+ end
76
+
77
+ private
78
+
79
+ def collect_assigned_method(porttypename)
80
+ name_creator = WSDL::SOAP::ClassNameCreator.new
81
+ methoddefcreator =
82
+ WSDL::SOAP::MethodDefCreator.new(@wsdl, name_creator, nil, {})
83
+ methoddefcreator.dump(porttypename)
84
+ methoddefcreator.assigned_method
85
+ end
86
+
87
+ def find_port(servicename = nil, portname = nil)
88
+ service = port = nil
89
+ if servicename
90
+ service = @wsdl.service(
91
+ XSD::QName.new(@wsdl.targetnamespace, servicename))
92
+ else
93
+ service = @wsdl.services[0]
94
+ end
95
+ if service.nil?
96
+ raise FactoryError.new("service #{servicename} not found in WSDL")
97
+ end
98
+ if portname
99
+ port = service.ports[XSD::QName.new(@wsdl.targetnamespace, portname)]
100
+ if port.nil?
101
+ raise FactoryError.new("port #{portname} not found in WSDL")
102
+ end
103
+ else
104
+ port = service.ports.find { |port| !port.soap_address.nil? }
105
+ if port.nil?
106
+ raise FactoryError.new("no ports have soap:address")
107
+ end
108
+ end
109
+ if port.soap_address.nil?
110
+ raise FactoryError.new("soap:address element not found in WSDL")
111
+ end
112
+ port
113
+ end
114
+
115
+ def init_driver(drv, binding)
116
+ wsdl_elements = @wsdl.collect_elements
117
+ wsdl_types = @wsdl.collect_complextypes + @wsdl.collect_simpletypes
118
+ rpc_decode_typemap = wsdl_types +
119
+ @wsdl.soap_rpc_complextypes(binding)
120
+ drv.proxy.mapping_registry =
121
+ Mapping::WSDLEncodedRegistry.new(rpc_decode_typemap)
122
+ drv.proxy.literal_mapping_registry =
123
+ Mapping::WSDLLiteralRegistry.new(wsdl_types, wsdl_elements)
124
+ end
125
+
126
+ def add_operation(drv, binding)
127
+ name_creator = WSDL::SOAP::ClassNameCreator.new
128
+ modulepath = 'WSDLDriverFactory'
129
+ methoddefcreator =
130
+ WSDL::SOAP::MethodDefCreator.new(@wsdl, name_creator, modulepath, {})
131
+ mdefs = methoddefcreator.create(binding.name)
132
+ if mdefs.nil?
133
+ raise FactoryError.new("no method definition found in WSDL")
134
+ end
135
+ mdefs.each do |mdef|
136
+ opt = {
137
+ :request_style => mdef.style,
138
+ :response_style => mdef.style,
139
+ :request_use => mdef.inputuse,
140
+ :response_use => mdef.outputuse
141
+ }
142
+ qname = mdef.qname
143
+ soapaction = mdef.soapaction
144
+ name = mdef.name
145
+ if mdef.style == :rpc
146
+ drv.add_rpc_operation(qname, soapaction, name, mdef.parameters, opt)
147
+ else
148
+ drv.add_document_operation(soapaction, name, mdef.parameters, opt)
149
+ end
150
+ orgname = mdef.qname.name
151
+ if orgname != name and orgname.capitalize == name.capitalize
152
+ ::SOAP::Mapping.define_singleton_method(drv, orgname) do |*arg|
153
+ __send__(name, *arg)
154
+ end
155
+ end
156
+ end
157
+ end
158
+
159
+ def import(location)
160
+ WSDL::Importer.import(location)
161
+ end
162
+ end
163
+
164
+
165
+ end
@@ -0,0 +1,66 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL binding 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 'xsd/namedelements'
12
+
13
+
14
+ module WSDL
15
+
16
+
17
+ class Binding < Info
18
+ attr_reader :name # required
19
+ attr_reader :type # required
20
+ attr_reader :operations
21
+ attr_reader :soapbinding
22
+
23
+ def initialize
24
+ super
25
+ @name = nil
26
+ @type = nil
27
+ @operations = XSD::NamedElements.new
28
+ @soapbinding = nil
29
+ end
30
+
31
+ def targetnamespace
32
+ parent.targetnamespace
33
+ end
34
+
35
+ def parse_element(element)
36
+ case element
37
+ when OperationName
38
+ o = OperationBinding.new
39
+ @operations << o
40
+ o
41
+ when SOAPBindingName
42
+ o = WSDL::SOAP::Binding.new
43
+ @soapbinding = o
44
+ o
45
+ when DocumentationName
46
+ o = Documentation.new
47
+ o
48
+ else
49
+ nil
50
+ end
51
+ end
52
+
53
+ def parse_attr(attr, value)
54
+ case attr
55
+ when NameAttrName
56
+ @name = XSD::QName.new(targetnamespace, value.source)
57
+ when TypeAttrName
58
+ @type = value
59
+ else
60
+ nil
61
+ end
62
+ end
63
+ end
64
+
65
+
66
+ end
data/lib/wsdl/data.rb ADDED
@@ -0,0 +1,65 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL data definitions.
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 'xsd/qname'
11
+ require 'wsdl/documentation'
12
+ require 'wsdl/definitions'
13
+ require 'wsdl/types'
14
+ require 'wsdl/message'
15
+ require 'wsdl/part'
16
+ require 'wsdl/portType'
17
+ require 'wsdl/operation'
18
+ require 'wsdl/param'
19
+ require 'wsdl/binding'
20
+ require 'wsdl/operationBinding'
21
+ require 'wsdl/service'
22
+ require 'wsdl/port'
23
+ require 'wsdl/import'
24
+
25
+
26
+ module WSDL
27
+
28
+
29
+ ArrayTypeAttrName = XSD::QName.new(Namespace, 'arrayType')
30
+ BindingName = XSD::QName.new(Namespace, 'binding')
31
+ DefinitionsName = XSD::QName.new(Namespace, 'definitions')
32
+ DocumentationName = XSD::QName.new(Namespace, 'documentation')
33
+ FaultName = XSD::QName.new(Namespace, 'fault')
34
+ ImportName = XSD::QName.new(Namespace, 'import')
35
+ InputName = XSD::QName.new(Namespace, 'input')
36
+ MessageName = XSD::QName.new(Namespace, 'message')
37
+ OperationName = XSD::QName.new(Namespace, 'operation')
38
+ OutputName = XSD::QName.new(Namespace, 'output')
39
+ PartName = XSD::QName.new(Namespace, 'part')
40
+ PortName = XSD::QName.new(Namespace, 'port')
41
+ PortTypeName = XSD::QName.new(Namespace, 'portType')
42
+ ServiceName = XSD::QName.new(Namespace, 'service')
43
+ TypesName = XSD::QName.new(Namespace, 'types')
44
+
45
+ SchemaName = XSD::QName.new(XSD::Namespace, 'schema')
46
+
47
+ SOAPAddressName = XSD::QName.new(SOAPBindingNamespace, 'address')
48
+ SOAPBindingName = XSD::QName.new(SOAPBindingNamespace, 'binding')
49
+ SOAPHeaderName = XSD::QName.new(SOAPBindingNamespace, 'header')
50
+ SOAPBodyName = XSD::QName.new(SOAPBindingNamespace, 'body')
51
+ SOAPFaultName = XSD::QName.new(SOAPBindingNamespace, 'fault')
52
+ SOAPOperationName = XSD::QName.new(SOAPBindingNamespace, 'operation')
53
+
54
+ BindingAttrName = XSD::QName.new(nil, 'binding')
55
+ ElementAttrName = XSD::QName.new(nil, 'element')
56
+ LocationAttrName = XSD::QName.new(nil, 'location')
57
+ MessageAttrName = XSD::QName.new(nil, 'message')
58
+ NameAttrName = XSD::QName.new(nil, 'name')
59
+ NamespaceAttrName = XSD::QName.new(nil, 'namespace')
60
+ ParameterOrderAttrName = XSD::QName.new(nil, 'parameterOrder')
61
+ TargetNamespaceAttrName = XSD::QName.new(nil, 'targetNamespace')
62
+ TypeAttrName = XSD::QName.new(nil, 'type')
63
+
64
+
65
+ end
@@ -0,0 +1,237 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - WSDL definitions.
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 'xsd/namedelements'
12
+
13
+
14
+ module WSDL
15
+
16
+
17
+ class Definitions < Info
18
+ attr_reader :name
19
+ attr_reader :targetnamespace
20
+ attr_reader :imports
21
+
22
+ attr_accessor :location
23
+ attr_reader :importedschema
24
+
25
+ def initialize
26
+ super
27
+ @name = nil
28
+ @targetnamespace = nil
29
+ @location = nil
30
+ @importedschema = {}
31
+
32
+ @types = nil
33
+ @imports = []
34
+ @messages = XSD::NamedElements.new
35
+ @porttypes = XSD::NamedElements.new
36
+ @bindings = XSD::NamedElements.new
37
+ @services = XSD::NamedElements.new
38
+
39
+ @anontypes = XSD::NamedElements.new
40
+ @root = self
41
+ end
42
+
43
+ def inspect
44
+ sprintf("#<%s:0x%x %s>", self.class.name, __id__, @name || '(unnamed)')
45
+ end
46
+
47
+ def targetnamespace=(targetnamespace)
48
+ @targetnamespace = targetnamespace
49
+ if @name
50
+ @name = XSD::QName.new(@targetnamespace, @name.name)
51
+ end
52
+ end
53
+
54
+ def collect_attributes
55
+ collect_imports(:collect_attributes)
56
+ end
57
+
58
+ def collect_modelgroups
59
+ collect_imports(:collect_modelgroups)
60
+ end
61
+
62
+ def collect_attributegroups
63
+ collect_imports(:collect_attributegroups)
64
+ end
65
+
66
+ def collect_elements
67
+ collect_imports(:collect_elements)
68
+ end
69
+
70
+ def collect_complextypes
71
+ result = collect_imports(:collect_complextypes)
72
+ @anontypes.dup.concat(result)
73
+ end
74
+
75
+ def collect_simpletypes
76
+ collect_imports(:collect_simpletypes)
77
+ end
78
+
79
+ # ToDo: simpletype must be accepted...
80
+ def add_type(complextype)
81
+ @anontypes << complextype
82
+ end
83
+
84
+ def messages
85
+ result = @messages.dup
86
+ @imports.each do |import|
87
+ result.concat(import.content.messages) if self.class === import.content
88
+ end
89
+ result
90
+ end
91
+
92
+ def porttypes
93
+ result = @porttypes.dup
94
+ @imports.each do |import|
95
+ result.concat(import.content.porttypes) if self.class === import.content
96
+ end
97
+ result
98
+ end
99
+
100
+ def bindings
101
+ result = @bindings.dup
102
+ @imports.each do |import|
103
+ result.concat(import.content.bindings) if self.class === import.content
104
+ end
105
+ result
106
+ end
107
+
108
+ def services
109
+ result = @services.dup
110
+ @imports.each do |import|
111
+ result.concat(import.content.services) if self.class === import.content
112
+ end
113
+ result
114
+ end
115
+
116
+ def message(name)
117
+ message = @messages[name]
118
+ return message if message
119
+ @imports.each do |import|
120
+ message = import.content.message(name) if self.class === import.content
121
+ return message if message
122
+ end
123
+ nil
124
+ end
125
+
126
+ def porttype(name)
127
+ porttype = @porttypes[name]
128
+ return porttype if porttype
129
+ @imports.each do |import|
130
+ porttype = import.content.porttype(name) if self.class === import.content
131
+ return porttype if porttype
132
+ end
133
+ nil
134
+ end
135
+
136
+ def binding(name)
137
+ binding = @bindings[name]
138
+ return binding if binding
139
+ @imports.each do |import|
140
+ binding = import.content.binding(name) if self.class === import.content
141
+ return binding if binding
142
+ end
143
+ nil
144
+ end
145
+
146
+ def service(name)
147
+ service = @services[name]
148
+ return service if service
149
+ @imports.each do |import|
150
+ service = import.content.service(name) if self.class === import.content
151
+ return service if service
152
+ end
153
+ nil
154
+ end
155
+
156
+ def porttype_binding(name)
157
+ binding = @bindings.find { |item| item.type == name }
158
+ return binding if binding
159
+ @imports.each do |import|
160
+ binding = import.content.porttype_binding(name) if self.class === import.content
161
+ return binding if binding
162
+ end
163
+ nil
164
+ end
165
+
166
+ def parse_element(element)
167
+ case element
168
+ when ImportName
169
+ o = Import.new
170
+ @imports << o
171
+ o
172
+ when TypesName
173
+ o = Types.new
174
+ @types = o
175
+ o
176
+ when MessageName
177
+ o = Message.new
178
+ @messages << o
179
+ o
180
+ when PortTypeName
181
+ o = PortType.new
182
+ @porttypes << o
183
+ o
184
+ when BindingName
185
+ o = Binding.new
186
+ @bindings << o
187
+ o
188
+ when ServiceName
189
+ o = Service.new
190
+ @services << o
191
+ o
192
+ when DocumentationName
193
+ o = Documentation.new
194
+ o
195
+ else
196
+ nil
197
+ end
198
+ end
199
+
200
+ def parse_attr(attr, value)
201
+ case attr
202
+ when NameAttrName
203
+ @name = XSD::QName.new(targetnamespace, value.source)
204
+ when TargetNamespaceAttrName
205
+ self.targetnamespace = value.source
206
+ else
207
+ nil
208
+ end
209
+ end
210
+
211
+ def self.parse_element(element)
212
+ if element == DefinitionsName
213
+ Definitions.new
214
+ else
215
+ nil
216
+ end
217
+ end
218
+
219
+ private
220
+
221
+ def collect_imports(method)
222
+ result = XSD::NamedElements.new
223
+ if @types
224
+ @types.schemas.each do |schema|
225
+ result.concat(schema.send(method))
226
+ end
227
+ end
228
+ @imports.each do |import|
229
+ result.concat(import.content.send(method))
230
+ end
231
+ result
232
+ end
233
+
234
+ end
235
+
236
+
237
+ end