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,14 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - SOAP filter.
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 'soap/filter/filterchain'
11
+ # envelope filter
12
+ require 'soap/filter/handler'
13
+ # steram filter
14
+ require 'soap/filter/streamhandler'
@@ -0,0 +1,52 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - SOAP filter chain.
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 'soap/filter/handler'
11
+
12
+
13
+ module SOAP
14
+ module Filter
15
+
16
+
17
+ class FilterChain
18
+
19
+ def each
20
+ @array.each do |filter|
21
+ yield filter
22
+ end
23
+ end
24
+
25
+ def reverse_each
26
+ @array.reverse_each do |filter|
27
+ yield filter
28
+ end
29
+ end
30
+
31
+ def initialize
32
+ @array = []
33
+ end
34
+
35
+ def add(filter)
36
+ @array << filter
37
+ end
38
+ alias << add
39
+
40
+ def delete(filter)
41
+ @array.delete(filter)
42
+ end
43
+
44
+ def include?(filter)
45
+ @array.include?(filter)
46
+ end
47
+
48
+ end
49
+
50
+
51
+ end
52
+ end
@@ -0,0 +1,32 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - SOAP envelope filter base class.
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 SOAP
11
+ module Filter
12
+
13
+
14
+ class Handler
15
+
16
+ # should return envelope. opt can be updated for other filters.
17
+ def on_outbound(envelope, opt)
18
+ # do something.
19
+ envelope
20
+ end
21
+
22
+ # should return xml. opt can be updated for other filters.
23
+ def on_inbound(xml, opt)
24
+ # do something.
25
+ xml
26
+ end
27
+
28
+ end
29
+
30
+
31
+ end
32
+ end
@@ -0,0 +1,30 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - SOAP stream filter base class.
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 SOAP
11
+ module Filter
12
+
13
+
14
+ class StreamHandler
15
+
16
+ # no returning value expected.
17
+ def on_http_outbound(req)
18
+ # do something.
19
+ end
20
+
21
+ # no returning value expected.
22
+ def on_http_inbound(req, res)
23
+ # do something.
24
+ end
25
+
26
+ end
27
+
28
+
29
+ end
30
+ end
@@ -0,0 +1,299 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - SOAP XML Instance Generator 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 'soap/soap'
11
+ require 'soap/ns'
12
+ require 'soap/baseData'
13
+ require 'soap/encodingstyle/handler'
14
+ require 'xsd/codegen/gensupport'
15
+
16
+
17
+ module SOAP
18
+
19
+
20
+ ###
21
+ ## CAUTION: MT-unsafe
22
+ #
23
+ class Generator
24
+ include SOAP
25
+ include XSD::CodeGen::GenSupport
26
+
27
+ class FormatEncodeError < Error; end
28
+
29
+ public
30
+
31
+ attr_accessor :charset
32
+ attr_accessor :default_encodingstyle
33
+ attr_accessor :generate_explicit_type
34
+ attr_accessor :use_numeric_character_reference
35
+ attr_accessor :use_default_namespace
36
+
37
+ def initialize(opt = {})
38
+ @reftarget = nil
39
+ @handlers = {}
40
+ @charset = opt[:charset] || XSD::Charset.xml_encoding_label
41
+ @default_encodingstyle = opt[:default_encodingstyle] || EncodingNamespace
42
+ @generate_explicit_type =
43
+ opt.key?(:generate_explicit_type) ? opt[:generate_explicit_type] : true
44
+ @use_default_namespace = opt[:use_default_namespace]
45
+ @attributeformdefault = opt[:attributeformdefault]
46
+ @use_numeric_character_reference = opt[:use_numeric_character_reference]
47
+ @indentstr = opt[:no_indent] ? '' : ' '
48
+ @buf = @indent = @curr = nil
49
+ @default_ns = opt[:default_ns]
50
+ @default_ns_tag = opt[:default_ns_tag]
51
+ end
52
+
53
+ def generate(obj, io = nil)
54
+ @buf = io || ''
55
+ @indent = ''
56
+ @encode_char_regexp = get_encode_char_regexp()
57
+
58
+ prologue
59
+ @handlers.each do |uri, handler|
60
+ handler.encode_prologue
61
+ end
62
+
63
+ ns = SOAP::NS.new
64
+ if @default_ns
65
+ @default_ns.each_ns do |default_ns, default_tag|
66
+ Generator.assign_ns(obj.extraattr, ns, default_ns, default_tag)
67
+ end
68
+ end
69
+ if @default_ns_tag
70
+ @default_ns_tag.each_ns do |default_ns, default_tag|
71
+ ns.known_tag[default_ns] = default_tag
72
+ end
73
+ end
74
+ @buf << xmldecl
75
+ encode_data(ns, obj, nil)
76
+
77
+ @handlers.each do |uri, handler|
78
+ handler.encode_epilogue
79
+ end
80
+ epilogue
81
+
82
+ @buf
83
+ end
84
+
85
+ def encode_data(ns, obj, parent)
86
+ if obj.respond_to?(:to_xmlpart)
87
+ formatted = trim_eol(obj.to_xmlpart)
88
+ formatted = trim_indent(formatted)
89
+ formatted = formatted.gsub(/^/, @indent).sub(/\n+\z/, '')
90
+ @buf << "\n#{formatted}"
91
+ return
92
+ elsif obj.is_a?(SOAPEnvelopeElement)
93
+ encode_element(ns, obj, parent)
94
+ return
95
+ end
96
+ if @reftarget && !obj.precedents.empty?
97
+ add_reftarget(obj.elename.name, obj)
98
+ ref = SOAPReference.new(obj)
99
+ ref.elename = ref.elename.dup_name(obj.elename.name)
100
+ obj.precedents.clear # Avoid cyclic delay.
101
+ obj.encodingstyle = parent.encodingstyle
102
+ # SOAPReference is encoded here.
103
+ obj = ref
104
+ end
105
+ encodingstyle = obj.encodingstyle
106
+ # Children's encodingstyle is derived from its parent.
107
+ encodingstyle ||= parent.encodingstyle if parent
108
+ obj.encodingstyle = encodingstyle
109
+ handler = find_handler(encodingstyle || @default_encodingstyle)
110
+ unless handler
111
+ raise FormatEncodeError.new("Unknown encodingStyle: #{ encodingstyle }.")
112
+ end
113
+ if !obj.elename.name
114
+ raise FormatEncodeError.new("Element name not defined: #{ obj }.")
115
+ end
116
+ handler.encode_data(self, ns, obj, parent)
117
+ handler.encode_data_end(self, ns, obj, parent)
118
+ end
119
+
120
+ def add_reftarget(name, node)
121
+ unless @reftarget
122
+ raise FormatEncodeError.new("Reftarget is not defined.")
123
+ end
124
+ @reftarget.add(name, node)
125
+ end
126
+
127
+ def encode_child(ns, child, parent)
128
+ indent_backup, @indent = @indent, @indent + @indentstr
129
+ encode_data(ns.clone_ns, child, parent)
130
+ @indent = indent_backup
131
+ end
132
+
133
+ def encode_element(ns, obj, parent)
134
+ attrs = obj.extraattr
135
+ if obj.is_a?(SOAPBody)
136
+ @reftarget = obj
137
+ obj.encode(self, ns, attrs) do |child|
138
+ indent_backup, @indent = @indent, @indent + @indentstr
139
+ encode_data(ns.clone_ns, child, obj)
140
+ @indent = indent_backup
141
+ end
142
+ @reftarget = nil
143
+ else
144
+ if obj.is_a?(SOAPEnvelope)
145
+ Generator.assign_ns(attrs, ns, XSD::InstanceNamespace)
146
+ Generator.assign_ns(attrs, ns, XSD::Namespace)
147
+ end
148
+ obj.encode(self, ns, attrs) do |child|
149
+ indent_backup, @indent = @indent, @indent + @indentstr
150
+ encode_data(ns.clone_ns, child, obj)
151
+ @indent = indent_backup
152
+ end
153
+ end
154
+ end
155
+
156
+ def encode_name(ns, data, attrs)
157
+ if element_local?(data)
158
+ data.elename.name
159
+ else
160
+ if @use_default_namespace
161
+ Generator.assign_ns(attrs, ns, data.elename.namespace, '')
162
+ else
163
+ Generator.assign_ns(attrs, ns, data.elename.namespace)
164
+ end
165
+ ns.name(data.elename)
166
+ end
167
+ end
168
+
169
+ def encode_name_end(ns, data)
170
+ if element_local?(data)
171
+ data.elename.name
172
+ else
173
+ ns.name(data.elename)
174
+ end
175
+ end
176
+
177
+ def encode_tag(elename, attrs = nil)
178
+ if attrs.nil? or attrs.empty?
179
+ @buf << "\n#{ @indent }<#{ elename }>"
180
+ return
181
+ end
182
+ ary = []
183
+ attrs.each do |key, value|
184
+ ary << %Q[#{ key }="#{ get_encoded(value.to_s) }"]
185
+ end
186
+ case ary.size
187
+ when 0
188
+ @buf << "\n#{ @indent }<#{ elename }>"
189
+ when 1
190
+ @buf << %Q[\n#{ @indent }<#{ elename } #{ ary[0] }>]
191
+ else
192
+ @buf << "\n#{ @indent }<#{ elename } " <<
193
+ ary.join("\n#{ @indent }#{ @indentstr * 2 }") <<
194
+ '>'
195
+ end
196
+ end
197
+
198
+ def encode_tag_end(elename, cr = nil)
199
+ if cr
200
+ @buf << "\n#{ @indent }</#{ elename }>"
201
+ else
202
+ @buf << "</#{ elename }>"
203
+ end
204
+ end
205
+
206
+ def encode_rawstring(str)
207
+ @buf << str
208
+ end
209
+
210
+ def encode_string(str)
211
+ @buf << get_encoded(str)
212
+ end
213
+
214
+ def element_local?(element)
215
+ element.elename.namespace.nil?
216
+ end
217
+
218
+ def self.assign_ns(attrs, ns, namespace, tag = nil)
219
+ if namespace.nil?
220
+ raise FormatEncodeError.new("empty namespace")
221
+ end
222
+ override_default_ns = (tag == '' and namespace != ns.default_namespace)
223
+ if override_default_ns or !ns.assigned?(namespace)
224
+ assign_ns!(attrs, ns, namespace, tag)
225
+ end
226
+ end
227
+
228
+ def self.assign_ns!(attrs, ns, namespace, tag = nil)
229
+ tag = ns.assign(namespace, tag)
230
+ if tag == ''
231
+ attr = 'xmlns'
232
+ else
233
+ attr = "xmlns:#{tag}"
234
+ end
235
+ attrs[attr] = namespace
236
+ end
237
+
238
+ private
239
+
240
+ def prologue
241
+ end
242
+
243
+ def epilogue
244
+ end
245
+
246
+ ENCODE_CHAR_REGEXP = {}
247
+
248
+ EncodeMap = {
249
+ '&' => '&amp;',
250
+ '<' => '&lt;',
251
+ '>' => '&gt;',
252
+ '"' => '&quot;',
253
+ '\'' => '&apos;',
254
+ "\r" => '&#xd;'
255
+ }
256
+
257
+ def get_encoded(str)
258
+ if @use_numeric_character_reference and !XSD::Charset.is_us_ascii(str)
259
+ str.gsub!(@encode_char_regexp) { |c| EncodeMap[c] }
260
+ str.unpack("U*").collect { |c|
261
+ if c == 0x9 or c == 0xa or c == 0xd or (c >= 0x20 and c <= 0x7f)
262
+ c.chr
263
+ else
264
+ sprintf("&#x%x;", c)
265
+ end
266
+ }.join
267
+ else
268
+ str.gsub(@encode_char_regexp) { |c| EncodeMap[c] }
269
+ end
270
+ end
271
+
272
+ def get_encode_char_regexp
273
+ ENCODE_CHAR_REGEXP[XSD::Charset.encoding] ||= Regexp.new("[#{EncodeMap.keys.join}]", nil, (RUBY_VERSION.to_f >= 1.9) ? 'n' : XSD::Charset.encoding) # RubyJedi: compatible with Ruby 1.8.6 and above
274
+ end
275
+
276
+ def find_handler(encodingstyle)
277
+ unless @handlers.key?(encodingstyle)
278
+ factory = SOAP::EncodingStyle::Handler.handler(encodingstyle)
279
+ if factory
280
+ handler = factory.new(@charset)
281
+ handler.generate_explicit_type = @generate_explicit_type
282
+ handler.encode_prologue
283
+ @handlers[encodingstyle] = handler
284
+ end
285
+ end
286
+ @handlers[encodingstyle]
287
+ end
288
+
289
+ def xmldecl
290
+ if @charset
291
+ %Q[<?xml version="1.0" encoding="#{ @charset }" ?>]
292
+ else
293
+ %Q[<?xml version="1.0" ?>]
294
+ end
295
+ end
296
+ end
297
+
298
+
299
+ end
@@ -0,0 +1,62 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - SOAP Header handler item
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 'soap/element'
11
+
12
+
13
+ module SOAP
14
+ module Header
15
+
16
+
17
+ class Handler
18
+ attr_reader :elename
19
+ attr_accessor :mustunderstand
20
+ attr_reader :encodingstyle
21
+ attr_reader :target_actor
22
+
23
+ def initialize(elename)
24
+ @elename = elename
25
+ @mustunderstand = false
26
+ @encodingstyle = nil
27
+ @target_actor = nil
28
+ end
29
+
30
+ # Should return a SOAP/OM, a SOAPHeaderItem or nil.
31
+ def on_outbound
32
+ nil
33
+ end
34
+
35
+ # Given header is a SOAPHeaderItem or nil.
36
+ def on_inbound(header, mustunderstand = false)
37
+ # do something.
38
+ end
39
+
40
+ def on_outbound_headeritem(header)
41
+ arity = self.method(:on_outbound).arity
42
+ item = (arity == 0) ? on_outbound : on_outbound(header)
43
+ if item.nil?
44
+ nil
45
+ elsif item.is_a?(::SOAP::SOAPHeaderItem)
46
+ item.elename = @elename
47
+ item
48
+ else
49
+ item.elename = @elename
50
+ ::SOAP::SOAPHeaderItem.new(item, @mustunderstand, @encodingstyle,
51
+ @target_actor)
52
+ end
53
+ end
54
+
55
+ def on_inbound_headeritem(header, item)
56
+ on_inbound(item.element, item.mustunderstand)
57
+ end
58
+ end
59
+
60
+
61
+ end
62
+ end