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,57 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'soap/rpc/driver'
5
+ TestUtil.require(File.dirname(__FILE__), 'server2.rb')
6
+
7
+
8
+ module SOAP
9
+ module Calc
10
+
11
+
12
+ class TestCalc2 < Test::Unit::TestCase
13
+ Port = 17171
14
+
15
+ def setup
16
+ @server = CalcServer2.new('CalcServer', 'http://tempuri.org/calcService', '0.0.0.0', Port)
17
+ @server.level = Logger::Severity::ERROR
18
+ @t = Thread.new {
19
+ Thread.current.abort_on_exception = true
20
+ @server.start
21
+ }
22
+ @endpoint = "http://localhost:#{Port}/"
23
+ @var = SOAP::RPC::Driver.new(@endpoint, 'http://tempuri.org/calcService')
24
+ @var.wiredump_dev = STDERR if $DEBUG
25
+ @var.add_method('set_value', 'newValue')
26
+ @var.add_method('get_value')
27
+ @var.add_method_as('+', 'add', 'rhs')
28
+ @var.add_method_as('-', 'sub', 'rhs')
29
+ @var.add_method_as('*', 'multi', 'rhs')
30
+ @var.add_method_as('/', 'div', 'rhs')
31
+ end
32
+
33
+ def teardown
34
+ @server.shutdown if @server
35
+ if @t
36
+ @t.kill
37
+ @t.join
38
+ end
39
+ @var.reset_stream if @var
40
+ end
41
+
42
+ def test_calc2
43
+ assert_equal(1, @var.set_value(1))
44
+ assert_equal(3, @var + 2)
45
+ assert_equal(-1.2, @var - 2.2)
46
+ assert_equal(2.2, @var * 2.2)
47
+ assert_equal(0, @var / 2)
48
+ assert_equal(0.5, @var / 2.0)
49
+ assert_raises(ZeroDivisionError) do
50
+ @var / 0
51
+ end
52
+ end
53
+ end
54
+
55
+
56
+ end
57
+ end
@@ -0,0 +1,72 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/rpc/driver'
4
+ require 'logger'
5
+ require 'webrick'
6
+ require 'rbconfig'
7
+
8
+
9
+ module SOAP
10
+ module Calc
11
+
12
+
13
+ class TestCalcCGI < Test::Unit::TestCase
14
+ # This test shuld be run after installing ruby.
15
+ RUBYBIN = File.join(
16
+ Config::CONFIG["bindir"],
17
+ Config::CONFIG["ruby_install_name"] + Config::CONFIG["EXEEXT"]
18
+ )
19
+ RUBYBIN << " -d" if $DEBUG
20
+
21
+ Port = 17171
22
+
23
+ def setup
24
+ logger = Logger.new(STDERR)
25
+ logger.level = Logger::Severity::ERROR
26
+ @server = WEBrick::HTTPServer.new(
27
+ :BindAddress => "0.0.0.0",
28
+ :Logger => logger,
29
+ :Port => Port,
30
+ :AccessLog => [],
31
+ :DocumentRoot => File.dirname(File.expand_path(__FILE__)),
32
+ :CGIPathEnv => ENV['PATH'],
33
+ :CGIInterpreter => RUBYBIN
34
+ )
35
+ @t = Thread.new {
36
+ Thread.current.abort_on_exception = true
37
+ @server.start
38
+ }
39
+ @endpoint = "http://localhost:#{Port}/server.cgi"
40
+ @calc = SOAP::RPC::Driver.new(@endpoint, 'http://tempuri.org/calcService')
41
+ @calc.wiredump_dev = STDERR if $DEBUG
42
+ @calc.add_method('add', 'lhs', 'rhs')
43
+ @calc.add_method('sub', 'lhs', 'rhs')
44
+ @calc.add_method('multi', 'lhs', 'rhs')
45
+ @calc.add_method('div', 'lhs', 'rhs')
46
+ end
47
+
48
+ def teardown
49
+ @server.shutdown if @server
50
+ if @t
51
+ @t.kill
52
+ @t.join
53
+ end
54
+ @calc.reset_stream if @calc
55
+ end
56
+
57
+ def test_calc_cgi
58
+ assert_equal(3, @calc.add(1, 2))
59
+ assert_equal(-1.1, @calc.sub(1.1, 2.2))
60
+ assert_equal(2.42, @calc.multi(1.1, 2.2))
61
+ assert_equal(2, @calc.div(5, 2))
62
+ assert_equal(2.5, @calc.div(5.0, 2))
63
+ assert_equal(1.0/0.0, @calc.div(1.1, 0))
64
+ assert_raises(ZeroDivisionError) do
65
+ @calc.div(1, 0)
66
+ end
67
+ end
68
+ end
69
+
70
+
71
+ end
72
+ end
@@ -0,0 +1,58 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/marshal'
4
+
5
+
6
+ module SOAP; module Case
7
+
8
+ # {urn:TruckMateTypes}TTMHeader
9
+ class TTMHeader
10
+ @@schema_type = "TTMHeader"
11
+ @@schema_ns = "urn:TruckMateTypes"
12
+ @@schema_element = [
13
+ ["dSN", ["SOAP::SOAPString", XSD::QName.new(nil, "DSN")]],
14
+ ["password", ["SOAP::SOAPString", XSD::QName.new(nil, "Password")]],
15
+ ["schema", ["SOAP::SOAPString", XSD::QName.new(nil, "Schema")]],
16
+ ["username", ["SOAP::SOAPString", XSD::QName.new(nil, "Username")]]
17
+ ]
18
+
19
+ attr_accessor :dSN
20
+ attr_accessor :password
21
+ attr_accessor :schema
22
+ attr_accessor :username
23
+
24
+ def initialize(dSN = nil, password = nil, schema = nil, username = nil)
25
+ @dSN = dSN
26
+ @password = password
27
+ @schema = schema
28
+ @username = username
29
+ end
30
+ end
31
+
32
+
33
+ class TestMapping < Test::Unit::TestCase
34
+ def test_mapping
35
+ dump = <<__XML__.chomp
36
+ <?xml version="1.0" encoding="utf-8" ?>
37
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
38
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
39
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
40
+ <env:Body>
41
+ <SOAP..Case..TTMHeader xmlns:n1="urn:TruckMateTypes"
42
+ xsi:type="n1:TTMHeader"
43
+ env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
44
+ <DSN xsi:type="xsd:string">dsn</DSN>
45
+ <Password xsi:type="xsd:string">password</Password>
46
+ <Schema xsi:type="xsd:string">schema</Schema>
47
+ <Username xsi:type="xsd:string">username</Username>
48
+ </SOAP..Case..TTMHeader>
49
+ </env:Body>
50
+ </env:Envelope>
51
+ __XML__
52
+ o = TTMHeader.new("dsn", "password", "schema", "username")
53
+ assert_xml_equal(dump, SOAP::Marshal.dump(o))
54
+ end
55
+ end
56
+
57
+
58
+ end; end
@@ -0,0 +1,61 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/rpc/driver'
4
+ require 'soap/rpc/standaloneServer'
5
+
6
+
7
+ module SOAP
8
+ module Fault
9
+
10
+
11
+ class TestCustomFault < Test::Unit::TestCase
12
+ Port = 17171
13
+
14
+ class CustomFaultServer < SOAP::RPC::StandaloneServer
15
+ def on_init
16
+ add_method(self, 'fault', 'msg')
17
+ end
18
+
19
+ def fault(msg)
20
+ SOAPFault.new(SOAPString.new("mycustom"),
21
+ SOAPString.new("error: #{msg}"),
22
+ SOAPString.new(self.class.name))
23
+ end
24
+ end
25
+
26
+ def setup
27
+ @server = CustomFaultServer.new('customfault', 'urn:customfault', '0.0.0.0', Port)
28
+ @server.level = Logger::Severity::ERROR
29
+ @t = Thread.new {
30
+ Thread.current.abort_on_exception = true
31
+ @server.start
32
+ }
33
+ @endpoint = "http://localhost:#{Port}/"
34
+ @client = SOAP::RPC::Driver.new(@endpoint, 'urn:customfault')
35
+ @client.wiredump_dev = STDERR if $DEBUG
36
+ @client.add_method("fault", "msg")
37
+ end
38
+
39
+ def teardown
40
+ @server.shutdown if @server
41
+ if @t
42
+ @t.kill
43
+ @t.join
44
+ end
45
+ @client.reset_stream if @client
46
+ end
47
+
48
+ def test_custom_fault
49
+ begin
50
+ @client.fault("message")
51
+ assert(false, 'exception not raised')
52
+ rescue SOAP::FaultError => e
53
+ assert(true, 'exception raised')
54
+ assert_equal('error: message', e.message)
55
+ end
56
+ end
57
+ end
58
+
59
+
60
+ end
61
+ end
@@ -0,0 +1,47 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/rpc/driver'
4
+ require 'soap/rpc/standaloneServer'
5
+
6
+
7
+ module SOAP
8
+ module Fault
9
+
10
+
11
+ class TestFault < Test::Unit::TestCase
12
+
13
+ def setup
14
+ @client = SOAP::RPC::Driver.new(nil, 'urn:fault')
15
+ @client.wiredump_dev = STDERR if $DEBUG
16
+ @client.add_method("hello", "msg")
17
+ end
18
+
19
+ def teardown
20
+ @client.reset_stream if @client
21
+ end
22
+
23
+ def test_fault
24
+ @client.mapping_registry = SOAP::Mapping::EncodedRegistry.new
25
+ @client.test_loopback_response << <<__XML__
26
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
27
+ <soap:Body>
28
+ <soap:Fault>
29
+ <faultcode>soap:Server</faultcode>
30
+ <faultstring>DN cannot be empty</faultstring>
31
+ <detail />
32
+ </soap:Fault>
33
+ </soap:Body>
34
+ </soap:Envelope>
35
+ __XML__
36
+ begin
37
+ @client.hello("world")
38
+ assert(false)
39
+ rescue ::SOAP::FaultError => e
40
+ assert_equal("DN cannot be empty", e.message)
41
+ end
42
+ end
43
+ end
44
+
45
+
46
+ end
47
+ end
@@ -0,0 +1,36 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/rpc/router'
4
+ require 'soap/mapping/mapping'
5
+ require 'soap/processor'
6
+
7
+
8
+ module SOAP
9
+ module Fault
10
+
11
+
12
+ class TestSOAPArray < Test::Unit::TestCase
13
+
14
+ # simulate the soap fault creation and parsing on the client
15
+ def test_parse_fault
16
+ router = SOAP::RPC::Router.new('parse_SOAPArray_error')
17
+ soap_fault = pump_stack rescue router.create_fault_response($!)
18
+ env = SOAP::Processor.unmarshal(soap_fault.send_string)
19
+ soap_fault = SOAP::FaultError.new(env.body.fault)
20
+ # in literal service, RuntimeError is raised (not an ArgumentError)
21
+ # any chance to use Ruby's exception encoding in literal service?
22
+ assert_raises(RuntimeError) do
23
+ registry = SOAP::Mapping::LiteralRegistry.new
24
+ SOAP::Mapping.fault2exception(soap_fault, registry)
25
+ end
26
+ end
27
+
28
+ def pump_stack(max = 0)
29
+ raise ArgumentError if max > 10
30
+ pump_stack(max+1)
31
+ end
32
+ end
33
+
34
+
35
+ end
36
+ end
@@ -0,0 +1,147 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/rpc/driver'
4
+ require 'soap/rpc/standaloneServer'
5
+ require 'soap/filter'
6
+
7
+
8
+ module SOAP
9
+ module Filter
10
+
11
+
12
+ class TestFilter < Test::Unit::TestCase
13
+ Port = 17171
14
+ PortName = 'http://tempuri.org/filterPort'
15
+
16
+ class FilterTestServer < SOAP::RPC::StandaloneServer
17
+ class Servant
18
+ def self.create
19
+ new
20
+ end
21
+
22
+ def echo(amt)
23
+ amt
24
+ end
25
+ end
26
+
27
+ class ServerFilter1 < SOAP::Filter::Handler
28
+ # 15 -> 30
29
+ def on_outbound(envelope, opt)
30
+ unless envelope.body.is_fault
31
+ node = envelope.body.root_node
32
+ node.retval = SOAPInt.new(node.retval.data * 2)
33
+ node.elename = XSD::QName.new(nil, 'return')
34
+ end
35
+ envelope
36
+ end
37
+
38
+ # 4 -> 5
39
+ def on_inbound(xml, opt)
40
+ xml = xml.sub(/4/, '5')
41
+ xml
42
+ end
43
+ end
44
+
45
+ class ServerFilter2 < SOAP::Filter::Handler
46
+ # 5 -> 15
47
+ def on_outbound(envelope, opt)
48
+ unless envelope.body.is_fault
49
+ node = envelope.body.root_node
50
+ node.retval = SOAPInt.new(node.retval.data + 10)
51
+ node.elename = XSD::QName.new(nil, 'return')
52
+ end
53
+ envelope
54
+ end
55
+
56
+ # 5 -> 6
57
+ def on_inbound(xml, opt)
58
+ xml = xml.sub(/5/, '6')
59
+ xml
60
+ end
61
+ end
62
+
63
+ def initialize(*arg)
64
+ super
65
+ add_rpc_servant(Servant.new, PortName)
66
+ self.filterchain << ServerFilter1.new
67
+ self.filterchain << ServerFilter2.new
68
+ end
69
+ end
70
+
71
+ def setup
72
+ @endpoint = "http://localhost:#{Port}/"
73
+ setup_server
74
+ setup_client
75
+ end
76
+
77
+ def setup_server
78
+ @server = FilterTestServer.new(self.class.name, nil, '0.0.0.0', Port)
79
+ @server.level = Logger::Severity::ERROR
80
+ @t = Thread.new {
81
+ @server.start
82
+ }
83
+ end
84
+
85
+ def setup_client
86
+ @client = SOAP::RPC::Driver.new(@endpoint, PortName)
87
+ @client.wiredump_dev = STDERR if $DEBUG
88
+ @client.add_method('echo', 'amt')
89
+ end
90
+
91
+ def teardown
92
+ teardown_server if @server
93
+ teardown_client if @client
94
+ end
95
+
96
+ def teardown_server
97
+ @server.shutdown
98
+ @t.kill
99
+ @t.join
100
+ end
101
+
102
+ def teardown_client
103
+ @client.reset_stream
104
+ end
105
+
106
+ class ClientFilter1 < SOAP::Filter::Handler
107
+ # 1 -> 2
108
+ def on_outbound(envelope, opt)
109
+ param = envelope.body.root_node.inparam
110
+ param["amt"] = SOAPInt.new(param["amt"].data + 1)
111
+ param["amt"].elename = XSD::QName.new(nil, 'amt')
112
+ envelope
113
+ end
114
+
115
+ # 31 -> 32
116
+ def on_inbound(xml, opt)
117
+ xml = xml.sub(/31/, '32')
118
+ xml
119
+ end
120
+ end
121
+
122
+ class ClientFilter2 < SOAP::Filter::Handler
123
+ # 2 -> 4
124
+ def on_outbound(envelope, opt)
125
+ param = envelope.body.root_node.inparam
126
+ param["amt"] = SOAPInt.new(param["amt"].data * 2)
127
+ param["amt"].elename = XSD::QName.new(nil, 'amt')
128
+ envelope
129
+ end
130
+
131
+ # 30 -> 31
132
+ def on_inbound(xml, opt)
133
+ xml = xml.sub(/30/, '31')
134
+ xml
135
+ end
136
+ end
137
+
138
+ def test_call
139
+ @client.filterchain << ClientFilter1.new
140
+ @client.filterchain << ClientFilter2.new
141
+ assert_equal(32, @client.echo(1))
142
+ end
143
+ end
144
+
145
+
146
+ end
147
+ end
@@ -0,0 +1,121 @@
1
+ # encoding: ASCII-8BIT
2
+ $:.unshift File.expand_path(File.dirname(__FILE__)+'/../../../lib')
3
+ require 'pstore'
4
+ require 'soap/rpc/cgistub'
5
+ require 'soap/header/simplehandler'
6
+
7
+
8
+ class AuthHeaderPortServer < SOAP::RPC::CGIStub
9
+ PortName = 'http://tempuri.org/authHeaderPort'
10
+ SupportPortName = 'http://tempuri.org/authHeaderSupportPort'
11
+ MyHeaderName = XSD::QName.new("http://tempuri.org/authHeader", "auth")
12
+ SessionDB = File.join(File.expand_path(File.dirname(__FILE__)), 'session.pstoredb')
13
+
14
+ class AuthHeaderService
15
+ def self.create
16
+ new
17
+ end
18
+
19
+ def deposit(amt)
20
+ "deposit #{amt} OK"
21
+ end
22
+
23
+ def withdrawal(amt)
24
+ "withdrawal #{amt} OK"
25
+ end
26
+ end
27
+
28
+ class AuthHeaderSupportService
29
+ def delete_sessiondb
30
+ File.unlink(SessionDB) if File.file?(SessionDB)
31
+ backup = SessionDB + "~"
32
+ File.unlink(backup) if File.file?(backup)
33
+ end
34
+ end
35
+
36
+ def initialize(*arg)
37
+ super
38
+ add_rpc_servant(AuthHeaderService.new, PortName)
39
+ add_rpc_servant(AuthHeaderSupportService.new, SupportPortName)
40
+ add_rpc_headerhandler(ServerAuthHeaderHandler.new)
41
+ end
42
+
43
+ class ServerAuthHeaderHandler < SOAP::Header::SimpleHandler
44
+ Users = {
45
+ 'NaHi' => 'passwd',
46
+ 'HiNa' => 'wspass'
47
+ }
48
+
49
+ def initialize
50
+ super(MyHeaderName)
51
+ @db = PStore.new(SessionDB)
52
+ @db.transaction do
53
+ @db["root"] = {} unless @db.root?("root")
54
+ end
55
+ @userid = @sessionid = nil
56
+ end
57
+
58
+ def login(userid, passwd)
59
+ userid and passwd and Users[userid] == passwd
60
+ end
61
+
62
+ def auth(sessionid)
63
+ in_sessiondb do |root|
64
+ root[sessionid][0]
65
+ end
66
+ end
67
+
68
+ def create_session(userid)
69
+ in_sessiondb do |root|
70
+ while true
71
+ key = create_sessionkey
72
+ break unless root[key]
73
+ end
74
+ root[key] = [userid]
75
+ key
76
+ end
77
+ end
78
+
79
+ def destroy_session(sessionkey)
80
+ in_sessiondb do |root|
81
+ root.delete(sessionkey)
82
+ end
83
+ end
84
+
85
+ def on_simple_outbound
86
+ { "sessionid" => @sessionid }
87
+ end
88
+
89
+ def on_simple_inbound(my_header, mu)
90
+ succeeded = false
91
+ userid = my_header["userid"]
92
+ passwd = my_header["passwd"]
93
+ if login(userid, passwd)
94
+ succeeded = true
95
+ elsif sessionid = my_header["sessionid"]
96
+ if userid = auth(sessionid)
97
+ destroy_session(sessionid)
98
+ succeeded = true
99
+ end
100
+ end
101
+ raise RuntimeError.new("authentication failed") unless succeeded
102
+ @userid = userid
103
+ @sessionid = create_session(userid)
104
+ end
105
+
106
+ private
107
+
108
+ def create_sessionkey
109
+ Time.now.usec.to_s
110
+ end
111
+
112
+ def in_sessiondb
113
+ @db.transaction do
114
+ yield(@db["root"])
115
+ end
116
+ end
117
+ end
118
+ end
119
+
120
+
121
+ status = AuthHeaderPortServer.new('AuthHeaderPortServer', nil).start