rubyjedi-soap4r 1.5.8.01

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 (444) 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 +279 -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 +310 -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 +378 -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/ruby18ext.rb +13 -0
  53. data/lib/soap/soap.rb +151 -0
  54. data/lib/soap/streamHandler.rb +301 -0
  55. data/lib/soap/wsdlDriver.rb +164 -0
  56. data/lib/wsdl/binding.rb +65 -0
  57. data/lib/wsdl/data.rb +64 -0
  58. data/lib/wsdl/definitions.rb +236 -0
  59. data/lib/wsdl/documentation.rb +32 -0
  60. data/lib/wsdl/import.rb +80 -0
  61. data/lib/wsdl/importer.rb +38 -0
  62. data/lib/wsdl/info.rb +50 -0
  63. data/lib/wsdl/message.rb +54 -0
  64. data/lib/wsdl/operation.rb +151 -0
  65. data/lib/wsdl/operationBinding.rb +240 -0
  66. data/lib/wsdl/param.rb +93 -0
  67. data/lib/wsdl/parser.rb +164 -0
  68. data/lib/wsdl/part.rb +52 -0
  69. data/lib/wsdl/port.rb +66 -0
  70. data/lib/wsdl/portType.rb +75 -0
  71. data/lib/wsdl/service.rb +61 -0
  72. data/lib/wsdl/soap/address.rb +40 -0
  73. data/lib/wsdl/soap/binding.rb +49 -0
  74. data/lib/wsdl/soap/body.rb +58 -0
  75. data/lib/wsdl/soap/cgiStubCreator.rb +92 -0
  76. data/lib/wsdl/soap/classDefCreator.rb +433 -0
  77. data/lib/wsdl/soap/classDefCreatorSupport.rb +240 -0
  78. data/lib/wsdl/soap/classNameCreator.rb +54 -0
  79. data/lib/wsdl/soap/clientSkeltonCreator.rb +104 -0
  80. data/lib/wsdl/soap/complexType.rb +173 -0
  81. data/lib/wsdl/soap/data.rb +42 -0
  82. data/lib/wsdl/soap/definitions.rb +200 -0
  83. data/lib/wsdl/soap/driverCreator.rb +118 -0
  84. data/lib/wsdl/soap/element.rb +33 -0
  85. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +73 -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 +115 -0
  90. data/lib/wsdl/soap/mappingRegistryCreator.rb +58 -0
  91. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +376 -0
  92. data/lib/wsdl/soap/methodDefCreator.rb +199 -0
  93. data/lib/wsdl/soap/operation.rb +112 -0
  94. data/lib/wsdl/soap/servantSkeltonCreator.rb +89 -0
  95. data/lib/wsdl/soap/servletStubCreator.rb +104 -0
  96. data/lib/wsdl/soap/standaloneServerStubCreator.rb +100 -0
  97. data/lib/wsdl/soap/wsdl2ruby.rb +217 -0
  98. data/lib/wsdl/types.rb +44 -0
  99. data/lib/wsdl/wsdl.rb +24 -0
  100. data/lib/wsdl/xmlSchema/all.rb +24 -0
  101. data/lib/wsdl/xmlSchema/annotation.rb +34 -0
  102. data/lib/wsdl/xmlSchema/any.rb +61 -0
  103. data/lib/wsdl/xmlSchema/anyAttribute.rb +48 -0
  104. data/lib/wsdl/xmlSchema/attribute.rb +104 -0
  105. data/lib/wsdl/xmlSchema/attributeGroup.rb +68 -0
  106. data/lib/wsdl/xmlSchema/choice.rb +58 -0
  107. data/lib/wsdl/xmlSchema/complexContent.rb +97 -0
  108. data/lib/wsdl/xmlSchema/complexExtension.rb +119 -0
  109. data/lib/wsdl/xmlSchema/complexRestriction.rb +104 -0
  110. data/lib/wsdl/xmlSchema/complexType.rb +193 -0
  111. data/lib/wsdl/xmlSchema/content.rb +95 -0
  112. data/lib/wsdl/xmlSchema/data.rb +116 -0
  113. data/lib/wsdl/xmlSchema/element.rb +153 -0
  114. data/lib/wsdl/xmlSchema/enumeration.rb +36 -0
  115. data/lib/wsdl/xmlSchema/fractiondigits.rb +37 -0
  116. data/lib/wsdl/xmlSchema/group.rb +100 -0
  117. data/lib/wsdl/xmlSchema/import.rb +53 -0
  118. data/lib/wsdl/xmlSchema/importHandler.rb +45 -0
  119. data/lib/wsdl/xmlSchema/importer.rb +102 -0
  120. data/lib/wsdl/xmlSchema/include.rb +48 -0
  121. data/lib/wsdl/xmlSchema/length.rb +37 -0
  122. data/lib/wsdl/xmlSchema/list.rb +48 -0
  123. data/lib/wsdl/xmlSchema/maxexclusive.rb +37 -0
  124. data/lib/wsdl/xmlSchema/maxinclusive.rb +37 -0
  125. data/lib/wsdl/xmlSchema/maxlength.rb +37 -0
  126. data/lib/wsdl/xmlSchema/minexclusive.rb +37 -0
  127. data/lib/wsdl/xmlSchema/mininclusive.rb +37 -0
  128. data/lib/wsdl/xmlSchema/minlength.rb +37 -0
  129. data/lib/wsdl/xmlSchema/parser.rb +167 -0
  130. data/lib/wsdl/xmlSchema/pattern.rb +36 -0
  131. data/lib/wsdl/xmlSchema/ref.rb +33 -0
  132. data/lib/wsdl/xmlSchema/schema.rb +178 -0
  133. data/lib/wsdl/xmlSchema/sequence.rb +54 -0
  134. data/lib/wsdl/xmlSchema/simpleContent.rb +69 -0
  135. data/lib/wsdl/xmlSchema/simpleExtension.rb +62 -0
  136. data/lib/wsdl/xmlSchema/simpleRestriction.rb +132 -0
  137. data/lib/wsdl/xmlSchema/simpleType.rb +87 -0
  138. data/lib/wsdl/xmlSchema/totaldigits.rb +37 -0
  139. data/lib/wsdl/xmlSchema/union.rb +35 -0
  140. data/lib/wsdl/xmlSchema/unique.rb +34 -0
  141. data/lib/wsdl/xmlSchema/whitespace.rb +37 -0
  142. data/lib/wsdl/xmlSchema/xsd2ruby.rb +174 -0
  143. data/lib/xsd/charset.rb +188 -0
  144. data/lib/xsd/codegen.rb +12 -0
  145. data/lib/xsd/codegen/classdef.rb +208 -0
  146. data/lib/xsd/codegen/commentdef.rb +34 -0
  147. data/lib/xsd/codegen/gensupport.rb +273 -0
  148. data/lib/xsd/codegen/methoddef.rb +70 -0
  149. data/lib/xsd/codegen/moduledef.rb +208 -0
  150. data/lib/xsd/datatypes.rb +1465 -0
  151. data/lib/xsd/datatypes1999.rb +20 -0
  152. data/lib/xsd/iconvcharset.rb +33 -0
  153. data/lib/xsd/mapping.rb +68 -0
  154. data/lib/xsd/namedelements.rb +132 -0
  155. data/lib/xsd/ns.rb +182 -0
  156. data/lib/xsd/qname.rb +79 -0
  157. data/lib/xsd/xmlparser.rb +82 -0
  158. data/lib/xsd/xmlparser.rb.orig +110 -0
  159. data/lib/xsd/xmlparser/libxmlparser.rb +119 -0
  160. data/lib/xsd/xmlparser/parser.rb +100 -0
  161. data/lib/xsd/xmlparser/rexmlparser.rb +58 -0
  162. data/lib/xsd/xmlparser/xmlparser.rb +50 -0
  163. data/lib/xsd/xmlparser/xmlscanner.rb +149 -0
  164. data/test/16runner.rb +68 -0
  165. data/test/interopR2/README.txt +2 -0
  166. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  167. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  168. data/test/interopR2/base.rb +288 -0
  169. data/test/interopR2/client.NetRemoting.rb +17 -0
  170. data/test/interopR2/client.rb +1234 -0
  171. data/test/interopR2/client4S4C.rb +15 -0
  172. data/test/interopR2/client4S4C2.rb +14 -0
  173. data/test/interopR2/clientASP.NET.rb +17 -0
  174. data/test/interopR2/clientApacheAxis.rb +16 -0
  175. data/test/interopR2/clientApacheSOAP.rb +17 -0
  176. data/test/interopR2/clientBEAWebLogic.rb +17 -0
  177. data/test/interopR2/clientBase.rb +1967 -0
  178. data/test/interopR2/clientCapeConnect.rb +18 -0
  179. data/test/interopR2/clientDelphi.rb +19 -0
  180. data/test/interopR2/clientEasySoap.rb +14 -0
  181. data/test/interopR2/clientFrontier.rb +25 -0
  182. data/test/interopR2/clientGLUE.rb +32 -0
  183. data/test/interopR2/clientHP.rb +13 -0
  184. data/test/interopR2/clientJAX-RPC.rb +19 -0
  185. data/test/interopR2/clientJSOAP.rb +14 -0
  186. data/test/interopR2/clientKafkaXSLT.rb +15 -0
  187. data/test/interopR2/clientMSSOAPToolkit2.0.rb +17 -0
  188. data/test/interopR2/clientMSSOAPToolkit3.0.rb +17 -0
  189. data/test/interopR2/clientNuSOAP.rb +19 -0
  190. data/test/interopR2/clientNuWave.rb +15 -0
  191. data/test/interopR2/clientOpenLink.rb +15 -0
  192. data/test/interopR2/clientOracle.rb +15 -0
  193. data/test/interopR2/clientPEAR.rb +18 -0
  194. data/test/interopR2/clientPhalanx.rb +18 -0
  195. data/test/interopR2/clientSIMACE.rb +18 -0
  196. data/test/interopR2/clientSOAP4R.rb +18 -0
  197. data/test/interopR2/clientSOAP__Lite.rb +14 -0
  198. data/test/interopR2/clientSQLData.rb +18 -0
  199. data/test/interopR2/clientSilverStream.rb +17 -0
  200. data/test/interopR2/clientSpray2001.rb +17 -0
  201. data/test/interopR2/clientSun.rb +19 -0
  202. data/test/interopR2/clientVWOpentalkSoap.rb +19 -0
  203. data/test/interopR2/clientWASP.rb +19 -0
  204. data/test/interopR2/clientWASPC.rb +18 -0
  205. data/test/interopR2/clientWebMethods.rb +15 -0
  206. data/test/interopR2/clientWhiteMesa.rb +28 -0
  207. data/test/interopR2/clientWingfoot.rb +15 -0
  208. data/test/interopR2/clientXMLBus.rb +19 -0
  209. data/test/interopR2/clientXMLRPC-EPI.rb +17 -0
  210. data/test/interopR2/clientXSOAP.rb +14 -0
  211. data/test/interopR2/clientZSI.rb +19 -0
  212. data/test/interopR2/clienteSOAP.rb +18 -0
  213. data/test/interopR2/clientgSOAP.rb +18 -0
  214. data/test/interopR2/clientkSOAP.rb +17 -0
  215. data/test/interopR2/iSimonReg.rb +112 -0
  216. data/test/interopR2/interopResultBase.rb +114 -0
  217. data/test/interopR2/interopService.rb +247 -0
  218. data/test/interopR2/rwikiInteropService.rb +105 -0
  219. data/test/interopR2/server.cgi +270 -0
  220. data/test/interopR2/server.rb +275 -0
  221. data/test/interopR2/simonReg.rb +123 -0
  222. data/test/interopR2/test.sh +49 -0
  223. data/test/interopR4/client.rb +112 -0
  224. data/test/results +4810 -0
  225. data/test/runner.rb +7 -0
  226. data/test/sm11/classDef.rb +156 -0
  227. data/test/sm11/client.rb +542 -0
  228. data/test/sm11/driver.rb +183 -0
  229. data/test/sm11/servant.rb +1067 -0
  230. data/test/sm11/server.rb +25 -0
  231. data/test/soap/asp.net/hello.wsdl +96 -0
  232. data/test/soap/asp.net/test_aspdotnet.rb +123 -0
  233. data/test/soap/auth/htdigest +2 -0
  234. data/test/soap/auth/htpasswd +2 -0
  235. data/test/soap/auth/test_basic.rb +117 -0
  236. data/test/soap/auth/test_digest.rb +118 -0
  237. data/test/soap/calc/calc.rb +17 -0
  238. data/test/soap/calc/calc2.rb +29 -0
  239. data/test/soap/calc/server.cgi +13 -0
  240. data/test/soap/calc/server.rb +17 -0
  241. data/test/soap/calc/server2.rb +20 -0
  242. data/test/soap/calc/test_calc.rb +51 -0
  243. data/test/soap/calc/test_calc2.rb +55 -0
  244. data/test/soap/calc/test_calc_cgi.rb +71 -0
  245. data/test/soap/case/test_mapping.rb +57 -0
  246. data/test/soap/fault/test_customfault.rb +60 -0
  247. data/test/soap/fault/test_fault.rb +46 -0
  248. data/test/soap/fault/test_soaparray.rb +35 -0
  249. data/test/soap/filter/test_filter.rb +146 -0
  250. data/test/soap/header/server.cgi +119 -0
  251. data/test/soap/header/session.pstoredb +0 -0
  252. data/test/soap/header/test_authheader.rb +240 -0
  253. data/test/soap/header/test_authheader_cgi.rb +121 -0
  254. data/test/soap/header/test_simplehandler.rb +116 -0
  255. data/test/soap/helloworld/hw_s.rb +16 -0
  256. data/test/soap/helloworld/test_helloworld.rb +43 -0
  257. data/test/soap/htpasswd +2 -0
  258. data/test/soap/literalArrayMapping/amazonEc.rb +4778 -0
  259. data/test/soap/literalArrayMapping/amazonEcDriver.rb +172 -0
  260. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  261. data/test/soap/literalArrayMapping/test_definedarray.rb +34 -0
  262. data/test/soap/marshal/marshaltestlib.rb +494 -0
  263. data/test/soap/marshal/test_digraph.rb +56 -0
  264. data/test/soap/marshal/test_marshal.rb +26 -0
  265. data/test/soap/marshal/test_struct.rb +47 -0
  266. data/test/soap/ssl/README +1 -0
  267. data/test/soap/ssl/ca.cert +23 -0
  268. data/test/soap/ssl/client.cert +19 -0
  269. data/test/soap/ssl/client.key +15 -0
  270. data/test/soap/ssl/server.cert +19 -0
  271. data/test/soap/ssl/server.key +15 -0
  272. data/test/soap/ssl/sslsvr.rb +57 -0
  273. data/test/soap/ssl/subca.cert +21 -0
  274. data/test/soap/ssl/test_ssl.rb +235 -0
  275. data/test/soap/struct/test_struct.rb +70 -0
  276. data/test/soap/styleuse/client.rb +20 -0
  277. data/test/soap/styleuse/server.rb +86 -0
  278. data/test/soap/swa/test_file.rb +75 -0
  279. data/test/soap/test_basetype.rb +1090 -0
  280. data/test/soap/test_cookie.rb +112 -0
  281. data/test/soap/test_custom_ns.rb +105 -0
  282. data/test/soap/test_custommap.rb +110 -0
  283. data/test/soap/test_empty.rb +105 -0
  284. data/test/soap/test_envelopenamespace.rb +85 -0
  285. data/test/soap/test_extraattr.rb +54 -0
  286. data/test/soap/test_generator.rb +29 -0
  287. data/test/soap/test_httpconfigloader.rb +71 -0
  288. data/test/soap/test_mapping.rb +131 -0
  289. data/test/soap/test_nestedexception.rb +56 -0
  290. data/test/soap/test_nil.rb +75 -0
  291. data/test/soap/test_no_indent.rb +88 -0
  292. data/test/soap/test_property.rb +428 -0
  293. data/test/soap/test_response_as_xml.rb +117 -0
  294. data/test/soap/test_soapelement.rb +138 -0
  295. data/test/soap/test_streamhandler.rb +270 -0
  296. data/test/soap/test_styleuse.rb +326 -0
  297. data/test/soap/wsdlDriver/README.txt +2 -0
  298. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  299. data/test/soap/wsdlDriver/document.wsdl +54 -0
  300. data/test/soap/wsdlDriver/echo_version.rb +29 -0
  301. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  302. data/test/soap/wsdlDriver/test_calc.rb +71 -0
  303. data/test/soap/wsdlDriver/test_document.rb +71 -0
  304. data/test/soap/wsdlDriver/test_simpletype.rb +80 -0
  305. data/test/testutil.rb +54 -0
  306. data/test/wsdl/abstract/abstract.wsdl +176 -0
  307. data/test/wsdl/abstract/test_abstract.rb +159 -0
  308. data/test/wsdl/anonymous/expectedClassDef.rb +128 -0
  309. data/test/wsdl/anonymous/expectedDriver.rb +59 -0
  310. data/test/wsdl/anonymous/expectedMappingRegistry.rb +176 -0
  311. data/test/wsdl/anonymous/lp.wsdl +147 -0
  312. data/test/wsdl/anonymous/test_anonymous.rb +130 -0
  313. data/test/wsdl/any/any.wsdl +114 -0
  314. data/test/wsdl/any/expectedDriver.rb +68 -0
  315. data/test/wsdl/any/expectedEcho.rb +57 -0
  316. data/test/wsdl/any/expectedMappingRegistry.rb +63 -0
  317. data/test/wsdl/any/expectedService.rb +69 -0
  318. data/test/wsdl/any/test_any.rb +193 -0
  319. data/test/wsdl/axisArray/axisArray.wsdl +87 -0
  320. data/test/wsdl/axisArray/test_axisarray.rb +124 -0
  321. data/test/wsdl/choice/choice.wsdl +167 -0
  322. data/test/wsdl/choice/test_choice.rb +310 -0
  323. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  324. data/test/wsdl/complexcontent/test_echo.rb +90 -0
  325. data/test/wsdl/datetime/DatetimeService.rb +44 -0
  326. data/test/wsdl/datetime/datetime.rb +0 -0
  327. data/test/wsdl/datetime/datetime.wsdl +45 -0
  328. data/test/wsdl/datetime/datetimeServant.rb +22 -0
  329. data/test/wsdl/datetime/test_datetime.rb +86 -0
  330. data/test/wsdl/document/array/double.wsdl +161 -0
  331. data/test/wsdl/document/array/test_array.rb +201 -0
  332. data/test/wsdl/document/document.wsdl +76 -0
  333. data/test/wsdl/document/number.wsdl +54 -0
  334. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  335. data/test/wsdl/document/test_nosoapaction.rb +102 -0
  336. data/test/wsdl/document/test_number.rb +92 -0
  337. data/test/wsdl/document/test_rpc.rb +355 -0
  338. data/test/wsdl/emptycomplextype.wsdl +31 -0
  339. data/test/wsdl/fault/fault.wsdl +79 -0
  340. data/test/wsdl/fault/multifault.wsdl +96 -0
  341. data/test/wsdl/fault/test_fault.rb +119 -0
  342. data/test/wsdl/fault/test_multifault.rb +134 -0
  343. data/test/wsdl/group/expectedClassdef.rb +58 -0
  344. data/test/wsdl/group/expectedDriver.rb +51 -0
  345. data/test/wsdl/group/expectedMappingRegistry.rb +67 -0
  346. data/test/wsdl/group/group.wsdl +88 -0
  347. data/test/wsdl/group/test_rpc.rb +145 -0
  348. data/test/wsdl/list/list.wsdl +93 -0
  349. data/test/wsdl/list/test_list.rb +124 -0
  350. data/test/wsdl/map/map.wsdl +92 -0
  351. data/test/wsdl/map/map.xml +43 -0
  352. data/test/wsdl/map/test_map.rb +99 -0
  353. data/test/wsdl/marshal/Person.rb +1 -0
  354. data/test/wsdl/marshal/person.wsdl +21 -0
  355. data/test/wsdl/marshal/person_org.rb +23 -0
  356. data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
  357. data/test/wsdl/multiplefault.wsdl +75 -0
  358. data/test/wsdl/oneway/oneway.wsdl +36 -0
  359. data/test/wsdl/oneway/test_oneway.rb +108 -0
  360. data/test/wsdl/overload/expectedClient.rb +37 -0
  361. data/test/wsdl/overload/expectedDriver.rb +61 -0
  362. data/test/wsdl/overload/expectedServant.rb +35 -0
  363. data/test/wsdl/overload/overload.wsdl +70 -0
  364. data/test/wsdl/overload/test_overload.rb +131 -0
  365. data/test/wsdl/qualified/lp.wsdl +47 -0
  366. data/test/wsdl/qualified/lp.xsd +26 -0
  367. data/test/wsdl/qualified/np.wsdl +51 -0
  368. data/test/wsdl/qualified/test_qualified.rb +137 -0
  369. data/test/wsdl/qualified/test_unqualified.rb +138 -0
  370. data/test/wsdl/raa/RAAService.rb +125 -0
  371. data/test/wsdl/raa/README.txt +8 -0
  372. data/test/wsdl/raa/expectedClassDef.rb +100 -0
  373. data/test/wsdl/raa/expectedDriver.rb +96 -0
  374. data/test/wsdl/raa/expectedMappingRegistry.rb +121 -0
  375. data/test/wsdl/raa/raa.wsdl +264 -0
  376. data/test/wsdl/raa/test_raa.rb +126 -0
  377. data/test/wsdl/ref/expectedDriver.rb +51 -0
  378. data/test/wsdl/ref/expectedProduct.rb +243 -0
  379. data/test/wsdl/ref/product.wsdl +147 -0
  380. data/test/wsdl/ref/test_ref.rb +268 -0
  381. data/test/wsdl/rpc/rpc.wsdl +109 -0
  382. data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
  383. data/test/wsdl/rpc/test_rpc.rb +176 -0
  384. data/test/wsdl/rpc/test_rpc_lit.rb +470 -0
  385. data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
  386. data/test/wsdl/simplecontent/test_simplecontent.rb +102 -0
  387. data/test/wsdl/simpletype/rpc/echo_version.rb +1 -0
  388. data/test/wsdl/simpletype/rpc/echo_versionDriver.rb +10 -0
  389. data/test/wsdl/simpletype/rpc/echo_versionMappingRegistry.rb +4 -0
  390. data/test/wsdl/simpletype/rpc/echo_versionServant.rb +3 -0
  391. data/test/wsdl/simpletype/rpc/echo_version_service.rb +3 -0
  392. data/test/wsdl/simpletype/rpc/echo_version_serviceClient.rb +34 -0
  393. data/test/wsdl/simpletype/rpc/expectedClient.rb +34 -0
  394. data/test/wsdl/simpletype/rpc/expectedDriver.rb +58 -0
  395. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +36 -0
  396. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +57 -0
  397. data/test/wsdl/simpletype/rpc/expectedServant.rb +32 -0
  398. data/test/wsdl/simpletype/rpc/expectedService.rb +55 -0
  399. data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
  400. data/test/wsdl/simpletype/rpc/test_rpc.rb +52 -0
  401. data/test/wsdl/simpletype/simpletype.wsdl +114 -0
  402. data/test/wsdl/simpletype/test_simpletype.rb +92 -0
  403. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  404. data/test/wsdl/soap/test_soapbodyparts.rb +79 -0
  405. data/test/wsdl/soap/wsdl2ruby/echo_version.rb +1 -0
  406. data/test/wsdl/soap/wsdl2ruby/echo_versionDriver.rb +10 -0
  407. data/test/wsdl/soap/wsdl2ruby/echo_versionMappingRegistry.rb +4 -0
  408. data/test/wsdl/soap/wsdl2ruby/echo_versionServant.rb +3 -0
  409. data/test/wsdl/soap/wsdl2ruby/echo_version_service.cgi +3 -0
  410. data/test/wsdl/soap/wsdl2ruby/echo_version_service.rb +7 -0
  411. data/test/wsdl/soap/wsdl2ruby/echo_version_serviceClient.rb +34 -0
  412. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +21 -0
  413. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +34 -0
  414. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +58 -0
  415. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +36 -0
  416. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +32 -0
  417. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +48 -0
  418. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +55 -0
  419. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  420. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +37 -0
  421. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  422. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +53 -0
  423. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  424. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +83 -0
  425. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +102 -0
  426. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  427. data/test/wsdl/soaptype/test_soaptype.rb +178 -0
  428. data/test/wsdl/test_emptycomplextype.rb +21 -0
  429. data/test/wsdl/test_fault.rb +50 -0
  430. data/test/wsdl/test_multiplefault.rb +41 -0
  431. data/test/xsd/codegen/test_classdef.rb +244 -0
  432. data/test/xsd/noencoding.xml +4 -0
  433. data/test/xsd/test_noencoding.rb +32 -0
  434. data/test/xsd/test_ns.rb +41 -0
  435. data/test/xsd/test_xmlschemaparser.rb +22 -0
  436. data/test/xsd/test_xsd.rb +1638 -0
  437. data/test/xsd/xmllang.xml +43 -0
  438. data/test/xsd/xmlschema.xml +12 -0
  439. data/test/xsd/xsd2ruby/expected_mysample.rb +65 -0
  440. data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +11 -0
  441. data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +51 -0
  442. data/test/xsd/xsd2ruby/section.xsd +49 -0
  443. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +90 -0
  444. metadata +519 -0
@@ -0,0 +1,75 @@
1
+ <?xml version="1.0"?>
2
+ <definitions name="MultipleFaultTest"
3
+ targetNamespace="urn:jp.gr.jin.rrr.example.ele"
4
+ xmlns:tns="urn:jp.gr.jin.rrr.example.ele"
5
+ xmlns:typens="urn:jp.gr.jin.rrr.example.datatypes"
6
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
8
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
9
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
10
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
11
+
12
+ <types>
13
+ <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
14
+ targetNamespace="urn:jp.gr.jin.rrr.example.datatypes">
15
+ <xsd:element name="AuthenticationError" type="tns:AuthenticationError" />
16
+ <xsd:complexType name="AuthenticationError">
17
+ <all>
18
+ <element name="message" type="xsd:string" />
19
+ <element name="backtrace" type="xoapenc:Array" />
20
+ </all>
21
+ </xsd:complexType>
22
+ <xsd:complexType name="AuthorizationError">
23
+ <all>
24
+ <element name="message" type="xsd:string" />
25
+ <element name="backtrace" type="xoapenc:Array" />
26
+ </all>
27
+ </xsd:complexType>
28
+ </xsd:schema>
29
+ </types>
30
+
31
+ <message name="inputmsg"/>
32
+ <message name="outputmsg"/>
33
+ <message name="faultmsg1" >
34
+ <part name="exception" element="typens:AuthenticationError" />
35
+ </message>
36
+ <message name="faultmsg2" >
37
+ <part name="exception" element="typens:AuthorizationError" />
38
+ </message>
39
+
40
+ <portType name="MultipleFaultPortType">
41
+ <operation name="myoperation">
42
+ <input message="tns:inputmsg"/>
43
+ <output message="tns:outputmsg"/>
44
+ <fault name="faultmsg1" message="tns:faultmsg1"/>
45
+ <fault name="faultmsg2" message="tns:faultmsg2"/>
46
+ </operation>
47
+ </portType>
48
+
49
+ <binding name="MultipleFaultBinding" type="tns:MultipleFaultPortType">
50
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
51
+ <operation name="myoperation">
52
+ <soap:operation soapAction="urn:jp.gr.jin.rrr.example.ele"/>
53
+ <input>
54
+ <soap:body use="encoded" namespace="urn:jp.gr.jin.rrr.example.ele"
55
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
56
+ </input>
57
+ <output>
58
+ <soap:body use="encoded" namespace="urn:jp.gr.jin.rrr.example.ele"
59
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
60
+ </output>
61
+ <fault name="faultmsg1">
62
+ <soap:fault name="faultmsg1" use="literal"/>
63
+ </fault>
64
+ <fault name="faultmsg2">
65
+ <soap:fault name="faultmsg2" use="literal"/>
66
+ </fault>
67
+ </operation>
68
+ </binding>
69
+
70
+ <service name="MultipleFaultService">
71
+ <port name="MultipleFaultPortType" binding="tns:MultipleFaultBinding">
72
+ <soap:address location="http://localhost:17171/"/>
73
+ </port>
74
+ </service>
75
+ </definitions>
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <definitions name="oneway" targetNamespace="http://www.example.com/oneway" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.example.com/oneway" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://www.example.com/oneway">
3
+ <types>
4
+ <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://www.example.com/oneway" xmlns="http://www.w3.org/2001/XMLSchema">
5
+ <element name="onewayProcessRequest">
6
+ <complexType>
7
+ <sequence>
8
+ <element name="msg" type="string" nillable="true" />
9
+ </sequence>
10
+ </complexType>
11
+ </element>
12
+ </schema>
13
+ </types>
14
+ <message name="onewayRequestMessage">
15
+ <part name="payload" element="tns:onewayProcessRequest"/>
16
+ </message>
17
+ <portType name="onewayPort">
18
+ <operation name="initiate">
19
+ <input message="tns:onewayRequestMessage"/>
20
+ </operation>
21
+ </portType>
22
+ <binding name="onewayBinding" type="tns:onewayPort">
23
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
24
+ <operation name="initiate">
25
+ <soap:operation style="document" soapAction="initiate"/>
26
+ <input>
27
+ <soap:body use="literal"/>
28
+ </input>
29
+ </operation>
30
+ </binding>
31
+ <service name="onewayService">
32
+ <port name="onewayPort" binding="tns:onewayBinding">
33
+ <soap:address location="http://localhost:1234/soap"/>
34
+ </port>
35
+ </service>
36
+ </definitions>
@@ -0,0 +1,108 @@
1
+ require 'test/unit'
2
+ require 'soap/rpc/standaloneServer'
3
+ require 'wsdl/soap/wsdl2ruby'
4
+ require 'soap/wsdlDriver'
5
+ require File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'testutil.rb')
6
+
7
+
8
+ module WSDL
9
+ module Oneway
10
+
11
+
12
+ class TestOneway < Test::Unit::TestCase
13
+ NS = 'http://www.example.com/oneway'
14
+ class Server < ::SOAP::RPC::StandaloneServer
15
+ Methods = [
16
+ [ "initiate",
17
+ "initiate",
18
+ [ [:in, "payload", ["::SOAP::SOAPElement", "http://www.example.com/oneway", "onewayProcessRequest"]] ],
19
+ { :request_style => :document, :request_use => :literal,
20
+ :response_style => :document, :response_use => nil,
21
+ :faults => {} }
22
+ ]
23
+ ]
24
+
25
+ def on_init
26
+ Methods.each do |definition|
27
+ add_document_operation(self, *definition)
28
+ end
29
+ self.mapping_registry = OnewayMappingRegistry::EncodedRegistry
30
+ self.literal_mapping_registry = OnewayMappingRegistry::LiteralRegistry
31
+ end
32
+
33
+ def initiate(payload)
34
+ raise unless payload.msg
35
+ end
36
+ end
37
+
38
+ DIR = File.dirname(File.expand_path(__FILE__))
39
+
40
+ Port = 17171
41
+
42
+ def setup
43
+ setup_classdef
44
+ setup_server
45
+ @client = nil
46
+ end
47
+
48
+ def teardown
49
+ teardown_server if @server
50
+ unless $DEBUG
51
+ File.unlink(pathname('oneway.rb'))
52
+ File.unlink(pathname('onewayMappingRegistry.rb'))
53
+ File.unlink(pathname('onewayDriver.rb'))
54
+ end
55
+ @client.reset_stream if @client
56
+ end
57
+
58
+ def setup_server
59
+ @server = Server.new('Test', "http://www.example.com/oneway", '0.0.0.0', Port)
60
+ @server.level = Logger::Severity::ERROR
61
+ @server_thread = TestUtil.start_server_thread(@server)
62
+ end
63
+
64
+ def setup_classdef
65
+ gen = WSDL::SOAP::WSDL2Ruby.new
66
+ gen.location = pathname("oneway.wsdl")
67
+ gen.basedir = DIR
68
+ gen.logger.level = Logger::FATAL
69
+ gen.opt['classdef'] = nil
70
+ gen.opt['mapping_registry'] = nil
71
+ gen.opt['driver'] = nil
72
+ gen.opt['force'] = true
73
+ gen.opt['module_path'] = 'WSDL::Oneway'
74
+ gen.run
75
+ TestUtil.require(DIR, 'oneway.rb', 'onewayDriver.rb', 'onewayMappingRegistry.rb')
76
+ end
77
+
78
+ def teardown_server
79
+ @server.shutdown
80
+ @server_thread.kill
81
+ @server_thread.join
82
+ end
83
+
84
+ def pathname(filename)
85
+ File.join(DIR, filename)
86
+ end
87
+
88
+ def test_stub
89
+ @client = OnewayPort.new("http://localhost:#{Port}/")
90
+ @client.wiredump_dev = STDERR if $DEBUG
91
+ # not raised
92
+ @client.initiate(OnewayProcessRequest.new("msg"))
93
+ @client.initiate(OnewayProcessRequest.new(nil))
94
+ end
95
+
96
+ def test_wsdl
97
+ @client = ::SOAP::WSDLDriverFactory.new(pathname('oneway.wsdl')).create_rpc_driver
98
+ @client.endpoint_url = "http://localhost:#{Port}/"
99
+ @client.wiredump_dev = STDERR if $DEBUG
100
+ # not raised
101
+ @client.initiate(OnewayProcessRequest.new("msg"))
102
+ @client.initiate(OnewayProcessRequest.new(nil))
103
+ end
104
+ end
105
+
106
+
107
+ end
108
+ end
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+ require 'defaultDriver.rb'
3
+
4
+ endpoint_url = ARGV.shift
5
+ obj = OverloadServicePortType.new(endpoint_url)
6
+
7
+ # run ruby with -d to see SOAP wiredumps.
8
+ obj.wiredump_dev = STDERR if $DEBUG
9
+
10
+ # SYNOPSIS
11
+ # methodAlpha(in0, in1, in2)
12
+ #
13
+ # ARGS
14
+ # in0 C_String - {http://www.w3.org/2001/XMLSchema}string
15
+ # in1 C_String - {http://www.w3.org/2001/XMLSchema}string
16
+ # in2 C_String - {http://www.w3.org/2001/XMLSchema}string
17
+ #
18
+ # RETURNS
19
+ # methodAlphaReturn Long - {http://www.w3.org/2001/XMLSchema}long
20
+ #
21
+ in0 = in1 = in2 = nil
22
+ puts obj.methodAlpha(in0, in1, in2)
23
+
24
+ # SYNOPSIS
25
+ # methodAlpha_2(in0, in1)
26
+ #
27
+ # ARGS
28
+ # in0 C_String - {http://www.w3.org/2001/XMLSchema}string
29
+ # in1 C_String - {http://www.w3.org/2001/XMLSchema}string
30
+ #
31
+ # RETURNS
32
+ # methodAlphaReturn Long - {http://www.w3.org/2001/XMLSchema}long
33
+ #
34
+ in0 = in1 = nil
35
+ puts obj.methodAlpha_2(in0, in1)
36
+
37
+
@@ -0,0 +1,61 @@
1
+ require 'default.rb'
2
+ require 'defaultMappingRegistry.rb'
3
+ require 'soap/rpc/driver'
4
+
5
+ class OverloadServicePortType < ::SOAP::RPC::Driver
6
+ DefaultEndpointUrl = "http://localhost/"
7
+ NsOverload = "urn:overload"
8
+
9
+ Methods = [
10
+ [ XSD::QName.new(NsOverload, "methodAlpha"),
11
+ "methodAlpha1",
12
+ "methodAlpha",
13
+ [ [:in, "in0", ["::SOAP::SOAPString"]],
14
+ [:in, "in1", ["::SOAP::SOAPString"]],
15
+ [:in, "in2", ["::SOAP::SOAPString"]],
16
+ [:retval, "methodAlphaReturn", ["::SOAP::SOAPLong"]] ],
17
+ { :request_style => :rpc, :request_use => :encoded,
18
+ :response_style => :rpc, :response_use => :encoded,
19
+ :faults => {} }
20
+ ],
21
+ [ XSD::QName.new(NsOverload, "methodAlpha"),
22
+ "methodAlpha2",
23
+ "methodAlpha_2",
24
+ [ [:in, "in0", ["::SOAP::SOAPString"]],
25
+ [:in, "in1", ["::SOAP::SOAPString"]],
26
+ [:retval, "methodAlphaReturn", ["::SOAP::SOAPLong"]] ],
27
+ { :request_style => :rpc, :request_use => :encoded,
28
+ :response_style => :rpc, :response_use => :encoded,
29
+ :faults => {} }
30
+ ]
31
+ ]
32
+
33
+ def initialize(endpoint_url = nil)
34
+ endpoint_url ||= DefaultEndpointUrl
35
+ super(endpoint_url, nil)
36
+ self.mapping_registry = DefaultMappingRegistry::EncodedRegistry
37
+ self.literal_mapping_registry = DefaultMappingRegistry::LiteralRegistry
38
+ init_methods
39
+ end
40
+
41
+ private
42
+
43
+ def init_methods
44
+ Methods.each do |definitions|
45
+ opt = definitions.last
46
+ if opt[:request_style] == :document
47
+ add_document_operation(*definitions)
48
+ else
49
+ add_rpc_operation(*definitions)
50
+ qname = definitions[0]
51
+ name = definitions[2]
52
+ if qname.name != name and qname.name.capitalize == name.capitalize
53
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
54
+ __send__(name, *arg)
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+
@@ -0,0 +1,35 @@
1
+ require 'default.rb'
2
+
3
+ class OverloadServicePortType
4
+ # SYNOPSIS
5
+ # methodAlpha(in0, in1, in2)
6
+ #
7
+ # ARGS
8
+ # in0 C_String - {http://www.w3.org/2001/XMLSchema}string
9
+ # in1 C_String - {http://www.w3.org/2001/XMLSchema}string
10
+ # in2 C_String - {http://www.w3.org/2001/XMLSchema}string
11
+ #
12
+ # RETURNS
13
+ # methodAlphaReturn Long - {http://www.w3.org/2001/XMLSchema}long
14
+ #
15
+ def methodAlpha(in0, in1, in2)
16
+ p [in0, in1, in2]
17
+ raise NotImplementedError.new
18
+ end
19
+
20
+ # SYNOPSIS
21
+ # methodAlpha_2(in0, in1)
22
+ #
23
+ # ARGS
24
+ # in0 C_String - {http://www.w3.org/2001/XMLSchema}string
25
+ # in1 C_String - {http://www.w3.org/2001/XMLSchema}string
26
+ #
27
+ # RETURNS
28
+ # methodAlphaReturn Long - {http://www.w3.org/2001/XMLSchema}long
29
+ #
30
+ def methodAlpha_2(in0, in1)
31
+ p [in0, in1]
32
+ raise NotImplementedError.new
33
+ end
34
+ end
35
+
@@ -0,0 +1,70 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <wsdl:definitions targetNamespace="urn:overload" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:tns="urn:overload" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
+ <wsdl:types>
4
+ <schema targetNamespace="urn:overload" xmlns="http://www.w3.org/2001/XMLSchema">
5
+ <import namespace="http://xml.apache.org/xml-soap"/>
6
+ <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
7
+ </schema>
8
+ </wsdl:types>
9
+
10
+ <wsdl:message name="methodAlphaRequest">
11
+ <wsdl:part name="in0" type="xsd:string"/>
12
+ <wsdl:part name="in1" type="xsd:string"/>
13
+ <wsdl:part name="in2" type="xsd:string"/>
14
+ </wsdl:message>
15
+
16
+ <wsdl:message name="methodAlphaRequest1">
17
+ <wsdl:part name="in0" type="xsd:string"/>
18
+ <wsdl:part name="in1" type="xsd:string"/>
19
+ </wsdl:message>
20
+
21
+ <wsdl:message name="methodAlphaResponse">
22
+ <wsdl:part name="methodAlphaReturn" type="xsd:long"/>
23
+ </wsdl:message>
24
+
25
+ <wsdl:message name="methodAlphaResponse1">
26
+ <wsdl:part name="methodAlphaReturn" type="xsd:long"/>
27
+ </wsdl:message>
28
+
29
+ <wsdl:portType name="OverloadServicePortType">
30
+ <wsdl:operation name="methodAlpha" parameterOrder="in0 in1 in2">
31
+ <wsdl:input message="tns:methodAlphaRequest" name="methodAlphaRequest"/>
32
+ <wsdl:output message="tns:methodAlphaResponse" name="methodAlphaResponse"/>
33
+ </wsdl:operation>
34
+
35
+ <wsdl:operation name="methodAlpha" parameterOrder="in0 in1">
36
+ <wsdl:input message="tns:methodAlphaRequest1" name="methodAlphaRequest1"/>
37
+ <wsdl:output message="tns:methodAlphaResponse1" name="methodAlphaResponse1"/>
38
+ </wsdl:operation>
39
+ </wsdl:portType>
40
+
41
+ <wsdl:binding name="OverloadServiceSoap" type="tns:OverloadServicePortType">
42
+ <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
43
+ <wsdl:operation name="methodAlpha">
44
+ <wsdlsoap:operation soapAction="methodAlpha1"/>
45
+ <wsdl:input name="methodAlphaRequest">
46
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:overload" use="encoded"/>
47
+ </wsdl:input>
48
+ <wsdl:output name="methodAlphaResponse">
49
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:overload" use="encoded"/>
50
+ </wsdl:output>
51
+ </wsdl:operation>
52
+
53
+ <wsdl:operation name="methodAlpha">
54
+ <wsdlsoap:operation soapAction="methodAlpha2"/>
55
+ <wsdl:input name="methodAlphaRequest1">
56
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:overload" use="encoded"/>
57
+ </wsdl:input>
58
+ <wsdl:output name="methodAlphaResponse1">
59
+ <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:overload" use="encoded"/>
60
+ </wsdl:output>
61
+ </wsdl:operation>
62
+ </wsdl:binding>
63
+
64
+ <wsdl:service name="OverloadService">
65
+ <wsdl:port binding="tns:OverloadServiceSoap" name="OverloadServicePort">
66
+ <wsdlsoap:address location="http://localhost/"/>
67
+ </wsdl:port>
68
+ </wsdl:service>
69
+
70
+ </wsdl:definitions>
@@ -0,0 +1,131 @@
1
+ require 'test/unit'
2
+ require 'wsdl/parser'
3
+ require 'wsdl/soap/wsdl2ruby'
4
+ require 'soap/rpc/standaloneServer'
5
+ require 'soap/wsdlDriver'
6
+ require File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'testutil.rb')
7
+
8
+
9
+ module WSDL; module Overload
10
+
11
+
12
+ class TestOverload < Test::Unit::TestCase
13
+ TNS = "urn:overload"
14
+
15
+ Methods = [
16
+ [
17
+ XSD::QName.new(TNS, 'methodAlpha'), "methodAlpha1", "method_alpha_1",
18
+ [ [:in, "in0", ["::SOAP::SOAPString"]],
19
+ [:in, "in1", ["::SOAP::SOAPString"]],
20
+ [:in, "in2", ["::SOAP::SOAPString"]],
21
+ [:retval, "methodAlphaReturn", ["::SOAP::SOAPLong"]] ]
22
+ ],
23
+ [
24
+ XSD::QName.new(TNS, 'methodAlpha'), "methodAlpha2", "method_alpha_2",
25
+ [ [:in, "in0", ["::SOAP::SOAPString"]],
26
+ [:in, "in1", ["::SOAP::SOAPString"]],
27
+ [:retval, "methodAlphaReturn", ["::SOAP::SOAPLong"]] ]
28
+ ]
29
+ ]
30
+
31
+ class Server < ::SOAP::RPC::StandaloneServer
32
+ def on_init
33
+ TestOverload::Methods.each do |definition|
34
+ add_rpc_operation(self, *definition)
35
+ end
36
+ end
37
+
38
+ def method_alpha_1(in0, in1, in2)
39
+ 3
40
+ end
41
+
42
+ def method_alpha_2(in0, in1)
43
+ 2
44
+ end
45
+ end
46
+
47
+ DIR = File.dirname(File.expand_path(__FILE__))
48
+
49
+ Port = 17171
50
+
51
+ def setup
52
+ setup_server
53
+ setup_classdef
54
+ @client = nil
55
+ end
56
+
57
+ def teardown
58
+ teardown_server if @server
59
+ unless $DEBUG
60
+ File.unlink(pathname('default.rb'))
61
+ File.unlink(pathname('defaultMappingRegistry.rb'))
62
+ File.unlink(pathname('defaultDriver.rb'))
63
+ File.unlink(pathname('defaultServant.rb'))
64
+ File.unlink(pathname('OverloadServiceClient.rb'))
65
+ end
66
+ @client.reset_stream if @client
67
+ end
68
+
69
+ def setup_server
70
+ @server = Server.new('Test', "urn:rpc", '0.0.0.0', Port)
71
+ @server.level = Logger::Severity::ERROR
72
+ @server_thread = TestUtil.start_server_thread(@server)
73
+ end
74
+
75
+ def setup_classdef
76
+ gen = WSDL::SOAP::WSDL2Ruby.new
77
+ gen.location = pathname("overload.wsdl")
78
+ gen.basedir = DIR
79
+ gen.logger.level = Logger::FATAL
80
+ gen.opt['classdef'] = nil
81
+ gen.opt['mapping_registry'] = nil
82
+ gen.opt['driver'] = nil
83
+ gen.opt['servant_skelton'] = nil
84
+ gen.opt['client_skelton'] = nil
85
+ gen.opt['force'] = true
86
+ gen.run
87
+ TestUtil.require(DIR, 'default.rb')
88
+ end
89
+
90
+ def teardown_server
91
+ @server.shutdown
92
+ @server_thread.kill
93
+ @server_thread.join
94
+ end
95
+
96
+ def pathname(filename)
97
+ File.join(DIR, filename)
98
+ end
99
+
100
+ def test_compare
101
+ compare("expectedDriver.rb", "defaultDriver.rb")
102
+ compare("expectedServant.rb", "defaultServant.rb")
103
+ compare("expectedClient.rb", "OverloadServiceClient.rb")
104
+ end
105
+
106
+ def test_wsdl
107
+ wsdl = File.join(DIR, 'overload.wsdl')
108
+ @client = ::SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
109
+ @client.endpoint_url = "http://localhost:#{Port}/"
110
+ @client.wiredump_dev = STDOUT if $DEBUG
111
+ assert_equal(3, @client.call("methodAlpha1", "1", "2", "3"))
112
+ assert_equal(2, @client.call("methodAlpha2", "1", "2"))
113
+ end
114
+
115
+ def test_native
116
+ @client = ::SOAP::RPC::Driver.new("http://localhost:#{Port}/")
117
+ Methods.each do |definition|
118
+ @client.add_rpc_operation(*definition)
119
+ end
120
+ @client.wiredump_dev = STDOUT if $DEBUG
121
+ assert_equal(3, @client.call("methodAlpha1", "1", "2", "3"))
122
+ assert_equal(2, @client.call("methodAlpha2", "1", "2"))
123
+ end
124
+
125
+ def compare(expected, actual)
126
+ TestUtil.filecompare(pathname(expected), pathname(actual))
127
+ end
128
+ end
129
+
130
+
131
+ end; end