soap4r 1.5.5.20061022

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 (440) hide show
  1. data/bin/wsdl2ruby.rb +131 -0
  2. data/bin/xsd2ruby.rb +82 -0
  3. data/lib/soap/XMLSchemaDatatypes.rb +9 -0
  4. data/lib/soap/XMLSchemaDatatypes1999.rb +10 -0
  5. data/lib/soap/attachment.rb +108 -0
  6. data/lib/soap/baseData.rb +992 -0
  7. data/lib/soap/cgistub.rb +9 -0
  8. data/lib/soap/charset.rb +9 -0
  9. data/lib/soap/compat.rb +182 -0
  10. data/lib/soap/driver.rb +9 -0
  11. data/lib/soap/element.rb +266 -0
  12. data/lib/soap/encodingstyle/aspDotNetHandler.rb +207 -0
  13. data/lib/soap/encodingstyle/handler.rb +109 -0
  14. data/lib/soap/encodingstyle/literalHandler.rb +241 -0
  15. data/lib/soap/encodingstyle/soapHandler.rb +598 -0
  16. data/lib/soap/generator.rb +264 -0
  17. data/lib/soap/header/handler.rb +60 -0
  18. data/lib/soap/header/handlerset.rb +70 -0
  19. data/lib/soap/header/simplehandler.rb +44 -0
  20. data/lib/soap/httpconfigloader.rb +119 -0
  21. data/lib/soap/mapping.rb +12 -0
  22. data/lib/soap/mapping/encodedregistry.rb +531 -0
  23. data/lib/soap/mapping/factory.rb +372 -0
  24. data/lib/soap/mapping/literalregistry.rb +321 -0
  25. data/lib/soap/mapping/mapping.rb +561 -0
  26. data/lib/soap/mapping/registry.rb +258 -0
  27. data/lib/soap/mapping/rubytypeFactory.rb +475 -0
  28. data/lib/soap/mapping/typeMap.rb +82 -0
  29. data/lib/soap/mapping/wsdlencodedregistry.rb +253 -0
  30. data/lib/soap/mapping/wsdlliteralregistry.rb +246 -0
  31. data/lib/soap/mappingRegistry.rb +9 -0
  32. data/lib/soap/marshal.rb +59 -0
  33. data/lib/soap/mimemessage.rb +241 -0
  34. data/lib/soap/namespace.rb +9 -0
  35. data/lib/soap/netHttpClient.rb +204 -0
  36. data/lib/soap/parser.rb +251 -0
  37. data/lib/soap/processor.rb +66 -0
  38. data/lib/soap/property.rb +333 -0
  39. data/lib/soap/proxy.rb +14 -0
  40. data/lib/soap/qname.rb +9 -0
  41. data/lib/soap/rpc/cgistub.rb +214 -0
  42. data/lib/soap/rpc/driver.rb +245 -0
  43. data/lib/soap/rpc/element.rb +330 -0
  44. data/lib/soap/rpc/httpserver.rb +143 -0
  45. data/lib/soap/rpc/proxy.rb +563 -0
  46. data/lib/soap/rpc/router.rb +602 -0
  47. data/lib/soap/rpc/rpc.rb +25 -0
  48. data/lib/soap/rpc/soaplet.rb +162 -0
  49. data/lib/soap/rpc/standaloneServer.rb +43 -0
  50. data/lib/soap/rpcRouter.rb +9 -0
  51. data/lib/soap/rpcUtils.rb +9 -0
  52. data/lib/soap/server.rb +9 -0
  53. data/lib/soap/soap.rb +150 -0
  54. data/lib/soap/standaloneServer.rb +9 -0
  55. data/lib/soap/streamHandler.rb +258 -0
  56. data/lib/soap/wsdlDriver.rb +580 -0
  57. data/lib/wsdl/binding.rb +65 -0
  58. data/lib/wsdl/data.rb +64 -0
  59. data/lib/wsdl/definitions.rb +250 -0
  60. data/lib/wsdl/documentation.rb +32 -0
  61. data/lib/wsdl/import.rb +80 -0
  62. data/lib/wsdl/importer.rb +38 -0
  63. data/lib/wsdl/info.rb +39 -0
  64. data/lib/wsdl/message.rb +54 -0
  65. data/lib/wsdl/operation.rb +175 -0
  66. data/lib/wsdl/operationBinding.rb +116 -0
  67. data/lib/wsdl/param.rb +85 -0
  68. data/lib/wsdl/parser.rb +163 -0
  69. data/lib/wsdl/part.rb +52 -0
  70. data/lib/wsdl/port.rb +84 -0
  71. data/lib/wsdl/portType.rb +75 -0
  72. data/lib/wsdl/service.rb +61 -0
  73. data/lib/wsdl/soap/address.rb +40 -0
  74. data/lib/wsdl/soap/binding.rb +49 -0
  75. data/lib/wsdl/soap/body.rb +56 -0
  76. data/lib/wsdl/soap/cgiStubCreator.rb +88 -0
  77. data/lib/wsdl/soap/classDefCreator.rb +340 -0
  78. data/lib/wsdl/soap/classDefCreatorSupport.rb +131 -0
  79. data/lib/wsdl/soap/clientSkeltonCreator.rb +93 -0
  80. data/lib/wsdl/soap/complexType.rb +166 -0
  81. data/lib/wsdl/soap/data.rb +42 -0
  82. data/lib/wsdl/soap/definitions.rb +151 -0
  83. data/lib/wsdl/soap/driverCreator.rb +110 -0
  84. data/lib/wsdl/soap/element.rb +28 -0
  85. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +117 -0
  86. data/lib/wsdl/soap/fault.rb +56 -0
  87. data/lib/wsdl/soap/header.rb +86 -0
  88. data/lib/wsdl/soap/headerfault.rb +56 -0
  89. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +188 -0
  90. data/lib/wsdl/soap/mappingRegistryCreator.rb +53 -0
  91. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +233 -0
  92. data/lib/wsdl/soap/methodDefCreator.rb +253 -0
  93. data/lib/wsdl/soap/operation.rb +122 -0
  94. data/lib/wsdl/soap/servantSkeltonCreator.rb +78 -0
  95. data/lib/wsdl/soap/standaloneServerStubCreator.rb +98 -0
  96. data/lib/wsdl/soap/wsdl2ruby.rb +196 -0
  97. data/lib/wsdl/types.rb +44 -0
  98. data/lib/wsdl/wsdl.rb +23 -0
  99. data/lib/wsdl/xmlSchema/all.rb +24 -0
  100. data/lib/wsdl/xmlSchema/annotation.rb +34 -0
  101. data/lib/wsdl/xmlSchema/any.rb +56 -0
  102. data/lib/wsdl/xmlSchema/attribute.rb +123 -0
  103. data/lib/wsdl/xmlSchema/choice.rb +55 -0
  104. data/lib/wsdl/xmlSchema/complexContent.rb +88 -0
  105. data/lib/wsdl/xmlSchema/complexExtension.rb +104 -0
  106. data/lib/wsdl/xmlSchema/complexRestriction.rb +92 -0
  107. data/lib/wsdl/xmlSchema/complexType.rb +152 -0
  108. data/lib/wsdl/xmlSchema/content.rb +74 -0
  109. data/lib/wsdl/xmlSchema/data.rb +90 -0
  110. data/lib/wsdl/xmlSchema/element.rb +158 -0
  111. data/lib/wsdl/xmlSchema/enumeration.rb +36 -0
  112. data/lib/wsdl/xmlSchema/import.rb +65 -0
  113. data/lib/wsdl/xmlSchema/importer.rb +87 -0
  114. data/lib/wsdl/xmlSchema/include.rb +54 -0
  115. data/lib/wsdl/xmlSchema/length.rb +35 -0
  116. data/lib/wsdl/xmlSchema/list.rb +48 -0
  117. data/lib/wsdl/xmlSchema/maxlength.rb +35 -0
  118. data/lib/wsdl/xmlSchema/minlength.rb +35 -0
  119. data/lib/wsdl/xmlSchema/parser.rb +166 -0
  120. data/lib/wsdl/xmlSchema/pattern.rb +36 -0
  121. data/lib/wsdl/xmlSchema/schema.rb +144 -0
  122. data/lib/wsdl/xmlSchema/sequence.rb +51 -0
  123. data/lib/wsdl/xmlSchema/simpleContent.rb +69 -0
  124. data/lib/wsdl/xmlSchema/simpleExtension.rb +54 -0
  125. data/lib/wsdl/xmlSchema/simpleRestriction.rb +91 -0
  126. data/lib/wsdl/xmlSchema/simpleType.rb +80 -0
  127. data/lib/wsdl/xmlSchema/unique.rb +34 -0
  128. data/lib/wsdl/xmlSchema/xsd2ruby.rb +107 -0
  129. data/lib/xsd/charset.rb +187 -0
  130. data/lib/xsd/codegen.rb +12 -0
  131. data/lib/xsd/codegen/classdef.rb +203 -0
  132. data/lib/xsd/codegen/commentdef.rb +34 -0
  133. data/lib/xsd/codegen/gensupport.rb +168 -0
  134. data/lib/xsd/codegen/methoddef.rb +70 -0
  135. data/lib/xsd/codegen/moduledef.rb +191 -0
  136. data/lib/xsd/datatypes.rb +1282 -0
  137. data/lib/xsd/datatypes1999.rb +20 -0
  138. data/lib/xsd/iconvcharset.rb +33 -0
  139. data/lib/xsd/mapping.rb +42 -0
  140. data/lib/xsd/namedelements.rb +124 -0
  141. data/lib/xsd/ns.rb +146 -0
  142. data/lib/xsd/qname.rb +78 -0
  143. data/lib/xsd/xmlparser.rb +61 -0
  144. data/lib/xsd/xmlparser/parser.rb +96 -0
  145. data/lib/xsd/xmlparser/rexmlparser.rb +54 -0
  146. data/lib/xsd/xmlparser/xmlparser.rb +50 -0
  147. data/lib/xsd/xmlparser/xmlscanner.rb +147 -0
  148. data/test/16runner.rb +68 -0
  149. data/test/interopR2/README.txt +2 -0
  150. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  151. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  152. data/test/interopR2/base.rb +288 -0
  153. data/test/interopR2/client.NetRemoting.rb +17 -0
  154. data/test/interopR2/client.NetRemoting.rb.result +3410 -0
  155. data/test/interopR2/client.NetRemoting_Base.log +6279 -0
  156. data/test/interopR2/client.NetRemoting_GroupB.log +1188 -0
  157. data/test/interopR2/client.rb +1228 -0
  158. data/test/interopR2/client4S4C.rb +15 -0
  159. data/test/interopR2/client4S4C2.rb +14 -0
  160. data/test/interopR2/client4S4C2_Base.log +4955 -0
  161. data/test/interopR2/client4S4C2_GroupB.log +1000 -0
  162. data/test/interopR2/client4S4C_Base.log +4635 -0
  163. data/test/interopR2/client4S4C_GroupB.log +900 -0
  164. data/test/interopR2/clientASP.NET.rb +17 -0
  165. data/test/interopR2/clientASP.NET_Base.log +5468 -0
  166. data/test/interopR2/clientASP.NET_GroupB.log +977 -0
  167. data/test/interopR2/clientApacheAxis.rb +16 -0
  168. data/test/interopR2/clientApacheAxis_Base.log +3171 -0
  169. data/test/interopR2/clientApacheAxis_GroupB.log +498 -0
  170. data/test/interopR2/clientApacheSOAP.rb +17 -0
  171. data/test/interopR2/clientApacheSOAP_Base.log +3171 -0
  172. data/test/interopR2/clientBEAWebLogic.rb +17 -0
  173. data/test/interopR2/clientBEAWebLogic_Base.log +3171 -0
  174. data/test/interopR2/clientBEAWebLogic_GroupB.log +498 -0
  175. data/test/interopR2/clientBase.rb +1970 -0
  176. data/test/interopR2/clientCapeConnect.rb +18 -0
  177. data/test/interopR2/clientCapeConnect_Base.log +2126 -0
  178. data/test/interopR2/clientDelphi.rb +19 -0
  179. data/test/interopR2/clientDelphi_Base.log +0 -0
  180. data/test/interopR2/clientEasySoap.rb +14 -0
  181. data/test/interopR2/clientEasySoap_Base.log +6187 -0
  182. data/test/interopR2/clientEasySoap_GroupB.log +1076 -0
  183. data/test/interopR2/clientFrontier.rb +25 -0
  184. data/test/interopR2/clientFrontier_Base.log +5188 -0
  185. data/test/interopR2/clientGLUE.rb +32 -0
  186. data/test/interopR2/clientHP.rb +13 -0
  187. data/test/interopR2/clientHP_Base.log +3171 -0
  188. data/test/interopR2/clientHP_GroupB.log +498 -0
  189. data/test/interopR2/clientJAX-RPC.rb +19 -0
  190. data/test/interopR2/clientJSOAP.rb +14 -0
  191. data/test/interopR2/clientJSOAP_Base.log +4465 -0
  192. data/test/interopR2/clientJSOAP_GroupB.log +824 -0
  193. data/test/interopR2/clientKafkaXSLT.rb +15 -0
  194. data/test/interopR2/clientKafkaXSLT_Base.log +10299 -0
  195. data/test/interopR2/clientKafkaXSLT_GroupB.log +1739 -0
  196. data/test/interopR2/clientMSSOAPToolkit2.0.rb +17 -0
  197. data/test/interopR2/clientMSSOAPToolkit2.0_Base.log +4805 -0
  198. data/test/interopR2/clientMSSOAPToolkit2.0_GroupB.log +871 -0
  199. data/test/interopR2/clientMSSOAPToolkit3.0.rb +17 -0
  200. data/test/interopR2/clientMSSOAPToolkit3.0_Base.log +5076 -0
  201. data/test/interopR2/clientMSSOAPToolkit3.0_GroupB.log +908 -0
  202. data/test/interopR2/clientNuSOAP.rb +19 -0
  203. data/test/interopR2/clientNuSOAP_Base.log +5076 -0
  204. data/test/interopR2/clientNuSOAP_GroupB.log +958 -0
  205. data/test/interopR2/clientNuWave.rb +15 -0
  206. data/test/interopR2/clientNuWave_Base.log +2019 -0
  207. data/test/interopR2/clientOpenLink.rb +15 -0
  208. data/test/interopR2/clientOpenLink_Base.log +6171 -0
  209. data/test/interopR2/clientOpenLink_GroupB.log +1094 -0
  210. data/test/interopR2/clientOracle.rb +15 -0
  211. data/test/interopR2/clientOracle_Base.log +5594 -0
  212. data/test/interopR2/clientPEAR.rb +18 -0
  213. data/test/interopR2/clientPEAR_Base.log +6261 -0
  214. data/test/interopR2/clientPEAR_GroupB.log +1106 -0
  215. data/test/interopR2/clientPhalanx.rb +18 -0
  216. data/test/interopR2/clientPhalanx_Base.log +41036 -0
  217. data/test/interopR2/clientPhalanx_GroupB.log +6519 -0
  218. data/test/interopR2/clientSIMACE.rb +18 -0
  219. data/test/interopR2/clientSIMACE_Base.log +6171 -0
  220. data/test/interopR2/clientSIMACE_GroupB.log +1093 -0
  221. data/test/interopR2/clientSOAP4R.rb +18 -0
  222. data/test/interopR2/clientSOAP4R.rb.result +3409 -0
  223. data/test/interopR2/clientSOAP4R_Base.log +6366 -0
  224. data/test/interopR2/clientSOAP4R_GroupB.log +1112 -0
  225. data/test/interopR2/clientSOAP__Lite.rb +14 -0
  226. data/test/interopR2/clientSQLData.rb +18 -0
  227. data/test/interopR2/clientSQLData_Base.log +4857 -0
  228. data/test/interopR2/clientSQLData_GroupB.log +770 -0
  229. data/test/interopR2/clientSilverStream.rb +17 -0
  230. data/test/interopR2/clientSilverStream_Base.log +3171 -0
  231. data/test/interopR2/clientSpray2001.rb +17 -0
  232. data/test/interopR2/clientSpray2001_Base.log +8187 -0
  233. data/test/interopR2/clientSpray2001_GroupB.log +1408 -0
  234. data/test/interopR2/clientSun.rb +19 -0
  235. data/test/interopR2/clientSun_Base.log +4641 -0
  236. data/test/interopR2/clientSun_GroupB.log +856 -0
  237. data/test/interopR2/clientVWOpentalkSoap.rb +19 -0
  238. data/test/interopR2/clientVWOpentalkSoap_Base.log +5402 -0
  239. data/test/interopR2/clientVWOpentalkSoap_GroupB.log +972 -0
  240. data/test/interopR2/clientWASP.rb +19 -0
  241. data/test/interopR2/clientWASPC.rb +18 -0
  242. data/test/interopR2/clientWASPC_Base.log +4187 -0
  243. data/test/interopR2/clientWASPC_GroupB.log +763 -0
  244. data/test/interopR2/clientWASP_Base.log +5414 -0
  245. data/test/interopR2/clientWASP_GroupB.log +970 -0
  246. data/test/interopR2/clientWebMethods.rb +15 -0
  247. data/test/interopR2/clientWebMethods_Base.log +3075 -0
  248. data/test/interopR2/clientWebMethods_GroupB.log +483 -0
  249. data/test/interopR2/clientWhiteMesa.rb +28 -0
  250. data/test/interopR2/clientWhiteMesa_Base.log +4359 -0
  251. data/test/interopR2/clientWhiteMesa_GroupB.log +808 -0
  252. data/test/interopR2/clientWingfoot.rb +15 -0
  253. data/test/interopR2/clientWingfoot_Base.log +4445 -0
  254. data/test/interopR2/clientWingfoot_GroupB.log +848 -0
  255. data/test/interopR2/clientXMLBus.rb +19 -0
  256. data/test/interopR2/clientXMLBus_Base.log +3075 -0
  257. data/test/interopR2/clientXMLBus_GroupB.log +483 -0
  258. data/test/interopR2/clientXMLRPC-EPI.rb +17 -0
  259. data/test/interopR2/clientXSOAP.rb +14 -0
  260. data/test/interopR2/clientXSOAP_Base.log +4445 -0
  261. data/test/interopR2/clientZSI.rb +19 -0
  262. data/test/interopR2/clienteSOAP.rb +18 -0
  263. data/test/interopR2/clienteSOAP_Base.log +8728 -0
  264. data/test/interopR2/clientgSOAP.rb +18 -0
  265. data/test/interopR2/clientgSOAP_Base.log +4689 -0
  266. data/test/interopR2/clientgSOAP_GroupB.log +1014 -0
  267. data/test/interopR2/clientkSOAP.rb +17 -0
  268. data/test/interopR2/clientkSOAP_Base.log +5625 -0
  269. data/test/interopR2/iSimonReg.rb +112 -0
  270. data/test/interopR2/interopResultBase.rb +114 -0
  271. data/test/interopR2/interopService.rb +247 -0
  272. data/test/interopR2/result_client.NetRemoting.txt +4593 -0
  273. data/test/interopR2/rwikiInteropService.rb +105 -0
  274. data/test/interopR2/server.cgi +270 -0
  275. data/test/interopR2/server.rb +274 -0
  276. data/test/interopR2/simonReg.rb +123 -0
  277. data/test/interopR2/test.sh +49 -0
  278. data/test/interopR4/client.rb +112 -0
  279. data/test/runner.rb +9 -0
  280. data/test/sm11/classDef.rb +156 -0
  281. data/test/sm11/client.rb +542 -0
  282. data/test/sm11/driver.rb +183 -0
  283. data/test/sm11/servant.rb +1067 -0
  284. data/test/sm11/server.rb +25 -0
  285. data/test/soap/asp.net/hello.wsdl +96 -0
  286. data/test/soap/asp.net/test_aspdotnet.rb +112 -0
  287. data/test/soap/calc/calc.rb +17 -0
  288. data/test/soap/calc/calc2.rb +29 -0
  289. data/test/soap/calc/server.cgi +13 -0
  290. data/test/soap/calc/server.rb +17 -0
  291. data/test/soap/calc/server2.rb +20 -0
  292. data/test/soap/calc/test_calc.rb +49 -0
  293. data/test/soap/calc/test_calc2.rb +53 -0
  294. data/test/soap/calc/test_calc_cgi.rb +69 -0
  295. data/test/soap/fault/test_customfault.rb +58 -0
  296. data/test/soap/header/server.cgi +119 -0
  297. data/test/soap/header/test_authheader.rb +240 -0
  298. data/test/soap/header/test_authheader_cgi.rb +121 -0
  299. data/test/soap/header/test_simplehandler.rb +116 -0
  300. data/test/soap/helloworld/hw_s.rb +16 -0
  301. data/test/soap/helloworld/test_helloworld.rb +41 -0
  302. data/test/soap/literalArrayMapping/amazonEc.rb +4778 -0
  303. data/test/soap/literalArrayMapping/amazonEcDriver.rb +172 -0
  304. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  305. data/test/soap/literalArrayMapping/test_definedarray.rb +36 -0
  306. data/test/soap/marshal/marshaltestlib.rb +494 -0
  307. data/test/soap/marshal/test_digraph.rb +56 -0
  308. data/test/soap/marshal/test_marshal.rb +26 -0
  309. data/test/soap/marshal/test_struct.rb +47 -0
  310. data/test/soap/ssl/README +1 -0
  311. data/test/soap/ssl/ca.cert +23 -0
  312. data/test/soap/ssl/client.cert +19 -0
  313. data/test/soap/ssl/client.key +15 -0
  314. data/test/soap/ssl/server.cert +19 -0
  315. data/test/soap/ssl/server.key +15 -0
  316. data/test/soap/ssl/sslsvr.rb +57 -0
  317. data/test/soap/ssl/subca.cert +21 -0
  318. data/test/soap/ssl/test_ssl.rb +245 -0
  319. data/test/soap/struct/test_struct.rb +77 -0
  320. data/test/soap/styleuse/client.rb +20 -0
  321. data/test/soap/styleuse/server.rb +86 -0
  322. data/test/soap/swa/test_file.rb +73 -0
  323. data/test/soap/test_basetype.rb +976 -0
  324. data/test/soap/test_custommap.rb +108 -0
  325. data/test/soap/test_empty.rb +79 -0
  326. data/test/soap/test_envelopenamespace.rb +92 -0
  327. data/test/soap/test_httpconfigloader.rb +39 -0
  328. data/test/soap/test_mapping.rb +59 -0
  329. data/test/soap/test_no_indent.rb +86 -0
  330. data/test/soap/test_property.rb +424 -0
  331. data/test/soap/test_response_as_xml.rb +95 -0
  332. data/test/soap/test_soapelement.rb +120 -0
  333. data/test/soap/test_streamhandler.rb +262 -0
  334. data/test/soap/test_styleuse.rb +333 -0
  335. data/test/soap/wsdlDriver/README.txt +2 -0
  336. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  337. data/test/soap/wsdlDriver/document.wsdl +54 -0
  338. data/test/soap/wsdlDriver/echo_version.rb +29 -0
  339. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  340. data/test/soap/wsdlDriver/test_calc.rb +100 -0
  341. data/test/soap/wsdlDriver/test_document.rb +78 -0
  342. data/test/soap/wsdlDriver/test_simpletype.rb +87 -0
  343. data/test/wsdl/abstract/abstract.wsdl +97 -0
  344. data/test/wsdl/abstract/test_abstract.rb +130 -0
  345. data/test/wsdl/any/any.wsdl +51 -0
  346. data/test/wsdl/any/expectedDriver.rb +46 -0
  347. data/test/wsdl/any/expectedEcho.rb +18 -0
  348. data/test/wsdl/any/expectedService.rb +42 -0
  349. data/test/wsdl/any/test_any.rb +193 -0
  350. data/test/wsdl/axisArray/axisArray.wsdl +60 -0
  351. data/test/wsdl/axisArray/itemList.rb +14 -0
  352. data/test/wsdl/axisArray/test_axisarray.rb +69 -0
  353. data/test/wsdl/choice/choice.wsdl +91 -0
  354. data/test/wsdl/choice/test_choice.rb +134 -0
  355. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  356. data/test/wsdl/complexcontent/test_echo.rb +101 -0
  357. data/test/wsdl/datetime/DatetimeService.rb +44 -0
  358. data/test/wsdl/datetime/datetime.rb +0 -0
  359. data/test/wsdl/datetime/datetime.wsdl +45 -0
  360. data/test/wsdl/datetime/datetimeServant.rb +21 -0
  361. data/test/wsdl/datetime/test_datetime.rb +82 -0
  362. data/test/wsdl/document/array/double.wsdl +72 -0
  363. data/test/wsdl/document/array/test_array.rb +117 -0
  364. data/test/wsdl/document/document.wsdl +74 -0
  365. data/test/wsdl/document/number.wsdl +54 -0
  366. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  367. data/test/wsdl/document/test_nosoapaction.rb +109 -0
  368. data/test/wsdl/document/test_number.rb +99 -0
  369. data/test/wsdl/document/test_rpc.rb +211 -0
  370. data/test/wsdl/emptycomplextype.wsdl +31 -0
  371. data/test/wsdl/list/list.wsdl +93 -0
  372. data/test/wsdl/list/test_list.rb +134 -0
  373. data/test/wsdl/map/map.wsdl +92 -0
  374. data/test/wsdl/map/map.xml +43 -0
  375. data/test/wsdl/map/test_map.rb +99 -0
  376. data/test/wsdl/marshal/person.wsdl +21 -0
  377. data/test/wsdl/marshal/person_org.rb +18 -0
  378. data/test/wsdl/marshal/test_wsdlmarshal.rb +79 -0
  379. data/test/wsdl/multiplefault.wsdl +68 -0
  380. data/test/wsdl/overload/overload.wsdl +80 -0
  381. data/test/wsdl/overload/test_overload.rb +118 -0
  382. data/test/wsdl/qualified/lp.wsdl +47 -0
  383. data/test/wsdl/qualified/lp.xsd +26 -0
  384. data/test/wsdl/qualified/np.wsdl +51 -0
  385. data/test/wsdl/qualified/test_qualified.rb +145 -0
  386. data/test/wsdl/qualified/test_unqualified.rb +159 -0
  387. data/test/wsdl/raa/RAA.rb +120 -0
  388. data/test/wsdl/raa/RAAServant.rb +107 -0
  389. data/test/wsdl/raa/RAAService.rb +120 -0
  390. data/test/wsdl/raa/README.txt +8 -0
  391. data/test/wsdl/raa/raa.wsdl +264 -0
  392. data/test/wsdl/raa/server.rb +103 -0
  393. data/test/wsdl/raa/test_raa.rb +91 -0
  394. data/test/wsdl/ref/expectedProduct.rb +158 -0
  395. data/test/wsdl/ref/product.wsdl +147 -0
  396. data/test/wsdl/ref/test_ref.rb +289 -0
  397. data/test/wsdl/rpc/rpc.wsdl +83 -0
  398. data/test/wsdl/rpc/test-rpc-lit.wsdl +364 -0
  399. data/test/wsdl/rpc/test_rpc.rb +173 -0
  400. data/test/wsdl/rpc/test_rpc_lit.rb +407 -0
  401. data/test/wsdl/simplecontent/simplecontent.wsdl +83 -0
  402. data/test/wsdl/simplecontent/test_simplecontent.rb +116 -0
  403. data/test/wsdl/simpletype/rpc/expectedClient.rb +34 -0
  404. data/test/wsdl/simpletype/rpc/expectedDriver.rb +55 -0
  405. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +19 -0
  406. data/test/wsdl/simpletype/rpc/expectedServant.rb +32 -0
  407. data/test/wsdl/simpletype/rpc/expectedService.rb +51 -0
  408. data/test/wsdl/simpletype/rpc/rpc.wsdl +80 -0
  409. data/test/wsdl/simpletype/rpc/test_rpc.rb +62 -0
  410. data/test/wsdl/simpletype/simpletype.wsdl +95 -0
  411. data/test/wsdl/simpletype/test_simpletype.rb +99 -0
  412. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  413. data/test/wsdl/soap/test_soapbodyparts.rb +79 -0
  414. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +19 -0
  415. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +34 -0
  416. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +55 -0
  417. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +32 -0
  418. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +44 -0
  419. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +51 -0
  420. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  421. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +31 -0
  422. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  423. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +54 -0
  424. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  425. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +96 -0
  426. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +79 -0
  427. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  428. data/test/wsdl/soaptype/test_soaptype.rb +160 -0
  429. data/test/wsdl/test_emptycomplextype.rb +21 -0
  430. data/test/wsdl/test_fault.rb +50 -0
  431. data/test/wsdl/test_multiplefault.rb +39 -0
  432. data/test/xsd/codegen/test_classdef.rb +214 -0
  433. data/test/xsd/noencoding.xml +4 -0
  434. data/test/xsd/test_noencoding.rb +32 -0
  435. data/test/xsd/test_ns.rb +20 -0
  436. data/test/xsd/test_xmlschemaparser.rb +22 -0
  437. data/test/xsd/test_xsd.rb +1523 -0
  438. data/test/xsd/xmllang.xml +43 -0
  439. data/test/xsd/xmlschema.xml +12 -0
  440. metadata +539 -0
@@ -0,0 +1,264 @@
1
+ # SOAP4R - SOAP XML Instance Generator library.
2
+ # Copyright (C) 2001, 2003, 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'xsd/ns'
10
+ require 'soap/soap'
11
+ require 'soap/baseData'
12
+ require 'soap/encodingstyle/handler'
13
+
14
+
15
+ module SOAP
16
+
17
+
18
+ ###
19
+ ## CAUTION: MT-unsafe
20
+ #
21
+ class SOAPGenerator
22
+ include SOAP
23
+
24
+ class FormatEncodeError < Error; end
25
+
26
+ public
27
+
28
+ attr_accessor :charset
29
+ attr_accessor :default_encodingstyle
30
+ attr_accessor :generate_explicit_type
31
+ attr_accessor :use_numeric_character_reference
32
+
33
+ def initialize(opt = {})
34
+ @reftarget = nil
35
+ @handlers = {}
36
+ @charset = opt[:charset] || XSD::Charset.xml_encoding_label
37
+ @default_encodingstyle = opt[:default_encodingstyle] || EncodingNamespace
38
+ @generate_explicit_type =
39
+ opt.key?(:generate_explicit_type) ? opt[:generate_explicit_type] : true
40
+ # elementformdefault is for default namespace usage controll
41
+ # TODO: should be renamed
42
+ @elementformdefault = opt[:elementformdefault]
43
+ @attributeformdefault = opt[:attributeformdefault]
44
+ @use_numeric_character_reference = opt[:use_numeric_character_reference]
45
+ @indentstr = opt[:no_indent] ? '' : ' '
46
+ @buf = @indent = @curr = nil
47
+ end
48
+
49
+ def generate(obj, io = nil)
50
+ @buf = io || ''
51
+ @indent = ''
52
+
53
+ prologue
54
+ @handlers.each do |uri, handler|
55
+ handler.encode_prologue
56
+ end
57
+
58
+ ns = XSD::NS.new
59
+ @buf << xmldecl
60
+ encode_data(ns, obj, nil)
61
+
62
+ @handlers.each do |uri, handler|
63
+ handler.encode_epilogue
64
+ end
65
+ epilogue
66
+
67
+ @buf
68
+ end
69
+
70
+ def encode_data(ns, obj, parent)
71
+ if obj.is_a?(SOAPEnvelopeElement)
72
+ encode_element(ns, obj, parent)
73
+ return
74
+ end
75
+ if @reftarget && !obj.precedents.empty?
76
+ add_reftarget(obj.elename.name, obj)
77
+ ref = SOAPReference.new(obj)
78
+ ref.elename = ref.elename.dup_name(obj.elename.name)
79
+ obj.precedents.clear # Avoid cyclic delay.
80
+ obj.encodingstyle = parent.encodingstyle
81
+ # SOAPReference is encoded here.
82
+ obj = ref
83
+ end
84
+ encodingstyle = obj.encodingstyle
85
+ # Children's encodingstyle is derived from its parent.
86
+ encodingstyle ||= parent.encodingstyle if parent
87
+ obj.encodingstyle = encodingstyle
88
+ handler = find_handler(encodingstyle || @default_encodingstyle)
89
+ unless handler
90
+ raise FormatEncodeError.new("Unknown encodingStyle: #{ encodingstyle }.")
91
+ end
92
+ if !obj.elename.name
93
+ raise FormatEncodeError.new("Element name not defined: #{ obj }.")
94
+ end
95
+ handler.encode_data(self, ns, obj, parent)
96
+ handler.encode_data_end(self, ns, obj, parent)
97
+ end
98
+
99
+ def add_reftarget(name, node)
100
+ unless @reftarget
101
+ raise FormatEncodeError.new("Reftarget is not defined.")
102
+ end
103
+ @reftarget.add(name, node)
104
+ end
105
+
106
+ def encode_child(ns, child, parent)
107
+ indent_backup, @indent = @indent, @indent + @indentstr
108
+ encode_data(ns.clone_ns, child, parent)
109
+ @indent = indent_backup
110
+ end
111
+
112
+ def encode_element(ns, obj, parent)
113
+ attrs = {}
114
+ if obj.is_a?(SOAPBody)
115
+ @reftarget = obj
116
+ obj.encode(self, ns, attrs) do |child|
117
+ indent_backup, @indent = @indent, @indent + @indentstr
118
+ encode_data(ns.clone_ns, child, obj)
119
+ @indent = indent_backup
120
+ end
121
+ @reftarget = nil
122
+ else
123
+ if obj.is_a?(SOAPEnvelope)
124
+ # xsi:nil="true" can appear even if dumping without explicit type.
125
+ SOAPGenerator.assign_ns(attrs, ns,
126
+ XSD::InstanceNamespace, XSINamespaceTag)
127
+ if @generate_explicit_type
128
+ SOAPGenerator.assign_ns(attrs, ns, XSD::Namespace, XSDNamespaceTag)
129
+ end
130
+ end
131
+ obj.encode(self, ns, attrs) do |child|
132
+ indent_backup, @indent = @indent, @indent + @indentstr
133
+ encode_data(ns.clone_ns, child, obj)
134
+ @indent = indent_backup
135
+ end
136
+ end
137
+ end
138
+
139
+ def encode_name(ns, data, attrs)
140
+ if element_local?(data)
141
+ data.elename.name
142
+ else
143
+ if @elementformdefault
144
+ SOAPGenerator.assign_ns(attrs, ns, data.elename.namespace, '')
145
+ else
146
+ SOAPGenerator.assign_ns(attrs, ns, data.elename.namespace)
147
+ end
148
+ ns.name(data.elename)
149
+ end
150
+ end
151
+
152
+ def encode_name_end(ns, data)
153
+ if element_local?(data)
154
+ data.elename.name
155
+ else
156
+ ns.name(data.elename)
157
+ end
158
+ end
159
+
160
+ def encode_tag(elename, attrs = nil)
161
+ if attrs.nil? or attrs.empty?
162
+ @buf << "\n#{ @indent }<#{ elename }>"
163
+ return
164
+ end
165
+ ary = []
166
+ attrs.each do |key, value|
167
+ ary << %Q[#{ key }="#{ value }"] unless value.nil?
168
+ end
169
+ case ary.size
170
+ when 0
171
+ @buf << "\n#{ @indent }<#{ elename }>"
172
+ when 1
173
+ @buf << %Q[\n#{ @indent }<#{ elename } #{ ary[0] }>]
174
+ else
175
+ @buf << "\n#{ @indent }<#{ elename } " <<
176
+ ary.join("\n#{ @indent }#{ @indentstr * 2 }") <<
177
+ '>'
178
+ end
179
+ end
180
+
181
+ def encode_tag_end(elename, cr = nil)
182
+ if cr
183
+ @buf << "\n#{ @indent }</#{ elename }>"
184
+ else
185
+ @buf << "</#{ elename }>"
186
+ end
187
+ end
188
+
189
+ def encode_rawstring(str)
190
+ @buf << str
191
+ end
192
+
193
+ EncodeMap = {
194
+ '&' => '&amp;',
195
+ '<' => '&lt;',
196
+ '>' => '&gt;',
197
+ '"' => '&quot;',
198
+ '\'' => '&apos;',
199
+ "\r" => '&#xd;'
200
+ }
201
+ EncodeCharRegexp = Regexp.new("[#{EncodeMap.keys.join}]")
202
+ def encode_string(str)
203
+ if @use_numeric_character_reference and !XSD::Charset.is_us_ascii(str)
204
+ str.gsub!(EncodeCharRegexp) { |c| EncodeMap[c] }
205
+ @buf << str.unpack("U*").collect { |c|
206
+ if c == 0x9 or c == 0xa or c == 0xd or (c >= 0x20 and c <= 0x7f)
207
+ c.chr
208
+ else
209
+ sprintf("&#x%x;", c)
210
+ end
211
+ }.join
212
+ else
213
+ @buf << str.gsub(EncodeCharRegexp) { |c| EncodeMap[c] }
214
+ end
215
+ end
216
+
217
+ def element_local?(element)
218
+ element.elename.namespace.nil?
219
+ end
220
+
221
+ def self.assign_ns(attrs, ns, namespace, tag = nil)
222
+ if namespace.nil?
223
+ raise FormatEncodeError.new("empty namespace")
224
+ end
225
+ unless ns.assigned?(namespace)
226
+ tag = ns.assign(namespace, tag)
227
+ if tag == ''
228
+ attr = 'xmlns'
229
+ else
230
+ attr = "xmlns:#{tag}"
231
+ end
232
+ attrs[attr] = namespace
233
+ end
234
+ end
235
+
236
+ private
237
+
238
+ def prologue
239
+ end
240
+
241
+ def epilogue
242
+ end
243
+
244
+ def find_handler(encodingstyle)
245
+ unless @handlers.key?(encodingstyle)
246
+ handler = SOAP::EncodingStyle::Handler.handler(encodingstyle).new(@charset)
247
+ handler.generate_explicit_type = @generate_explicit_type
248
+ handler.encode_prologue
249
+ @handlers[encodingstyle] = handler
250
+ end
251
+ @handlers[encodingstyle]
252
+ end
253
+
254
+ def xmldecl
255
+ if @charset
256
+ %Q[<?xml version="1.0" encoding="#{ @charset }" ?>]
257
+ else
258
+ %Q[<?xml version="1.0" ?>]
259
+ end
260
+ end
261
+ end
262
+
263
+
264
+ end
@@ -0,0 +1,60 @@
1
+ # SOAP4R - SOAP Header handler item
2
+ # Copyright (C) 2003, 2003 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'soap/element'
10
+
11
+
12
+ module SOAP
13
+ module Header
14
+
15
+
16
+ class Handler
17
+ attr_reader :elename
18
+ attr_reader :mustunderstand
19
+ attr_reader :encodingstyle
20
+ attr_reader :target_actor
21
+
22
+ def initialize(elename)
23
+ @elename = elename
24
+ @mustunderstand = false
25
+ @encodingstyle = nil
26
+ @target_actor = nil
27
+ end
28
+
29
+ # Should return a SOAP/OM, a SOAPHeaderItem or nil.
30
+ def on_outbound
31
+ nil
32
+ end
33
+
34
+ # Given header is a SOAPHeaderItem or nil.
35
+ def on_inbound(header, mustunderstand = false)
36
+ # do something.
37
+ end
38
+
39
+ def on_outbound_headeritem
40
+ item = on_outbound
41
+ if item.nil?
42
+ nil
43
+ elsif item.is_a?(::SOAP::SOAPHeaderItem)
44
+ item.elename = @elename
45
+ item
46
+ else
47
+ item.elename = @elename
48
+ ::SOAP::SOAPHeaderItem.new(item, @mustunderstand, @encodingstyle,
49
+ @target_actor)
50
+ end
51
+ end
52
+
53
+ def on_inbound_headeritem(header)
54
+ on_inbound(header.element, header.mustunderstand)
55
+ end
56
+ end
57
+
58
+
59
+ end
60
+ end
@@ -0,0 +1,70 @@
1
+ # SOAP4R - SOAP Header handler set
2
+ # Copyright (C) 2003, 2004 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'xsd/namedelements'
10
+
11
+
12
+ module SOAP
13
+ module Header
14
+
15
+
16
+ class HandlerSet
17
+ def initialize
18
+ @store = XSD::NamedElements.new
19
+ end
20
+
21
+ def dup
22
+ obj = HandlerSet.new
23
+ obj.store = @store.dup
24
+ obj
25
+ end
26
+
27
+ def add(handler)
28
+ @store << handler
29
+ end
30
+ alias << add
31
+
32
+ def delete(handler)
33
+ @store.delete(handler)
34
+ end
35
+
36
+ def include?(handler)
37
+ @store.include?(handler)
38
+ end
39
+
40
+ # returns: Array of SOAPHeaderItem
41
+ def on_outbound
42
+ @store.collect { |handler|
43
+ handler.on_outbound_headeritem
44
+ }.compact
45
+ end
46
+
47
+ # headers: SOAPHeaderItem enumerable object
48
+ def on_inbound(headers)
49
+ headers.each do |name, item|
50
+ handler = @store.find { |handler|
51
+ handler.elename == item.element.elename
52
+ }
53
+ if handler
54
+ handler.on_inbound_headeritem(item)
55
+ elsif item.mustunderstand
56
+ raise UnhandledMustUnderstandHeaderError.new(item.element.elename.to_s)
57
+ end
58
+ end
59
+ end
60
+
61
+ protected
62
+
63
+ def store=(store)
64
+ @store = store
65
+ end
66
+ end
67
+
68
+
69
+ end
70
+ end
@@ -0,0 +1,44 @@
1
+ # SOAP4R - SOAP Simple header item handler
2
+ # Copyright (C) 2003-2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'soap/header/handler'
10
+ require 'soap/baseData'
11
+
12
+
13
+ module SOAP
14
+ module Header
15
+
16
+
17
+ class SimpleHandler < SOAP::Header::Handler
18
+ def initialize(elename)
19
+ super(elename)
20
+ end
21
+
22
+ # Should return a Hash, String or nil.
23
+ def on_simple_outbound
24
+ nil
25
+ end
26
+
27
+ # Given header is a Hash, String or nil.
28
+ def on_simple_inbound(header, mustunderstand)
29
+ end
30
+
31
+ def on_outbound
32
+ h = on_simple_outbound
33
+ h ? SOAPElement.from_obj(h, elename.namespace) : nil
34
+ end
35
+
36
+ def on_inbound(header, mustunderstand)
37
+ h = header.respond_to?(:to_obj) ? header.to_obj : header.data
38
+ on_simple_inbound(h, mustunderstand)
39
+ end
40
+ end
41
+
42
+
43
+ end
44
+ end
@@ -0,0 +1,119 @@
1
+ # SOAP4R - HTTP config loader.
2
+ # Copyright (C) 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
3
+
4
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
5
+ # redistribute it and/or modify it under the same terms of Ruby's license;
6
+ # either the dual license version in 2003, or any later version.
7
+
8
+
9
+ require 'soap/property'
10
+
11
+
12
+ module SOAP
13
+
14
+
15
+ module HTTPConfigLoader
16
+ module_function
17
+
18
+ def set_options(client, options)
19
+ client.proxy = options["proxy"]
20
+ options.add_hook("proxy") do |key, value|
21
+ client.proxy = value
22
+ end
23
+ client.no_proxy = options["no_proxy"]
24
+ options.add_hook("no_proxy") do |key, value|
25
+ client.no_proxy = value
26
+ end
27
+ if client.respond_to?(:protocol_version=)
28
+ client.protocol_version = options["protocol_version"]
29
+ options.add_hook("protocol_version") do |key, value|
30
+ client.protocol_version = value
31
+ end
32
+ end
33
+ ssl_config = options["ssl_config"] ||= ::SOAP::Property.new
34
+ set_ssl_config(client, ssl_config)
35
+ ssl_config.add_hook(true) do |key, value|
36
+ set_ssl_config(client, ssl_config)
37
+ end
38
+ basic_auth = options["basic_auth"] ||= ::SOAP::Property.new
39
+ set_basic_auth(client, basic_auth)
40
+ basic_auth.add_hook do |key, value|
41
+ set_basic_auth(client, basic_auth)
42
+ end
43
+ options.add_hook("connect_timeout") do |key, value|
44
+ client.connect_timeout = value
45
+ end
46
+ options.add_hook("send_timeout") do |key, value|
47
+ client.send_timeout = value
48
+ end
49
+ options.add_hook("receive_timeout") do |key, value|
50
+ client.receive_timeout = value
51
+ end
52
+ end
53
+
54
+ def set_basic_auth(client, basic_auth)
55
+ basic_auth.values.each do |url, userid, passwd|
56
+ client.set_basic_auth(url, userid, passwd)
57
+ end
58
+ end
59
+
60
+ def set_ssl_config(client, ssl_config)
61
+ ssl_config.each do |key, value|
62
+ cfg = client.ssl_config
63
+ if cfg.nil?
64
+ raise NotImplementedError.new("SSL not supported")
65
+ end
66
+ case key
67
+ when 'client_cert'
68
+ cfg.client_cert = cert_from_file(value)
69
+ when 'client_key'
70
+ cfg.client_key = key_from_file(value)
71
+ when 'client_ca'
72
+ cfg.client_ca = value
73
+ when 'ca_path'
74
+ cfg.set_trust_ca(value)
75
+ when 'ca_file'
76
+ cfg.set_trust_ca(value)
77
+ when 'crl'
78
+ cfg.set_crl(value)
79
+ when 'verify_mode'
80
+ cfg.verify_mode = ssl_config_int(value)
81
+ when 'verify_depth'
82
+ cfg.verify_depth = ssl_config_int(value)
83
+ when 'options'
84
+ cfg.options = value
85
+ when 'ciphers'
86
+ cfg.ciphers = value
87
+ when 'verify_callback'
88
+ cfg.verify_callback = value
89
+ when 'cert_store'
90
+ cfg.cert_store = value
91
+ else
92
+ raise ArgumentError.new("unknown ssl_config property #{key}")
93
+ end
94
+ end
95
+ end
96
+
97
+ def ssl_config_int(value)
98
+ if value.nil? or value.to_s.empty?
99
+ nil
100
+ else
101
+ begin
102
+ Integer(value)
103
+ rescue ArgumentError
104
+ ::SOAP::Property::Util.const_from_name(value.to_s)
105
+ end
106
+ end
107
+ end
108
+
109
+ def cert_from_file(filename)
110
+ OpenSSL::X509::Certificate.new(File.open(filename) { |f| f.read })
111
+ end
112
+
113
+ def key_from_file(filename)
114
+ OpenSSL::PKey::RSA.new(File.open(filename) { |f| f.read })
115
+ end
116
+ end
117
+
118
+
119
+ end