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,113 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'soap/rpc/driver'
5
+ require 'webrick'
6
+ require 'logger'
7
+
8
+
9
+ module SOAP
10
+
11
+
12
+ class TestCookie < Test::Unit::TestCase
13
+ Port = 17171
14
+
15
+ class CookieFilter < SOAP::Filter::StreamHandler
16
+ attr_accessor :cookie_value
17
+
18
+ def initialize
19
+ @cookie_value = nil
20
+ end
21
+
22
+ def on_http_outbound(req)
23
+ if @cookie_value
24
+ req.header.delete('Cookie')
25
+ req.header['Cookie'] = @cookie_value
26
+ end
27
+ end
28
+
29
+ def on_http_inbound(req, res)
30
+ # this sample filter only caputures the first cookie.
31
+ cookie = res.header['Set-Cookie'][0]
32
+ cookie.sub!(/;.*\z/, '') if cookie
33
+ @cookie_value = cookie
34
+ # do not save cookie value.
35
+ end
36
+ end
37
+
38
+ def setup
39
+ @logger = Logger.new(STDERR)
40
+ @logger.level = Logger::Severity::ERROR
41
+ @url = "http://localhost:#{Port}/"
42
+ @server = @client = nil
43
+ @server_thread = nil
44
+ setup_server
45
+ setup_client
46
+ end
47
+
48
+ def teardown
49
+ teardown_client if @client
50
+ teardown_server if @server
51
+ end
52
+
53
+ def setup_server
54
+ @server = WEBrick::HTTPServer.new(
55
+ :BindAddress => "0.0.0.0",
56
+ :Logger => @logger,
57
+ :Port => Port,
58
+ :AccessLog => [],
59
+ :DocumentRoot => File.dirname(File.expand_path(__FILE__))
60
+ )
61
+ @server.mount(
62
+ '/',
63
+ WEBrick::HTTPServlet::ProcHandler.new(method(:do_server_proc).to_proc)
64
+ )
65
+ @server_thread = TestUtil.start_server_thread(@server)
66
+ end
67
+
68
+ def setup_client
69
+ @client = SOAP::RPC::Driver.new(@url, '')
70
+ @client.add_method("do_server_proc")
71
+ end
72
+
73
+ def teardown_server
74
+ @server.shutdown
75
+ @server_thread.kill
76
+ @server_thread.join
77
+ end
78
+
79
+ def teardown_client
80
+ @client.reset_stream
81
+ end
82
+
83
+ def do_server_proc(req, res)
84
+ cookie = req['Cookie'].to_s
85
+ cookie = "var=hello world" if cookie.empty?
86
+ res['content-type'] = 'text/xml'
87
+ res['Set-Cookie'] = cookie
88
+ res.body = <<__EOX__
89
+ <?xml version="1.0" encoding="utf-8" ?>
90
+ <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">
91
+ <env:Body>
92
+ <n1:do_server_proc xmlns:n1="urn:foo" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
93
+ <return xsi:nil="true"/>
94
+ </n1:do_server_proc>
95
+ </env:Body>
96
+ </env:Envelope>
97
+ __EOX__
98
+ end
99
+
100
+ def test_normal
101
+ @client.wiredump_dev = STDOUT if $DEBUG
102
+ filter = CookieFilter.new
103
+ @client.streamhandler.filterchain << filter
104
+ assert_nil(@client.do_server_proc)
105
+ assert_equal('var=hello world', filter.cookie_value)
106
+ filter.cookie_value = 'var=empty'
107
+ assert_nil(@client.do_server_proc)
108
+ assert_equal('var=empty', filter.cookie_value)
109
+ end
110
+ end
111
+
112
+
113
+ end
@@ -0,0 +1,106 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/processor'
4
+
5
+
6
+ module SOAP
7
+
8
+
9
+ class TestCustomNs < Test::Unit::TestCase
10
+ NORMAL_XML = <<__XML__.chomp
11
+ <?xml version="1.0" encoding="utf-8" ?>
12
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
13
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
14
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
15
+ <env:Header>
16
+ <n1:headeritem xmlns:n1="my:foo">hi</n1:headeritem>
17
+ </env:Header>
18
+ <env:Body>
19
+ <n2:test xmlns:n2="my:foo"
20
+ xmlns:n3="my:bar"
21
+ n3:baz="qux">bi</n2:test>
22
+ </env:Body>
23
+ </env:Envelope>
24
+ __XML__
25
+
26
+ CUSTOM_NS_XML = <<__XML__.chomp
27
+ <?xml version="1.0" encoding="utf-8" ?>
28
+ <ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
29
+ xmlns:myns="my:foo"
30
+ xmlns:ENV="http://schemas.xmlsoap.org/soap/envelope/"
31
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
32
+ <ENV:Header>
33
+ <myns:headeritem>hi</myns:headeritem>
34
+ </ENV:Header>
35
+ <ENV:Body>
36
+ <myns:test xmlns:bar="my:bar"
37
+ bar:baz="qux">bi</myns:test>
38
+ </ENV:Body>
39
+ </ENV:Envelope>
40
+ __XML__
41
+
42
+ XML_WITH_DEFAULT_NS = <<__XML__.chomp
43
+ <?xml version="1.0" encoding="utf-8" ?>
44
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
45
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
46
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
47
+ <env:Header>
48
+ <headeritem xmlns="my:foo">hi</headeritem>
49
+ </env:Header>
50
+ <env:Body>
51
+ <test xmlns:n1="my:bar"
52
+ xmlns:n2="my:foo"
53
+ n1:baz="qux"
54
+ n2:quxx="quxxx"
55
+ xmlns="my:foo">bi</test>
56
+ </env:Body>
57
+ </env:Envelope>
58
+ __XML__
59
+
60
+ def test_custom_ns
61
+ # create test env
62
+ header = SOAP::SOAPHeader.new()
63
+ hi = SOAP::SOAPElement.new(XSD::QName.new("my:foo", "headeritem"), 'hi')
64
+ header.add("test", hi)
65
+ body = SOAP::SOAPBody.new()
66
+ bi = SOAP::SOAPElement.new(XSD::QName.new("my:foo", "bodyitem"), 'bi')
67
+ bi.extraattr[XSD::QName.new('my:bar', 'baz')] = 'qux'
68
+ body.add("test", bi)
69
+ env = SOAP::SOAPEnvelope.new(header, body)
70
+ # normal
71
+ opt = {}
72
+ result = SOAP::Processor.marshal(env, opt)
73
+ assert_xml_equal(NORMAL_XML, result)
74
+ # Envelope ns customize
75
+ env = SOAP::SOAPEnvelope.new(header, body)
76
+ ns = XSD::NS.new
77
+ ns.assign(SOAP::EnvelopeNamespace, 'ENV')
78
+ ns.assign('my:foo', 'myns')
79
+ # tag customize
80
+ tag = XSD::NS.new
81
+ tag.assign('my:bar', 'bar')
82
+ opt = { :default_ns => ns, :default_ns_tag => tag }
83
+ result = SOAP::Processor.marshal(env, opt)
84
+ assert_xml_equal(CUSTOM_NS_XML, result)
85
+ end
86
+
87
+ def test_default_namespace
88
+ # create test env
89
+ header = SOAP::SOAPHeader.new()
90
+ hi = SOAP::SOAPElement.new(XSD::QName.new("my:foo", "headeritem"), 'hi')
91
+ header.add("test", hi)
92
+ body = SOAP::SOAPBody.new()
93
+ bi = SOAP::SOAPElement.new(XSD::QName.new("my:foo", "bodyitem"), 'bi')
94
+ bi.extraattr[XSD::QName.new('my:bar', 'baz')] = 'qux'
95
+ bi.extraattr[XSD::QName.new('my:foo', 'quxx')] = 'quxxx'
96
+ body.add("test", bi)
97
+ env = SOAP::SOAPEnvelope.new(header, body)
98
+ # normal
99
+ opt = {:use_default_namespace => true}
100
+ result = SOAP::Processor.marshal(env, opt)
101
+ assert_xml_equal(XML_WITH_DEFAULT_NS, result)
102
+ end
103
+ end
104
+
105
+
106
+ end
@@ -0,0 +1,111 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/marshal'
4
+ require 'soap/rpc/standaloneServer'
5
+ require 'soap/rpc/driver'
6
+
7
+
8
+ module SOAP
9
+
10
+
11
+ class TestMap < Test::Unit::TestCase
12
+
13
+ class CustomHashFactory < SOAP::Mapping::Factory
14
+ def initialize(itemname)
15
+ @itemname = itemname
16
+ end
17
+
18
+ def obj2soap(soap_class, obj, info, map)
19
+ soap_obj = SOAP::SOAPStruct.new(SOAP::Mapping::MapQName)
20
+ mark_marshalled_obj(obj, soap_obj)
21
+ obj.each do |key, value|
22
+ elem = SOAP::SOAPStruct.new
23
+ elem.add('key', Mapping._obj2soap(key, map))
24
+ elem.add('value', Mapping._obj2soap(value, map))
25
+ soap_obj.add(@itemname, elem)
26
+ end
27
+ soap_obj
28
+ end
29
+
30
+ def soap2obj(obj_class, node, info, map)
31
+ false
32
+ end
33
+ end
34
+
35
+ Map = SOAP::Mapping::Registry.new
36
+ Map.add(Hash, SOAP::SOAPStruct, CustomHashFactory.new('customname'))
37
+
38
+ Port = 17171
39
+
40
+ class MapServer < SOAP::RPC::StandaloneServer
41
+ def initialize(*arg)
42
+ super
43
+ add_rpc_method(self, 'echo', 'map')
44
+ add_rpc_method(self, 'setmap')
45
+ end
46
+
47
+ def echo(map)
48
+ map
49
+ end
50
+
51
+ def setmap
52
+ self.mapping_registry = Map
53
+ nil
54
+ end
55
+ end
56
+
57
+ def setup
58
+ @server = MapServer.new(self.class.name, nil, '0.0.0.0', Port)
59
+ @server.level = Logger::Severity::ERROR
60
+ @t = Thread.new {
61
+ @server.start
62
+ }
63
+ @endpoint = "http://localhost:#{Port}/"
64
+ @client = SOAP::RPC::Driver.new(@endpoint)
65
+ @client.add_rpc_method('echo', 'map')
66
+ @client.add_rpc_method('setmap')
67
+ @client.wiredump_dev = STDOUT if $DEBUG
68
+ end
69
+
70
+ def teardown
71
+ @server.shutdown if @server
72
+ if @t
73
+ @t.kill
74
+ @t.join
75
+ end
76
+ @client.reset_stream if @client
77
+ end
78
+
79
+ def test_map
80
+ h = {'a' => 1, 'b' => 2}
81
+ soap = SOAP::Marshal.marshal(h)
82
+ puts soap if $DEBUG
83
+ obj = SOAP::Marshal.unmarshal(soap)
84
+ assert_equal(h, obj)
85
+ #
86
+ soap = SOAP::Marshal.marshal(h, Map)
87
+ puts soap if $DEBUG
88
+ obj = SOAP::Marshal.unmarshal(soap, Map)
89
+ assert_equal(h, obj)
90
+ end
91
+
92
+ def test_rpc
93
+ h = {'a' => 1, 'b' => 2}
94
+ @client.wiredump_dev = str = ''
95
+ assert_equal(h, @client.echo(h))
96
+ assert_equal(0, str.scan(/customname/).size)
97
+ #
98
+ @client.setmap
99
+ @client.wiredump_dev = str = ''
100
+ assert_equal(h, @client.echo(h))
101
+ assert_equal(4, str.scan(/customname/).size)
102
+ #
103
+ @client.mapping_registry = Map
104
+ @client.wiredump_dev = str = ''
105
+ assert_equal(h, @client.echo(h))
106
+ assert_equal(8, str.scan(/customname/).size)
107
+ end
108
+ end
109
+
110
+
111
+ end
@@ -0,0 +1,106 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/rpc/standaloneServer'
4
+ require 'soap/rpc/driver'
5
+ require 'soap/header/handler'
6
+
7
+
8
+ module SOAP
9
+
10
+
11
+ class TestEmpty < Test::Unit::TestCase
12
+ Port = 17171
13
+
14
+ class EmptyHeaderHandler < SOAP::Header::Handler
15
+ def on_outbound(header)
16
+ # dump Header even if no header item given.
17
+ header.force_encode = true
18
+ # no additional header item
19
+ nil
20
+ end
21
+ end
22
+
23
+ class NopServer < SOAP::RPC::StandaloneServer
24
+ def initialize(*arg)
25
+ super
26
+ add_document_method(self, 'urn:empty:nop', 'nop', [], [])
27
+ add_document_method(self, 'urn:empty:nop', 'nop_nil', nil, nil)
28
+ end
29
+
30
+ def nop
31
+ [1, 2, 3] # ignored
32
+ end
33
+
34
+ def nop_nil
35
+ [1, 2, 3] # ignored
36
+ end
37
+ end
38
+
39
+ def setup
40
+ @server = NopServer.new(self.class.name, nil, '0.0.0.0', Port)
41
+ @server.level = Logger::Severity::ERROR
42
+ @t = Thread.new {
43
+ @server.start
44
+ }
45
+ @endpoint = "http://localhost:#{Port}/"
46
+ @client = SOAP::RPC::Driver.new(@endpoint)
47
+ @client.add_document_method('nop', 'urn:empty:nop', [], [])
48
+ @client.add_document_method('nop_nil', 'urn:empty:nop', nil, nil)
49
+ end
50
+
51
+ def teardown
52
+ @server.shutdown if @server
53
+ if @t
54
+ @t.kill
55
+ @t.join
56
+ end
57
+ @client.reset_stream if @client
58
+ end
59
+
60
+ EMPTY_XML = %q[<?xml version="1.0" encoding="utf-8" ?>
61
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
62
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
63
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
64
+ <env:Body></env:Body>
65
+ </env:Envelope>]
66
+
67
+ EMPTY_HEADER_XML = %q[<?xml version="1.0" encoding="utf-8" ?>
68
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
69
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
70
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
71
+ <env:Header></env:Header>
72
+ <env:Body></env:Body>
73
+ </env:Envelope>]
74
+
75
+ def test_nop
76
+ @client.wiredump_dev = str = ''
77
+ @client.nop
78
+ assert_xml_equal(EMPTY_XML, parse_requestxml(str))
79
+ assert_xml_equal(EMPTY_XML, parse_responsexml(str))
80
+ end
81
+
82
+ def test_nop_nil
83
+ @client.wiredump_dev = str = ''
84
+ @client.nop_nil
85
+ assert_xml_equal(EMPTY_XML, parse_requestxml(str))
86
+ assert_xml_equal(EMPTY_XML, parse_responsexml(str))
87
+ end
88
+
89
+ def test_empty_header
90
+ @client.headerhandler << EmptyHeaderHandler.new(nil)
91
+ @client.wiredump_dev = str = ''
92
+ @client.nop
93
+ assert_xml_equal(EMPTY_HEADER_XML, parse_requestxml(str))
94
+ end
95
+
96
+ def parse_requestxml(str)
97
+ str.split(/\r?\n\r?\n/)[3]
98
+ end
99
+
100
+ def parse_responsexml(str)
101
+ str.split(/\r?\n\r?\n/)[6]
102
+ end
103
+ end
104
+
105
+
106
+ end
@@ -0,0 +1,86 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'testutil'
4
+ require 'soap/rpc/driver'
5
+ require 'webrick'
6
+ require 'logger'
7
+
8
+
9
+ module SOAP
10
+
11
+
12
+ class TestEnvelopeNamespace < Test::Unit::TestCase
13
+ Port = 17171
14
+ TemporaryNamespace = 'urn:foo'
15
+
16
+ def setup
17
+ @logger = Logger.new(STDERR)
18
+ @logger.level = Logger::Severity::ERROR
19
+ @url = "http://localhost:#{Port}/"
20
+ @server = @client = nil
21
+ @server_thread = nil
22
+ setup_server
23
+ setup_client
24
+ end
25
+
26
+ def teardown
27
+ teardown_client if @client
28
+ teardown_server if @server
29
+ end
30
+
31
+ def setup_server
32
+ @server = WEBrick::HTTPServer.new(
33
+ :BindAddress => "0.0.0.0",
34
+ :Logger => @logger,
35
+ :Port => Port,
36
+ :AccessLog => [],
37
+ :DocumentRoot => File.dirname(File.expand_path(__FILE__))
38
+ )
39
+ @server.mount(
40
+ '/',
41
+ WEBrick::HTTPServlet::ProcHandler.new(method(:do_server_proc).to_proc)
42
+ )
43
+ @server_thread = TestUtil.start_server_thread(@server)
44
+ end
45
+
46
+ def setup_client
47
+ @client = SOAP::RPC::Driver.new(@url, '')
48
+ @client.add_method("do_server_proc")
49
+ end
50
+
51
+ def teardown_server
52
+ @server.shutdown
53
+ @server_thread.kill
54
+ @server_thread.join
55
+ end
56
+
57
+ def teardown_client
58
+ @client.reset_stream
59
+ end
60
+
61
+ def do_server_proc(req, res)
62
+ res['content-type'] = 'text/xml'
63
+ res.body = <<__EOX__
64
+ <?xml version="1.0" encoding="utf-8" ?>
65
+ <env:Envelope xmlns:env="#{TemporaryNamespace}">
66
+ <env:Body>
67
+ <n1:do_server_proc xmlns:n1="urn:foo" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
68
+ <return>hello world</return>
69
+ </n1:do_server_proc>
70
+ </env:Body>
71
+ </env:Envelope>
72
+ __EOX__
73
+ end
74
+
75
+ def test_normal
76
+ assert_raise(SOAP::ResponseFormatError) do
77
+ @client.do_server_proc
78
+ end
79
+ @client.options["soap.envelope.requestnamespace"] = TemporaryNamespace
80
+ @client.options["soap.envelope.responsenamespace"] = TemporaryNamespace
81
+ assert_equal('hello world', @client.do_server_proc)
82
+ end
83
+ end
84
+
85
+
86
+ end
@@ -0,0 +1,55 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/processor'
4
+
5
+
6
+ module SOAP
7
+
8
+
9
+ class TestExtrAttr < Test::Unit::TestCase
10
+
11
+ HEADER_XML = %q[<?xml version="1.0" encoding="utf-8" ?>
12
+ <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
13
+ Id="extraattr"
14
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
15
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
16
+ <env:Header Id="extraattr">
17
+ <n1:headeritem xmlns:n1="my:foo"
18
+ Id="extraattr"></n1:headeritem>
19
+ </env:Header>
20
+ <env:Body Id="extraattr&lt;&gt;">
21
+ <n2:test xmlns:n2="my:foo"
22
+ Id="extraattr"></n2:test>
23
+ </env:Body>
24
+ </env:Envelope>]
25
+
26
+ def test_extraattr
27
+ header = SOAP::SOAPHeader.new()
28
+ header.extraattr["Id"] = "extraattr"
29
+ hi = SOAP::SOAPElement.new(XSD::QName.new("my:foo", "headeritem"))
30
+ hi.extraattr["Id"] = "extraattr"
31
+ header.add("test", hi)
32
+ body = SOAP::SOAPBody.new()
33
+ body.extraattr["Id"] = "extraattr<>"
34
+ bi = SOAP::SOAPElement.new(XSD::QName.new("my:foo", "bodyitem"))
35
+ bi.extraattr["Id"] = "extraattr"
36
+ body.add("test", bi)
37
+ env = SOAP::SOAPEnvelope.new(header, body)
38
+ env.extraattr["Id"] = "extraattr"
39
+ g = SOAP::Generator.new()
40
+ xml = g.generate(env)
41
+ assert_xml_equal(HEADER_XML, xml)
42
+ #
43
+ parser = SOAP::Parser.new
44
+ env = parser.parse(xml)
45
+ header = env.header
46
+ body = env.body
47
+ assert_equal("extraattr", env.extraattr[XSD::QName.new(nil, "Id")])
48
+ assert_equal("extraattr", header.extraattr[XSD::QName.new(nil, "Id")])
49
+ assert_equal("extraattr<>", body.extraattr[XSD::QName.new(nil, "Id")])
50
+ assert_equal("extraattr", header["headeritem"].element.extraattr[XSD::QName.new(nil, "Id")])
51
+ end
52
+ end
53
+
54
+
55
+ end
@@ -0,0 +1,32 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/processor'
4
+
5
+
6
+ module SOAP
7
+
8
+
9
+ class TestGenerator < Test::Unit::TestCase
10
+ # based on #417, reported by Kou.
11
+ def test_encode
12
+ str = "\343\201\217<"
13
+ g = SOAP::Generator.new
14
+ g.generate(SOAPElement.new('foo'))
15
+ assert_equal("&lt;", g.encode_string(str)[-4, 4])
16
+ #
17
+ if RUBY_VERSION.to_f >= 1.9
18
+ assert_equal("&lt;", g.encode_string(str)[-4, 4])
19
+ else
20
+ begin
21
+ kc_backup = $KCODE.dup
22
+ $KCODE = 'EUC-JP'
23
+ assert_equal("&lt;", g.encode_string(str)[-4, 4])
24
+ ensure
25
+ $KCODE = kc_backup
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+
32
+ end
@@ -0,0 +1,72 @@
1
+ # encoding: ASCII-8BIT
2
+ require 'helper'
3
+ require 'soap/httpconfigloader'
4
+ require 'soap/rpc/driver'
5
+
6
+ if defined?(HTTPClient)
7
+
8
+ module SOAP
9
+
10
+
11
+ class TestHTTPConfigLoader < Test::Unit::TestCase
12
+ DIR = File.dirname(File.expand_path(__FILE__))
13
+
14
+ def setup
15
+ @client = SOAP::RPC::Driver.new(nil, nil)
16
+ end
17
+
18
+ class Request
19
+ class Header
20
+ attr_reader :request_uri
21
+ def initialize(request_uri)
22
+ @request_uri = request_uri
23
+ end
24
+ end
25
+
26
+ attr_reader :header
27
+ def initialize(request_uri)
28
+ @header = Header.new(request_uri)
29
+ end
30
+ end
31
+
32
+ def test_property
33
+ testpropertyname = File.join(DIR, 'soapclient.properties')
34
+ File.open(testpropertyname, "w") do |f|
35
+ f <<<<__EOP__
36
+ protocol.http.proxy = http://myproxy:8080
37
+ protocol.http.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_PEER
38
+ # depth: 1 causes an error (intentional)
39
+ protocol.http.ssl_config.verify_depth = 1
40
+ protocol.http.ssl_config.ciphers = ALL
41
+ protocol.http.basic_auth.1.url = http://www.example.com/foo1/
42
+ protocol.http.basic_auth.1.userid = user1
43
+ protocol.http.basic_auth.1.password = password1
44
+ protocol.http.basic_auth.2.url = http://www.example.com/foo2/
45
+ protocol.http.basic_auth.2.userid = user2
46
+ protocol.http.basic_auth.2.password = password2
47
+ __EOP__
48
+ end
49
+ begin
50
+ @client.loadproperty(testpropertyname)
51
+ assert_equal('ALL', @client.options['protocol.http.ssl_config.ciphers'])
52
+ @client.options['protocol.http.basic_auth'] <<
53
+ ['http://www.example.com/foo3/', 'user3', 'password3']
54
+ h = @client.streamhandler.client
55
+ basic_auth = h.www_auth.basic_auth
56
+ cred1 = ["user1:password1"].pack('m').tr("\n", '')
57
+ cred2 = ["user2:password2"].pack('m').tr("\n", '')
58
+ cred3 = ["user3:password3"].pack('m').tr("\n", '')
59
+ basic_auth.challenge(URI.parse("http://www.example.com/"), nil)
60
+ assert_equal(cred1, basic_auth.get(Request.new(URI.parse("http://www.example.com/foo1/baz"))))
61
+ assert_equal(cred2, basic_auth.get(Request.new(URI.parse("http://www.example.com/foo2/"))))
62
+ assert_equal(cred3, basic_auth.get(Request.new(URI.parse("http://www.example.com/foo3/baz/qux"))))
63
+ ensure
64
+ File.unlink(testpropertyname)
65
+ end
66
+ end
67
+ end
68
+
69
+
70
+ end
71
+
72
+ end