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,378 @@
1
+ # SOAP4R - RPC element definition.
2
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'soap/baseData'
10
+ require 'soap/rpc/methodDef'
11
+
12
+
13
+ module SOAP
14
+
15
+ # Add method definitions for RPC to common definition in element.rb
16
+ class SOAPBody < SOAPStruct
17
+ public
18
+
19
+ def request
20
+ root_node
21
+ end
22
+
23
+ def response
24
+ root = root_node
25
+ if !@is_fault
26
+ if root.nil?
27
+ nil
28
+ elsif root.is_a?(SOAPBasetype)
29
+ root
30
+ else
31
+ # Initial element is [retval].
32
+ root[0]
33
+ end
34
+ else
35
+ root
36
+ end
37
+ end
38
+
39
+ def outparams
40
+ root = root_node
41
+ if !@is_fault and !root.nil? and !root.is_a?(SOAPBasetype)
42
+ op = root[1..-1]
43
+ op = nil if op && op.empty?
44
+ op
45
+ else
46
+ nil
47
+ end
48
+ end
49
+
50
+ def fault
51
+ if @is_fault
52
+ self['fault']
53
+ else
54
+ nil
55
+ end
56
+ end
57
+
58
+ def fault=(fault)
59
+ @is_fault = true
60
+ add('fault', fault)
61
+ end
62
+ end
63
+
64
+
65
+ module RPC
66
+
67
+
68
+ class RPCError < Error; end
69
+ class MethodDefinitionError < RPCError; end
70
+ class ParameterError < RPCError; end
71
+
72
+ class SOAPMethod < SOAPStruct
73
+ RETVAL = :retval
74
+ IN = :in
75
+ OUT = :out
76
+ INOUT = :inout
77
+
78
+ attr_reader :param_def
79
+ attr_reader :inparam
80
+ attr_reader :outparam
81
+ attr_reader :retval_name
82
+ attr_reader :retval_class_name
83
+
84
+ def initialize(qname, param_def = nil)
85
+ super(nil)
86
+ @elename = qname
87
+ @encodingstyle = nil
88
+
89
+ @param_def = param_def
90
+
91
+ @signature = []
92
+ @inparam_names = []
93
+ @inoutparam_names = []
94
+ @outparam_names = []
95
+
96
+ @inparam = {}
97
+ @outparam = {}
98
+ @retval_name = nil
99
+ @retval_class_name = nil
100
+
101
+ init_params(@param_def) if @param_def
102
+ end
103
+
104
+ def have_member
105
+ true
106
+ end
107
+
108
+ def have_outparam?
109
+ @outparam_names.size > 0
110
+ end
111
+
112
+ def input_params
113
+ collect_params(IN, INOUT)
114
+ end
115
+
116
+ def output_params
117
+ collect_params(OUT, INOUT)
118
+ end
119
+
120
+ def input_param_types
121
+ collect_param_types(IN, INOUT)
122
+ end
123
+
124
+ def output_param_types
125
+ collect_param_types(OUT, INOUT)
126
+ end
127
+
128
+ def set_param(params)
129
+ params.each do |param, data|
130
+ @inparam[param] = data
131
+ data.elename = XSD::QName.new(data.elename.namespace, param)
132
+ data.parent = self
133
+ end
134
+ end
135
+
136
+ def set_outparam(params)
137
+ params.each do |param, data|
138
+ @outparam[param] = data
139
+ data.elename = XSD::QName.new(data.elename.namespace, param)
140
+ end
141
+ end
142
+
143
+ def get_paramtypes(names)
144
+ types = []
145
+ @signature.each do |io_type, name, type_qname|
146
+ if type_qname && idx = names.index(name)
147
+ types[idx] = type_qname
148
+ end
149
+ end
150
+ types
151
+ end
152
+
153
+ def SOAPMethod.param_count(param_def, *type)
154
+ count = 0
155
+ param_def.each do |param|
156
+ param = MethodDef.to_param(param)
157
+ if type.include?(param.io_type.to_sym)
158
+ count += 1
159
+ end
160
+ end
161
+ count
162
+ end
163
+
164
+ def SOAPMethod.derive_rpc_param_def(obj, name, *param)
165
+ if param.size == 1 and param[0].is_a?(Array)
166
+ return param[0]
167
+ end
168
+ if param.empty?
169
+ method = obj.method(name)
170
+ param_names = (1..method.arity.abs).collect { |i| "p#{i}" }
171
+ else
172
+ param_names = param
173
+ end
174
+ create_rpc_param_def(param_names)
175
+ end
176
+
177
+ def SOAPMethod.create_rpc_param_def(param_names)
178
+ param_def = []
179
+ param_names.each do |param_name|
180
+ param_def.push([IN, param_name, nil])
181
+ end
182
+ param_def.push([RETVAL, 'return', nil])
183
+ param_def
184
+ end
185
+
186
+ def SOAPMethod.create_doc_param_def(req_qnames, res_qnames)
187
+ req_qnames = [req_qnames] if req_qnames.is_a?(XSD::QName)
188
+ res_qnames = [res_qnames] if res_qnames.is_a?(XSD::QName)
189
+ param_def = []
190
+ # req_qnames and res_qnames can be nil
191
+ if req_qnames
192
+ req_qnames.each do |qname|
193
+ param_def << [IN, qname.name, [nil, qname.namespace, qname.name]]
194
+ end
195
+ end
196
+ if res_qnames
197
+ res_qnames.each do |qname|
198
+ param_def << [OUT, qname.name, [nil, qname.namespace, qname.name]]
199
+ end
200
+ end
201
+ param_def
202
+ end
203
+
204
+ private
205
+
206
+ def collect_param_types(*type)
207
+ names = []
208
+ @signature.each do |io_type, name, type_qname|
209
+ names << type_qname if type.include?(io_type)
210
+ end
211
+ names
212
+ end
213
+
214
+ def collect_params(*type)
215
+ names = []
216
+ @signature.each do |io_type, name, type_qname|
217
+ names << name if type.include?(io_type)
218
+ end
219
+ names
220
+ end
221
+
222
+ def init_params(param_def)
223
+ param_def.each do |param|
224
+ param = MethodDef.to_param(param)
225
+ init_param(param)
226
+ end
227
+ end
228
+
229
+ def init_param(param)
230
+ mapped_class = SOAPMethod.parse_mapped_class(param.mapped_class)
231
+ qname = param.qname
232
+ if qname.nil? and mapped_class
233
+ <<<<<<< HEAD
234
+ qname = TypeMap.index(mapped_class)
235
+ =======
236
+ qname = TypeMap.key(mapped_class)
237
+ >>>>>>> 0a6c76d203f00369a454de755d1da8830a76210f
238
+ end
239
+ case param.io_type
240
+ when IN
241
+ @signature.push([IN, param.name, qname])
242
+ @inparam_names.push(param.name)
243
+ when OUT
244
+ @signature.push([OUT, param.name, qname])
245
+ @outparam_names.push(param.name)
246
+ when INOUT
247
+ @signature.push([INOUT, param.name, qname])
248
+ @inoutparam_names.push(param.name)
249
+ when RETVAL
250
+ if @retval_name
251
+ raise MethodDefinitionError.new('duplicated retval')
252
+ end
253
+ @retval_name = param.name
254
+ @retval_class_name = mapped_class
255
+ else
256
+ raise MethodDefinitionError.new("unknown type: #{param.io_type}")
257
+ end
258
+ end
259
+
260
+ def self.parse_mapped_class(mapped_class)
261
+ # the first element of typedef in param_def can be a String like
262
+ # "::SOAP::SOAPStruct" or "CustomClass[]". turn this String to a class if
263
+ # we can.
264
+ if mapped_class.is_a?(String)
265
+ if /\[\]\Z/ =~ mapped_class
266
+ # when '[]' is added, ignore this.
267
+ mapped_class = nil
268
+ else
269
+ mapped_class = Mapping.class_from_name(mapped_class)
270
+ end
271
+ end
272
+ mapped_class
273
+ end
274
+ end
275
+
276
+
277
+ class SOAPMethodRequest < SOAPMethod
278
+ attr_accessor :soapaction
279
+
280
+ def SOAPMethodRequest.create_request(qname, *params)
281
+ param_def = []
282
+ param_value = []
283
+ i = 0
284
+ params.each do |param|
285
+ param_name = "p#{i}"
286
+ i += 1
287
+ param_def << [IN, param_name, nil]
288
+ param_value << [param_name, param]
289
+ end
290
+ param_def << [RETVAL, 'return', nil]
291
+ o = new(qname, param_def)
292
+ o.set_param(param_value)
293
+ o
294
+ end
295
+
296
+ def initialize(qname, param_def = nil, soapaction = nil)
297
+ super(qname, param_def)
298
+ @soapaction = soapaction
299
+ end
300
+
301
+ def each
302
+ input_params.each do |name|
303
+ unless @inparam[name]
304
+ raise ParameterError.new("parameter: #{name} was not given")
305
+ end
306
+ yield(name, @inparam[name])
307
+ end
308
+ end
309
+
310
+ def dup
311
+ req = self.class.new(@elename.dup, @param_def, @soapaction)
312
+ req.encodingstyle = @encodingstyle
313
+ req
314
+ end
315
+
316
+ def create_method_response(response_name = nil)
317
+ response_name ||=
318
+ XSD::QName.new(@elename.namespace, @elename.name + 'Response')
319
+ SOAPMethodResponse.new(response_name, @param_def)
320
+ end
321
+ end
322
+
323
+
324
+ class SOAPMethodResponse < SOAPMethod
325
+
326
+ def initialize(qname, param_def = nil)
327
+ super(qname, param_def)
328
+ @retval = nil
329
+ end
330
+
331
+ def retval
332
+ @retval
333
+ end
334
+
335
+ def retval=(retval)
336
+ @retval = retval
337
+ @retval.elename = @retval.elename.dup_name(@retval_name || 'return')
338
+ retval.parent = self
339
+ retval
340
+ end
341
+
342
+ def each
343
+ if @retval_name and !@retval.is_a?(SOAPVoid)
344
+ yield(@retval_name, @retval)
345
+ end
346
+
347
+ output_params.each do |name|
348
+ unless @outparam[name]
349
+ raise ParameterError.new("parameter: #{name} was not given")
350
+ end
351
+ yield(name, @outparam[name])
352
+ end
353
+ end
354
+ end
355
+
356
+
357
+ # To return(?) void explicitly.
358
+ # def foo(input_var)
359
+ # ...
360
+ # return SOAP::RPC::SOAPVoid.new
361
+ # end
362
+ class SOAPVoid < XSD::XSDAnySimpleType
363
+ include SOAPBasetype
364
+ extend SOAPModuleUtils
365
+ Name = XSD::QName.new(Mapping::RubyCustomTypeNamespace, nil)
366
+
367
+ public
368
+ def initialize()
369
+ @elename = Name
370
+ @id = nil
371
+ @precedents = []
372
+ @parent = nil
373
+ end
374
+ end
375
+
376
+
377
+ end
378
+ end
@@ -0,0 +1,142 @@
1
+ # SOAP4R - WEBrick HTTP Server
2
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'logger'
10
+ require 'soap/attrproxy'
11
+ require 'soap/rpc/soaplet'
12
+ require 'soap/streamHandler'
13
+ require 'webrick'
14
+
15
+
16
+ module SOAP
17
+ module RPC
18
+
19
+
20
+ class HTTPServer < Logger::Application
21
+ include AttrProxy
22
+
23
+ attr_reader :server
24
+ attr_accessor :default_namespace
25
+
26
+ attr_proxy :mapping_registry, true
27
+ attr_proxy :literal_mapping_registry, true
28
+ attr_proxy :generate_explicit_type, true
29
+ attr_proxy :use_default_namespace, true
30
+
31
+ def initialize(config)
32
+ actor = config[:SOAPHTTPServerApplicationName] || self.class.name
33
+ super(actor)
34
+ @default_namespace = config[:SOAPDefaultNamespace]
35
+ @webrick_config = config.dup
36
+ self.level = Logger::Severity::ERROR # keep silent by default
37
+ @webrick_config[:Logger] ||= @log
38
+ @log = @webrick_config[:Logger] # sync logger of App and HTTPServer
39
+ @router = ::SOAP::RPC::Router.new(actor)
40
+ @soaplet = ::SOAP::RPC::SOAPlet.new(@router)
41
+ on_init
42
+ @server = WEBrick::HTTPServer.new(@webrick_config)
43
+ @server.mount('/soaprouter', @soaplet)
44
+ if wsdldir = config[:WSDLDocumentDirectory]
45
+ @server.mount('/wsdl', WEBrick::HTTPServlet::FileHandler, wsdldir)
46
+ end
47
+ @server.mount('/', @soaplet)
48
+ end
49
+
50
+ def on_init
51
+ # do extra initialization in a derived class if needed.
52
+ end
53
+
54
+ def status
55
+ @server.status if @server
56
+ end
57
+
58
+ def shutdown
59
+ @server.shutdown if @server
60
+ end
61
+
62
+ def authenticator
63
+ @soaplet.authenticator
64
+ end
65
+
66
+ def authenticator=(authenticator)
67
+ @soaplet.authenticator = authenticator
68
+ end
69
+
70
+ # servant entry interface
71
+
72
+ def add_rpc_request_servant(factory, namespace = @default_namespace)
73
+ @router.add_rpc_request_servant(factory, namespace)
74
+ end
75
+
76
+ def add_rpc_servant(obj, namespace = @default_namespace)
77
+ @router.add_rpc_servant(obj, namespace)
78
+ end
79
+
80
+ def add_request_headerhandler(factory)
81
+ @router.add_request_headerhandler(factory)
82
+ end
83
+
84
+ def add_headerhandler(obj)
85
+ @router.add_headerhandler(obj)
86
+ end
87
+ alias add_rpc_headerhandler add_headerhandler
88
+
89
+ def filterchain
90
+ @router.filterchain
91
+ end
92
+
93
+ # method entry interface
94
+
95
+ def add_rpc_method(obj, name, *param)
96
+ add_rpc_method_as(obj, name, name, *param)
97
+ end
98
+ alias add_method add_rpc_method
99
+
100
+ def add_rpc_method_as(obj, name, name_as, *param)
101
+ qname = XSD::QName.new(@default_namespace, name_as)
102
+ soapaction = nil
103
+ param_def = SOAPMethod.derive_rpc_param_def(obj, name, *param)
104
+ @router.add_rpc_operation(obj, qname, soapaction, name, param_def)
105
+ end
106
+ alias add_method_as add_rpc_method_as
107
+
108
+ def add_document_method(obj, soapaction, name, req_qnames, res_qnames)
109
+ param_def = SOAPMethod.create_doc_param_def(req_qnames, res_qnames)
110
+ @router.add_document_operation(obj, soapaction, name, param_def)
111
+ end
112
+
113
+ def add_rpc_operation(receiver, qname, soapaction, name, param_def, opt = {})
114
+ @router.add_rpc_operation(receiver, qname, soapaction, name, param_def, opt)
115
+ end
116
+
117
+ def add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt = {})
118
+ @router.add_rpc_request_operation(factory, qname, soapaction, name, param_def, opt)
119
+ end
120
+
121
+ def add_document_operation(receiver, soapaction, name, param_def, opt = {})
122
+ @router.add_document_operation(receiver, soapaction, name, param_def, opt)
123
+ end
124
+
125
+ def add_document_request_operation(factory, soapaction, name, param_def, opt = {})
126
+ @router.add_document_request_operation(factory, soapaction, name, param_def, opt)
127
+ end
128
+
129
+ private
130
+
131
+ def attrproxy
132
+ @router
133
+ end
134
+
135
+ def run
136
+ @server.start
137
+ end
138
+ end
139
+
140
+
141
+ end
142
+ end