rtiss_soap4r 1.6.0

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/filterchain.rb +52 -0
  12. data/lib/soap/filter/handler.rb +32 -0
  13. data/lib/soap/filter/streamhandler.rb +30 -0
  14. data/lib/soap/filter.rb +14 -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/encodedregistry.rb +539 -0
  22. data/lib/soap/mapping/factory.rb +389 -0
  23. data/lib/soap/mapping/literalregistry.rb +392 -0
  24. data/lib/soap/mapping/mapping.rb +577 -0
  25. data/lib/soap/mapping/registry.rb +296 -0
  26. data/lib/soap/mapping/rubytypeFactory.rb +446 -0
  27. data/lib/soap/mapping/schemadefinition.rb +171 -0
  28. data/lib/soap/mapping/typeMap.rb +107 -0
  29. data/lib/soap/mapping/wsdlencodedregistry.rb +212 -0
  30. data/lib/soap/mapping/wsdlliteralregistry.rb +249 -0
  31. data/lib/soap/mapping.rb +13 -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 +306 -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/classdef.rb +209 -0
  144. data/lib/xsd/codegen/commentdef.rb +35 -0
  145. data/lib/xsd/codegen/gensupport.rb +277 -0
  146. data/lib/xsd/codegen/methoddef.rb +71 -0
  147. data/lib/xsd/codegen/moduledef.rb +209 -0
  148. data/lib/xsd/codegen.rb +13 -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/libxmlparser.rb +116 -0
  157. data/lib/xsd/xmlparser/parser.rb +101 -0
  158. data/lib/xsd/xmlparser/rexmlparser.rb +59 -0
  159. data/lib/xsd/xmlparser/xmlparser.rb +51 -0
  160. data/lib/xsd/xmlparser/xmlscanner.rb +150 -0
  161. data/lib/xsd/xmlparser.rb +77 -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 +489 -0
@@ -0,0 +1,103 @@
1
+ <?xml version="1.0"?>
2
+ <definitions
3
+ name="soapbodyparts"
4
+ targetNamespace="urn:www.example.com:soapbodyparts:v1"
5
+ xmlns:tns="urn:www.example.com:soapbodyparts:v1"
6
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
7
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
8
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
9
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
10
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
11
+
12
+ <types>
13
+ <schema xmlns="http://www.w3.org/2001/XMLSchema"
14
+ targetNamespace="urn:www.example.com:soapbodyparts:v1">
15
+ <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
16
+ <complexType name="StringArray">
17
+ <complexContent>
18
+ <restriction base="soapenc:Array">
19
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="string[]"/>
20
+ </restriction>
21
+ </complexContent>
22
+ </complexType>
23
+ </schema>
24
+ </types>
25
+
26
+ <message name="fooRequest">
27
+ <part name="param1" type="xsd:string"/>
28
+ <part name="param2" type="xsd:string"/>
29
+ <part name="param3" type="xsd:string"/>
30
+ </message>
31
+
32
+ <message name="fooResponse">
33
+ <part name="return" type="tns:StringArray"/>
34
+ </message>
35
+
36
+ <portType name="FooServicePortType">
37
+ <operation name="foo"
38
+ parameterOrder="param3 param2 param1">
39
+ <input message="tns:fooRequest"/>
40
+ <output message="tns:fooResponse"/>
41
+ </operation>
42
+ <operation name="bar"
43
+ parameterOrder="param1 param2 param3">
44
+ <input message="tns:fooRequest"/>
45
+ <output message="tns:fooResponse"/>
46
+ </operation>
47
+ <operation name="baz">
48
+ <input message="tns:fooRequest"/>
49
+ <output message="tns:fooResponse"/>
50
+ </operation>
51
+ </portType>
52
+
53
+ <binding name="FooServicePortBinding" type="tns:FooServicePortType">
54
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
55
+ <operation name="foo">
56
+ <soap:operation soapAction=""/>
57
+ <input>
58
+ <soap:body use="encoded"
59
+ parts="param1 param3"
60
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
61
+ namespace="urn:www.example.com:soapbodyparts:v1"/>
62
+ </input>
63
+ <output>
64
+ <soap:body use="encoded"
65
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
66
+ namespace="urn:www.example.com:soapbodyparts:v1"/>
67
+ </output>
68
+ </operation>
69
+ <operation name="bar">
70
+ <soap:operation soapAction=""/>
71
+ <input>
72
+ <soap:body use="encoded"
73
+ parts="param3 param2"
74
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
75
+ namespace="urn:www.example.com:soapbodyparts:v1"/>
76
+ </input>
77
+ <output>
78
+ <soap:body use="encoded"
79
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
80
+ namespace="urn:www.example.com:soapbodyparts:v1"/>
81
+ </output>
82
+ </operation>
83
+ <operation name="baz">
84
+ <soap:operation soapAction=""/>
85
+ <input>
86
+ <soap:body use="encoded"
87
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
88
+ namespace="urn:www.example.com:soapbodyparts:v1"/>
89
+ </input>
90
+ <output>
91
+ <soap:body use="encoded"
92
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
93
+ namespace="urn:www.example.com:soapbodyparts:v1"/>
94
+ </output>
95
+ </operation>
96
+ </binding>
97
+
98
+ <service name="FooService">
99
+ <port name="FooServicePort" binding="tns:FooServicePortBinding">
100
+ <soap:address location="http://raa.ruby-lang.org/soap/1.0.2/"/>
101
+ </port>
102
+ </service>
103
+ </definitions>
@@ -0,0 +1,80 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/rpc/standaloneServer'
4
+ require 'soap/wsdlDriver'
5
+
6
+
7
+ module WSDL
8
+ module SOAP
9
+
10
+
11
+ class TestSOAPBodyParts < Test::Unit::TestCase
12
+ class Server < ::SOAP::RPC::StandaloneServer
13
+ def on_init
14
+ add_method(self, 'foo', 'p1', 'p2', 'p3')
15
+ add_method(self, 'bar', 'p1', 'p2', 'p3')
16
+ add_method(self, 'baz', 'p1', 'p2', 'p3')
17
+ end
18
+
19
+ def foo(p1, p2, p3)
20
+ [p1, p2, p3]
21
+ end
22
+
23
+ alias bar foo
24
+
25
+ def baz(p1, p2, p3)
26
+ [p3, p2, p1]
27
+ end
28
+ end
29
+
30
+ DIR = File.dirname(File.expand_path(__FILE__))
31
+
32
+ Port = 17171
33
+
34
+ def setup
35
+ setup_server
36
+ setup_client
37
+ end
38
+
39
+ def setup_server
40
+ @server = Server.new('Test', "urn:www.example.com:soapbodyparts:v1", '0.0.0.0', Port)
41
+ @server.level = Logger::Severity::ERROR
42
+ @t = Thread.new {
43
+ Thread.current.abort_on_exception = true
44
+ @server.start
45
+ }
46
+ end
47
+
48
+ def setup_client
49
+ wsdl = File.join(DIR, 'soapbodyparts.wsdl')
50
+ @client = ::SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
51
+ @client.endpoint_url = "http://localhost:#{Port}/"
52
+ @client.wiredump_dev = STDERR if $DEBUG
53
+ end
54
+
55
+ def teardown
56
+ teardown_server if @server
57
+ teardown_client if @client
58
+ end
59
+
60
+ def teardown_server
61
+ @server.shutdown
62
+ @t.kill
63
+ @t.join
64
+ end
65
+
66
+ def teardown_client
67
+ @client.reset_stream
68
+ end
69
+
70
+ def test_soapbodyparts
71
+ assert_equal(["1", "2", "3"], @client.foo("1", "2", "3"))
72
+ assert_equal(["3", "2", "1"], @client.foo("3", "2", "1"))
73
+ assert_equal(["1", "2", "3"], @client.bar("1", "2", "3"))
74
+ assert_equal(["3", "2", "1"], @client.baz("1", "2", "3"))
75
+ end
76
+ end
77
+
78
+
79
+ end
80
+ end
@@ -0,0 +1,22 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'xsd/qname'
3
+
4
+ # {urn:example.com:simpletype-rpc-type}version_struct
5
+ # version - Version
6
+ # msg - SOAP::SOAPString
7
+ class Version_struct
8
+ attr_accessor :version
9
+ attr_accessor :msg
10
+
11
+ def initialize(version = nil, msg = nil)
12
+ @version = version
13
+ @msg = msg
14
+ end
15
+ end
16
+
17
+ # {urn:example.com:simpletype-rpc-type}version
18
+ class Version < ::String
19
+ C_16 = new("1.6")
20
+ C_18 = new("1.8")
21
+ C_19 = new("1.9")
22
+ end
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ASCII-8BIT
3
+ require 'echo_versionDriver.rb'
4
+
5
+ endpoint_url = ARGV.shift
6
+ obj = Echo_version_port_type.new(endpoint_url)
7
+
8
+ # run ruby with -d to see SOAP wiredumps.
9
+ obj.wiredump_dev = STDERR if $DEBUG
10
+
11
+ # SYNOPSIS
12
+ # echo_version(version)
13
+ #
14
+ # ARGS
15
+ # version Version - {urn:example.com:simpletype-rpc-type}version
16
+ #
17
+ # RETURNS
18
+ # version_struct Version_struct - {urn:example.com:simpletype-rpc-type}version_struct
19
+ #
20
+ version = nil
21
+ puts obj.echo_version(version)
22
+
23
+ # SYNOPSIS
24
+ # echo_version_r(version_struct)
25
+ #
26
+ # ARGS
27
+ # version_struct Version_struct - {urn:example.com:simpletype-rpc-type}version_struct
28
+ #
29
+ # RETURNS
30
+ # version Version - {urn:example.com:simpletype-rpc-type}version
31
+ #
32
+ version_struct = nil
33
+ puts obj.echo_version_r(version_struct)
34
+
35
+
@@ -0,0 +1,59 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'echo_version.rb'
3
+ require 'echo_versionMappingRegistry.rb'
4
+ require 'soap/rpc/driver'
5
+
6
+ class Echo_version_port_type < ::SOAP::RPC::Driver
7
+ DefaultEndpointUrl = "http://localhost:10080"
8
+ NsSimpletypeRpc = "urn:example.com:simpletype-rpc"
9
+
10
+ Methods = [
11
+ [ XSD::QName.new(NsSimpletypeRpc, "echo_version"),
12
+ "urn:example.com:simpletype-rpc",
13
+ "echo_version",
14
+ [ [:in, "version", [nil, "urn:example.com:simpletype-rpc-type", "version"]],
15
+ [:retval, "version_struct", ["Version_struct", "urn:example.com:simpletype-rpc-type", "version_struct"]] ],
16
+ { :request_style => :rpc, :request_use => :encoded,
17
+ :response_style => :rpc, :response_use => :encoded,
18
+ :faults => {} }
19
+ ],
20
+ [ XSD::QName.new(NsSimpletypeRpc, "echo_version_r"),
21
+ "urn:example.com:simpletype-rpc",
22
+ "echo_version_r",
23
+ [ [:in, "version_struct", ["Version_struct", "urn:example.com:simpletype-rpc-type", "version_struct"]],
24
+ [:retval, "version", [nil, "urn:example.com:simpletype-rpc-type", "version"]] ],
25
+ { :request_style => :rpc, :request_use => :encoded,
26
+ :response_style => :rpc, :response_use => :encoded,
27
+ :faults => {} }
28
+ ]
29
+ ]
30
+
31
+ def initialize(endpoint_url = nil)
32
+ endpoint_url ||= DefaultEndpointUrl
33
+ super(endpoint_url, nil)
34
+ self.mapping_registry = Echo_versionMappingRegistry::EncodedRegistry
35
+ self.literal_mapping_registry = Echo_versionMappingRegistry::LiteralRegistry
36
+ init_methods
37
+ end
38
+
39
+ private
40
+
41
+ def init_methods
42
+ Methods.each do |definitions|
43
+ opt = definitions.last
44
+ if opt[:request_style] == :document
45
+ add_document_operation(*definitions)
46
+ else
47
+ add_rpc_operation(*definitions)
48
+ qname = definitions[0]
49
+ name = definitions[2]
50
+ if qname.name != name and qname.name.capitalize == name.capitalize
51
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
52
+ __send__(name, *arg)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+
@@ -0,0 +1,37 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'echo_version.rb'
3
+ require 'soap/mapping'
4
+
5
+ module Echo_versionMappingRegistry
6
+ EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
7
+ LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
8
+ NsSimpletypeRpcType = "urn:example.com:simpletype-rpc-type"
9
+
10
+ EncodedRegistry.register(
11
+ :class => Version_struct,
12
+ :schema_type => XSD::QName.new(NsSimpletypeRpcType, "version_struct"),
13
+ :schema_element => [
14
+ ["version", ["Version", XSD::QName.new(nil, "version")]],
15
+ ["msg", ["SOAP::SOAPString", XSD::QName.new(nil, "msg")]]
16
+ ]
17
+ )
18
+
19
+ EncodedRegistry.register(
20
+ :class => Version,
21
+ :schema_type => XSD::QName.new(NsSimpletypeRpcType, "version")
22
+ )
23
+
24
+ LiteralRegistry.register(
25
+ :class => Version_struct,
26
+ :schema_type => XSD::QName.new(NsSimpletypeRpcType, "version_struct"),
27
+ :schema_element => [
28
+ ["version", ["Version", XSD::QName.new(nil, "version")]],
29
+ ["msg", ["SOAP::SOAPString", XSD::QName.new(nil, "msg")]]
30
+ ]
31
+ )
32
+
33
+ LiteralRegistry.register(
34
+ :class => Version,
35
+ :schema_type => XSD::QName.new(NsSimpletypeRpcType, "version")
36
+ )
37
+ end
@@ -0,0 +1,33 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'echo_version.rb'
3
+
4
+ class Echo_version_port_type
5
+ # SYNOPSIS
6
+ # echo_version(version)
7
+ #
8
+ # ARGS
9
+ # version Version - {urn:example.com:simpletype-rpc-type}version
10
+ #
11
+ # RETURNS
12
+ # version_struct Version_struct - {urn:example.com:simpletype-rpc-type}version_struct
13
+ #
14
+ def echo_version(version)
15
+ p [version]
16
+ raise NotImplementedError.new
17
+ end
18
+
19
+ # SYNOPSIS
20
+ # echo_version_r(version_struct)
21
+ #
22
+ # ARGS
23
+ # version_struct Version_struct - {urn:example.com:simpletype-rpc-type}version_struct
24
+ #
25
+ # RETURNS
26
+ # version Version - {urn:example.com:simpletype-rpc-type}version
27
+ #
28
+ def echo_version_r(version_struct)
29
+ p [version_struct]
30
+ raise NotImplementedError.new
31
+ end
32
+ end
33
+
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ASCII-8BIT
3
+ require 'echo_versionServant.rb'
4
+ require 'echo_versionMappingRegistry.rb'
5
+ require 'soap/rpc/cgistub'
6
+
7
+ class Echo_version_port_type
8
+ NsSimpletypeRpc = "urn:example.com:simpletype-rpc"
9
+
10
+ Methods = [
11
+ [ XSD::QName.new(NsSimpletypeRpc, "echo_version"),
12
+ "urn:example.com:simpletype-rpc",
13
+ "echo_version",
14
+ [ [:in, "version", [nil, "urn:example.com:simpletype-rpc-type", "version"]],
15
+ [:retval, "version_struct", ["Version_struct", "urn:example.com:simpletype-rpc-type", "version_struct"]] ],
16
+ { :request_style => :rpc, :request_use => :encoded,
17
+ :response_style => :rpc, :response_use => :encoded,
18
+ :faults => {} }
19
+ ],
20
+ [ XSD::QName.new(NsSimpletypeRpc, "echo_version_r"),
21
+ "urn:example.com:simpletype-rpc",
22
+ "echo_version_r",
23
+ [ [:in, "version_struct", ["Version_struct", "urn:example.com:simpletype-rpc-type", "version_struct"]],
24
+ [:retval, "version", [nil, "urn:example.com:simpletype-rpc-type", "version"]] ],
25
+ { :request_style => :rpc, :request_use => :encoded,
26
+ :response_style => :rpc, :response_use => :encoded,
27
+ :faults => {} }
28
+ ]
29
+ ]
30
+ end
31
+
32
+ class Echo_version_port_typeApp < ::SOAP::RPC::CGIStub
33
+ def initialize(*arg)
34
+ super(*arg)
35
+ servant = Echo_version_port_type.new
36
+ Echo_version_port_type::Methods.each do |definitions|
37
+ opt = definitions.last
38
+ if opt[:request_style] == :document
39
+ @router.add_document_operation(servant, *definitions)
40
+ else
41
+ @router.add_rpc_operation(servant, *definitions)
42
+ end
43
+ end
44
+ self.mapping_registry = Echo_versionMappingRegistry::EncodedRegistry
45
+ self.literal_mapping_registry = Echo_versionMappingRegistry::LiteralRegistry
46
+ self.level = Logger::Severity::ERROR
47
+ end
48
+ end
49
+ Echo_version_port_typeApp.new('app', nil).start
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ASCII-8BIT
3
+ require 'echo_versionServant.rb'
4
+ require 'echo_versionMappingRegistry.rb'
5
+ require 'soap/rpc/standaloneServer'
6
+
7
+ class Echo_version_port_type
8
+ NsSimpletypeRpc = "urn:example.com:simpletype-rpc"
9
+
10
+ Methods = [
11
+ [ XSD::QName.new(NsSimpletypeRpc, "echo_version"),
12
+ "urn:example.com:simpletype-rpc",
13
+ "echo_version",
14
+ [ [:in, "version", [nil, "urn:example.com:simpletype-rpc-type", "version"]],
15
+ [:retval, "version_struct", ["Version_struct", "urn:example.com:simpletype-rpc-type", "version_struct"]] ],
16
+ { :request_style => :rpc, :request_use => :encoded,
17
+ :response_style => :rpc, :response_use => :encoded,
18
+ :faults => {} }
19
+ ],
20
+ [ XSD::QName.new(NsSimpletypeRpc, "echo_version_r"),
21
+ "urn:example.com:simpletype-rpc",
22
+ "echo_version_r",
23
+ [ [:in, "version_struct", ["Version_struct", "urn:example.com:simpletype-rpc-type", "version_struct"]],
24
+ [:retval, "version", [nil, "urn:example.com:simpletype-rpc-type", "version"]] ],
25
+ { :request_style => :rpc, :request_use => :encoded,
26
+ :response_style => :rpc, :response_use => :encoded,
27
+ :faults => {} }
28
+ ]
29
+ ]
30
+ end
31
+
32
+ class Echo_version_port_typeApp < ::SOAP::RPC::StandaloneServer
33
+ def initialize(*arg)
34
+ super(*arg)
35
+ servant = Echo_version_port_type.new
36
+ Echo_version_port_type::Methods.each do |definitions|
37
+ opt = definitions.last
38
+ if opt[:request_style] == :document
39
+ @router.add_document_operation(servant, *definitions)
40
+ else
41
+ @router.add_rpc_operation(servant, *definitions)
42
+ end
43
+ end
44
+ self.mapping_registry = Echo_versionMappingRegistry::EncodedRegistry
45
+ self.literal_mapping_registry = Echo_versionMappingRegistry::LiteralRegistry
46
+ end
47
+ end
48
+
49
+ if $0 == __FILE__
50
+ # Change listen port.
51
+ server = Echo_version_port_typeApp.new('app', nil, '0.0.0.0', 10080)
52
+ trap(:INT) do
53
+ server.shutdown
54
+ end
55
+ server.start
56
+ end
@@ -0,0 +1,80 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <definitions name="echo_version"
3
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:tns="urn:example.com:simpletype-rpc"
6
+ xmlns:txd="urn:example.com:simpletype-rpc-type"
7
+ targetNamespace="urn:example.com:simpletype-rpc"
8
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
9
+ <types>
10
+ <xsd:schema targetNamespace="urn:example.com:simpletype-rpc-type">
11
+ <xsd:complexType name="version_struct">
12
+ <xsd:all>
13
+ <xsd:element name="version" type="txd:version" />
14
+ <xsd:element name="msg" type="xsd:string" />
15
+ </xsd:all>
16
+ </xsd:complexType>
17
+
18
+ <xsd:simpleType name="version">
19
+ <xsd:restriction base="xsd:string">
20
+ <xsd:enumeration value="1.6"/>
21
+ <xsd:enumeration value="1.8"/>
22
+ <xsd:enumeration value="1.9"/>
23
+ </xsd:restriction>
24
+ </xsd:simpleType>
25
+ </xsd:schema>
26
+ </types>
27
+
28
+ <message name="msg_version">
29
+ <part name="version" type="txd:version"/>
30
+ </message>
31
+
32
+ <message name="msg_version_struct">
33
+ <part name="version_struct" type="txd:version_struct"/>
34
+ </message>
35
+
36
+ <portType name="echo_version_port_type">
37
+ <operation name="echo_version">
38
+ <input message="tns:msg_version"/>
39
+ <output message="tns:msg_version_struct"/>
40
+ </operation>
41
+
42
+ <operation name="echo_version_r">
43
+ <input message="tns:msg_version_struct"/>
44
+ <output message="tns:msg_version"/>
45
+ </operation>
46
+ </portType>
47
+
48
+ <binding name="echo_version_binding" type="tns:echo_version_port_type">
49
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
50
+ <operation name="echo_version">
51
+ <soap:operation soapAction="urn:example.com:simpletype-rpc"/>
52
+ <input>
53
+ <soap:body use="encoded" namespace="urn:example.com:simpletype-rpc"
54
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
55
+ </input>
56
+ <output>
57
+ <soap:body use="encoded" namespace="urn:example.com:simpletype-rpc"
58
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
59
+ </output>
60
+ </operation>
61
+
62
+ <operation name="echo_version_r">
63
+ <soap:operation soapAction="urn:example.com:simpletype-rpc"/>
64
+ <input>
65
+ <soap:body use="encoded" namespace="urn:example.com:simpletype-rpc"
66
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
67
+ </input>
68
+ <output>
69
+ <soap:body use="encoded" namespace="urn:example.com:simpletype-rpc"
70
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
71
+ </output>
72
+ </operation>
73
+ </binding>
74
+
75
+ <service name="echo_version_service">
76
+ <port name="echo_version_port" binding="tns:echo_version_binding">
77
+ <soap:address location="http://localhost:10080"/>
78
+ </port>
79
+ </service>
80
+ </definitions>
@@ -0,0 +1,38 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'xsd/qname'
3
+
4
+ # {urn:mysample}question
5
+ # something - SOAP::SOAPString
6
+ class Question
7
+ attr_accessor :something
8
+
9
+ def initialize(something = nil)
10
+ @something = something
11
+ end
12
+ end
13
+
14
+ # {urn:mysample}section
15
+ # sectionID - SOAP::SOAPInt
16
+ # name - SOAP::SOAPString
17
+ # description - SOAP::SOAPString
18
+ # index - SOAP::SOAPInt
19
+ # firstQuestion - Question
20
+ class Section
21
+ attr_accessor :sectionID
22
+ attr_accessor :name
23
+ attr_accessor :description
24
+ attr_accessor :index
25
+ attr_accessor :firstQuestion
26
+
27
+ def initialize(sectionID = nil, name = nil, description = nil, index = nil, firstQuestion = nil)
28
+ @sectionID = sectionID
29
+ @name = name
30
+ @description = description
31
+ @index = index
32
+ @firstQuestion = firstQuestion
33
+ end
34
+ end
35
+
36
+ # {urn:mysample}sectionArray
37
+ class SectionArray < ::Array
38
+ end
@@ -0,0 +1,31 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xsd:schema targetNamespace="urn:mysample"
3
+ xmlns:tns="urn:mysample"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
6
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
7
+
8
+ <xsd:complexType name="question">
9
+ <xsd:sequence>
10
+ <xsd:element name="something" type="xsd:string" />
11
+ </xsd:sequence>
12
+ </xsd:complexType>
13
+
14
+ <xsd:complexType name="section">
15
+ <xsd:sequence>
16
+ <xsd:element name="sectionID" type="xsd:int" />
17
+ <xsd:element name="name" type="xsd:string" />
18
+ <xsd:element name="description" type="xsd:string" />
19
+ <xsd:element name="index" type="xsd:int" />
20
+ <xsd:element name="firstQuestion" type="tns:question" />
21
+ </xsd:sequence>
22
+ </xsd:complexType>
23
+
24
+ <xsd:complexType name="sectionArray">
25
+ <xsd:complexContent>
26
+ <xsd:restriction base="enc:Array">
27
+ <xsd:attribute ref="enc:arrayType" wsdl:arrayType="tns:section[]"/>
28
+ </xsd:restriction>
29
+ </xsd:complexContent>
30
+ </xsd:complexType>
31
+ </xsd:schema>
@@ -0,0 +1,54 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'soap/marshal'
5
+ require 'rbconfig'
6
+
7
+
8
+ module WSDL; module SOAP
9
+
10
+
11
+ class TestSection < Test::Unit::TestCase
12
+ DIR = File.dirname(File.expand_path(__FILE__))
13
+ RUBY = Config::CONFIG['RUBY_INSTALL_NAME']
14
+
15
+ def setup
16
+ system("cd #{DIR} && #{RUBY} #{pathname("../../../../../bin/xsd2ruby.rb")} --xsd #{pathname("section.xsd")} --classdef --force --quiet")
17
+ end
18
+
19
+ def teardown
20
+ File.unlink(pathname("mysample.rb")) unless $DEBUG
21
+ end
22
+
23
+ def test_classdef
24
+ compare("expectedClassdef.rb", "mysample.rb")
25
+ end
26
+
27
+ def test_marshal
28
+ # avoid name crash (<item> => an Item when a class Item is defined)
29
+ if ::Object.constants.include?("Item")
30
+ ::Object.instance_eval { remove_const("Item") }
31
+ end
32
+ TestUtil.require(DIR, 'mysample.rb')
33
+ s1 = Section.new(1, "section1", "section 1", 1001, Question.new("q1"))
34
+ s2 = Section.new(2, "section2", "section 2", 1002, Question.new("q2"))
35
+ org = SectionArray[s1, s2]
36
+ obj = ::SOAP::Marshal.unmarshal(::SOAP::Marshal.marshal(org))
37
+ assert_equal(SectionArray, obj.class)
38
+ assert_equal(Section, obj[0].class)
39
+ assert_equal(Question, obj[0].firstQuestion.class)
40
+ end
41
+
42
+ private
43
+
44
+ def pathname(filename)
45
+ File.join(DIR, filename)
46
+ end
47
+
48
+ def compare(expected, actual)
49
+ TestUtil.filecompare(pathname(expected), pathname(actual))
50
+ end
51
+ end
52
+
53
+
54
+ end; end