rtiss_soap4r 1.6.0

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