DefV-soap4r 1.5.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. data/bin/wsdl2ruby.rb +137 -0
  2. data/bin/xsd2ruby.rb +90 -0
  3. data/lib/soap/attachment.rb +108 -0
  4. data/lib/soap/attrproxy.rb +34 -0
  5. data/lib/soap/baseData.rb +1094 -0
  6. data/lib/soap/element.rb +277 -0
  7. data/lib/soap/encodingstyle/aspDotNetHandler.rb +207 -0
  8. data/lib/soap/encodingstyle/handler.rb +120 -0
  9. data/lib/soap/encodingstyle/literalHandler.rb +195 -0
  10. data/lib/soap/encodingstyle/soapHandler.rb +559 -0
  11. data/lib/soap/filter.rb +13 -0
  12. data/lib/soap/filter/filterchain.rb +51 -0
  13. data/lib/soap/filter/handler.rb +31 -0
  14. data/lib/soap/filter/streamhandler.rb +29 -0
  15. data/lib/soap/generator.rb +299 -0
  16. data/lib/soap/header/handler.rb +61 -0
  17. data/lib/soap/header/handlerset.rb +70 -0
  18. data/lib/soap/header/mappinghandler.rb +47 -0
  19. data/lib/soap/header/simplehandler.rb +44 -0
  20. data/lib/soap/httpconfigloader.rb +139 -0
  21. data/lib/soap/mapping.rb +12 -0
  22. data/lib/soap/mapping/encodedregistry.rb +537 -0
  23. data/lib/soap/mapping/factory.rb +388 -0
  24. data/lib/soap/mapping/literalregistry.rb +391 -0
  25. data/lib/soap/mapping/mapping.rb +577 -0
  26. data/lib/soap/mapping/registry.rb +295 -0
  27. data/lib/soap/mapping/rubytypeFactory.rb +446 -0
  28. data/lib/soap/mapping/schemadefinition.rb +170 -0
  29. data/lib/soap/mapping/typeMap.rb +106 -0
  30. data/lib/soap/mapping/wsdlencodedregistry.rb +211 -0
  31. data/lib/soap/mapping/wsdlliteralregistry.rb +248 -0
  32. data/lib/soap/marshal.rb +59 -0
  33. data/lib/soap/mimemessage.rb +241 -0
  34. data/lib/soap/nestedexception.rb +42 -0
  35. data/lib/soap/netHttpClient.rb +241 -0
  36. data/lib/soap/ns.rb +34 -0
  37. data/lib/soap/parser.rb +252 -0
  38. data/lib/soap/processor.rb +66 -0
  39. data/lib/soap/property.rb +333 -0
  40. data/lib/soap/proxy.rb +14 -0
  41. data/lib/soap/rpc/cgistub.rb +247 -0
  42. data/lib/soap/rpc/driver.rb +221 -0
  43. data/lib/soap/rpc/element.rb +374 -0
  44. data/lib/soap/rpc/element.rb.orig +374 -0
  45. data/lib/soap/rpc/httpserver.rb +142 -0
  46. data/lib/soap/rpc/methodDef.rb +68 -0
  47. data/lib/soap/rpc/proxy.rb +572 -0
  48. data/lib/soap/rpc/router.rb +662 -0
  49. data/lib/soap/rpc/rpc.rb +25 -0
  50. data/lib/soap/rpc/soaplet.rb +200 -0
  51. data/lib/soap/rpc/standaloneServer.rb +43 -0
  52. data/lib/soap/soap.rb +151 -0
  53. data/lib/soap/streamHandler.rb +301 -0
  54. data/lib/soap/wsdlDriver.rb +164 -0
  55. data/lib/wsdl/binding.rb +65 -0
  56. data/lib/wsdl/data.rb +64 -0
  57. data/lib/wsdl/definitions.rb +236 -0
  58. data/lib/wsdl/documentation.rb +32 -0
  59. data/lib/wsdl/import.rb +80 -0
  60. data/lib/wsdl/importer.rb +38 -0
  61. data/lib/wsdl/info.rb +50 -0
  62. data/lib/wsdl/message.rb +54 -0
  63. data/lib/wsdl/operation.rb +151 -0
  64. data/lib/wsdl/operationBinding.rb +240 -0
  65. data/lib/wsdl/param.rb +93 -0
  66. data/lib/wsdl/parser.rb +164 -0
  67. data/lib/wsdl/part.rb +52 -0
  68. data/lib/wsdl/port.rb +66 -0
  69. data/lib/wsdl/portType.rb +75 -0
  70. data/lib/wsdl/service.rb +61 -0
  71. data/lib/wsdl/soap/address.rb +40 -0
  72. data/lib/wsdl/soap/binding.rb +49 -0
  73. data/lib/wsdl/soap/body.rb +58 -0
  74. data/lib/wsdl/soap/cgiStubCreator.rb +92 -0
  75. data/lib/wsdl/soap/classDefCreator.rb +433 -0
  76. data/lib/wsdl/soap/classDefCreatorSupport.rb +240 -0
  77. data/lib/wsdl/soap/classNameCreator.rb +54 -0
  78. data/lib/wsdl/soap/clientSkeltonCreator.rb +104 -0
  79. data/lib/wsdl/soap/complexType.rb +173 -0
  80. data/lib/wsdl/soap/data.rb +42 -0
  81. data/lib/wsdl/soap/definitions.rb +200 -0
  82. data/lib/wsdl/soap/driverCreator.rb +118 -0
  83. data/lib/wsdl/soap/element.rb +33 -0
  84. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +73 -0
  85. data/lib/wsdl/soap/fault.rb +56 -0
  86. data/lib/wsdl/soap/header.rb +86 -0
  87. data/lib/wsdl/soap/headerfault.rb +56 -0
  88. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +115 -0
  89. data/lib/wsdl/soap/mappingRegistryCreator.rb +58 -0
  90. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +376 -0
  91. data/lib/wsdl/soap/methodDefCreator.rb +199 -0
  92. data/lib/wsdl/soap/operation.rb +112 -0
  93. data/lib/wsdl/soap/servantSkeltonCreator.rb +89 -0
  94. data/lib/wsdl/soap/servletStubCreator.rb +104 -0
  95. data/lib/wsdl/soap/standaloneServerStubCreator.rb +100 -0
  96. data/lib/wsdl/soap/wsdl2ruby.rb +217 -0
  97. data/lib/wsdl/types.rb +44 -0
  98. data/lib/wsdl/wsdl.rb +24 -0
  99. data/lib/wsdl/xmlSchema/all.rb +24 -0
  100. data/lib/wsdl/xmlSchema/annotation.rb +34 -0
  101. data/lib/wsdl/xmlSchema/any.rb +61 -0
  102. data/lib/wsdl/xmlSchema/anyAttribute.rb +48 -0
  103. data/lib/wsdl/xmlSchema/attribute.rb +104 -0
  104. data/lib/wsdl/xmlSchema/attributeGroup.rb +68 -0
  105. data/lib/wsdl/xmlSchema/choice.rb +58 -0
  106. data/lib/wsdl/xmlSchema/complexContent.rb +97 -0
  107. data/lib/wsdl/xmlSchema/complexExtension.rb +119 -0
  108. data/lib/wsdl/xmlSchema/complexRestriction.rb +104 -0
  109. data/lib/wsdl/xmlSchema/complexType.rb +193 -0
  110. data/lib/wsdl/xmlSchema/content.rb +95 -0
  111. data/lib/wsdl/xmlSchema/data.rb +116 -0
  112. data/lib/wsdl/xmlSchema/element.rb +153 -0
  113. data/lib/wsdl/xmlSchema/enumeration.rb +36 -0
  114. data/lib/wsdl/xmlSchema/fractiondigits.rb +37 -0
  115. data/lib/wsdl/xmlSchema/group.rb +100 -0
  116. data/lib/wsdl/xmlSchema/import.rb +53 -0
  117. data/lib/wsdl/xmlSchema/importHandler.rb +45 -0
  118. data/lib/wsdl/xmlSchema/importer.rb +102 -0
  119. data/lib/wsdl/xmlSchema/include.rb +48 -0
  120. data/lib/wsdl/xmlSchema/length.rb +37 -0
  121. data/lib/wsdl/xmlSchema/list.rb +48 -0
  122. data/lib/wsdl/xmlSchema/maxexclusive.rb +37 -0
  123. data/lib/wsdl/xmlSchema/maxinclusive.rb +37 -0
  124. data/lib/wsdl/xmlSchema/maxlength.rb +37 -0
  125. data/lib/wsdl/xmlSchema/minexclusive.rb +37 -0
  126. data/lib/wsdl/xmlSchema/mininclusive.rb +37 -0
  127. data/lib/wsdl/xmlSchema/minlength.rb +37 -0
  128. data/lib/wsdl/xmlSchema/parser.rb +167 -0
  129. data/lib/wsdl/xmlSchema/pattern.rb +36 -0
  130. data/lib/wsdl/xmlSchema/ref.rb +33 -0
  131. data/lib/wsdl/xmlSchema/schema.rb +178 -0
  132. data/lib/wsdl/xmlSchema/sequence.rb +54 -0
  133. data/lib/wsdl/xmlSchema/simpleContent.rb +69 -0
  134. data/lib/wsdl/xmlSchema/simpleExtension.rb +62 -0
  135. data/lib/wsdl/xmlSchema/simpleRestriction.rb +132 -0
  136. data/lib/wsdl/xmlSchema/simpleType.rb +87 -0
  137. data/lib/wsdl/xmlSchema/totaldigits.rb +37 -0
  138. data/lib/wsdl/xmlSchema/union.rb +35 -0
  139. data/lib/wsdl/xmlSchema/unique.rb +34 -0
  140. data/lib/wsdl/xmlSchema/whitespace.rb +37 -0
  141. data/lib/wsdl/xmlSchema/xsd2ruby.rb +174 -0
  142. data/lib/xsd/charset.rb +188 -0
  143. data/lib/xsd/codegen.rb +12 -0
  144. data/lib/xsd/codegen/classdef.rb +208 -0
  145. data/lib/xsd/codegen/commentdef.rb +34 -0
  146. data/lib/xsd/codegen/gensupport.rb +273 -0
  147. data/lib/xsd/codegen/methoddef.rb +70 -0
  148. data/lib/xsd/codegen/moduledef.rb +208 -0
  149. data/lib/xsd/datatypes.rb +1466 -0
  150. data/lib/xsd/datatypes1999.rb +20 -0
  151. data/lib/xsd/iconvcharset.rb +33 -0
  152. data/lib/xsd/mapping.rb +68 -0
  153. data/lib/xsd/namedelements.rb +132 -0
  154. data/lib/xsd/ns.rb +182 -0
  155. data/lib/xsd/qname.rb +79 -0
  156. data/lib/xsd/xmlparser.rb +76 -0
  157. data/lib/xsd/xmlparser.rb.orig +76 -0
  158. data/lib/xsd/xmlparser/libxmlparser.rb +119 -0
  159. data/lib/xsd/xmlparser/parser.rb +100 -0
  160. data/lib/xsd/xmlparser/rexmlparser.rb +58 -0
  161. data/lib/xsd/xmlparser/xmlparser.rb +50 -0
  162. data/lib/xsd/xmlparser/xmlscanner.rb +149 -0
  163. data/test/16runner.rb +68 -0
  164. data/test/interopR2/README.txt +2 -0
  165. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  166. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  167. data/test/interopR2/base.rb +288 -0
  168. data/test/interopR2/client.NetRemoting.rb +17 -0
  169. data/test/interopR2/client.rb +1234 -0
  170. data/test/interopR2/client4S4C.rb +15 -0
  171. data/test/interopR2/client4S4C2.rb +14 -0
  172. data/test/interopR2/clientASP.NET.rb +17 -0
  173. data/test/interopR2/clientApacheAxis.rb +16 -0
  174. data/test/interopR2/clientApacheSOAP.rb +17 -0
  175. data/test/interopR2/clientBEAWebLogic.rb +17 -0
  176. data/test/interopR2/clientBase.rb +1967 -0
  177. data/test/interopR2/clientCapeConnect.rb +18 -0
  178. data/test/interopR2/clientDelphi.rb +19 -0
  179. data/test/interopR2/clientEasySoap.rb +14 -0
  180. data/test/interopR2/clientFrontier.rb +25 -0
  181. data/test/interopR2/clientGLUE.rb +32 -0
  182. data/test/interopR2/clientHP.rb +13 -0
  183. data/test/interopR2/clientJAX-RPC.rb +19 -0
  184. data/test/interopR2/clientJSOAP.rb +14 -0
  185. data/test/interopR2/clientKafkaXSLT.rb +15 -0
  186. data/test/interopR2/clientMSSOAPToolkit2.0.rb +17 -0
  187. data/test/interopR2/clientMSSOAPToolkit3.0.rb +17 -0
  188. data/test/interopR2/clientNuSOAP.rb +19 -0
  189. data/test/interopR2/clientNuWave.rb +15 -0
  190. data/test/interopR2/clientOpenLink.rb +15 -0
  191. data/test/interopR2/clientOracle.rb +15 -0
  192. data/test/interopR2/clientPEAR.rb +18 -0
  193. data/test/interopR2/clientPhalanx.rb +18 -0
  194. data/test/interopR2/clientSIMACE.rb +18 -0
  195. data/test/interopR2/clientSOAP4R.rb +18 -0
  196. data/test/interopR2/clientSOAP__Lite.rb +14 -0
  197. data/test/interopR2/clientSQLData.rb +18 -0
  198. data/test/interopR2/clientSilverStream.rb +17 -0
  199. data/test/interopR2/clientSpray2001.rb +17 -0
  200. data/test/interopR2/clientSun.rb +19 -0
  201. data/test/interopR2/clientVWOpentalkSoap.rb +19 -0
  202. data/test/interopR2/clientWASP.rb +19 -0
  203. data/test/interopR2/clientWASPC.rb +18 -0
  204. data/test/interopR2/clientWebMethods.rb +15 -0
  205. data/test/interopR2/clientWhiteMesa.rb +28 -0
  206. data/test/interopR2/clientWingfoot.rb +15 -0
  207. data/test/interopR2/clientXMLBus.rb +19 -0
  208. data/test/interopR2/clientXMLRPC-EPI.rb +17 -0
  209. data/test/interopR2/clientXSOAP.rb +14 -0
  210. data/test/interopR2/clientZSI.rb +19 -0
  211. data/test/interopR2/clienteSOAP.rb +18 -0
  212. data/test/interopR2/clientgSOAP.rb +18 -0
  213. data/test/interopR2/clientkSOAP.rb +17 -0
  214. data/test/interopR2/iSimonReg.rb +112 -0
  215. data/test/interopR2/interopResultBase.rb +114 -0
  216. data/test/interopR2/interopService.rb +247 -0
  217. data/test/interopR2/rwikiInteropService.rb +105 -0
  218. data/test/interopR2/server.cgi +270 -0
  219. data/test/interopR2/server.rb +275 -0
  220. data/test/interopR2/simonReg.rb +123 -0
  221. data/test/interopR2/test.sh +49 -0
  222. data/test/interopR4/client.rb +112 -0
  223. data/test/results +4810 -0
  224. data/test/runner.rb +7 -0
  225. data/test/sm11/classDef.rb +156 -0
  226. data/test/sm11/client.rb +542 -0
  227. data/test/sm11/driver.rb +183 -0
  228. data/test/sm11/servant.rb +1067 -0
  229. data/test/sm11/server.rb +25 -0
  230. data/test/soap/asp.net/hello.wsdl +96 -0
  231. data/test/soap/asp.net/test_aspdotnet.rb +123 -0
  232. data/test/soap/auth/htdigest +2 -0
  233. data/test/soap/auth/htpasswd +2 -0
  234. data/test/soap/auth/test_basic.rb +117 -0
  235. data/test/soap/auth/test_digest.rb +118 -0
  236. data/test/soap/calc/calc.rb +17 -0
  237. data/test/soap/calc/calc2.rb +29 -0
  238. data/test/soap/calc/server.cgi +13 -0
  239. data/test/soap/calc/server.rb +17 -0
  240. data/test/soap/calc/server2.rb +20 -0
  241. data/test/soap/calc/test_calc.rb +51 -0
  242. data/test/soap/calc/test_calc2.rb +55 -0
  243. data/test/soap/calc/test_calc_cgi.rb +71 -0
  244. data/test/soap/case/test_mapping.rb +57 -0
  245. data/test/soap/fault/test_customfault.rb +60 -0
  246. data/test/soap/fault/test_fault.rb +46 -0
  247. data/test/soap/fault/test_soaparray.rb +35 -0
  248. data/test/soap/filter/test_filter.rb +146 -0
  249. data/test/soap/header/server.cgi +119 -0
  250. data/test/soap/header/session.pstoredb +0 -0
  251. data/test/soap/header/test_authheader.rb +240 -0
  252. data/test/soap/header/test_authheader_cgi.rb +121 -0
  253. data/test/soap/header/test_simplehandler.rb +116 -0
  254. data/test/soap/helloworld/hw_s.rb +16 -0
  255. data/test/soap/helloworld/test_helloworld.rb +43 -0
  256. data/test/soap/htpasswd +2 -0
  257. data/test/soap/literalArrayMapping/amazonEc.rb +4778 -0
  258. data/test/soap/literalArrayMapping/amazonEcDriver.rb +172 -0
  259. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  260. data/test/soap/literalArrayMapping/test_definedarray.rb +34 -0
  261. data/test/soap/marshal/marshaltestlib.rb +494 -0
  262. data/test/soap/marshal/test_digraph.rb +56 -0
  263. data/test/soap/marshal/test_marshal.rb +26 -0
  264. data/test/soap/marshal/test_struct.rb +47 -0
  265. data/test/soap/ssl/README +1 -0
  266. data/test/soap/ssl/ca.cert +23 -0
  267. data/test/soap/ssl/client.cert +19 -0
  268. data/test/soap/ssl/client.key +15 -0
  269. data/test/soap/ssl/server.cert +19 -0
  270. data/test/soap/ssl/server.key +15 -0
  271. data/test/soap/ssl/sslsvr.rb +57 -0
  272. data/test/soap/ssl/subca.cert +21 -0
  273. data/test/soap/ssl/test_ssl.rb +235 -0
  274. data/test/soap/struct/test_struct.rb +70 -0
  275. data/test/soap/styleuse/client.rb +20 -0
  276. data/test/soap/styleuse/server.rb +86 -0
  277. data/test/soap/swa/test_file.rb +75 -0
  278. data/test/soap/test_basetype.rb +1090 -0
  279. data/test/soap/test_cookie.rb +112 -0
  280. data/test/soap/test_custom_ns.rb +105 -0
  281. data/test/soap/test_custommap.rb +110 -0
  282. data/test/soap/test_empty.rb +105 -0
  283. data/test/soap/test_envelopenamespace.rb +85 -0
  284. data/test/soap/test_extraattr.rb +54 -0
  285. data/test/soap/test_generator.rb +27 -0
  286. data/test/soap/test_httpconfigloader.rb +71 -0
  287. data/test/soap/test_mapping.rb +131 -0
  288. data/test/soap/test_nestedexception.rb +56 -0
  289. data/test/soap/test_nil.rb +57 -0
  290. data/test/soap/test_no_indent.rb +88 -0
  291. data/test/soap/test_property.rb +428 -0
  292. data/test/soap/test_response_as_xml.rb +117 -0
  293. data/test/soap/test_soapelement.rb +138 -0
  294. data/test/soap/test_streamhandler.rb +270 -0
  295. data/test/soap/test_styleuse.rb +326 -0
  296. data/test/soap/wsdlDriver/README.txt +2 -0
  297. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  298. data/test/soap/wsdlDriver/document.wsdl +54 -0
  299. data/test/soap/wsdlDriver/echo_version.rb +29 -0
  300. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  301. data/test/soap/wsdlDriver/test_calc.rb +71 -0
  302. data/test/soap/wsdlDriver/test_document.rb +71 -0
  303. data/test/soap/wsdlDriver/test_simpletype.rb +80 -0
  304. data/test/testutil.rb +54 -0
  305. data/test/wsdl/abstract/abstract.wsdl +176 -0
  306. data/test/wsdl/abstract/test_abstract.rb +159 -0
  307. data/test/wsdl/anonymous/expectedClassDef.rb +128 -0
  308. data/test/wsdl/anonymous/expectedDriver.rb +59 -0
  309. data/test/wsdl/anonymous/expectedMappingRegistry.rb +176 -0
  310. data/test/wsdl/anonymous/lp.wsdl +147 -0
  311. data/test/wsdl/anonymous/test_anonymous.rb +130 -0
  312. data/test/wsdl/any/any.wsdl +114 -0
  313. data/test/wsdl/any/expectedDriver.rb +68 -0
  314. data/test/wsdl/any/expectedEcho.rb +57 -0
  315. data/test/wsdl/any/expectedMappingRegistry.rb +63 -0
  316. data/test/wsdl/any/expectedService.rb +69 -0
  317. data/test/wsdl/any/test_any.rb +193 -0
  318. data/test/wsdl/axisArray/axisArray.wsdl +87 -0
  319. data/test/wsdl/axisArray/test_axisarray.rb +124 -0
  320. data/test/wsdl/choice/choice.wsdl +167 -0
  321. data/test/wsdl/choice/test_choice.rb +310 -0
  322. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  323. data/test/wsdl/complexcontent/test_echo.rb +90 -0
  324. data/test/wsdl/datetime/DatetimeService.rb +44 -0
  325. data/test/wsdl/datetime/datetime.rb +0 -0
  326. data/test/wsdl/datetime/datetime.wsdl +45 -0
  327. data/test/wsdl/datetime/datetimeServant.rb +22 -0
  328. data/test/wsdl/datetime/test_datetime.rb +86 -0
  329. data/test/wsdl/document/array/double.wsdl +161 -0
  330. data/test/wsdl/document/array/test_array.rb +201 -0
  331. data/test/wsdl/document/document.wsdl +76 -0
  332. data/test/wsdl/document/number.wsdl +54 -0
  333. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  334. data/test/wsdl/document/test_nosoapaction.rb +102 -0
  335. data/test/wsdl/document/test_number.rb +92 -0
  336. data/test/wsdl/document/test_rpc.rb +355 -0
  337. data/test/wsdl/emptycomplextype.wsdl +31 -0
  338. data/test/wsdl/fault/fault.wsdl +79 -0
  339. data/test/wsdl/fault/multifault.wsdl +96 -0
  340. data/test/wsdl/fault/test_fault.rb +119 -0
  341. data/test/wsdl/fault/test_multifault.rb +134 -0
  342. data/test/wsdl/group/expectedClassdef.rb +58 -0
  343. data/test/wsdl/group/expectedDriver.rb +51 -0
  344. data/test/wsdl/group/expectedMappingRegistry.rb +67 -0
  345. data/test/wsdl/group/group.wsdl +88 -0
  346. data/test/wsdl/group/test_rpc.rb +145 -0
  347. data/test/wsdl/list/list.wsdl +93 -0
  348. data/test/wsdl/list/test_list.rb +124 -0
  349. data/test/wsdl/map/map.wsdl +92 -0
  350. data/test/wsdl/map/map.xml +43 -0
  351. data/test/wsdl/map/test_map.rb +99 -0
  352. data/test/wsdl/marshal/Person.rb +1 -0
  353. data/test/wsdl/marshal/person.wsdl +21 -0
  354. data/test/wsdl/marshal/person_org.rb +23 -0
  355. data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
  356. data/test/wsdl/multiplefault.wsdl +75 -0
  357. data/test/wsdl/oneway/oneway.wsdl +36 -0
  358. data/test/wsdl/oneway/test_oneway.rb +108 -0
  359. data/test/wsdl/overload/expectedClient.rb +37 -0
  360. data/test/wsdl/overload/expectedDriver.rb +61 -0
  361. data/test/wsdl/overload/expectedServant.rb +35 -0
  362. data/test/wsdl/overload/overload.wsdl +70 -0
  363. data/test/wsdl/overload/test_overload.rb +131 -0
  364. data/test/wsdl/qualified/lp.wsdl +47 -0
  365. data/test/wsdl/qualified/lp.xsd +26 -0
  366. data/test/wsdl/qualified/np.wsdl +51 -0
  367. data/test/wsdl/qualified/test_qualified.rb +137 -0
  368. data/test/wsdl/qualified/test_unqualified.rb +138 -0
  369. data/test/wsdl/raa/RAAService.rb +125 -0
  370. data/test/wsdl/raa/README.txt +8 -0
  371. data/test/wsdl/raa/expectedClassDef.rb +100 -0
  372. data/test/wsdl/raa/expectedDriver.rb +96 -0
  373. data/test/wsdl/raa/expectedMappingRegistry.rb +121 -0
  374. data/test/wsdl/raa/raa.wsdl +264 -0
  375. data/test/wsdl/raa/test_raa.rb +126 -0
  376. data/test/wsdl/ref/expectedDriver.rb +51 -0
  377. data/test/wsdl/ref/expectedProduct.rb +243 -0
  378. data/test/wsdl/ref/product.wsdl +147 -0
  379. data/test/wsdl/ref/test_ref.rb +268 -0
  380. data/test/wsdl/rpc/rpc.wsdl +109 -0
  381. data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
  382. data/test/wsdl/rpc/test_rpc.rb +176 -0
  383. data/test/wsdl/rpc/test_rpc_lit.rb +470 -0
  384. data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
  385. data/test/wsdl/simplecontent/test_simplecontent.rb +102 -0
  386. data/test/wsdl/simpletype/rpc/echo_version.rb +1 -0
  387. data/test/wsdl/simpletype/rpc/echo_versionDriver.rb +10 -0
  388. data/test/wsdl/simpletype/rpc/echo_versionMappingRegistry.rb +4 -0
  389. data/test/wsdl/simpletype/rpc/echo_versionServant.rb +3 -0
  390. data/test/wsdl/simpletype/rpc/echo_version_service.rb +3 -0
  391. data/test/wsdl/simpletype/rpc/echo_version_serviceClient.rb +34 -0
  392. data/test/wsdl/simpletype/rpc/expectedClient.rb +34 -0
  393. data/test/wsdl/simpletype/rpc/expectedDriver.rb +58 -0
  394. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +36 -0
  395. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +57 -0
  396. data/test/wsdl/simpletype/rpc/expectedServant.rb +32 -0
  397. data/test/wsdl/simpletype/rpc/expectedService.rb +55 -0
  398. data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
  399. data/test/wsdl/simpletype/rpc/test_rpc.rb +52 -0
  400. data/test/wsdl/simpletype/simpletype.wsdl +114 -0
  401. data/test/wsdl/simpletype/test_simpletype.rb +92 -0
  402. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  403. data/test/wsdl/soap/test_soapbodyparts.rb +79 -0
  404. data/test/wsdl/soap/wsdl2ruby/echo_version.rb +1 -0
  405. data/test/wsdl/soap/wsdl2ruby/echo_versionDriver.rb +10 -0
  406. data/test/wsdl/soap/wsdl2ruby/echo_versionMappingRegistry.rb +4 -0
  407. data/test/wsdl/soap/wsdl2ruby/echo_versionServant.rb +3 -0
  408. data/test/wsdl/soap/wsdl2ruby/echo_version_service.cgi +3 -0
  409. data/test/wsdl/soap/wsdl2ruby/echo_version_service.rb +7 -0
  410. data/test/wsdl/soap/wsdl2ruby/echo_version_serviceClient.rb +34 -0
  411. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +21 -0
  412. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +34 -0
  413. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +58 -0
  414. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +36 -0
  415. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +32 -0
  416. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +48 -0
  417. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +55 -0
  418. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  419. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +37 -0
  420. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  421. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +53 -0
  422. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  423. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +83 -0
  424. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +102 -0
  425. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  426. data/test/wsdl/soaptype/test_soaptype.rb +178 -0
  427. data/test/wsdl/test_emptycomplextype.rb +21 -0
  428. data/test/wsdl/test_fault.rb +50 -0
  429. data/test/wsdl/test_multiplefault.rb +41 -0
  430. data/test/xsd/codegen/test_classdef.rb +244 -0
  431. data/test/xsd/noencoding.xml +4 -0
  432. data/test/xsd/test_noencoding.rb +32 -0
  433. data/test/xsd/test_ns.rb +41 -0
  434. data/test/xsd/test_xmlschemaparser.rb +22 -0
  435. data/test/xsd/test_xsd.rb +1638 -0
  436. data/test/xsd/xmllang.xml +43 -0
  437. data/test/xsd/xmlschema.xml +12 -0
  438. data/test/xsd/xsd2ruby/expected_mysample.rb +65 -0
  439. data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +11 -0
  440. data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +51 -0
  441. data/test/xsd/xsd2ruby/section.xsd +49 -0
  442. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +90 -0
  443. metadata +568 -0
@@ -0,0 +1,247 @@
1
+ require 'interopbase'
2
+
3
+ class InteropService
4
+ include SOAP
5
+
6
+ # In echoVoid, 'retval' is not defined. So nothing will be returned.
7
+ def echoVoid
8
+ return SOAP::RPC::SOAPVoid.new
9
+ end
10
+
11
+ def echoBoolean(inputBoolean)
12
+ inputBoolean
13
+ end
14
+
15
+ def echoString(inputString)
16
+ clone(inputString)
17
+ end
18
+
19
+ def echoStringArray(inputStringArray)
20
+ clone(inputStringArray)
21
+ end
22
+
23
+ def echoInteger(inputInteger)
24
+ SOAP::SOAPInt.new(clone(inputInteger))
25
+ end
26
+
27
+ def echoIntegerArray(inputIntegerArray)
28
+ clone(inputIntegerArray)
29
+ end
30
+
31
+ # Float is mapped to SOAPDouble by default.
32
+ def echoFloat(inputFloat)
33
+ SOAP::SOAPFloat.new(inputFloat)
34
+ end
35
+
36
+ def echoDecimal(inputDecimal)
37
+ SOAP::SOAPDecimal.new(clone(inputDecimal))
38
+ end
39
+
40
+ def echoFloatArray(inputFloatArray)
41
+ outArray = SOAPBuildersInterop::FloatArray.new
42
+ inputFloatArray.each do |f|
43
+ outArray << SOAPFloat.new(f)
44
+ end
45
+ outArray
46
+ end
47
+
48
+ def echoStruct(inputStruct)
49
+ clone_Struct(inputStruct)
50
+ end
51
+
52
+ def echoStructArray(inputStructArray)
53
+ clone_StructArray(inputStructArray)
54
+ end
55
+
56
+ def echoDate(inputDate)
57
+ clone(inputDate)
58
+ end
59
+
60
+ def echoBase64(inputBase64)
61
+ o = SOAP::SOAPBase64.new(clone(inputBase64))
62
+ o.as_xsd
63
+ o
64
+ end
65
+
66
+ def echoHexBinary(inputHexBinary)
67
+ SOAP::SOAPHexBinary.new(clone(inputHexBinary))
68
+ end
69
+
70
+ def echoDouble(inputDouble)
71
+ SOAP::SOAPDouble.new(inputDouble)
72
+ end
73
+
74
+ # for Round 2 group B
75
+ def echoStructAsSimpleTypes(inputStruct)
76
+ outputString = inputStruct.varString
77
+ outputInteger = inputStruct.varInt
78
+ outputFloat = inputStruct.varFloat ? SOAPFloat.new(inputStruct.varFloat) : nil
79
+ # retVal is not returned to SOAP client because retVal of this method is
80
+ # not defined in method definition.
81
+ # retVal, out, out, out
82
+ return nil, outputString, outputInteger, outputFloat
83
+ end
84
+
85
+ def echoSimpleTypesAsStruct(inputString, inputInt, inputFloat)
86
+ SOAPBuildersInterop::SOAPStruct.new(inputInt, inputFloat, inputString)
87
+ end
88
+
89
+ def echo2DStringArray(ary)
90
+ # In Ruby, M-D Array is converted to Array of Array now.
91
+ mdary = SOAP::Mapping.ary2md(ary, 2, XSD::Namespace, XSD::StringLiteral)
92
+ if mdary.include?(nil)
93
+ mdary.sparse = true
94
+ end
95
+ mdary
96
+ end
97
+
98
+ def echoNestedStruct(inputStruct)
99
+ clone_StructStruct(inputStruct)
100
+ end
101
+
102
+ def echoNestedArray(inputStruct)
103
+ clone_Struct(inputStruct)
104
+ end
105
+
106
+ def echoMap(inputMap)
107
+ clone(inputMap)
108
+ end
109
+
110
+ def echoMapArray(inputMapArray)
111
+ clone(inputMapArray)
112
+ end
113
+
114
+ def echoPolyMorph(anObject)
115
+ clone(anObject)
116
+ end
117
+
118
+ alias echoPolyMorphStruct echoPolyMorph
119
+ alias echoPolyMorphArray echoPolyMorph
120
+
121
+
122
+ def echoXSDBoolean(inputBoolean)
123
+ inputBoolean
124
+ end
125
+
126
+ def echoXSDString(inputString)
127
+ clone(inputString)
128
+ end
129
+
130
+ def echoXSDDecimal(inputDecimal)
131
+ SOAP::SOAPDecimal.new(clone(inputDecimal))
132
+ end
133
+
134
+ def echoXSDFloat(inputFloat)
135
+ SOAPFloat.new(inputFloat)
136
+ end
137
+
138
+ def echoXSDDouble(inputDouble)
139
+ SOAP::SOAPDouble.new(clone(inputDouble))
140
+ end
141
+
142
+ def echoXSDDuration(inputDuration)
143
+ SOAP::SOAPDuration.new(clone(inputDuration))
144
+ end
145
+
146
+ def echoXSDDateTime(inputXSDDateTime)
147
+ clone(inputXSDDateTime)
148
+ end
149
+
150
+ def echoXSDTime(inputXSDTime)
151
+ SOAP::SOAPTime.new(clone(inputXSDTime))
152
+ end
153
+
154
+ def echoXSDDate(inputXSDDate)
155
+ SOAP::SOAPDate.new(clone(inputXSDDate))
156
+ end
157
+
158
+ def echoXSDgYearMonth(inputGYearMonth)
159
+ SOAP::SOAPgYearMonth.new(clone(inputGYearMonth))
160
+ end
161
+
162
+ def echoXSDgYear(inputGYear)
163
+ SOAP::SOAPgYear.new(clone(inputGYear))
164
+ end
165
+
166
+ def echoXSDgMonthDay(inputGMonthDay)
167
+ SOAP::SOAPgMonthDay.new(clone(inputGMonthDay))
168
+ end
169
+
170
+ def echoXSDgDay(inputGDay)
171
+ SOAP::SOAPgDay.new(clone(inputGDay))
172
+ end
173
+
174
+ def echoXSDgMonth(inputGMonth)
175
+ SOAP::SOAPgMonth.new(clone(inputGMonth))
176
+ end
177
+
178
+ def echoXSDHexBinary(inputHexBinary)
179
+ SOAP::SOAPHexBinary.new(clone(inputHexBinary))
180
+ end
181
+
182
+ def echoXSDBase64(inputBase64)
183
+ o = SOAP::SOAPBase64.new(clone(inputBase64))
184
+ o.as_xsd
185
+ o
186
+ end
187
+
188
+ def echoXSDanyURI(inputAnyURI)
189
+ clone(inputAnyURI)
190
+ end
191
+
192
+ def echoXSDQName(inputQName)
193
+ SOAP::SOAPQName.new(clone(inputQName))
194
+ end
195
+
196
+ def echoXSDInteger(inputXSDInteger)
197
+ clone(inputXSDInteger)
198
+ end
199
+
200
+ def echoXSDLong(inputLong)
201
+ SOAP::SOAPLong.new(clone(inputLong))
202
+ end
203
+
204
+ def echoXSDInt(inputInt)
205
+ SOAP::SOAPInt.new(clone(inputInteger))
206
+ end
207
+
208
+ def echoPolyMorph(anObject)
209
+ clone(anObject)
210
+ end
211
+
212
+ alias echoPolyMorphStruct echoPolyMorph
213
+ alias echoPolyMorphArray echoPolyMorph
214
+
215
+ private
216
+
217
+ def clone(obj)
218
+ begin
219
+ return Marshal.load(Marshal.dump(obj))
220
+ rescue TypeError
221
+ return obj
222
+ end
223
+ end
224
+
225
+ def clone_Struct(struct)
226
+ result = clone(struct)
227
+ result.varFloat = SOAPFloat.new(struct.varFloat) if struct.varFloat
228
+ result
229
+ end
230
+
231
+ def clone_StructArray(structArray)
232
+ result = clone(structArray)
233
+ result.map { |ele|
234
+ ele.varFloat = SOAPFloat.new(ele.varFloat) if ele.varFloat
235
+ }
236
+ result
237
+ end
238
+
239
+ def clone_StructStruct(structStruct)
240
+ result = clone(structStruct)
241
+ result.varFloat = SOAPFloat.new(structStruct.varFloat) if structStruct.varFloat
242
+ if struct = result.varStruct
243
+ struct.varFloat = SOAPFloat.new(struct.varFloat) if struct.varFloat
244
+ end
245
+ result
246
+ end
247
+ end
@@ -0,0 +1,105 @@
1
+ require 'drb/drb'
2
+ require 'rw-lib'
3
+ require 'interopResultBase'
4
+
5
+ class RWikiInteropService
6
+ def initialize
7
+ @rwiki_uri = 'druby://localhost:7174'
8
+ @rwiki = DRbObject.new(nil, @rwiki_uri)
9
+ end
10
+
11
+ # [ 'addResults', [:in, 'interopResults' ]]
12
+ # [ 'deleteResults', [:in, 'client'], [:in, 'server']]
13
+
14
+ def addResults(interopResults)
15
+ pageName = pageName(interopResults.client, interopResults.server)
16
+
17
+ passResults = interopResults.find_all { | testResult |
18
+ testResult.result
19
+ }
20
+ passStr = passResults.collect { | passResult |
21
+ str = "* #{ passResult.testName } ((<[wiredump]|\"##{passResult.testName}\">))\n"
22
+ if passResult.comment
23
+ str << "\n #{ passResult.comment.gsub(/[\r\n]/, '') }\n"
24
+ end
25
+ str
26
+ }
27
+ passStr = 'Nothing...' if passStr.empty?
28
+
29
+ failResults = interopResults.find_all { | testResult |
30
+ !testResult.result
31
+ }
32
+ failStr = failResults.collect { | failResult |
33
+ str = ":#{ failResult.testName } ((<[wiredump]|\"##{failResult.testName}\">))\n Result:\n"
34
+ resultStr = failResult.comment.gsub(/\r?\n/, "\n ")
35
+ str << " #{ resultStr }\n"
36
+ str
37
+ }
38
+ failStr = 'Nothing!' if failStr.empty?
39
+
40
+ pageStr =<<__EOS__
41
+ = #{ pageName }
42
+
43
+ * Date: #{ interopResults.dateTime }
44
+ * Server
45
+ * Name: #{ interopResults.server.name }
46
+ * Endpoint: #{ interopResults.server.uri }
47
+ * WSDL: #{ interopResults.server.wsdl }
48
+ * Client
49
+ * Name: #{ interopResults.client.name }
50
+ * Endpoint: #{ interopResults.client.uri }
51
+ * WSDL: #{ interopResults.client.wsdl }
52
+
53
+ == Pass
54
+
55
+ #{ passResults.size } / #{ interopResults.size }
56
+
57
+ #{ passStr }
58
+
59
+ == Fail
60
+
61
+ #{ failResults.size } / #{ interopResults.size }
62
+
63
+ #{ failStr }
64
+
65
+ == Wiredumps
66
+
67
+ __EOS__
68
+
69
+ interopResults.each do | testResult |
70
+ pageStr <<<<__EOS__
71
+ === #{ testResult.testName }
72
+
73
+ #{ testResult.wiredump.gsub(/\r/, '^M').gsub(/\t/, '^I').gsub(/\n/, "\n ") }
74
+
75
+ __EOS__
76
+ end
77
+
78
+ set(pageName, pageStr)
79
+
80
+ msg = "; #{ passResults.size } / #{ interopResults.size } (#{ interopResults.dateTime })"
81
+ addLink(pageName, msg)
82
+ end
83
+
84
+ def deleteResults(client, server)
85
+ set(pageName(client, server), '')
86
+ end
87
+
88
+ private
89
+
90
+ def set(pageName, pageSrc)
91
+ page = @rwiki.page(pageName)
92
+ page.src = pageSrc
93
+ end
94
+
95
+ def pageName(client, server)
96
+ "InteropResults::#{ client.name }-#{ server.name }"
97
+ end
98
+
99
+ def addLink(pageName, msg)
100
+ page = @rwiki.page('InteropResults')
101
+ # Race condition... Page source might be mixed with others's.
102
+ page.src = (page.src || '') << "\n* ((<\"#{ pageName }\">))\n #{ msg }"
103
+ end
104
+ end
105
+
@@ -0,0 +1,270 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $:.unshift(".")
4
+
5
+ #$KCODE = "UTF8" # Set $KCODE before loading 'soap/xmlparser'.
6
+ #$KCODE = "EUC"
7
+ $KCODE = "SJIS"
8
+
9
+ require 'soap/rpc/cgistub'
10
+ require 'base'
11
+
12
+ class InteropApp < SOAP::CGIStub
13
+ include SOAP
14
+
15
+ def initialize(*arg)
16
+ super(*arg)
17
+ self.mapping_registry = SOAPBuildersInterop::MappingRegistry
18
+ self.level = Logger::Severity::ERROR
19
+ end
20
+
21
+ def on_init
22
+ (SOAPBuildersInterop::MethodsBase + SOAPBuildersInterop::MethodsGroupB + SOAPBuildersInterop::MethodsPolyMorph).each do |name, *params|
23
+ add_method(self, name, params)
24
+ end
25
+ end
26
+
27
+ # In echoVoid, 'retval' is not defined. So nothing will be returned.
28
+ def echoVoid
29
+ return SOAP::RPC::SOAPVoid.new
30
+ end
31
+
32
+ def echoBoolean(inputBoolean)
33
+ inputBoolean
34
+ end
35
+
36
+ def echoString(inputString)
37
+ clone(inputString)
38
+ end
39
+
40
+ def echoStringArray(inputStringArray)
41
+ clone(inputStringArray)
42
+ end
43
+
44
+ def echoInteger(inputInteger)
45
+ SOAP::SOAPInt.new(clone(inputInteger))
46
+ end
47
+
48
+ def echoIntegerArray(inputIntegerArray)
49
+ clone(inputIntegerArray)
50
+ end
51
+
52
+ # Float is mapped to SOAPDouble by default.
53
+ def echoFloat(inputFloat)
54
+ SOAP::SOAPFloat.new(inputFloat)
55
+ end
56
+
57
+ def echoDecimal(inputDecimal)
58
+ SOAP::SOAPDecimal.new(clone(inputDecimal))
59
+ end
60
+
61
+ def echoFloatArray(inputFloatArray)
62
+ outArray = SOAPBuildersInterop::FloatArray.new
63
+ inputFloatArray.each do |f|
64
+ outArray << SOAPFloat.new(f)
65
+ end
66
+ outArray
67
+ end
68
+
69
+ def echoStruct(inputStruct)
70
+ clone_Struct(inputStruct)
71
+ end
72
+
73
+ def echoStructArray(inputStructArray)
74
+ clone_StructArray(inputStructArray)
75
+ end
76
+
77
+ def echoDate(inputDate)
78
+ clone(inputDate)
79
+ end
80
+
81
+ def echoBase64(inputBase64)
82
+ o = SOAP::SOAPBase64.new(clone(inputBase64))
83
+ o.as_xsd
84
+ o
85
+ end
86
+
87
+ def echoHexBinary(inputHexBinary)
88
+ SOAP::SOAPHexBinary.new(clone(inputHexBinary))
89
+ end
90
+
91
+ def echoDouble(inputDouble)
92
+ SOAP::SOAPDouble.new(inputDouble)
93
+ end
94
+
95
+ # for Round 2 group B
96
+ def echoStructAsSimpleTypes(inputStruct)
97
+ outputString = inputStruct.varString
98
+ outputInteger = inputStruct.varInt
99
+ outputFloat = inputStruct.varFloat ? SOAPFloat.new(inputStruct.varFloat) : nil
100
+ # retVal is not returned to SOAP client because retVal of this method is
101
+ # not defined in method definition.
102
+ # retVal, out, out, out
103
+ return nil, outputString, outputInteger, outputFloat
104
+ end
105
+
106
+ def echoSimpleTypesAsStruct(inputString, inputInt, inputFloat)
107
+ SOAPBuildersInterop::SOAPStruct.new(inputInt, inputFloat, inputString)
108
+ end
109
+
110
+ def echo2DStringArray(ary)
111
+ # In Ruby, M-D Array is converted to Array of Array now.
112
+ mdary = SOAP::Mapping.ary2md(ary, 2, XSD::Namespace, XSD::StringLiteral)
113
+ if mdary.include?(nil)
114
+ mdary.sparse = true
115
+ end
116
+ mdary
117
+ end
118
+
119
+ def echoNestedStruct(inputStruct)
120
+ clone_StructStruct(inputStruct)
121
+ end
122
+
123
+ def echoNestedArray(inputStruct)
124
+ clone_Struct(inputStruct)
125
+ end
126
+
127
+ def echoMap(inputMap)
128
+ clone(inputMap)
129
+ end
130
+
131
+ def echoMapArray(inputMapArray)
132
+ clone(inputMapArray)
133
+ end
134
+
135
+ def echoPolyMorph(anObject)
136
+ clone(anObject)
137
+ end
138
+
139
+ alias echoPolyMorphStruct echoPolyMorph
140
+ alias echoPolyMorphArray echoPolyMorph
141
+
142
+
143
+ def echoXSDBoolean(inputBoolean)
144
+ inputBoolean
145
+ end
146
+
147
+ def echoXSDString(inputString)
148
+ clone(inputString)
149
+ end
150
+
151
+ def echoXSDDecimal(inputDecimal)
152
+ SOAP::SOAPDecimal.new(clone(inputDecimal))
153
+ end
154
+
155
+ def echoXSDFloat(inputFloat)
156
+ SOAPFloat.new(inputFloat)
157
+ end
158
+
159
+ def echoXSDDouble(inputDouble)
160
+ SOAP::SOAPDouble.new(clone(inputDouble))
161
+ end
162
+
163
+ def echoXSDDuration(inputDuration)
164
+ SOAP::SOAPDuration.new(clone(inputDuration))
165
+ end
166
+
167
+ def echoXSDDateTime(inputXSDDateTime)
168
+ clone(inputXSDDateTime)
169
+ end
170
+
171
+ def echoXSDTime(inputXSDTime)
172
+ SOAP::SOAPTime.new(clone(inputXSDTime))
173
+ end
174
+
175
+ def echoXSDDate(inputXSDDate)
176
+ SOAP::SOAPDate.new(clone(inputXSDDate))
177
+ end
178
+
179
+ def echoXSDgYearMonth(inputGYearMonth)
180
+ SOAP::SOAPgYearMonth.new(clone(inputGYearMonth))
181
+ end
182
+
183
+ def echoXSDgYear(inputGYear)
184
+ SOAP::SOAPgYear.new(clone(inputGYear))
185
+ end
186
+
187
+ def echoXSDgMonthDay(inputGMonthDay)
188
+ SOAP::SOAPgMonthDay.new(clone(inputGMonthDay))
189
+ end
190
+
191
+ def echoXSDgDay(inputGDay)
192
+ SOAP::SOAPgDay.new(clone(inputGDay))
193
+ end
194
+
195
+ def echoXSDgMonth(inputGMonth)
196
+ SOAP::SOAPgMonth.new(clone(inputGMonth))
197
+ end
198
+
199
+ def echoXSDHexBinary(inputHexBinary)
200
+ SOAP::SOAPHexBinary.new(clone(inputHexBinary))
201
+ end
202
+
203
+ def echoXSDBase64(inputBase64)
204
+ o = SOAP::SOAPBase64.new(clone(inputBase64))
205
+ o.as_xsd
206
+ o
207
+ end
208
+
209
+ def echoXSDanyURI(inputAnyURI)
210
+ clone(inputAnyURI)
211
+ end
212
+
213
+ def echoXSDQName(inputQName)
214
+ SOAP::SOAPQName.new(clone(inputQName))
215
+ end
216
+
217
+ def echoXSDInteger(inputXSDInteger)
218
+ clone(inputXSDInteger)
219
+ end
220
+
221
+ def echoXSDLong(inputLong)
222
+ SOAP::SOAPLong.new(clone(inputLong))
223
+ end
224
+
225
+ def echoXSDInt(inputInt)
226
+ SOAP::SOAPInt.new(clone(inputInteger))
227
+ end
228
+
229
+ def echoPolyMorph(anObject)
230
+ clone(anObject)
231
+ end
232
+
233
+ alias echoPolyMorphStruct echoPolyMorph
234
+ alias echoPolyMorphArray echoPolyMorph
235
+
236
+ private
237
+
238
+ def clone(obj)
239
+ begin
240
+ return Marshal.load(Marshal.dump(obj))
241
+ rescue TypeError
242
+ return obj
243
+ end
244
+ end
245
+
246
+ def clone_Struct(struct)
247
+ result = clone(struct)
248
+ result.varFloat = SOAPFloat.new(struct.varFloat) if struct.varFloat
249
+ result
250
+ end
251
+
252
+ def clone_StructArray(structArray)
253
+ result = clone(structArray)
254
+ result.map { |ele|
255
+ ele.varFloat = SOAPFloat.new(ele.varFloat) if ele.varFloat
256
+ }
257
+ result
258
+ end
259
+
260
+ def clone_StructStruct(structStruct)
261
+ result = clone(structStruct)
262
+ result.varFloat = SOAPFloat.new(structStruct.varFloat) if structStruct.varFloat
263
+ if struct = result.varStruct
264
+ struct.varFloat = SOAPFloat.new(struct.varFloat) if struct.varFloat
265
+ end
266
+ result
267
+ end
268
+ end
269
+
270
+ InteropApp.new('InteropApp', InterfaceNS).start