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,26 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ASCII-8BIT
3
+
4
+ $KCODE = "UTF8" # Set $KCODE before loading 'soap/xmlparser'.
5
+
6
+ require 'soap/standaloneServer'
7
+ require 'servant'
8
+
9
+ class App < SOAP::StandaloneServer
10
+ def initialize( *arg )
11
+ super( *arg )
12
+
13
+ # Explicit definition
14
+ servant = Sm11PortType.new
15
+ Sm11PortType::Methods.each do | methodNameAs, methodName, params, soapAction, namespace |
16
+ addMethodWithNSAs( namespace, servant, methodName, methodNameAs, params, soapAction )
17
+ end
18
+ # Easy way to add all methods.
19
+ addServant( Sm11PortType.new )
20
+
21
+ self.mappingRegistry = Sm11PortType::MappingRegistry
22
+ self.level = Logger::Severity::ERROR
23
+ end
24
+ end
25
+
26
+ App.new( 'App', nil, '0.0.0.0', 10080 ).start
@@ -0,0 +1,96 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
3
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
4
+ xmlns:s="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
6
+ xmlns:tns="http://localhost/WebService/"
7
+ xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
8
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
9
+ targetNamespace="http://localhost/WebService/"
10
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
11
+ <wsdl:types>
12
+ <s:schema elementFormDefault="qualified"
13
+ targetNamespace="http://localhost/WebService/">
14
+ <s:element name="HelloWorld">
15
+ <s:complexType />
16
+ </s:element>
17
+ <s:element name="HelloWorldResponse">
18
+ <s:complexType>
19
+ <s:sequence>
20
+ <s:element minOccurs="0" maxOccurs="1"
21
+ name="HelloWorldResult" type="s:string" />
22
+ </s:sequence>
23
+ </s:complexType>
24
+ </s:element>
25
+ <s:element name="SayHello">
26
+ <s:complexType>
27
+ <s:sequence>
28
+ <s:element minOccurs="0" maxOccurs="1" name="name"
29
+ type="s:string" />
30
+ </s:sequence>
31
+ </s:complexType>
32
+ </s:element>
33
+ <s:element name="SayHelloResponse">
34
+ <s:complexType>
35
+ <s:sequence>
36
+ <s:element minOccurs="0" maxOccurs="1"
37
+ name="SayHelloResult" type="s:string" />
38
+ </s:sequence>
39
+ </s:complexType>
40
+ </s:element>
41
+ </s:schema>
42
+ </wsdl:types>
43
+ <wsdl:message name="HelloWorldSoapIn">
44
+ <wsdl:part name="parameters" element="tns:HelloWorld" />
45
+ </wsdl:message>
46
+ <wsdl:message name="HelloWorldSoapOut">
47
+ <wsdl:part name="parameters" element="tns:HelloWorldResponse" />
48
+ </wsdl:message>
49
+ <wsdl:message name="SayHelloSoapIn">
50
+ <wsdl:part name="parameters" element="tns:SayHello" />
51
+ </wsdl:message>
52
+ <wsdl:message name="SayHelloSoapOut">
53
+ <wsdl:part name="parameters" element="tns:SayHelloResponse" />
54
+ </wsdl:message>
55
+ <wsdl:portType name="Service1Soap">
56
+ <wsdl:operation name="HelloWorld">
57
+ <wsdl:input message="tns:HelloWorldSoapIn" />
58
+ <wsdl:output message="tns:HelloWorldSoapOut" />
59
+ </wsdl:operation>
60
+ <wsdl:operation name="SayHello">
61
+ <wsdl:input message="tns:SayHelloSoapIn" />
62
+ <wsdl:output message="tns:SayHelloSoapOut" />
63
+ </wsdl:operation>
64
+ </wsdl:portType>
65
+ <wsdl:binding name="Service1Soap" type="tns:Service1Soap">
66
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
67
+ style="document" />
68
+ <wsdl:operation name="HelloWorld">
69
+ <soap:operation
70
+ soapAction="http://localhost/WebService/HelloWorld" style="document" />
71
+ <wsdl:input>
72
+ <soap:body use="literal" />
73
+ </wsdl:input>
74
+ <wsdl:output>
75
+ <soap:body use="literal" />
76
+ </wsdl:output>
77
+ </wsdl:operation>
78
+ <wsdl:operation name="SayHello">
79
+ <soap:operation soapAction="http://localhost/WebService/SayHello"
80
+ style="document" />
81
+ <wsdl:input>
82
+ <soap:body use="literal" />
83
+ </wsdl:input>
84
+ <wsdl:output>
85
+ <soap:body use="literal" />
86
+ </wsdl:output>
87
+ </wsdl:operation>
88
+ </wsdl:binding>
89
+ <wsdl:service name="Service1">
90
+ <documentation xmlns="http://schemas.xmlsoap.org/wsdl/" />
91
+ <wsdl:port name="Service1Soap" binding="tns:Service1Soap">
92
+ <soap:address
93
+ location="http://localhost/WebService/Service1.asmx" />
94
+ </wsdl:port>
95
+ </wsdl:service>
96
+ </wsdl:definitions>
@@ -0,0 +1,124 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'soap/rpc/standaloneServer'
5
+ require 'soap/rpc/driver'
6
+
7
+
8
+ module SOAP; module ASPDotNet
9
+
10
+
11
+ class TestASPDotNet < Test::Unit::TestCase
12
+ class Server < ::SOAP::RPC::StandaloneServer
13
+ Namespace = "http://localhost/WebService/"
14
+
15
+ def on_init
16
+ add_document_method(
17
+ self,
18
+ Namespace + 'SayHello',
19
+ 'sayHello',
20
+ XSD::QName.new(Namespace, 'SayHello'),
21
+ XSD::QName.new(Namespace, 'SayHelloResponse')
22
+ )
23
+ end
24
+
25
+ def sayHello(arg)
26
+ name = arg['name']
27
+ "Hello #{name}"
28
+ end
29
+ end
30
+
31
+ Port = 17171
32
+ Endpoint = "http://localhost:#{Port}/"
33
+
34
+ def setup
35
+ setup_server
36
+ @client = nil
37
+ end
38
+
39
+ def teardown
40
+ teardown_server if @server
41
+ @client.reset_stream if @client
42
+ end
43
+
44
+ def setup_server
45
+ @server = Server.new('Test', Server::Namespace, '0.0.0.0', Port)
46
+ @server.level = Logger::Severity::ERROR
47
+ @server_thread = TestUtil.start_server_thread(@server)
48
+ end
49
+
50
+ def teardown_server
51
+ @server.shutdown
52
+ @server_thread.kill
53
+ @server_thread.join
54
+ end
55
+
56
+ def test_document_method
57
+ @client = SOAP::RPC::Driver.new(Endpoint, Server::Namespace)
58
+ @client.wiredump_dev = STDOUT if $DEBUG
59
+ @client.add_document_method('sayHello', Server::Namespace + 'SayHello',
60
+ XSD::QName.new(Server::Namespace, 'SayHello'),
61
+ XSD::QName.new(Server::Namespace, 'SayHelloResponse'))
62
+ assert_equal("Hello Mike", @client.sayHello(:name => "Mike"))
63
+ end
64
+
65
+ def test_xml
66
+ @client = SOAP::RPC::Driver.new(Endpoint, Server::Namespace)
67
+ @client.wiredump_dev = STDOUT if $DEBUG
68
+ @client.add_document_method('sayHello', Server::Namespace + 'SayHello',
69
+ XSD::QName.new(Server::Namespace, 'SayHello'),
70
+ XSD::QName.new(Server::Namespace, 'SayHelloResponse'))
71
+ require 'rexml/document'
72
+ xml = <<__XML__
73
+ <n1:sayHello xmlns:n1="http://localhost/WebService/">
74
+ <n1:name>Mike</n1:name>
75
+ </n1:sayHello>
76
+ __XML__
77
+ ele = REXML::Document.new(xml)
78
+ assert_equal("Hello Mike", @client.sayHello(ele))
79
+ def xml.to_xmlpart; to_s; end
80
+ assert_equal("Hello Mike", @client.sayHello(xml))
81
+ end
82
+
83
+ def test_aspdotnethandler
84
+ @client = SOAP::RPC::Driver.new(Endpoint, Server::Namespace)
85
+ @client.wiredump_dev = STDOUT if $DEBUG
86
+ @client.add_method_with_soapaction('sayHello', Server::Namespace + 'SayHello', 'name')
87
+ @client.default_encodingstyle = SOAP::EncodingStyle::ASPDotNetHandler::Namespace
88
+ assert_equal("Hello Mike", @client.sayHello("Mike"))
89
+ end
90
+
91
+ if defined?(HTTPClient)
92
+
93
+ # qualified!
94
+ REQUEST_ASPDOTNETHANDLER =
95
+ %q[<?xml version="1.0" encoding="utf-8" ?>
96
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
97
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
98
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
99
+ <env:Body>
100
+ <n1:sayHello xmlns:n1="http://localhost/WebService/">
101
+ <n1:name>Mike</n1:name>
102
+ </n1:sayHello>
103
+ </env:Body>
104
+ </env:Envelope>]
105
+
106
+ def test_aspdotnethandler_envelope
107
+ @client = SOAP::RPC::Driver.new(Endpoint, Server::Namespace)
108
+ @client.wiredump_dev = str = ''
109
+ @client.add_method_with_soapaction('sayHello', Server::Namespace + 'SayHello', 'name')
110
+ @client.default_encodingstyle = SOAP::EncodingStyle::ASPDotNetHandler::Namespace
111
+ assert_equal("Hello Mike", @client.sayHello("Mike"))
112
+ assert_xml_equal(REQUEST_ASPDOTNETHANDLER, parse_requestxml(str),
113
+ [REQUEST_ASPDOTNETHANDLER, parse_requestxml(str)].join("\n\n"))
114
+ end
115
+
116
+ def parse_requestxml(str)
117
+ str.split(/\r?\n\r?\n/)[3]
118
+ end
119
+
120
+ end
121
+ end
122
+
123
+
124
+ end; end
@@ -0,0 +1,2 @@
1
+ admin:auth:4302fe65caa32f27721949149ccd3083
2
+ guest:auth:402550d83a8289be65377d0e7d11fb6e
@@ -0,0 +1,2 @@
1
+ admin:Qg266hq/YYKe2
2
+ guest:gbPc4vPCH.h12
@@ -0,0 +1,118 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'soap/rpc/driver'
5
+ require 'webrick'
6
+ require 'webrick/httpproxy'
7
+ require 'logger'
8
+
9
+
10
+ module SOAP; module Auth
11
+
12
+
13
+ class TestBasic < Test::Unit::TestCase
14
+ Port = 17171
15
+ ProxyPort = 17172
16
+
17
+ def setup
18
+ @logger = Logger.new(STDERR)
19
+ @logger.level = Logger::Severity::FATAL
20
+ @url = "http://localhost:#{Port}/"
21
+ @proxyurl = "http://localhost:#{ProxyPort}/"
22
+ @server = @proxyserver = @client = nil
23
+ @server_thread = @proxyserver_thread = nil
24
+ setup_server
25
+ setup_client
26
+ end
27
+
28
+ def teardown
29
+ teardown_client if @server
30
+ teardown_proxyserver if @proxyserver
31
+ teardown_server if @client
32
+ end
33
+
34
+ def setup_server
35
+ @server = WEBrick::HTTPServer.new(
36
+ :BindAddress => "0.0.0.0",
37
+ :Logger => @logger,
38
+ :Port => Port,
39
+ :AccessLog => [],
40
+ :DocumentRoot => File.dirname(File.expand_path(__FILE__))
41
+ )
42
+ htpasswd = File.join(File.dirname(__FILE__), 'htpasswd')
43
+ htpasswd_userdb = WEBrick::HTTPAuth::Htpasswd.new(htpasswd)
44
+ @basic_auth = WEBrick::HTTPAuth::BasicAuth.new(
45
+ :Logger => @logger,
46
+ :Realm => 'auth',
47
+ :UserDB => htpasswd_userdb
48
+ )
49
+ @server.mount(
50
+ '/',
51
+ WEBrick::HTTPServlet::ProcHandler.new(method(:do_server_proc).to_proc)
52
+ )
53
+ @server_thread = TestUtil.start_server_thread(@server)
54
+ end
55
+
56
+ def setup_proxyserver
57
+ @proxyserver = WEBrick::HTTPProxyServer.new(
58
+ :BindAddress => "0.0.0.0",
59
+ :Logger => @logger,
60
+ :Port => ProxyPort,
61
+ :AccessLog => []
62
+ )
63
+ @proxyserver_thread = TestUtil.start_server_thread(@proxyserver)
64
+ end
65
+
66
+ def setup_client
67
+ @client = SOAP::RPC::Driver.new(@url, '')
68
+ @client.add_method("do_server_proc")
69
+ end
70
+
71
+ def teardown_server
72
+ @server.shutdown
73
+ @server_thread.kill
74
+ @server_thread.join
75
+ end
76
+
77
+ def teardown_proxyserver
78
+ @proxyserver.shutdown
79
+ @proxyserver_thread.kill
80
+ @proxyserver_thread.join
81
+ end
82
+
83
+ def teardown_client
84
+ @client.reset_stream
85
+ end
86
+
87
+ def do_server_proc(req, res)
88
+ @basic_auth.authenticate(req, res)
89
+ res['content-type'] = 'text/xml'
90
+ res.body = <<__EOX__
91
+ <?xml version="1.0" encoding="utf-8" ?>
92
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
93
+ <env:Body>
94
+ <n1:do_server_proc xmlns:n1="urn:foo" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
95
+ <return>OK</return>
96
+ </n1:do_server_proc>
97
+ </env:Body>
98
+ </env:Envelope>
99
+ __EOX__
100
+ end
101
+
102
+ def test_direct
103
+ @client.wiredump_dev = STDOUT if $DEBUG
104
+ @client.options["protocol.http.auth"] << [@url, "admin", "admin"]
105
+ assert_equal("OK", @client.do_server_proc)
106
+ end
107
+
108
+ def test_proxy
109
+ setup_proxyserver
110
+ @client.wiredump_dev = STDOUT if $DEBUG
111
+ @client.options["protocol.http.proxy"] = @proxyurl
112
+ @client.options["protocol.http.auth"] << [@url, "guest", "guest"]
113
+ assert_equal("OK", @client.do_server_proc)
114
+ end
115
+ end
116
+
117
+
118
+ end; end
@@ -0,0 +1,119 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'soap/rpc/driver'
5
+ require 'webrick'
6
+ require 'webrick/httpproxy'
7
+ require 'logger'
8
+
9
+
10
+ module SOAP; module Auth
11
+
12
+
13
+ class TestDigest < Test::Unit::TestCase
14
+ Port = 17171
15
+ ProxyPort = 17172
16
+
17
+ def setup
18
+ @logger = Logger.new(STDERR)
19
+ @logger.level = Logger::Severity::FATAL
20
+ @url = "http://localhost:#{Port}/"
21
+ @proxyurl = "http://localhost:#{ProxyPort}/"
22
+ @server = @proxyserver = @client = nil
23
+ @server_thread = @proxyserver_thread = nil
24
+ setup_server
25
+ setup_client
26
+ end
27
+
28
+ def teardown
29
+ teardown_client if @client
30
+ teardown_proxyserver if @proxyserver
31
+ teardown_server if @server
32
+ end
33
+
34
+ def setup_server
35
+ @server = WEBrick::HTTPServer.new(
36
+ :BindAddress => "0.0.0.0",
37
+ :Logger => @logger,
38
+ :Port => Port,
39
+ :AccessLog => [],
40
+ :DocumentRoot => File.dirname(File.expand_path(__FILE__))
41
+ )
42
+ htdigest = File.join(File.dirname(__FILE__), 'htdigest')
43
+ htdigest_userdb = WEBrick::HTTPAuth::Htdigest.new(htdigest)
44
+ @digest_auth = WEBrick::HTTPAuth::DigestAuth.new(
45
+ :Logger => @logger,
46
+ :Algorithm => 'MD5',
47
+ :Realm => 'auth',
48
+ :UserDB => htdigest_userdb
49
+ )
50
+ @server.mount(
51
+ '/',
52
+ WEBrick::HTTPServlet::ProcHandler.new(method(:do_server_proc).to_proc)
53
+ )
54
+ @server_thread = TestUtil.start_server_thread(@server)
55
+ end
56
+
57
+ def setup_proxyserver
58
+ @proxyserver = WEBrick::HTTPProxyServer.new(
59
+ :BindAddress => "0.0.0.0",
60
+ :Logger => @logger,
61
+ :Port => ProxyPort,
62
+ :AccessLog => []
63
+ )
64
+ @proxyserver_thread = TestUtil.start_server_thread(@proxyserver)
65
+ end
66
+
67
+ def setup_client
68
+ @client = SOAP::RPC::Driver.new(@url, '')
69
+ @client.add_method("do_server_proc")
70
+ end
71
+
72
+ def teardown_server
73
+ @server.shutdown
74
+ @server_thread.kill
75
+ @server_thread.join
76
+ end
77
+
78
+ def teardown_proxyserver
79
+ @proxyserver.shutdown
80
+ @proxyserver_thread.kill
81
+ @proxyserver_thread.join
82
+ end
83
+
84
+ def teardown_client
85
+ @client.reset_stream
86
+ end
87
+
88
+ def do_server_proc(req, res)
89
+ @digest_auth.authenticate(req, res)
90
+ res['content-type'] = 'text/xml'
91
+ res.body = <<__EOX__
92
+ <?xml version="1.0" encoding="utf-8" ?>
93
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
94
+ <env:Body>
95
+ <n1:do_server_proc xmlns:n1="urn:foo" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
96
+ <return>OK</return>
97
+ </n1:do_server_proc>
98
+ </env:Body>
99
+ </env:Envelope>
100
+ __EOX__
101
+ end
102
+
103
+ def test_direct
104
+ @client.wiredump_dev = STDOUT if $DEBUG
105
+ @client.options["protocol.http.auth"] << [@url, "admin", "admin"]
106
+ assert_equal("OK", @client.do_server_proc)
107
+ end
108
+
109
+ def test_proxy
110
+ setup_proxyserver
111
+ @client.wiredump_dev = STDOUT if $DEBUG
112
+ @client.options["protocol.http.proxy"] = @proxyurl
113
+ @client.options["protocol.http.auth"] << [@url, "guest", "guest"]
114
+ assert_equal("OK", @client.do_server_proc)
115
+ end
116
+ end
117
+
118
+
119
+ end; end
@@ -0,0 +1,18 @@
1
+ # encoding: ASCII-8BIT
2
+ module CalcService
3
+ def self.add(lhs, rhs)
4
+ lhs + rhs
5
+ end
6
+
7
+ def self.sub(lhs, rhs)
8
+ lhs - rhs
9
+ end
10
+
11
+ def self.multi(lhs, rhs)
12
+ lhs * rhs
13
+ end
14
+
15
+ def self.div(lhs, rhs)
16
+ lhs / rhs
17
+ end
18
+ end
@@ -0,0 +1,30 @@
1
+ # encoding: ASCII-8BIT
2
+ class CalcService2
3
+ def initialize(value = 0)
4
+ @value = value
5
+ end
6
+
7
+ def set_value(value)
8
+ @value = value
9
+ end
10
+
11
+ def get_value
12
+ @value
13
+ end
14
+
15
+ def +(rhs)
16
+ @value + rhs
17
+ end
18
+
19
+ def -(rhs)
20
+ @value - rhs
21
+ end
22
+
23
+ def *(rhs)
24
+ @value * rhs
25
+ end
26
+
27
+ def /(rhs)
28
+ @value / rhs
29
+ end
30
+ end
@@ -0,0 +1,16 @@
1
+ # encoding: ASCII-8BIT
2
+ $:.unshift File.expand_path(File.dirname(__FILE__)+'/../../../lib')
3
+ $:.unshift '.' if RUBY_VERSION.to_f >= 1.9
4
+ require 'soap/rpc/cgistub'
5
+
6
+ class CalcServer < SOAP::RPC::CGIStub
7
+ def initialize(*arg)
8
+ super
9
+
10
+ require 'calc'
11
+ servant = CalcService
12
+ add_servant(servant, 'http://tempuri.org/calcService')
13
+ end
14
+ end
15
+
16
+ status = CalcServer.new('CalcServer', nil).start
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ASCII-8BIT
3
+
4
+ require 'soap/rpc/standaloneServer'
5
+ require 'calc'
6
+
7
+ class CalcServer < SOAP::RPC::StandaloneServer
8
+ def initialize(*arg)
9
+ super
10
+
11
+ servant = CalcService
12
+ add_servant(servant, 'http://tempuri.org/calcService')
13
+ end
14
+ end
15
+
16
+ if $0 == __FILE__
17
+ status = CalcServer.new('CalcServer', nil, '0.0.0.0', 17171).start
18
+ end
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: ASCII-8BIT
3
+
4
+ require 'soap/rpc/standaloneServer'
5
+ require 'calc2'
6
+
7
+ class CalcServer2 < SOAP::RPC::StandaloneServer
8
+ def on_init
9
+ servant = CalcService2.new
10
+ add_method(servant, 'set_value', 'newValue')
11
+ add_method(servant, 'get_value')
12
+ add_method_as(servant, '+', 'add', 'lhs')
13
+ add_method_as(servant, '-', 'sub', 'lhs')
14
+ add_method_as(servant, '*', 'multi', 'lhs')
15
+ add_method_as(servant, '/', 'div', 'lhs')
16
+ end
17
+ end
18
+
19
+ if $0 == __FILE__
20
+ status = CalcServer2.new('CalcServer', 'http://tempuri.org/calcService', '0.0.0.0', 17171).start
21
+ end
@@ -0,0 +1,53 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'soap/rpc/driver'
5
+ TestUtil.require(File.dirname(__FILE__), 'server.rb')
6
+
7
+
8
+ module SOAP
9
+ module Calc
10
+
11
+
12
+ class TestCalc < Test::Unit::TestCase
13
+ Port = 17171
14
+
15
+ def setup
16
+ @server = CalcServer.new(self.class.name, nil, '0.0.0.0', Port)
17
+ @server.level = Logger::Severity::ERROR
18
+ @t = Thread.new {
19
+ @server.start
20
+ }
21
+ @endpoint = "http://localhost:#{Port}/"
22
+ @calc = SOAP::RPC::Driver.new(@endpoint, 'http://tempuri.org/calcService')
23
+ @calc.add_method('add', 'lhs', 'rhs')
24
+ @calc.add_method('sub', 'lhs', 'rhs')
25
+ @calc.add_method('multi', 'lhs', 'rhs')
26
+ @calc.add_method('div', 'lhs', 'rhs')
27
+ end
28
+
29
+ def teardown
30
+ @server.shutdown if @server
31
+ if @t
32
+ @t.kill
33
+ @t.join
34
+ end
35
+ @calc.reset_stream if @calc
36
+ end
37
+
38
+ def test_calc
39
+ assert_equal(3, @calc.add(1, 2))
40
+ assert_equal(-1.1, @calc.sub(1.1, 2.2))
41
+ assert_equal(2.42, @calc.multi(1.1, 2.2))
42
+ assert_equal(2, @calc.div(5, 2))
43
+ assert_equal(2.5, @calc.div(5.0, 2))
44
+ assert_equal(1.0/0.0, @calc.div(1.1, 0))
45
+ assert_raises(ZeroDivisionError) do
46
+ @calc.div(1, 0)
47
+ end
48
+ end
49
+ end
50
+
51
+
52
+ end
53
+ end