soap4r 1.5.5.20061022

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 (440) hide show
  1. data/bin/wsdl2ruby.rb +131 -0
  2. data/bin/xsd2ruby.rb +82 -0
  3. data/lib/soap/XMLSchemaDatatypes.rb +9 -0
  4. data/lib/soap/XMLSchemaDatatypes1999.rb +10 -0
  5. data/lib/soap/attachment.rb +108 -0
  6. data/lib/soap/baseData.rb +992 -0
  7. data/lib/soap/cgistub.rb +9 -0
  8. data/lib/soap/charset.rb +9 -0
  9. data/lib/soap/compat.rb +182 -0
  10. data/lib/soap/driver.rb +9 -0
  11. data/lib/soap/element.rb +266 -0
  12. data/lib/soap/encodingstyle/aspDotNetHandler.rb +207 -0
  13. data/lib/soap/encodingstyle/handler.rb +109 -0
  14. data/lib/soap/encodingstyle/literalHandler.rb +241 -0
  15. data/lib/soap/encodingstyle/soapHandler.rb +598 -0
  16. data/lib/soap/generator.rb +264 -0
  17. data/lib/soap/header/handler.rb +60 -0
  18. data/lib/soap/header/handlerset.rb +70 -0
  19. data/lib/soap/header/simplehandler.rb +44 -0
  20. data/lib/soap/httpconfigloader.rb +119 -0
  21. data/lib/soap/mapping.rb +12 -0
  22. data/lib/soap/mapping/encodedregistry.rb +531 -0
  23. data/lib/soap/mapping/factory.rb +372 -0
  24. data/lib/soap/mapping/literalregistry.rb +321 -0
  25. data/lib/soap/mapping/mapping.rb +561 -0
  26. data/lib/soap/mapping/registry.rb +258 -0
  27. data/lib/soap/mapping/rubytypeFactory.rb +475 -0
  28. data/lib/soap/mapping/typeMap.rb +82 -0
  29. data/lib/soap/mapping/wsdlencodedregistry.rb +253 -0
  30. data/lib/soap/mapping/wsdlliteralregistry.rb +246 -0
  31. data/lib/soap/mappingRegistry.rb +9 -0
  32. data/lib/soap/marshal.rb +59 -0
  33. data/lib/soap/mimemessage.rb +241 -0
  34. data/lib/soap/namespace.rb +9 -0
  35. data/lib/soap/netHttpClient.rb +204 -0
  36. data/lib/soap/parser.rb +251 -0
  37. data/lib/soap/processor.rb +66 -0
  38. data/lib/soap/property.rb +333 -0
  39. data/lib/soap/proxy.rb +14 -0
  40. data/lib/soap/qname.rb +9 -0
  41. data/lib/soap/rpc/cgistub.rb +214 -0
  42. data/lib/soap/rpc/driver.rb +245 -0
  43. data/lib/soap/rpc/element.rb +330 -0
  44. data/lib/soap/rpc/httpserver.rb +143 -0
  45. data/lib/soap/rpc/proxy.rb +563 -0
  46. data/lib/soap/rpc/router.rb +602 -0
  47. data/lib/soap/rpc/rpc.rb +25 -0
  48. data/lib/soap/rpc/soaplet.rb +162 -0
  49. data/lib/soap/rpc/standaloneServer.rb +43 -0
  50. data/lib/soap/rpcRouter.rb +9 -0
  51. data/lib/soap/rpcUtils.rb +9 -0
  52. data/lib/soap/server.rb +9 -0
  53. data/lib/soap/soap.rb +150 -0
  54. data/lib/soap/standaloneServer.rb +9 -0
  55. data/lib/soap/streamHandler.rb +258 -0
  56. data/lib/soap/wsdlDriver.rb +580 -0
  57. data/lib/wsdl/binding.rb +65 -0
  58. data/lib/wsdl/data.rb +64 -0
  59. data/lib/wsdl/definitions.rb +250 -0
  60. data/lib/wsdl/documentation.rb +32 -0
  61. data/lib/wsdl/import.rb +80 -0
  62. data/lib/wsdl/importer.rb +38 -0
  63. data/lib/wsdl/info.rb +39 -0
  64. data/lib/wsdl/message.rb +54 -0
  65. data/lib/wsdl/operation.rb +175 -0
  66. data/lib/wsdl/operationBinding.rb +116 -0
  67. data/lib/wsdl/param.rb +85 -0
  68. data/lib/wsdl/parser.rb +163 -0
  69. data/lib/wsdl/part.rb +52 -0
  70. data/lib/wsdl/port.rb +84 -0
  71. data/lib/wsdl/portType.rb +75 -0
  72. data/lib/wsdl/service.rb +61 -0
  73. data/lib/wsdl/soap/address.rb +40 -0
  74. data/lib/wsdl/soap/binding.rb +49 -0
  75. data/lib/wsdl/soap/body.rb +56 -0
  76. data/lib/wsdl/soap/cgiStubCreator.rb +88 -0
  77. data/lib/wsdl/soap/classDefCreator.rb +340 -0
  78. data/lib/wsdl/soap/classDefCreatorSupport.rb +131 -0
  79. data/lib/wsdl/soap/clientSkeltonCreator.rb +93 -0
  80. data/lib/wsdl/soap/complexType.rb +166 -0
  81. data/lib/wsdl/soap/data.rb +42 -0
  82. data/lib/wsdl/soap/definitions.rb +151 -0
  83. data/lib/wsdl/soap/driverCreator.rb +110 -0
  84. data/lib/wsdl/soap/element.rb +28 -0
  85. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +117 -0
  86. data/lib/wsdl/soap/fault.rb +56 -0
  87. data/lib/wsdl/soap/header.rb +86 -0
  88. data/lib/wsdl/soap/headerfault.rb +56 -0
  89. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +188 -0
  90. data/lib/wsdl/soap/mappingRegistryCreator.rb +53 -0
  91. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +233 -0
  92. data/lib/wsdl/soap/methodDefCreator.rb +253 -0
  93. data/lib/wsdl/soap/operation.rb +122 -0
  94. data/lib/wsdl/soap/servantSkeltonCreator.rb +78 -0
  95. data/lib/wsdl/soap/standaloneServerStubCreator.rb +98 -0
  96. data/lib/wsdl/soap/wsdl2ruby.rb +196 -0
  97. data/lib/wsdl/types.rb +44 -0
  98. data/lib/wsdl/wsdl.rb +23 -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 +56 -0
  102. data/lib/wsdl/xmlSchema/attribute.rb +123 -0
  103. data/lib/wsdl/xmlSchema/choice.rb +55 -0
  104. data/lib/wsdl/xmlSchema/complexContent.rb +88 -0
  105. data/lib/wsdl/xmlSchema/complexExtension.rb +104 -0
  106. data/lib/wsdl/xmlSchema/complexRestriction.rb +92 -0
  107. data/lib/wsdl/xmlSchema/complexType.rb +152 -0
  108. data/lib/wsdl/xmlSchema/content.rb +74 -0
  109. data/lib/wsdl/xmlSchema/data.rb +90 -0
  110. data/lib/wsdl/xmlSchema/element.rb +158 -0
  111. data/lib/wsdl/xmlSchema/enumeration.rb +36 -0
  112. data/lib/wsdl/xmlSchema/import.rb +65 -0
  113. data/lib/wsdl/xmlSchema/importer.rb +87 -0
  114. data/lib/wsdl/xmlSchema/include.rb +54 -0
  115. data/lib/wsdl/xmlSchema/length.rb +35 -0
  116. data/lib/wsdl/xmlSchema/list.rb +48 -0
  117. data/lib/wsdl/xmlSchema/maxlength.rb +35 -0
  118. data/lib/wsdl/xmlSchema/minlength.rb +35 -0
  119. data/lib/wsdl/xmlSchema/parser.rb +166 -0
  120. data/lib/wsdl/xmlSchema/pattern.rb +36 -0
  121. data/lib/wsdl/xmlSchema/schema.rb +144 -0
  122. data/lib/wsdl/xmlSchema/sequence.rb +51 -0
  123. data/lib/wsdl/xmlSchema/simpleContent.rb +69 -0
  124. data/lib/wsdl/xmlSchema/simpleExtension.rb +54 -0
  125. data/lib/wsdl/xmlSchema/simpleRestriction.rb +91 -0
  126. data/lib/wsdl/xmlSchema/simpleType.rb +80 -0
  127. data/lib/wsdl/xmlSchema/unique.rb +34 -0
  128. data/lib/wsdl/xmlSchema/xsd2ruby.rb +107 -0
  129. data/lib/xsd/charset.rb +187 -0
  130. data/lib/xsd/codegen.rb +12 -0
  131. data/lib/xsd/codegen/classdef.rb +203 -0
  132. data/lib/xsd/codegen/commentdef.rb +34 -0
  133. data/lib/xsd/codegen/gensupport.rb +168 -0
  134. data/lib/xsd/codegen/methoddef.rb +70 -0
  135. data/lib/xsd/codegen/moduledef.rb +191 -0
  136. data/lib/xsd/datatypes.rb +1282 -0
  137. data/lib/xsd/datatypes1999.rb +20 -0
  138. data/lib/xsd/iconvcharset.rb +33 -0
  139. data/lib/xsd/mapping.rb +42 -0
  140. data/lib/xsd/namedelements.rb +124 -0
  141. data/lib/xsd/ns.rb +146 -0
  142. data/lib/xsd/qname.rb +78 -0
  143. data/lib/xsd/xmlparser.rb +61 -0
  144. data/lib/xsd/xmlparser/parser.rb +96 -0
  145. data/lib/xsd/xmlparser/rexmlparser.rb +54 -0
  146. data/lib/xsd/xmlparser/xmlparser.rb +50 -0
  147. data/lib/xsd/xmlparser/xmlscanner.rb +147 -0
  148. data/test/16runner.rb +68 -0
  149. data/test/interopR2/README.txt +2 -0
  150. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  151. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  152. data/test/interopR2/base.rb +288 -0
  153. data/test/interopR2/client.NetRemoting.rb +17 -0
  154. data/test/interopR2/client.NetRemoting.rb.result +3410 -0
  155. data/test/interopR2/client.NetRemoting_Base.log +6279 -0
  156. data/test/interopR2/client.NetRemoting_GroupB.log +1188 -0
  157. data/test/interopR2/client.rb +1228 -0
  158. data/test/interopR2/client4S4C.rb +15 -0
  159. data/test/interopR2/client4S4C2.rb +14 -0
  160. data/test/interopR2/client4S4C2_Base.log +4955 -0
  161. data/test/interopR2/client4S4C2_GroupB.log +1000 -0
  162. data/test/interopR2/client4S4C_Base.log +4635 -0
  163. data/test/interopR2/client4S4C_GroupB.log +900 -0
  164. data/test/interopR2/clientASP.NET.rb +17 -0
  165. data/test/interopR2/clientASP.NET_Base.log +5468 -0
  166. data/test/interopR2/clientASP.NET_GroupB.log +977 -0
  167. data/test/interopR2/clientApacheAxis.rb +16 -0
  168. data/test/interopR2/clientApacheAxis_Base.log +3171 -0
  169. data/test/interopR2/clientApacheAxis_GroupB.log +498 -0
  170. data/test/interopR2/clientApacheSOAP.rb +17 -0
  171. data/test/interopR2/clientApacheSOAP_Base.log +3171 -0
  172. data/test/interopR2/clientBEAWebLogic.rb +17 -0
  173. data/test/interopR2/clientBEAWebLogic_Base.log +3171 -0
  174. data/test/interopR2/clientBEAWebLogic_GroupB.log +498 -0
  175. data/test/interopR2/clientBase.rb +1970 -0
  176. data/test/interopR2/clientCapeConnect.rb +18 -0
  177. data/test/interopR2/clientCapeConnect_Base.log +2126 -0
  178. data/test/interopR2/clientDelphi.rb +19 -0
  179. data/test/interopR2/clientDelphi_Base.log +0 -0
  180. data/test/interopR2/clientEasySoap.rb +14 -0
  181. data/test/interopR2/clientEasySoap_Base.log +6187 -0
  182. data/test/interopR2/clientEasySoap_GroupB.log +1076 -0
  183. data/test/interopR2/clientFrontier.rb +25 -0
  184. data/test/interopR2/clientFrontier_Base.log +5188 -0
  185. data/test/interopR2/clientGLUE.rb +32 -0
  186. data/test/interopR2/clientHP.rb +13 -0
  187. data/test/interopR2/clientHP_Base.log +3171 -0
  188. data/test/interopR2/clientHP_GroupB.log +498 -0
  189. data/test/interopR2/clientJAX-RPC.rb +19 -0
  190. data/test/interopR2/clientJSOAP.rb +14 -0
  191. data/test/interopR2/clientJSOAP_Base.log +4465 -0
  192. data/test/interopR2/clientJSOAP_GroupB.log +824 -0
  193. data/test/interopR2/clientKafkaXSLT.rb +15 -0
  194. data/test/interopR2/clientKafkaXSLT_Base.log +10299 -0
  195. data/test/interopR2/clientKafkaXSLT_GroupB.log +1739 -0
  196. data/test/interopR2/clientMSSOAPToolkit2.0.rb +17 -0
  197. data/test/interopR2/clientMSSOAPToolkit2.0_Base.log +4805 -0
  198. data/test/interopR2/clientMSSOAPToolkit2.0_GroupB.log +871 -0
  199. data/test/interopR2/clientMSSOAPToolkit3.0.rb +17 -0
  200. data/test/interopR2/clientMSSOAPToolkit3.0_Base.log +5076 -0
  201. data/test/interopR2/clientMSSOAPToolkit3.0_GroupB.log +908 -0
  202. data/test/interopR2/clientNuSOAP.rb +19 -0
  203. data/test/interopR2/clientNuSOAP_Base.log +5076 -0
  204. data/test/interopR2/clientNuSOAP_GroupB.log +958 -0
  205. data/test/interopR2/clientNuWave.rb +15 -0
  206. data/test/interopR2/clientNuWave_Base.log +2019 -0
  207. data/test/interopR2/clientOpenLink.rb +15 -0
  208. data/test/interopR2/clientOpenLink_Base.log +6171 -0
  209. data/test/interopR2/clientOpenLink_GroupB.log +1094 -0
  210. data/test/interopR2/clientOracle.rb +15 -0
  211. data/test/interopR2/clientOracle_Base.log +5594 -0
  212. data/test/interopR2/clientPEAR.rb +18 -0
  213. data/test/interopR2/clientPEAR_Base.log +6261 -0
  214. data/test/interopR2/clientPEAR_GroupB.log +1106 -0
  215. data/test/interopR2/clientPhalanx.rb +18 -0
  216. data/test/interopR2/clientPhalanx_Base.log +41036 -0
  217. data/test/interopR2/clientPhalanx_GroupB.log +6519 -0
  218. data/test/interopR2/clientSIMACE.rb +18 -0
  219. data/test/interopR2/clientSIMACE_Base.log +6171 -0
  220. data/test/interopR2/clientSIMACE_GroupB.log +1093 -0
  221. data/test/interopR2/clientSOAP4R.rb +18 -0
  222. data/test/interopR2/clientSOAP4R.rb.result +3409 -0
  223. data/test/interopR2/clientSOAP4R_Base.log +6366 -0
  224. data/test/interopR2/clientSOAP4R_GroupB.log +1112 -0
  225. data/test/interopR2/clientSOAP__Lite.rb +14 -0
  226. data/test/interopR2/clientSQLData.rb +18 -0
  227. data/test/interopR2/clientSQLData_Base.log +4857 -0
  228. data/test/interopR2/clientSQLData_GroupB.log +770 -0
  229. data/test/interopR2/clientSilverStream.rb +17 -0
  230. data/test/interopR2/clientSilverStream_Base.log +3171 -0
  231. data/test/interopR2/clientSpray2001.rb +17 -0
  232. data/test/interopR2/clientSpray2001_Base.log +8187 -0
  233. data/test/interopR2/clientSpray2001_GroupB.log +1408 -0
  234. data/test/interopR2/clientSun.rb +19 -0
  235. data/test/interopR2/clientSun_Base.log +4641 -0
  236. data/test/interopR2/clientSun_GroupB.log +856 -0
  237. data/test/interopR2/clientVWOpentalkSoap.rb +19 -0
  238. data/test/interopR2/clientVWOpentalkSoap_Base.log +5402 -0
  239. data/test/interopR2/clientVWOpentalkSoap_GroupB.log +972 -0
  240. data/test/interopR2/clientWASP.rb +19 -0
  241. data/test/interopR2/clientWASPC.rb +18 -0
  242. data/test/interopR2/clientWASPC_Base.log +4187 -0
  243. data/test/interopR2/clientWASPC_GroupB.log +763 -0
  244. data/test/interopR2/clientWASP_Base.log +5414 -0
  245. data/test/interopR2/clientWASP_GroupB.log +970 -0
  246. data/test/interopR2/clientWebMethods.rb +15 -0
  247. data/test/interopR2/clientWebMethods_Base.log +3075 -0
  248. data/test/interopR2/clientWebMethods_GroupB.log +483 -0
  249. data/test/interopR2/clientWhiteMesa.rb +28 -0
  250. data/test/interopR2/clientWhiteMesa_Base.log +4359 -0
  251. data/test/interopR2/clientWhiteMesa_GroupB.log +808 -0
  252. data/test/interopR2/clientWingfoot.rb +15 -0
  253. data/test/interopR2/clientWingfoot_Base.log +4445 -0
  254. data/test/interopR2/clientWingfoot_GroupB.log +848 -0
  255. data/test/interopR2/clientXMLBus.rb +19 -0
  256. data/test/interopR2/clientXMLBus_Base.log +3075 -0
  257. data/test/interopR2/clientXMLBus_GroupB.log +483 -0
  258. data/test/interopR2/clientXMLRPC-EPI.rb +17 -0
  259. data/test/interopR2/clientXSOAP.rb +14 -0
  260. data/test/interopR2/clientXSOAP_Base.log +4445 -0
  261. data/test/interopR2/clientZSI.rb +19 -0
  262. data/test/interopR2/clienteSOAP.rb +18 -0
  263. data/test/interopR2/clienteSOAP_Base.log +8728 -0
  264. data/test/interopR2/clientgSOAP.rb +18 -0
  265. data/test/interopR2/clientgSOAP_Base.log +4689 -0
  266. data/test/interopR2/clientgSOAP_GroupB.log +1014 -0
  267. data/test/interopR2/clientkSOAP.rb +17 -0
  268. data/test/interopR2/clientkSOAP_Base.log +5625 -0
  269. data/test/interopR2/iSimonReg.rb +112 -0
  270. data/test/interopR2/interopResultBase.rb +114 -0
  271. data/test/interopR2/interopService.rb +247 -0
  272. data/test/interopR2/result_client.NetRemoting.txt +4593 -0
  273. data/test/interopR2/rwikiInteropService.rb +105 -0
  274. data/test/interopR2/server.cgi +270 -0
  275. data/test/interopR2/server.rb +274 -0
  276. data/test/interopR2/simonReg.rb +123 -0
  277. data/test/interopR2/test.sh +49 -0
  278. data/test/interopR4/client.rb +112 -0
  279. data/test/runner.rb +9 -0
  280. data/test/sm11/classDef.rb +156 -0
  281. data/test/sm11/client.rb +542 -0
  282. data/test/sm11/driver.rb +183 -0
  283. data/test/sm11/servant.rb +1067 -0
  284. data/test/sm11/server.rb +25 -0
  285. data/test/soap/asp.net/hello.wsdl +96 -0
  286. data/test/soap/asp.net/test_aspdotnet.rb +112 -0
  287. data/test/soap/calc/calc.rb +17 -0
  288. data/test/soap/calc/calc2.rb +29 -0
  289. data/test/soap/calc/server.cgi +13 -0
  290. data/test/soap/calc/server.rb +17 -0
  291. data/test/soap/calc/server2.rb +20 -0
  292. data/test/soap/calc/test_calc.rb +49 -0
  293. data/test/soap/calc/test_calc2.rb +53 -0
  294. data/test/soap/calc/test_calc_cgi.rb +69 -0
  295. data/test/soap/fault/test_customfault.rb +58 -0
  296. data/test/soap/header/server.cgi +119 -0
  297. data/test/soap/header/test_authheader.rb +240 -0
  298. data/test/soap/header/test_authheader_cgi.rb +121 -0
  299. data/test/soap/header/test_simplehandler.rb +116 -0
  300. data/test/soap/helloworld/hw_s.rb +16 -0
  301. data/test/soap/helloworld/test_helloworld.rb +41 -0
  302. data/test/soap/literalArrayMapping/amazonEc.rb +4778 -0
  303. data/test/soap/literalArrayMapping/amazonEcDriver.rb +172 -0
  304. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  305. data/test/soap/literalArrayMapping/test_definedarray.rb +36 -0
  306. data/test/soap/marshal/marshaltestlib.rb +494 -0
  307. data/test/soap/marshal/test_digraph.rb +56 -0
  308. data/test/soap/marshal/test_marshal.rb +26 -0
  309. data/test/soap/marshal/test_struct.rb +47 -0
  310. data/test/soap/ssl/README +1 -0
  311. data/test/soap/ssl/ca.cert +23 -0
  312. data/test/soap/ssl/client.cert +19 -0
  313. data/test/soap/ssl/client.key +15 -0
  314. data/test/soap/ssl/server.cert +19 -0
  315. data/test/soap/ssl/server.key +15 -0
  316. data/test/soap/ssl/sslsvr.rb +57 -0
  317. data/test/soap/ssl/subca.cert +21 -0
  318. data/test/soap/ssl/test_ssl.rb +245 -0
  319. data/test/soap/struct/test_struct.rb +77 -0
  320. data/test/soap/styleuse/client.rb +20 -0
  321. data/test/soap/styleuse/server.rb +86 -0
  322. data/test/soap/swa/test_file.rb +73 -0
  323. data/test/soap/test_basetype.rb +976 -0
  324. data/test/soap/test_custommap.rb +108 -0
  325. data/test/soap/test_empty.rb +79 -0
  326. data/test/soap/test_envelopenamespace.rb +92 -0
  327. data/test/soap/test_httpconfigloader.rb +39 -0
  328. data/test/soap/test_mapping.rb +59 -0
  329. data/test/soap/test_no_indent.rb +86 -0
  330. data/test/soap/test_property.rb +424 -0
  331. data/test/soap/test_response_as_xml.rb +95 -0
  332. data/test/soap/test_soapelement.rb +120 -0
  333. data/test/soap/test_streamhandler.rb +262 -0
  334. data/test/soap/test_styleuse.rb +333 -0
  335. data/test/soap/wsdlDriver/README.txt +2 -0
  336. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  337. data/test/soap/wsdlDriver/document.wsdl +54 -0
  338. data/test/soap/wsdlDriver/echo_version.rb +29 -0
  339. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  340. data/test/soap/wsdlDriver/test_calc.rb +100 -0
  341. data/test/soap/wsdlDriver/test_document.rb +78 -0
  342. data/test/soap/wsdlDriver/test_simpletype.rb +87 -0
  343. data/test/wsdl/abstract/abstract.wsdl +97 -0
  344. data/test/wsdl/abstract/test_abstract.rb +130 -0
  345. data/test/wsdl/any/any.wsdl +51 -0
  346. data/test/wsdl/any/expectedDriver.rb +46 -0
  347. data/test/wsdl/any/expectedEcho.rb +18 -0
  348. data/test/wsdl/any/expectedService.rb +42 -0
  349. data/test/wsdl/any/test_any.rb +193 -0
  350. data/test/wsdl/axisArray/axisArray.wsdl +60 -0
  351. data/test/wsdl/axisArray/itemList.rb +14 -0
  352. data/test/wsdl/axisArray/test_axisarray.rb +69 -0
  353. data/test/wsdl/choice/choice.wsdl +91 -0
  354. data/test/wsdl/choice/test_choice.rb +134 -0
  355. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  356. data/test/wsdl/complexcontent/test_echo.rb +101 -0
  357. data/test/wsdl/datetime/DatetimeService.rb +44 -0
  358. data/test/wsdl/datetime/datetime.rb +0 -0
  359. data/test/wsdl/datetime/datetime.wsdl +45 -0
  360. data/test/wsdl/datetime/datetimeServant.rb +21 -0
  361. data/test/wsdl/datetime/test_datetime.rb +82 -0
  362. data/test/wsdl/document/array/double.wsdl +72 -0
  363. data/test/wsdl/document/array/test_array.rb +117 -0
  364. data/test/wsdl/document/document.wsdl +74 -0
  365. data/test/wsdl/document/number.wsdl +54 -0
  366. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  367. data/test/wsdl/document/test_nosoapaction.rb +109 -0
  368. data/test/wsdl/document/test_number.rb +99 -0
  369. data/test/wsdl/document/test_rpc.rb +211 -0
  370. data/test/wsdl/emptycomplextype.wsdl +31 -0
  371. data/test/wsdl/list/list.wsdl +93 -0
  372. data/test/wsdl/list/test_list.rb +134 -0
  373. data/test/wsdl/map/map.wsdl +92 -0
  374. data/test/wsdl/map/map.xml +43 -0
  375. data/test/wsdl/map/test_map.rb +99 -0
  376. data/test/wsdl/marshal/person.wsdl +21 -0
  377. data/test/wsdl/marshal/person_org.rb +18 -0
  378. data/test/wsdl/marshal/test_wsdlmarshal.rb +79 -0
  379. data/test/wsdl/multiplefault.wsdl +68 -0
  380. data/test/wsdl/overload/overload.wsdl +80 -0
  381. data/test/wsdl/overload/test_overload.rb +118 -0
  382. data/test/wsdl/qualified/lp.wsdl +47 -0
  383. data/test/wsdl/qualified/lp.xsd +26 -0
  384. data/test/wsdl/qualified/np.wsdl +51 -0
  385. data/test/wsdl/qualified/test_qualified.rb +145 -0
  386. data/test/wsdl/qualified/test_unqualified.rb +159 -0
  387. data/test/wsdl/raa/RAA.rb +120 -0
  388. data/test/wsdl/raa/RAAServant.rb +107 -0
  389. data/test/wsdl/raa/RAAService.rb +120 -0
  390. data/test/wsdl/raa/README.txt +8 -0
  391. data/test/wsdl/raa/raa.wsdl +264 -0
  392. data/test/wsdl/raa/server.rb +103 -0
  393. data/test/wsdl/raa/test_raa.rb +91 -0
  394. data/test/wsdl/ref/expectedProduct.rb +158 -0
  395. data/test/wsdl/ref/product.wsdl +147 -0
  396. data/test/wsdl/ref/test_ref.rb +289 -0
  397. data/test/wsdl/rpc/rpc.wsdl +83 -0
  398. data/test/wsdl/rpc/test-rpc-lit.wsdl +364 -0
  399. data/test/wsdl/rpc/test_rpc.rb +173 -0
  400. data/test/wsdl/rpc/test_rpc_lit.rb +407 -0
  401. data/test/wsdl/simplecontent/simplecontent.wsdl +83 -0
  402. data/test/wsdl/simplecontent/test_simplecontent.rb +116 -0
  403. data/test/wsdl/simpletype/rpc/expectedClient.rb +34 -0
  404. data/test/wsdl/simpletype/rpc/expectedDriver.rb +55 -0
  405. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +19 -0
  406. data/test/wsdl/simpletype/rpc/expectedServant.rb +32 -0
  407. data/test/wsdl/simpletype/rpc/expectedService.rb +51 -0
  408. data/test/wsdl/simpletype/rpc/rpc.wsdl +80 -0
  409. data/test/wsdl/simpletype/rpc/test_rpc.rb +62 -0
  410. data/test/wsdl/simpletype/simpletype.wsdl +95 -0
  411. data/test/wsdl/simpletype/test_simpletype.rb +99 -0
  412. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  413. data/test/wsdl/soap/test_soapbodyparts.rb +79 -0
  414. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +19 -0
  415. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +34 -0
  416. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +55 -0
  417. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +32 -0
  418. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +44 -0
  419. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +51 -0
  420. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  421. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +31 -0
  422. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  423. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +54 -0
  424. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  425. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +96 -0
  426. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +79 -0
  427. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  428. data/test/wsdl/soaptype/test_soaptype.rb +160 -0
  429. data/test/wsdl/test_emptycomplextype.rb +21 -0
  430. data/test/wsdl/test_fault.rb +50 -0
  431. data/test/wsdl/test_multiplefault.rb +39 -0
  432. data/test/xsd/codegen/test_classdef.rb +214 -0
  433. data/test/xsd/noencoding.xml +4 -0
  434. data/test/xsd/test_noencoding.rb +32 -0
  435. data/test/xsd/test_ns.rb +20 -0
  436. data/test/xsd/test_xmlschemaparser.rb +22 -0
  437. data/test/xsd/test_xsd.rb +1523 -0
  438. data/test/xsd/xmllang.xml +43 -0
  439. data/test/xsd/xmlschema.xml +12 -0
  440. metadata +539 -0
@@ -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
@@ -0,0 +1,274 @@
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/standaloneServer'
10
+ require 'base'
11
+
12
+ class InteropApp < SOAP::RPC::StandaloneServer
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
+ if __FILE__ == $0
271
+ svr = InteropApp.new('InteropApp', InterfaceNS, '0.0.0.0', 10080)
272
+ trap("INT") { svr.shutdown }
273
+ svr.start
274
+ end