tomdz-soap4r 1.5.8.20111103171510

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. data/bin/wsdl2ruby.rb +139 -0
  2. data/bin/xsd2ruby.rb +91 -0
  3. data/lib/soap/attachment.rb +109 -0
  4. data/lib/soap/attrproxy.rb +35 -0
  5. data/lib/soap/baseData.rb +1095 -0
  6. data/lib/soap/element.rb +278 -0
  7. data/lib/soap/encodingstyle/aspDotNetHandler.rb +208 -0
  8. data/lib/soap/encodingstyle/handler.rb +121 -0
  9. data/lib/soap/encodingstyle/literalHandler.rb +196 -0
  10. data/lib/soap/encodingstyle/soapHandler.rb +560 -0
  11. data/lib/soap/filter.rb +14 -0
  12. data/lib/soap/filter/filterchain.rb +52 -0
  13. data/lib/soap/filter/handler.rb +32 -0
  14. data/lib/soap/filter/streamhandler.rb +30 -0
  15. data/lib/soap/generator.rb +299 -0
  16. data/lib/soap/header/handler.rb +62 -0
  17. data/lib/soap/header/handlerset.rb +71 -0
  18. data/lib/soap/header/mappinghandler.rb +48 -0
  19. data/lib/soap/header/simplehandler.rb +45 -0
  20. data/lib/soap/httpconfigloader.rb +140 -0
  21. data/lib/soap/mapping.rb +13 -0
  22. data/lib/soap/mapping/encodedregistry.rb +539 -0
  23. data/lib/soap/mapping/factory.rb +389 -0
  24. data/lib/soap/mapping/literalregistry.rb +392 -0
  25. data/lib/soap/mapping/mapping.rb +577 -0
  26. data/lib/soap/mapping/registry.rb +296 -0
  27. data/lib/soap/mapping/rubytypeFactory.rb +446 -0
  28. data/lib/soap/mapping/schemadefinition.rb +171 -0
  29. data/lib/soap/mapping/typeMap.rb +107 -0
  30. data/lib/soap/mapping/wsdlencodedregistry.rb +212 -0
  31. data/lib/soap/mapping/wsdlliteralregistry.rb +249 -0
  32. data/lib/soap/marshal.rb +60 -0
  33. data/lib/soap/mimemessage.rb +243 -0
  34. data/lib/soap/nestedexception.rb +43 -0
  35. data/lib/soap/netHttpClient.rb +242 -0
  36. data/lib/soap/ns.rb +39 -0
  37. data/lib/soap/parser.rb +253 -0
  38. data/lib/soap/processor.rb +67 -0
  39. data/lib/soap/property.rb +340 -0
  40. data/lib/soap/proxy.rb +15 -0
  41. data/lib/soap/rpc/cgistub.rb +248 -0
  42. data/lib/soap/rpc/driver.rb +222 -0
  43. data/lib/soap/rpc/element.rb +375 -0
  44. data/lib/soap/rpc/httpserver.rb +143 -0
  45. data/lib/soap/rpc/methodDef.rb +69 -0
  46. data/lib/soap/rpc/proxy.rb +573 -0
  47. data/lib/soap/rpc/router.rb +663 -0
  48. data/lib/soap/rpc/rpc.rb +26 -0
  49. data/lib/soap/rpc/soaplet.rb +201 -0
  50. data/lib/soap/rpc/standaloneServer.rb +44 -0
  51. data/lib/soap/soap.rb +154 -0
  52. data/lib/soap/streamHandler.rb +302 -0
  53. data/lib/soap/version.rb +9 -0
  54. data/lib/soap/wsdlDriver.rb +165 -0
  55. data/lib/wsdl/binding.rb +66 -0
  56. data/lib/wsdl/data.rb +65 -0
  57. data/lib/wsdl/definitions.rb +237 -0
  58. data/lib/wsdl/documentation.rb +33 -0
  59. data/lib/wsdl/import.rb +81 -0
  60. data/lib/wsdl/importer.rb +39 -0
  61. data/lib/wsdl/info.rb +51 -0
  62. data/lib/wsdl/message.rb +55 -0
  63. data/lib/wsdl/operation.rb +152 -0
  64. data/lib/wsdl/operationBinding.rb +241 -0
  65. data/lib/wsdl/param.rb +94 -0
  66. data/lib/wsdl/parser.rb +165 -0
  67. data/lib/wsdl/part.rb +53 -0
  68. data/lib/wsdl/port.rb +67 -0
  69. data/lib/wsdl/portType.rb +76 -0
  70. data/lib/wsdl/service.rb +62 -0
  71. data/lib/wsdl/soap/address.rb +41 -0
  72. data/lib/wsdl/soap/binding.rb +50 -0
  73. data/lib/wsdl/soap/body.rb +59 -0
  74. data/lib/wsdl/soap/cgiStubCreator.rb +93 -0
  75. data/lib/wsdl/soap/classDefCreator.rb +434 -0
  76. data/lib/wsdl/soap/classDefCreatorSupport.rb +241 -0
  77. data/lib/wsdl/soap/classNameCreator.rb +55 -0
  78. data/lib/wsdl/soap/clientSkeltonCreator.rb +107 -0
  79. data/lib/wsdl/soap/complexType.rb +174 -0
  80. data/lib/wsdl/soap/data.rb +43 -0
  81. data/lib/wsdl/soap/definitions.rb +201 -0
  82. data/lib/wsdl/soap/driverCreator.rb +121 -0
  83. data/lib/wsdl/soap/element.rb +34 -0
  84. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +74 -0
  85. data/lib/wsdl/soap/fault.rb +57 -0
  86. data/lib/wsdl/soap/header.rb +87 -0
  87. data/lib/wsdl/soap/headerfault.rb +57 -0
  88. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +116 -0
  89. data/lib/wsdl/soap/mappingRegistryCreator.rb +59 -0
  90. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +377 -0
  91. data/lib/wsdl/soap/methodDefCreator.rb +200 -0
  92. data/lib/wsdl/soap/operation.rb +113 -0
  93. data/lib/wsdl/soap/servantSkeltonCreator.rb +92 -0
  94. data/lib/wsdl/soap/servletStubCreator.rb +105 -0
  95. data/lib/wsdl/soap/standaloneServerStubCreator.rb +101 -0
  96. data/lib/wsdl/soap/wsdl2ruby.rb +226 -0
  97. data/lib/wsdl/types.rb +45 -0
  98. data/lib/wsdl/wsdl.rb +25 -0
  99. data/lib/wsdl/xmlSchema/all.rb +25 -0
  100. data/lib/wsdl/xmlSchema/annotation.rb +35 -0
  101. data/lib/wsdl/xmlSchema/any.rb +62 -0
  102. data/lib/wsdl/xmlSchema/anyAttribute.rb +49 -0
  103. data/lib/wsdl/xmlSchema/attribute.rb +105 -0
  104. data/lib/wsdl/xmlSchema/attributeGroup.rb +69 -0
  105. data/lib/wsdl/xmlSchema/choice.rb +59 -0
  106. data/lib/wsdl/xmlSchema/complexContent.rb +98 -0
  107. data/lib/wsdl/xmlSchema/complexExtension.rb +120 -0
  108. data/lib/wsdl/xmlSchema/complexRestriction.rb +105 -0
  109. data/lib/wsdl/xmlSchema/complexType.rb +194 -0
  110. data/lib/wsdl/xmlSchema/content.rb +96 -0
  111. data/lib/wsdl/xmlSchema/data.rb +117 -0
  112. data/lib/wsdl/xmlSchema/element.rb +154 -0
  113. data/lib/wsdl/xmlSchema/enumeration.rb +37 -0
  114. data/lib/wsdl/xmlSchema/fractiondigits.rb +38 -0
  115. data/lib/wsdl/xmlSchema/group.rb +101 -0
  116. data/lib/wsdl/xmlSchema/import.rb +54 -0
  117. data/lib/wsdl/xmlSchema/importHandler.rb +46 -0
  118. data/lib/wsdl/xmlSchema/importer.rb +103 -0
  119. data/lib/wsdl/xmlSchema/include.rb +49 -0
  120. data/lib/wsdl/xmlSchema/length.rb +38 -0
  121. data/lib/wsdl/xmlSchema/list.rb +49 -0
  122. data/lib/wsdl/xmlSchema/maxexclusive.rb +38 -0
  123. data/lib/wsdl/xmlSchema/maxinclusive.rb +38 -0
  124. data/lib/wsdl/xmlSchema/maxlength.rb +38 -0
  125. data/lib/wsdl/xmlSchema/minexclusive.rb +38 -0
  126. data/lib/wsdl/xmlSchema/mininclusive.rb +38 -0
  127. data/lib/wsdl/xmlSchema/minlength.rb +38 -0
  128. data/lib/wsdl/xmlSchema/parser.rb +168 -0
  129. data/lib/wsdl/xmlSchema/pattern.rb +37 -0
  130. data/lib/wsdl/xmlSchema/ref.rb +34 -0
  131. data/lib/wsdl/xmlSchema/schema.rb +179 -0
  132. data/lib/wsdl/xmlSchema/sequence.rb +55 -0
  133. data/lib/wsdl/xmlSchema/simpleContent.rb +70 -0
  134. data/lib/wsdl/xmlSchema/simpleExtension.rb +63 -0
  135. data/lib/wsdl/xmlSchema/simpleRestriction.rb +133 -0
  136. data/lib/wsdl/xmlSchema/simpleType.rb +88 -0
  137. data/lib/wsdl/xmlSchema/totaldigits.rb +38 -0
  138. data/lib/wsdl/xmlSchema/union.rb +36 -0
  139. data/lib/wsdl/xmlSchema/unique.rb +35 -0
  140. data/lib/wsdl/xmlSchema/whitespace.rb +38 -0
  141. data/lib/wsdl/xmlSchema/xsd2ruby.rb +176 -0
  142. data/lib/xsd/charset.rb +190 -0
  143. data/lib/xsd/codegen.rb +13 -0
  144. data/lib/xsd/codegen/classdef.rb +209 -0
  145. data/lib/xsd/codegen/commentdef.rb +35 -0
  146. data/lib/xsd/codegen/gensupport.rb +277 -0
  147. data/lib/xsd/codegen/methoddef.rb +71 -0
  148. data/lib/xsd/codegen/moduledef.rb +209 -0
  149. data/lib/xsd/datatypes.rb +1466 -0
  150. data/lib/xsd/datatypes1999.rb +21 -0
  151. data/lib/xsd/iconvcharset.rb +34 -0
  152. data/lib/xsd/mapping.rb +69 -0
  153. data/lib/xsd/namedelements.rb +133 -0
  154. data/lib/xsd/ns.rb +183 -0
  155. data/lib/xsd/qname.rb +80 -0
  156. data/lib/xsd/xmlparser.rb +77 -0
  157. data/lib/xsd/xmlparser/libxmlparser.rb +116 -0
  158. data/lib/xsd/xmlparser/parser.rb +101 -0
  159. data/lib/xsd/xmlparser/rexmlparser.rb +59 -0
  160. data/lib/xsd/xmlparser/xmlparser.rb +51 -0
  161. data/lib/xsd/xmlparser/xmlscanner.rb +150 -0
  162. data/test/16runner.rb +69 -0
  163. data/test/helper.rb +7 -0
  164. data/test/interopR2/README.txt +2 -0
  165. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  166. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  167. data/test/interopR2/base.rb +289 -0
  168. data/test/interopR2/client.NetRemoting.rb +18 -0
  169. data/test/interopR2/client.rb +1235 -0
  170. data/test/interopR2/client4S4C.rb +16 -0
  171. data/test/interopR2/client4S4C2.rb +15 -0
  172. data/test/interopR2/clientASP.NET.rb +18 -0
  173. data/test/interopR2/clientApacheAxis.rb +17 -0
  174. data/test/interopR2/clientApacheSOAP.rb +18 -0
  175. data/test/interopR2/clientBEAWebLogic.rb +18 -0
  176. data/test/interopR2/clientBase.rb +1968 -0
  177. data/test/interopR2/clientCapeConnect.rb +19 -0
  178. data/test/interopR2/clientDelphi.rb +20 -0
  179. data/test/interopR2/clientEasySoap.rb +15 -0
  180. data/test/interopR2/clientFrontier.rb +26 -0
  181. data/test/interopR2/clientGLUE.rb +33 -0
  182. data/test/interopR2/clientHP.rb +14 -0
  183. data/test/interopR2/clientJAX-RPC.rb +20 -0
  184. data/test/interopR2/clientJSOAP.rb +15 -0
  185. data/test/interopR2/clientKafkaXSLT.rb +16 -0
  186. data/test/interopR2/clientMSSOAPToolkit2.0.rb +18 -0
  187. data/test/interopR2/clientMSSOAPToolkit3.0.rb +18 -0
  188. data/test/interopR2/clientNuSOAP.rb +20 -0
  189. data/test/interopR2/clientNuWave.rb +16 -0
  190. data/test/interopR2/clientOpenLink.rb +16 -0
  191. data/test/interopR2/clientOracle.rb +16 -0
  192. data/test/interopR2/clientPEAR.rb +19 -0
  193. data/test/interopR2/clientPhalanx.rb +19 -0
  194. data/test/interopR2/clientSIMACE.rb +19 -0
  195. data/test/interopR2/clientSOAP4R.rb +19 -0
  196. data/test/interopR2/clientSOAP__Lite.rb +15 -0
  197. data/test/interopR2/clientSQLData.rb +19 -0
  198. data/test/interopR2/clientSilverStream.rb +18 -0
  199. data/test/interopR2/clientSpray2001.rb +18 -0
  200. data/test/interopR2/clientSun.rb +20 -0
  201. data/test/interopR2/clientVWOpentalkSoap.rb +20 -0
  202. data/test/interopR2/clientWASP.rb +20 -0
  203. data/test/interopR2/clientWASPC.rb +19 -0
  204. data/test/interopR2/clientWebMethods.rb +16 -0
  205. data/test/interopR2/clientWhiteMesa.rb +29 -0
  206. data/test/interopR2/clientWingfoot.rb +16 -0
  207. data/test/interopR2/clientXMLBus.rb +20 -0
  208. data/test/interopR2/clientXMLRPC-EPI.rb +18 -0
  209. data/test/interopR2/clientXSOAP.rb +15 -0
  210. data/test/interopR2/clientZSI.rb +20 -0
  211. data/test/interopR2/clienteSOAP.rb +19 -0
  212. data/test/interopR2/clientgSOAP.rb +19 -0
  213. data/test/interopR2/clientkSOAP.rb +18 -0
  214. data/test/interopR2/iSimonReg.rb +113 -0
  215. data/test/interopR2/interopResultBase.rb +115 -0
  216. data/test/interopR2/interopService.rb +248 -0
  217. data/test/interopR2/rwikiInteropService.rb +106 -0
  218. data/test/interopR2/server.cgi +271 -0
  219. data/test/interopR2/server.rb +276 -0
  220. data/test/interopR2/simonReg.rb +124 -0
  221. data/test/interopR2/test.sh +49 -0
  222. data/test/interopR4/client.rb +113 -0
  223. data/test/runner.rb +8 -0
  224. data/test/sm11/classDef.rb +157 -0
  225. data/test/sm11/client.rb +543 -0
  226. data/test/sm11/driver.rb +184 -0
  227. data/test/sm11/servant.rb +1068 -0
  228. data/test/sm11/server.rb +26 -0
  229. data/test/soap/asp.net/hello.wsdl +96 -0
  230. data/test/soap/asp.net/test_aspdotnet.rb +124 -0
  231. data/test/soap/auth/htdigest +2 -0
  232. data/test/soap/auth/htpasswd +2 -0
  233. data/test/soap/auth/test_basic.rb +118 -0
  234. data/test/soap/auth/test_digest.rb +119 -0
  235. data/test/soap/calc/calc.rb +18 -0
  236. data/test/soap/calc/calc2.rb +30 -0
  237. data/test/soap/calc/server.cgi +16 -0
  238. data/test/soap/calc/server.rb +18 -0
  239. data/test/soap/calc/server2.rb +21 -0
  240. data/test/soap/calc/test_calc.rb +53 -0
  241. data/test/soap/calc/test_calc2.rb +57 -0
  242. data/test/soap/calc/test_calc_cgi.rb +72 -0
  243. data/test/soap/case/test_mapping.rb +58 -0
  244. data/test/soap/fault/test_customfault.rb +61 -0
  245. data/test/soap/fault/test_fault.rb +47 -0
  246. data/test/soap/fault/test_soaparray.rb +36 -0
  247. data/test/soap/filter/test_filter.rb +147 -0
  248. data/test/soap/header/server.cgi +121 -0
  249. data/test/soap/header/test_authheader.rb +241 -0
  250. data/test/soap/header/test_authheader_cgi.rb +122 -0
  251. data/test/soap/header/test_simplehandler.rb +117 -0
  252. data/test/soap/helloworld/hw_s.rb +17 -0
  253. data/test/soap/helloworld/test_helloworld.rb +45 -0
  254. data/test/soap/htpasswd +2 -0
  255. data/test/soap/literalArrayMapping/amazonEc.rb +4779 -0
  256. data/test/soap/literalArrayMapping/amazonEcDriver.rb +173 -0
  257. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  258. data/test/soap/literalArrayMapping/test_definedarray.rb +35 -0
  259. data/test/soap/marshal/marshaltestlib.rb +498 -0
  260. data/test/soap/marshal/test_digraph.rb +57 -0
  261. data/test/soap/marshal/test_marshal.rb +28 -0
  262. data/test/soap/marshal/test_struct.rb +48 -0
  263. data/test/soap/ssl/README +1 -0
  264. data/test/soap/ssl/ca.cert +23 -0
  265. data/test/soap/ssl/client.cert +19 -0
  266. data/test/soap/ssl/client.key +15 -0
  267. data/test/soap/ssl/server.cert +19 -0
  268. data/test/soap/ssl/server.key +15 -0
  269. data/test/soap/ssl/sslsvr.rb +59 -0
  270. data/test/soap/ssl/subca.cert +21 -0
  271. data/test/soap/ssl/test_ssl.rb +236 -0
  272. data/test/soap/struct/test_struct.rb +71 -0
  273. data/test/soap/styleuse/client.rb +21 -0
  274. data/test/soap/styleuse/server.rb +87 -0
  275. data/test/soap/swa/test_file.rb +76 -0
  276. data/test/soap/test_basetype.rb +1091 -0
  277. data/test/soap/test_cookie.rb +113 -0
  278. data/test/soap/test_custom_ns.rb +106 -0
  279. data/test/soap/test_custommap.rb +111 -0
  280. data/test/soap/test_empty.rb +106 -0
  281. data/test/soap/test_envelopenamespace.rb +86 -0
  282. data/test/soap/test_extraattr.rb +55 -0
  283. data/test/soap/test_generator.rb +32 -0
  284. data/test/soap/test_httpconfigloader.rb +72 -0
  285. data/test/soap/test_mapping.rb +132 -0
  286. data/test/soap/test_nestedexception.rb +71 -0
  287. data/test/soap/test_nil.rb +71 -0
  288. data/test/soap/test_no_indent.rb +89 -0
  289. data/test/soap/test_property.rb +429 -0
  290. data/test/soap/test_response_as_xml.rb +118 -0
  291. data/test/soap/test_soapelement.rb +139 -0
  292. data/test/soap/test_streamhandler.rb +271 -0
  293. data/test/soap/test_styleuse.rb +327 -0
  294. data/test/soap/wsdlDriver/README.txt +2 -0
  295. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  296. data/test/soap/wsdlDriver/document.wsdl +54 -0
  297. data/test/soap/wsdlDriver/echo_version.rb +30 -0
  298. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  299. data/test/soap/wsdlDriver/test_calc.rb +72 -0
  300. data/test/soap/wsdlDriver/test_document.rb +72 -0
  301. data/test/soap/wsdlDriver/test_simpletype.rb +82 -0
  302. data/test/testutil.rb +55 -0
  303. data/test/wsdl/abstract/abstract.wsdl +176 -0
  304. data/test/wsdl/abstract/test_abstract.rb +160 -0
  305. data/test/wsdl/anonymous/expectedClassDef.rb +129 -0
  306. data/test/wsdl/anonymous/expectedDriver.rb +60 -0
  307. data/test/wsdl/anonymous/expectedMappingRegistry.rb +177 -0
  308. data/test/wsdl/anonymous/lp.wsdl +147 -0
  309. data/test/wsdl/anonymous/test_anonymous.rb +131 -0
  310. data/test/wsdl/any/any.wsdl +114 -0
  311. data/test/wsdl/any/expectedDriver.rb +69 -0
  312. data/test/wsdl/any/expectedEcho.rb +58 -0
  313. data/test/wsdl/any/expectedMappingRegistry.rb +64 -0
  314. data/test/wsdl/any/expectedService.rb +70 -0
  315. data/test/wsdl/any/test_any.rb +194 -0
  316. data/test/wsdl/axisArray/axisArray.wsdl +87 -0
  317. data/test/wsdl/axisArray/test_axisarray.rb +125 -0
  318. data/test/wsdl/choice/choice.wsdl +167 -0
  319. data/test/wsdl/choice/test_choice.rb +311 -0
  320. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  321. data/test/wsdl/complexcontent/test_echo.rb +91 -0
  322. data/test/wsdl/datetime/DatetimeService.rb +45 -0
  323. data/test/wsdl/datetime/datetime.rb +0 -0
  324. data/test/wsdl/datetime/datetime.wsdl +45 -0
  325. data/test/wsdl/datetime/datetimeServant.rb +23 -0
  326. data/test/wsdl/datetime/test_datetime.rb +88 -0
  327. data/test/wsdl/document/array/double.wsdl +161 -0
  328. data/test/wsdl/document/array/test_array.rb +202 -0
  329. data/test/wsdl/document/document.wsdl +76 -0
  330. data/test/wsdl/document/number.wsdl +54 -0
  331. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  332. data/test/wsdl/document/test_nosoapaction.rb +103 -0
  333. data/test/wsdl/document/test_number.rb +93 -0
  334. data/test/wsdl/document/test_rpc.rb +356 -0
  335. data/test/wsdl/emptycomplextype.wsdl +31 -0
  336. data/test/wsdl/fault/fault.wsdl +79 -0
  337. data/test/wsdl/fault/multifault.wsdl +96 -0
  338. data/test/wsdl/fault/test_fault.rb +120 -0
  339. data/test/wsdl/fault/test_multifault.rb +135 -0
  340. data/test/wsdl/group/expectedClassdef.rb +59 -0
  341. data/test/wsdl/group/expectedDriver.rb +52 -0
  342. data/test/wsdl/group/expectedMappingRegistry.rb +68 -0
  343. data/test/wsdl/group/group.wsdl +88 -0
  344. data/test/wsdl/group/test_rpc.rb +146 -0
  345. data/test/wsdl/list/list.wsdl +93 -0
  346. data/test/wsdl/list/test_list.rb +125 -0
  347. data/test/wsdl/map/map.wsdl +92 -0
  348. data/test/wsdl/map/map.xml +43 -0
  349. data/test/wsdl/map/test_map.rb +100 -0
  350. data/test/wsdl/marshal/person.wsdl +21 -0
  351. data/test/wsdl/marshal/person_org.rb +24 -0
  352. data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
  353. data/test/wsdl/multiplefault.wsdl +75 -0
  354. data/test/wsdl/oneway/oneway.wsdl +36 -0
  355. data/test/wsdl/oneway/test_oneway.rb +109 -0
  356. data/test/wsdl/overload/expectedClient.rb +38 -0
  357. data/test/wsdl/overload/expectedDriver.rb +62 -0
  358. data/test/wsdl/overload/expectedServant.rb +36 -0
  359. data/test/wsdl/overload/overload.wsdl +70 -0
  360. data/test/wsdl/overload/test_overload.rb +132 -0
  361. data/test/wsdl/qualified/lp.wsdl +47 -0
  362. data/test/wsdl/qualified/lp.xsd +26 -0
  363. data/test/wsdl/qualified/np.wsdl +51 -0
  364. data/test/wsdl/qualified/test_qualified.rb +138 -0
  365. data/test/wsdl/qualified/test_unqualified.rb +139 -0
  366. data/test/wsdl/raa/RAAService.rb +126 -0
  367. data/test/wsdl/raa/README.txt +8 -0
  368. data/test/wsdl/raa/expectedClassDef.rb +101 -0
  369. data/test/wsdl/raa/expectedDriver.rb +97 -0
  370. data/test/wsdl/raa/expectedMappingRegistry.rb +122 -0
  371. data/test/wsdl/raa/raa.wsdl +264 -0
  372. data/test/wsdl/raa/test_raa.rb +127 -0
  373. data/test/wsdl/ref/expectedDriver.rb +52 -0
  374. data/test/wsdl/ref/expectedProduct.rb +244 -0
  375. data/test/wsdl/ref/product.wsdl +147 -0
  376. data/test/wsdl/ref/test_ref.rb +269 -0
  377. data/test/wsdl/rpc/rpc.wsdl +109 -0
  378. data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
  379. data/test/wsdl/rpc/test_rpc.rb +177 -0
  380. data/test/wsdl/rpc/test_rpc_lit.rb +471 -0
  381. data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
  382. data/test/wsdl/simplecontent/test_simplecontent.rb +103 -0
  383. data/test/wsdl/simpletype/rpc/expectedClient.rb +35 -0
  384. data/test/wsdl/simpletype/rpc/expectedDriver.rb +59 -0
  385. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +37 -0
  386. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +58 -0
  387. data/test/wsdl/simpletype/rpc/expectedServant.rb +33 -0
  388. data/test/wsdl/simpletype/rpc/expectedService.rb +56 -0
  389. data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
  390. data/test/wsdl/simpletype/rpc/test_rpc.rb +53 -0
  391. data/test/wsdl/simpletype/simpletype.wsdl +114 -0
  392. data/test/wsdl/simpletype/test_simpletype.rb +93 -0
  393. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  394. data/test/wsdl/soap/test_soapbodyparts.rb +80 -0
  395. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +22 -0
  396. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +35 -0
  397. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +59 -0
  398. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +37 -0
  399. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +33 -0
  400. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +49 -0
  401. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +56 -0
  402. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  403. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +38 -0
  404. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  405. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +54 -0
  406. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  407. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +84 -0
  408. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +103 -0
  409. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  410. data/test/wsdl/soaptype/test_soaptype.rb +179 -0
  411. data/test/wsdl/test_emptycomplextype.rb +22 -0
  412. data/test/wsdl/test_fault.rb +51 -0
  413. data/test/wsdl/test_multiplefault.rb +42 -0
  414. data/test/xsd/codegen/test_classdef.rb +245 -0
  415. data/test/xsd/noencoding.xml +4 -0
  416. data/test/xsd/test_noencoding.rb +33 -0
  417. data/test/xsd/test_ns.rb +42 -0
  418. data/test/xsd/test_xmlschemaparser.rb +23 -0
  419. data/test/xsd/test_xsd.rb +1639 -0
  420. data/test/xsd/xmllang.xml +43 -0
  421. data/test/xsd/xmlschema.xml +12 -0
  422. data/test/xsd/xsd2ruby/expected_mysample.rb +66 -0
  423. data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +12 -0
  424. data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +52 -0
  425. data/test/xsd/xsd2ruby/section.xsd +49 -0
  426. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +91 -0
  427. metadata +490 -0
@@ -0,0 +1,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
@@ -0,0 +1,64 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <definitions name="echo"
3
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
4
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
5
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
+ xmlns:tns="urn:example.com:soapenc"
7
+ xmlns:txd="urn:example.com:soapenc-type"
8
+ targetNamespace="urn:example.com:soapenc"
9
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
10
+ <types>
11
+ <xsd:schema targetNamespace="urn:example.com:soapenc-type">
12
+ <xsd:complexType name="version_struct">
13
+ <xsd:all>
14
+ <xsd:element name="version" type="txd:t_version" />
15
+ <xsd:element name="msg" type="soapenc:string" />
16
+ </xsd:all>
17
+ </xsd:complexType>
18
+
19
+ <xsd:simpleType name="t_version">
20
+ <xsd:restriction base="soapenc:string">
21
+ <xsd:enumeration value="1.6"/>
22
+ <xsd:enumeration value="1.8"/>
23
+ <xsd:enumeration value="1.9"/>
24
+ </xsd:restriction>
25
+ </xsd:simpleType>
26
+ </xsd:schema>
27
+ </types>
28
+
29
+ <message name="msg_version">
30
+ <part name="version" type="txd:t_version"/>
31
+ </message>
32
+
33
+ <message name="msg_version_struct">
34
+ <part name="version_struct" type="txd:version_struct"/>
35
+ </message>
36
+
37
+ <portType name="echo_version_port_type">
38
+ <operation name="echo_version">
39
+ <input message="tns:msg_version"/>
40
+ <output message="tns:msg_version_struct"/>
41
+ </operation>
42
+ </portType>
43
+
44
+ <binding name="echo_version_binding" type="tns:echo_version_port_type">
45
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
46
+ <operation name="echo_version">
47
+ <soap:operation soapAction="urn:example.com:soapenc"/>
48
+ <input>
49
+ <soap:body use="encoded" namespace="urn:example.com:soapenc"
50
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
51
+ </input>
52
+ <output>
53
+ <soap:body use="encoded" namespace="urn:example.com:soapenc"
54
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
55
+ </output>
56
+ </operation>
57
+ </binding>
58
+
59
+ <service name="echo_version_service">
60
+ <port name="echo_version_port" binding="tns:echo_version_binding">
61
+ <soap:address location="http://localhost:10080"/>
62
+ </port>
63
+ </service>
64
+ </definitions>
@@ -0,0 +1,84 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'wsdl/parser'
5
+ require 'wsdl/soap/wsdl2ruby'
6
+ require 'soap/rpc/standaloneServer'
7
+ require 'soap/wsdlDriver'
8
+
9
+
10
+ module WSDL; module SOAP; module T_WSDL2Ruby
11
+
12
+
13
+ class TestSOAPENC < Test::Unit::TestCase
14
+ class Server < ::SOAP::RPC::StandaloneServer
15
+ def on_init
16
+ add_rpc_method(self, 'echo_version', 'version')
17
+ end
18
+
19
+ def echo_version(version)
20
+ Version_struct.new(version, "hello")
21
+ end
22
+ end
23
+
24
+ DIR = File.dirname(File.expand_path(__FILE__))
25
+
26
+ Port = 17171
27
+
28
+ def setup
29
+ setup_classdef
30
+ setup_server
31
+ @client = nil
32
+ end
33
+
34
+ def teardown
35
+ teardown_server if @server
36
+ unless $DEBUG
37
+ File.unlink(pathname('echo.rb'))
38
+ end
39
+ @client.reset_stream if @client
40
+ end
41
+
42
+ def setup_server
43
+ @server = Server.new('Test', "urn:example.com:soapenc", '0.0.0.0', Port)
44
+ @server.level = Logger::Severity::ERROR
45
+ @server_thread = TestUtil.start_server_thread(@server)
46
+ end
47
+
48
+ def setup_classdef
49
+ if ::Object.constants.include?("Version_struct")
50
+ ::Object.instance_eval { remove_const("Version_struct") }
51
+ end
52
+ gen = WSDL::SOAP::WSDL2Ruby.new
53
+ gen.location = pathname("soapenc.wsdl")
54
+ gen.basedir = DIR
55
+ gen.logger.level = Logger::FATAL
56
+ gen.opt['classdef'] = nil
57
+ gen.opt['force'] = true
58
+ gen.run
59
+ TestUtil.require(DIR, 'echo.rb')
60
+ end
61
+
62
+ def teardown_server
63
+ @server.shutdown
64
+ @server_thread.kill
65
+ @server_thread.join
66
+ end
67
+
68
+ def pathname(filename)
69
+ File.join(DIR, filename)
70
+ end
71
+
72
+ def test_wsdl
73
+ wsdl = File.join(DIR, 'soapenc.wsdl')
74
+ @client = ::SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
75
+ @client.endpoint_url = "http://localhost:#{Port}/"
76
+ @client.wiredump_dev = STDOUT if $DEBUG
77
+ ret = @client.echo_version(T_version::C_19)
78
+ assert_equal(T_version::C_19, ret.version)
79
+ assert_equal("hello", ret.msg)
80
+ end
81
+ end
82
+
83
+
84
+ end; end; end
@@ -0,0 +1,103 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'wsdl/parser'
5
+ require 'wsdl/soap/wsdl2ruby'
6
+
7
+
8
+ module WSDL; module SOAP
9
+
10
+
11
+ class TestWSDL2Ruby < Test::Unit::TestCase
12
+ DIR = File.dirname(File.expand_path(__FILE__))
13
+
14
+ def setup
15
+ Dir.chdir(DIR) do
16
+ gen = WSDL::SOAP::WSDL2Ruby.new
17
+ gen.location = pathname("rpc.wsdl")
18
+ gen.basedir = DIR
19
+ gen.logger.level = Logger::FATAL
20
+ gen.opt['classdef'] = nil
21
+ gen.opt['client_skelton'] = nil
22
+ gen.opt['servant_skelton'] = nil
23
+ gen.opt['cgi_stub'] = nil
24
+ gen.opt['standalone_server_stub'] = nil
25
+ gen.opt['mapping_registry'] = nil
26
+ gen.opt['driver'] = nil
27
+ gen.opt['force'] = true
28
+ TestUtil.silent do
29
+ gen.run
30
+ end
31
+ end
32
+ end
33
+
34
+ def teardown
35
+ # leave generated file for debug.
36
+ end
37
+
38
+ def test_rpc
39
+ compare("expectedServant.rb", "echo_versionServant.rb")
40
+ compare("expectedClassdef.rb", "echo_version.rb")
41
+ compare("expectedService.rb", "echo_version_service.rb")
42
+ compare("expectedService.cgi", "echo_version_service.cgi")
43
+ compare("expectedMappingRegistry.rb", "echo_versionMappingRegistry.rb")
44
+ compare("expectedDriver.rb", "echo_versionDriver.rb")
45
+ compare("expectedClient.rb", "echo_version_serviceClient.rb")
46
+
47
+ File.unlink(pathname("echo_versionServant.rb"))
48
+ File.unlink(pathname("echo_version.rb"))
49
+ File.unlink(pathname("echo_version_service.rb"))
50
+ File.unlink(pathname("echo_version_service.cgi"))
51
+ File.unlink(pathname("echo_versionMappingRegistry.rb"))
52
+ File.unlink(pathname("echo_versionDriver.rb"))
53
+ File.unlink(pathname("echo_version_serviceClient.rb"))
54
+ end
55
+
56
+ EXPECTED_CLASSDEF = <<__RB__
57
+ require 'xsd/qname'
58
+
59
+ module TEST
60
+
61
+
62
+ # {urn:example.com:simpletype-rpc-type}version_struct
63
+ # version - TEST::Version
64
+ # msg - SOAP::SOAPString
65
+ class Version_struct
66
+ attr_accessor :version
67
+ attr_accessor :msg
68
+
69
+ def initialize(version = nil, msg = nil)
70
+ @version = version
71
+ @msg = msg
72
+ end
73
+ end
74
+
75
+
76
+ end
77
+ __RB__
78
+
79
+ def test_classdefcreator
80
+ wsdl = WSDL::Importer.import(pathname("rpc.wsdl"))
81
+ name_creator = WSDL::SOAP::ClassNameCreator.new
82
+ creator = WSDL::SOAP::ClassDefCreator.new(wsdl, name_creator, 'TEST')
83
+ classdef = creator.dump(XSD::QName.new('urn:example.com:simpletype-rpc-type', 'version_struct'))
84
+ assert_equal(EXPECTED_CLASSDEF, classdef)
85
+ end
86
+
87
+ private
88
+
89
+ def pathname(filename)
90
+ File.join(DIR, filename)
91
+ end
92
+
93
+ def compare(expected, actual)
94
+ TestUtil.filecompare(pathname(expected), pathname(actual))
95
+ end
96
+
97
+ def loadfile(file)
98
+ File.open(pathname(file)) { |f| f.read }
99
+ end
100
+ end
101
+
102
+
103
+ end; end
@@ -0,0 +1,61 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <definitions name="echo"
3
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:tns="urn:soaptype"
6
+ xmlns:txd="urn:soaptype-type"
7
+ targetNamespace="urn:soaptype"
8
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
9
+ <types>
10
+ <xsd:schema targetNamespace="urn:soaptype-type">
11
+ <xsd:complexType name="wrapper">
12
+ <xsd:all>
13
+ <xsd:element name="short" type="xsd:short" />
14
+ <xsd:element name="long" type="xsd:long" />
15
+ <xsd:element name="double" type="xsd:double" />
16
+ </xsd:all>
17
+ </xsd:complexType>
18
+ </xsd:schema>
19
+ </types>
20
+
21
+ <message name="echo_in">
22
+ <part name="arg" type="txd:wrapper"/>
23
+ </message>
24
+
25
+ <message name="echo_out">
26
+ <part name="return" type="txd:wrapper"/>
27
+ </message>
28
+
29
+ <portType name="echo_port_type">
30
+ <operation name="echo_soaptype">
31
+ <input message="tns:echo_in"/>
32
+ <output message="tns:echo_out"/>
33
+ </operation>
34
+
35
+ <operation name="echo_err">
36
+ <input message="tns:echo_in"/>
37
+ <output message="tns:echo_out"/>
38
+ </operation>
39
+ </portType>
40
+
41
+ <binding name="echo_binding" type="tns:echo_port_type">
42
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
43
+ <operation name="echo_soaptype">
44
+ <soap:operation soapAction=""/>
45
+ <input>
46
+ <soap:body use="encoded" namespace="urn:soaptype"
47
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
48
+ </input>
49
+ <output>
50
+ <soap:body use="encoded" namespace="urn:soaptype"
51
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
52
+ </output>
53
+ </operation>
54
+ </binding>
55
+
56
+ <service name="echo_service">
57
+ <port name="echo_port" binding="tns:echo_binding">
58
+ <soap:address location="http://localhost:10080"/>
59
+ </port>
60
+ </service>
61
+ </definitions>
@@ -0,0 +1,179 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'wsdl/parser'
5
+ require 'wsdl/soap/wsdl2ruby'
6
+ require 'soap/rpc/standaloneServer'
7
+ require 'soap/wsdlDriver'
8
+
9
+
10
+ module WSDL; module RPC
11
+
12
+
13
+ class TestSOAPTYPE < Test::Unit::TestCase
14
+ include ::SOAP
15
+
16
+ class Server < ::SOAP::RPC::StandaloneServer
17
+ include ::SOAP
18
+
19
+ def on_init
20
+ #self.generate_explicit_type = false
21
+ add_rpc_method(self, 'echo_soaptype', 'arg')
22
+ end
23
+
24
+ def echo_soaptype(arg)
25
+ res = Wrapper.new
26
+ res.short = SOAPShort.new(arg.short)
27
+ res.long = SOAPLong.new(arg.long)
28
+ res.double = SOAPFloat.new(arg.double)
29
+ res
30
+ end
31
+ end
32
+
33
+ DIR = File.dirname(File.expand_path(__FILE__))
34
+
35
+ Port = 17171
36
+
37
+ def setup
38
+ setup_server
39
+ setup_classdef
40
+ @client = nil
41
+ end
42
+
43
+ def teardown
44
+ teardown_server if @server
45
+ unless $DEBUG
46
+ File.unlink(pathname('echo.rb'))
47
+ File.unlink(pathname('echoMappingRegistry.rb'))
48
+ File.unlink(pathname('echoDriver.rb'))
49
+ end
50
+ @client.reset_stream if @client
51
+ end
52
+
53
+ def setup_server
54
+ @server = Server.new('Test', "urn:soaptype", '0.0.0.0', Port)
55
+ @server.level = Logger::Severity::ERROR
56
+ @server_thread = TestUtil.start_server_thread(@server)
57
+ end
58
+
59
+ def setup_classdef
60
+ gen = WSDL::SOAP::WSDL2Ruby.new
61
+ gen.location = pathname("soaptype.wsdl")
62
+ gen.basedir = DIR
63
+ gen.logger.level = Logger::FATAL
64
+ gen.opt['classdef'] = nil
65
+ gen.opt['mapping_registry'] = nil
66
+ gen.opt['driver'] = nil
67
+ gen.opt['force'] = true
68
+ gen.opt['module_path'] = self.class.to_s.sub(/::[^:]+$/, '')
69
+ gen.run
70
+ TestUtil.require(DIR, 'echo.rb', 'echoMappingRegistry.rb', 'echoDriver.rb')
71
+ end
72
+
73
+ def teardown_server
74
+ @server.shutdown
75
+ @server_thread.kill
76
+ @server_thread.join
77
+ end
78
+
79
+ def pathname(filename)
80
+ File.join(DIR, filename)
81
+ end
82
+
83
+ SOAPTYPE_WSDL_XML = %q[<?xml version="1.0" encoding="utf-8" ?>
84
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
85
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
86
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
87
+ <env:Body>
88
+ <n1:echo_soaptype xmlns:n1="urn:soaptype"
89
+ env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
90
+ <arg xmlns:n2="urn:soaptype-type"
91
+ xsi:type="n2:wrapper">
92
+ <short xsi:type="xsd:short">123</short>
93
+ <long xsi:type="xsd:long">456</long>
94
+ <double xsi:type="xsd:double">+789</double>
95
+ </arg>
96
+ </n1:echo_soaptype>
97
+ </env:Body>
98
+ </env:Envelope>]
99
+
100
+ SOAPTYPE_NATIVE_XML = %q[<?xml version="1.0" encoding="utf-8" ?>
101
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
102
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
103
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
104
+ <env:Body>
105
+ <n1:echo_soaptype xmlns:n1="urn:soaptype"
106
+ env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
107
+ <arg xsi:type="xsd:anyType">
108
+ <short xsi:type="xsd:short">123</short>
109
+ <long xsi:type="xsd:long">456</long>
110
+ <double xsi:type="xsd:double">+789</double>
111
+ </arg>
112
+ </n1:echo_soaptype>
113
+ </env:Body>
114
+ </env:Envelope>]
115
+
116
+ def test_wsdl
117
+ wsdl = File.join(DIR, 'soaptype.wsdl')
118
+ @client = ::SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
119
+ @client.endpoint_url = "http://localhost:#{Port}/"
120
+ @client.wiredump_dev = str = ''
121
+
122
+ arg = Wrapper.new
123
+ arg.short = 123
124
+ arg.long = 456
125
+ arg.double = 789
126
+ res = @client.echo_soaptype(arg)
127
+
128
+ assert_equal(123, res.short)
129
+ assert_equal(456, res.long)
130
+ assert_equal(789.0, res.double)
131
+
132
+ assert_xml_equal(SOAPTYPE_WSDL_XML, parse_requestxml(str))
133
+ end
134
+
135
+ def test_stub
136
+ @client = WSDL::RPC::Echo_port_type.new("http://localhost:#{Port}/")
137
+ @client.wiredump_dev = str = ''
138
+
139
+ arg = WSDL::RPC::Wrapper.new
140
+ arg.short = 123
141
+ arg.long = 456
142
+ arg.double = 789
143
+ res = @client.echo_soaptype(arg)
144
+
145
+ assert_equal(123, res.short)
146
+ assert_equal(456, res.long)
147
+ assert_equal(789.0, res.double)
148
+
149
+ assert_xml_equal(SOAPTYPE_WSDL_XML, parse_requestxml(str))
150
+ end
151
+
152
+ def test_native
153
+ @client = ::SOAP::RPC::Driver.new("http://localhost:#{Port}/", 'urn:soaptype')
154
+ @client.endpoint_url = "http://localhost:#{Port}/"
155
+ @client.add_method('echo_soaptype', 'arg')
156
+ @client.wiredump_dev = str = ''
157
+ @client.mapping_registry = WSDL::RPC::EchoMappingRegistry::EncodedRegistry
158
+ @client.literal_mapping_registry = WSDL::RPC::EchoMappingRegistry::LiteralRegistry
159
+
160
+ arg = ::Struct.new(:short, :long, :double).new
161
+ arg.short = SOAPShort.new(123)
162
+ arg.long = SOAPLong.new(456)
163
+ arg.double = SOAPDouble.new(789)
164
+ res = @client.echo_soaptype(arg)
165
+
166
+ assert_equal(123, res.short)
167
+ assert_equal(456, res.long)
168
+ assert_equal(789.0, res.double)
169
+
170
+ assert_xml_equal(SOAPTYPE_NATIVE_XML, parse_requestxml(str))
171
+ end
172
+
173
+ def parse_requestxml(str)
174
+ str.split(/\r?\n\r?\n/)[3]
175
+ end
176
+ end
177
+
178
+
179
+ end; end