soap5r 2.0.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 (628) hide show
  1. data/.gitignore +1 -0
  2. data/COPYING +7 -0
  3. data/GPL +340 -0
  4. data/RELEASE_en.html +1900 -0
  5. data/RUBYS +56 -0
  6. data/Rakefile +38 -0
  7. data/bin/wsdl2ruby.rb +139 -0
  8. data/bin/xsd2ruby.rb +91 -0
  9. data/install.rb +91 -0
  10. data/lib/soap/attachment.rb +109 -0
  11. data/lib/soap/attrproxy.rb +35 -0
  12. data/lib/soap/baseData.rb +1095 -0
  13. data/lib/soap/ci.rake +31 -0
  14. data/lib/soap/element.rb +278 -0
  15. data/lib/soap/encodingstyle/aspDotNetHandler.rb +208 -0
  16. data/lib/soap/encodingstyle/handler.rb +121 -0
  17. data/lib/soap/encodingstyle/literalHandler.rb +196 -0
  18. data/lib/soap/encodingstyle/soapHandler.rb +560 -0
  19. data/lib/soap/filter/filterchain.rb +52 -0
  20. data/lib/soap/filter/handler.rb +32 -0
  21. data/lib/soap/filter/streamhandler.rb +30 -0
  22. data/lib/soap/filter.rb +14 -0
  23. data/lib/soap/generator.rb +299 -0
  24. data/lib/soap/header/handler.rb +62 -0
  25. data/lib/soap/header/handlerset.rb +71 -0
  26. data/lib/soap/header/mappinghandler.rb +48 -0
  27. data/lib/soap/header/simplehandler.rb +45 -0
  28. data/lib/soap/httpconfigloader.rb +140 -0
  29. data/lib/soap/mapping/encodedregistry.rb +539 -0
  30. data/lib/soap/mapping/factory.rb +389 -0
  31. data/lib/soap/mapping/literalregistry.rb +392 -0
  32. data/lib/soap/mapping/mapping.rb +577 -0
  33. data/lib/soap/mapping/registry.rb +296 -0
  34. data/lib/soap/mapping/rubytypeFactory.rb +446 -0
  35. data/lib/soap/mapping/schemadefinition.rb +171 -0
  36. data/lib/soap/mapping/typeMap.rb +107 -0
  37. data/lib/soap/mapping/wsdlencodedregistry.rb +212 -0
  38. data/lib/soap/mapping/wsdlliteralregistry.rb +249 -0
  39. data/lib/soap/mapping.rb +13 -0
  40. data/lib/soap/marshal.rb +60 -0
  41. data/lib/soap/mimemessage.rb +243 -0
  42. data/lib/soap/nestedexception.rb +43 -0
  43. data/lib/soap/netHttpClient.rb +242 -0
  44. data/lib/soap/ns.rb +39 -0
  45. data/lib/soap/parser.rb +253 -0
  46. data/lib/soap/processor.rb +67 -0
  47. data/lib/soap/property.rb +340 -0
  48. data/lib/soap/proxy.rb +15 -0
  49. data/lib/soap/rpc/cgistub.rb +248 -0
  50. data/lib/soap/rpc/driver.rb +222 -0
  51. data/lib/soap/rpc/element.rb +375 -0
  52. data/lib/soap/rpc/httpserver.rb +143 -0
  53. data/lib/soap/rpc/methodDef.rb +69 -0
  54. data/lib/soap/rpc/proxy.rb +573 -0
  55. data/lib/soap/rpc/router.rb +663 -0
  56. data/lib/soap/rpc/rpc.rb +26 -0
  57. data/lib/soap/rpc/soaplet.rb +201 -0
  58. data/lib/soap/rpc/standaloneServer.rb +44 -0
  59. data/lib/soap/soap.rb +154 -0
  60. data/lib/soap/streamHandler.rb +302 -0
  61. data/lib/soap/version.rb +9 -0
  62. data/lib/soap/wsdlDriver.rb +165 -0
  63. data/lib/wsdl/binding.rb +66 -0
  64. data/lib/wsdl/data.rb +65 -0
  65. data/lib/wsdl/definitions.rb +237 -0
  66. data/lib/wsdl/documentation.rb +33 -0
  67. data/lib/wsdl/import.rb +81 -0
  68. data/lib/wsdl/importer.rb +39 -0
  69. data/lib/wsdl/info.rb +51 -0
  70. data/lib/wsdl/message.rb +55 -0
  71. data/lib/wsdl/operation.rb +152 -0
  72. data/lib/wsdl/operationBinding.rb +241 -0
  73. data/lib/wsdl/param.rb +94 -0
  74. data/lib/wsdl/parser.rb +165 -0
  75. data/lib/wsdl/part.rb +53 -0
  76. data/lib/wsdl/port.rb +67 -0
  77. data/lib/wsdl/portType.rb +76 -0
  78. data/lib/wsdl/service.rb +62 -0
  79. data/lib/wsdl/soap/address.rb +41 -0
  80. data/lib/wsdl/soap/binding.rb +50 -0
  81. data/lib/wsdl/soap/body.rb +59 -0
  82. data/lib/wsdl/soap/cgiStubCreator.rb +93 -0
  83. data/lib/wsdl/soap/classDefCreator.rb +434 -0
  84. data/lib/wsdl/soap/classDefCreatorSupport.rb +241 -0
  85. data/lib/wsdl/soap/classNameCreator.rb +55 -0
  86. data/lib/wsdl/soap/clientSkeltonCreator.rb +107 -0
  87. data/lib/wsdl/soap/complexType.rb +174 -0
  88. data/lib/wsdl/soap/data.rb +43 -0
  89. data/lib/wsdl/soap/definitions.rb +201 -0
  90. data/lib/wsdl/soap/driverCreator.rb +121 -0
  91. data/lib/wsdl/soap/element.rb +34 -0
  92. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +74 -0
  93. data/lib/wsdl/soap/fault.rb +57 -0
  94. data/lib/wsdl/soap/header.rb +87 -0
  95. data/lib/wsdl/soap/headerfault.rb +57 -0
  96. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +116 -0
  97. data/lib/wsdl/soap/mappingRegistryCreator.rb +59 -0
  98. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +377 -0
  99. data/lib/wsdl/soap/methodDefCreator.rb +200 -0
  100. data/lib/wsdl/soap/operation.rb +113 -0
  101. data/lib/wsdl/soap/servantSkeltonCreator.rb +92 -0
  102. data/lib/wsdl/soap/servletStubCreator.rb +105 -0
  103. data/lib/wsdl/soap/standaloneServerStubCreator.rb +101 -0
  104. data/lib/wsdl/soap/wsdl2ruby.rb +226 -0
  105. data/lib/wsdl/types.rb +45 -0
  106. data/lib/wsdl/wsdl.rb +25 -0
  107. data/lib/wsdl/xmlSchema/all.rb +25 -0
  108. data/lib/wsdl/xmlSchema/annotation.rb +35 -0
  109. data/lib/wsdl/xmlSchema/any.rb +62 -0
  110. data/lib/wsdl/xmlSchema/anyAttribute.rb +49 -0
  111. data/lib/wsdl/xmlSchema/attribute.rb +105 -0
  112. data/lib/wsdl/xmlSchema/attributeGroup.rb +69 -0
  113. data/lib/wsdl/xmlSchema/choice.rb +59 -0
  114. data/lib/wsdl/xmlSchema/complexContent.rb +98 -0
  115. data/lib/wsdl/xmlSchema/complexExtension.rb +120 -0
  116. data/lib/wsdl/xmlSchema/complexRestriction.rb +105 -0
  117. data/lib/wsdl/xmlSchema/complexType.rb +194 -0
  118. data/lib/wsdl/xmlSchema/content.rb +96 -0
  119. data/lib/wsdl/xmlSchema/data.rb +117 -0
  120. data/lib/wsdl/xmlSchema/element.rb +154 -0
  121. data/lib/wsdl/xmlSchema/enumeration.rb +37 -0
  122. data/lib/wsdl/xmlSchema/fractiondigits.rb +38 -0
  123. data/lib/wsdl/xmlSchema/group.rb +101 -0
  124. data/lib/wsdl/xmlSchema/import.rb +54 -0
  125. data/lib/wsdl/xmlSchema/importHandler.rb +46 -0
  126. data/lib/wsdl/xmlSchema/importer.rb +103 -0
  127. data/lib/wsdl/xmlSchema/include.rb +49 -0
  128. data/lib/wsdl/xmlSchema/length.rb +38 -0
  129. data/lib/wsdl/xmlSchema/list.rb +49 -0
  130. data/lib/wsdl/xmlSchema/maxexclusive.rb +38 -0
  131. data/lib/wsdl/xmlSchema/maxinclusive.rb +38 -0
  132. data/lib/wsdl/xmlSchema/maxlength.rb +38 -0
  133. data/lib/wsdl/xmlSchema/minexclusive.rb +38 -0
  134. data/lib/wsdl/xmlSchema/mininclusive.rb +38 -0
  135. data/lib/wsdl/xmlSchema/minlength.rb +38 -0
  136. data/lib/wsdl/xmlSchema/parser.rb +168 -0
  137. data/lib/wsdl/xmlSchema/pattern.rb +37 -0
  138. data/lib/wsdl/xmlSchema/ref.rb +34 -0
  139. data/lib/wsdl/xmlSchema/schema.rb +179 -0
  140. data/lib/wsdl/xmlSchema/sequence.rb +55 -0
  141. data/lib/wsdl/xmlSchema/simpleContent.rb +70 -0
  142. data/lib/wsdl/xmlSchema/simpleExtension.rb +63 -0
  143. data/lib/wsdl/xmlSchema/simpleRestriction.rb +133 -0
  144. data/lib/wsdl/xmlSchema/simpleType.rb +88 -0
  145. data/lib/wsdl/xmlSchema/totaldigits.rb +38 -0
  146. data/lib/wsdl/xmlSchema/union.rb +36 -0
  147. data/lib/wsdl/xmlSchema/unique.rb +35 -0
  148. data/lib/wsdl/xmlSchema/whitespace.rb +38 -0
  149. data/lib/wsdl/xmlSchema/xsd2ruby.rb +176 -0
  150. data/lib/xsd/charset.rb +190 -0
  151. data/lib/xsd/codegen/classdef.rb +209 -0
  152. data/lib/xsd/codegen/commentdef.rb +35 -0
  153. data/lib/xsd/codegen/gensupport.rb +277 -0
  154. data/lib/xsd/codegen/methoddef.rb +71 -0
  155. data/lib/xsd/codegen/moduledef.rb +209 -0
  156. data/lib/xsd/codegen.rb +13 -0
  157. data/lib/xsd/datatypes.rb +1466 -0
  158. data/lib/xsd/datatypes1999.rb +21 -0
  159. data/lib/xsd/iconvcharset.rb +34 -0
  160. data/lib/xsd/mapping.rb +69 -0
  161. data/lib/xsd/namedelements.rb +133 -0
  162. data/lib/xsd/ns.rb +183 -0
  163. data/lib/xsd/qname.rb +80 -0
  164. data/lib/xsd/xmlparser/libxmlparser.rb +116 -0
  165. data/lib/xsd/xmlparser/parser.rb +101 -0
  166. data/lib/xsd/xmlparser/rexmlparser.rb +59 -0
  167. data/lib/xsd/xmlparser/xmlparser.rb +51 -0
  168. data/lib/xsd/xmlparser/xmlscanner.rb +150 -0
  169. data/lib/xsd/xmlparser.rb +77 -0
  170. data/rubyStyle.css +104 -0
  171. data/sample/attachment/complexmime/EdmService.rb +125 -0
  172. data/sample/attachment/complexmime/README.txt +3 -0
  173. data/sample/attachment/complexmime/client.rb +58 -0
  174. data/sample/attachment/complexmime/drift.cdf +1 -0
  175. data/sample/attachment/complexmime/plaatje.png +1 -0
  176. data/sample/attachment/complexmime/server.rb +69 -0
  177. data/sample/attachment/swa/client.rb +14 -0
  178. data/sample/attachment/swa/server.rb +24 -0
  179. data/sample/basic/apacheClient.rb +93 -0
  180. data/sample/basic/babelfish.rb +17 -0
  181. data/sample/basic/calc/calc.rb +18 -0
  182. data/sample/basic/calc/calc2.rb +30 -0
  183. data/sample/basic/calc/client.rb +27 -0
  184. data/sample/basic/calc/client2.rb +30 -0
  185. data/sample/basic/calc/httpd.rb +21 -0
  186. data/sample/basic/calc/samplehttpd.conf +2 -0
  187. data/sample/basic/calc/server.cgi +16 -0
  188. data/sample/basic/calc/server.fcgi +22 -0
  189. data/sample/basic/calc/server.rb +22 -0
  190. data/sample/basic/calc/server2.rb +25 -0
  191. data/sample/basic/exchange/client.rb +20 -0
  192. data/sample/basic/exchange/exchange.rb +18 -0
  193. data/sample/basic/exchange/httpd.rb +21 -0
  194. data/sample/basic/exchange/samplehttpd.conf +2 -0
  195. data/sample/basic/exchange/server.cgi +15 -0
  196. data/sample/basic/exchange/server.rb +21 -0
  197. data/sample/basic/flickr.rb +27 -0
  198. data/sample/basic/helloworld/client.rb +7 -0
  199. data/sample/basic/helloworld/server.rb +21 -0
  200. data/sample/basic/sampleStruct/client.rb +17 -0
  201. data/sample/basic/sampleStruct/httpd.rb +21 -0
  202. data/sample/basic/sampleStruct/iSampleStruct.rb +23 -0
  203. data/sample/basic/sampleStruct/sampleStruct.rb +14 -0
  204. data/sample/basic/sampleStruct/samplehttpd.conf +2 -0
  205. data/sample/basic/sampleStruct/server.cgi +15 -0
  206. data/sample/basic/sampleStruct/server.rb +21 -0
  207. data/sample/basic/whois.rb +15 -0
  208. data/sample/basic/wsdl_helloworld/README +15 -0
  209. data/sample/basic/wsdl_helloworld/client/default.rb +2 -0
  210. data/sample/basic/wsdl_helloworld/client/defaultDriver.rb +48 -0
  211. data/sample/basic/wsdl_helloworld/client/hws.wsdl +46 -0
  212. data/sample/basic/wsdl_helloworld/client/hwsClient.rb +23 -0
  213. data/sample/basic/wsdl_helloworld/server/hw_s.rb +26 -0
  214. data/sample/basic/wsdl_helloworld/server/hws.wsdl +46 -0
  215. data/sample/basic/yahooNewsSearch.rb +37 -0
  216. data/sample/howto/as_xml/client.rb +23 -0
  217. data/sample/howto/as_xml/server.rb +23 -0
  218. data/sample/howto/base64/client.rb +18 -0
  219. data/sample/howto/base64/server.rb +31 -0
  220. data/sample/howto/custom_ns/client.rb +38 -0
  221. data/sample/howto/custom_ns/server.rb +43 -0
  222. data/sample/howto/documentliteral/README.txt +19 -0
  223. data/sample/howto/documentliteral/client.rb +12 -0
  224. data/sample/howto/documentliteral/echo.wsdl +66 -0
  225. data/sample/howto/documentliteral/servant.rb +12 -0
  226. data/sample/howto/filter/client.rb +43 -0
  227. data/sample/howto/filter/server.rb +68 -0
  228. data/sample/howto/scopesample/client.rb +35 -0
  229. data/sample/howto/scopesample/httpd.rb +23 -0
  230. data/sample/howto/scopesample/samplehttpd.conf +2 -0
  231. data/sample/howto/scopesample/servant.rb +19 -0
  232. data/sample/howto/scopesample/server.cgi +30 -0
  233. data/sample/howto/scopesample/server.rb +21 -0
  234. data/sample/howto/styleuse/client.rb +22 -0
  235. data/sample/howto/styleuse/server.rb +87 -0
  236. data/sample/howto/wsdl_fault/README.txt +11 -0
  237. data/sample/howto/wsdl_fault/fault/AddClient.rb +25 -0
  238. data/sample/howto/wsdl_fault/fault/AddServer.rb +16 -0
  239. data/sample/howto/wsdl_fault/fault/AddServiceImpl.rb +19 -0
  240. data/sample/howto/wsdl_fault/fault/fault.wsdl +79 -0
  241. data/sample/howto/wsdl_fault/multifault/AddClient.rb +29 -0
  242. data/sample/howto/wsdl_fault/multifault/AddServer.rb +16 -0
  243. data/sample/howto/wsdl_fault/multifault/AddServiceImpl.rb +25 -0
  244. data/sample/howto/wsdl_fault/multifault/fault.wsdl +96 -0
  245. data/sample/howto/wsdl_hash/client.rb +12 -0
  246. data/sample/howto/wsdl_hash/hash.wsdl +69 -0
  247. data/sample/howto/wsdl_hash/server.rb +18 -0
  248. data/sample/marshal/customfactory.rb +98 -0
  249. data/sample/marshal/customregistry.rb +18 -0
  250. data/sample/marshal/digraph.rb +44 -0
  251. data/sample/marshal/enum/README.txt +6 -0
  252. data/sample/marshal/enum/enum.xsd +23 -0
  253. data/sample/marshal/enum/enumsample.rb +21 -0
  254. data/sample/marshal/enum/enumsample_mapper.rb +8 -0
  255. data/sample/marshal/enum/enumsample_mapping_registry.rb +24 -0
  256. data/sample/marshal/enum/marshal.rb +10 -0
  257. data/sample/payload/basicauth/client.rb +11 -0
  258. data/sample/payload/basicauth/htpasswd +2 -0
  259. data/sample/payload/basicauth/server.rb +44 -0
  260. data/sample/payload/cookies/calc.rb +53 -0
  261. data/sample/payload/cookies/client.rb +31 -0
  262. data/sample/payload/cookies/filterclient.rb +53 -0
  263. data/sample/payload/cookies/server.rb +25 -0
  264. data/sample/payload/gzipped/client.rb +9 -0
  265. data/sample/payload/gzipped/server.rb +22 -0
  266. data/sample/payload/ssl/files/README +1 -0
  267. data/sample/payload/ssl/files/ca.cert +23 -0
  268. data/sample/payload/ssl/files/client.cert +19 -0
  269. data/sample/payload/ssl/files/client.key +15 -0
  270. data/sample/payload/ssl/files/server.cert +19 -0
  271. data/sample/payload/ssl/files/server.key +15 -0
  272. data/sample/payload/ssl/files/sslclient.properties +5 -0
  273. data/sample/payload/ssl/files/sslclient_require_noserverauth.properties +2 -0
  274. data/sample/payload/ssl/files/sslclient_with_clientauth.properties +9 -0
  275. data/sample/payload/ssl/files/subca.cert +21 -0
  276. data/sample/payload/ssl/sslclient.rb +13 -0
  277. data/sample/payload/ssl/sslclient_require_noserverauth.rb +13 -0
  278. data/sample/payload/ssl/sslclient_with_clientauth.rb +13 -0
  279. data/sample/payload/ssl/sslserver.rb +50 -0
  280. data/sample/payload/ssl/sslserver_noauth.rb +46 -0
  281. data/sample/payload/ssl/sslserver_require_clientauth.rb +51 -0
  282. data/sample/showcase/soap/hippo5tq/hippo5tq.rb +42 -0
  283. data/sample/showcase/soap/hippo5tq/hippo5tq2.rb +100 -0
  284. data/sample/showcase/soap/hippo5tq/hippoClient.rb +107 -0
  285. data/sample/showcase/soap/icd/IICD.rb +18 -0
  286. data/sample/showcase/soap/icd/icd.rb +47 -0
  287. data/sample/showcase/soap/mssoap/README.txt +62 -0
  288. data/sample/showcase/soap/mssoap/client.vba +19 -0
  289. data/sample/showcase/soap/mssoap/stockQuoteService.cgi +45 -0
  290. data/sample/showcase/soap/mssoap/stockQuoteService.rb +10 -0
  291. data/sample/showcase/soap/mssoap/stockQuoteService.wsdl +47 -0
  292. data/sample/showcase/soap/mssoap/stockQuoteServiceClient.rb +27 -0
  293. data/sample/showcase/soap/mssoap/stockQuoteServiceClient.xls +0 -0
  294. data/sample/showcase/soap/mssoap/stockQuoteServicePortTypeDriver.rb +47 -0
  295. data/sample/showcase/soap/netDicV06/INetDicV06.rb +37 -0
  296. data/sample/showcase/soap/netDicV06/netDicV06.rb +17 -0
  297. data/sample/showcase/soap/raa/SOAP__Lite.pl +15 -0
  298. data/sample/showcase/soap/raa/pocketSOAP.js +33 -0
  299. data/sample/showcase/soap/raa2.4/raa.rb +333 -0
  300. data/sample/showcase/soap/raa2.4/raa.wsdl +644 -0
  301. data/sample/showcase/soap/raa2.4/raaDriver.rb +256 -0
  302. data/sample/showcase/soap/raa2.4/raaServiceClient.rb +355 -0
  303. data/sample/showcase/soap/raa2.4/sample.rb +116 -0
  304. data/sample/showcase/soap/rwiki/rwikiClient.rb +30 -0
  305. data/sample/showcase/soap/rwiki/rwikiServer.cgi +45 -0
  306. data/sample/showcase/soap/soapbox/ContactsDataSet.xml +37 -0
  307. data/sample/showcase/soap/soapbox/ExceptionDataSet.xml +23 -0
  308. data/sample/showcase/soap/soapbox/MessageDataSet.xml +8 -0
  309. data/sample/showcase/soap/soapbox/SoapBoxWebService.wsdl +1233 -0
  310. data/sample/showcase/soap/soapbox/SoapBoxWebServiceWithRawXML.wsdl +1226 -0
  311. data/sample/showcase/soap/soapbox/wsdlDriver.rb +24 -0
  312. data/sample/showcase/wsdl/PayPalSvc/client.rb +37 -0
  313. data/sample/showcase/wsdl/amazon/AmazonSearch.rb +3161 -0
  314. data/sample/showcase/wsdl/amazon/AmazonSearchDriver.rb +547 -0
  315. data/sample/showcase/wsdl/amazon/sampleClient.rb +38 -0
  316. data/sample/showcase/wsdl/amazon/wsdlDriver.rb +53 -0
  317. data/sample/showcase/wsdl/amazonEC/client.rb +14 -0
  318. data/sample/showcase/wsdl/eBaySvc/sampleclient.rb +61 -0
  319. data/sample/showcase/wsdl/googleAdwords/CampaignService.wsdl +785 -0
  320. data/sample/showcase/wsdl/googleAdwords/ca.pem +19 -0
  321. data/sample/showcase/wsdl/googleAdwords/client.rb +41 -0
  322. data/sample/showcase/wsdl/googleAdwords/soap/property +1 -0
  323. data/sample/showcase/wsdl/googleSearch/GoogleSearch.rb +98 -0
  324. data/sample/showcase/wsdl/googleSearch/GoogleSearchDriver.rb +103 -0
  325. data/sample/showcase/wsdl/googleSearch/README +6 -0
  326. data/sample/showcase/wsdl/googleSearch/httpd.rb +21 -0
  327. data/sample/showcase/wsdl/googleSearch/sampleClient.rb +57 -0
  328. data/sample/showcase/wsdl/googleSearch/samplehttpd.conf +2 -0
  329. data/sample/showcase/wsdl/googleSearch/sjissearch.sh +3 -0
  330. data/sample/showcase/wsdl/googleSearch/wsdlDriver.rb +30 -0
  331. data/sample/showcase/wsdl/noaa/README.txt +5 -0
  332. data/sample/showcase/wsdl/noaa/client.rb +45 -0
  333. data/sample/showcase/wsdl/noaa/default.rb +47 -0
  334. data/sample/showcase/wsdl/noaa/defaultDriver.rb +67 -0
  335. data/sample/showcase/wsdl/noaa/defaultMappingRegistry.rb +75 -0
  336. data/sample/showcase/wsdl/noaa/ndfdXMLClient.rb +44 -0
  337. data/sample/showcase/wsdl/raa2.4/raa.rb +135 -0
  338. data/sample/showcase/wsdl/raa2.4/raa.wsdl +644 -0
  339. data/sample/showcase/wsdl/raa2.4/wsdlDriver.rb +118 -0
  340. data/sample/showcase/wsdl/rnn/client.rb +60 -0
  341. data/sample/showcase/wsdl/rnn/post.rb +28 -0
  342. data/sample/showcase/wsdl/rnn/rnn-hash.wsdl +282 -0
  343. data/sample/showcase/wsdl/rnn/rnn.wsdl +310 -0
  344. data/sample/showcase/wsdl/rnn/submit.rb +64 -0
  345. data/sample/showcase/wsdl/salesforce/SforceServiceClient.rb +281 -0
  346. data/sample/showcase/wsdl/salesforce/ca.pem +35 -0
  347. data/sample/showcase/wsdl/salesforce/client.rb +157 -0
  348. data/sample/showcase/wsdl/salesforce/default.rb +1741 -0
  349. data/sample/showcase/wsdl/salesforce/defaultDriver.rb +166 -0
  350. data/sample/showcase/wsdl/salesforce/soap/property +1 -0
  351. data/sample/soapheader/authheader/authmgr.rb +42 -0
  352. data/sample/soapheader/authheader/client.rb +41 -0
  353. data/sample/soapheader/authheader/client2.rb +43 -0
  354. data/sample/soapheader/authheader/server.rb +74 -0
  355. data/sample/soapheader/authheader/server2.rb +84 -0
  356. data/sample/soapheader/soapext_basicauth/client.rb +26 -0
  357. data/sample/soapheader/soapext_basicauth/mms_MizGIS.rb +702 -0
  358. data/sample/soapheader/soapext_basicauth/mms_MizGIS.wsdl +1007 -0
  359. data/sample/soapheader/soapext_basicauth/mms_MizGISClient.rb +232 -0
  360. data/sample/soapheader/soapext_basicauth/mms_MizGISDriver.rb +211 -0
  361. data/sample/soapheader/soapext_basicauth/mms_MizGISMappingRegistry.rb +1233 -0
  362. data/soap5r.gemspec +30 -0
  363. data/test/16runner.rb +69 -0
  364. data/test/helper.rb +7 -0
  365. data/test/interopR2/README.txt +2 -0
  366. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  367. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  368. data/test/interopR2/base.rb +289 -0
  369. data/test/interopR2/client.NetRemoting.rb +18 -0
  370. data/test/interopR2/client.rb +1235 -0
  371. data/test/interopR2/client4S4C.rb +16 -0
  372. data/test/interopR2/client4S4C2.rb +15 -0
  373. data/test/interopR2/clientASP.NET.rb +18 -0
  374. data/test/interopR2/clientApacheAxis.rb +17 -0
  375. data/test/interopR2/clientApacheSOAP.rb +18 -0
  376. data/test/interopR2/clientBEAWebLogic.rb +18 -0
  377. data/test/interopR2/clientBase.rb +1968 -0
  378. data/test/interopR2/clientCapeConnect.rb +19 -0
  379. data/test/interopR2/clientDelphi.rb +20 -0
  380. data/test/interopR2/clientEasySoap.rb +15 -0
  381. data/test/interopR2/clientFrontier.rb +26 -0
  382. data/test/interopR2/clientGLUE.rb +33 -0
  383. data/test/interopR2/clientHP.rb +14 -0
  384. data/test/interopR2/clientJAX-RPC.rb +20 -0
  385. data/test/interopR2/clientJSOAP.rb +15 -0
  386. data/test/interopR2/clientKafkaXSLT.rb +16 -0
  387. data/test/interopR2/clientMSSOAPToolkit2.0.rb +18 -0
  388. data/test/interopR2/clientMSSOAPToolkit3.0.rb +18 -0
  389. data/test/interopR2/clientNuSOAP.rb +20 -0
  390. data/test/interopR2/clientNuWave.rb +16 -0
  391. data/test/interopR2/clientOpenLink.rb +16 -0
  392. data/test/interopR2/clientOracle.rb +16 -0
  393. data/test/interopR2/clientPEAR.rb +19 -0
  394. data/test/interopR2/clientPhalanx.rb +19 -0
  395. data/test/interopR2/clientSIMACE.rb +19 -0
  396. data/test/interopR2/clientSOAP4R.rb +19 -0
  397. data/test/interopR2/clientSOAP__Lite.rb +15 -0
  398. data/test/interopR2/clientSQLData.rb +19 -0
  399. data/test/interopR2/clientSilverStream.rb +18 -0
  400. data/test/interopR2/clientSpray2001.rb +18 -0
  401. data/test/interopR2/clientSun.rb +20 -0
  402. data/test/interopR2/clientVWOpentalkSoap.rb +20 -0
  403. data/test/interopR2/clientWASP.rb +20 -0
  404. data/test/interopR2/clientWASPC.rb +19 -0
  405. data/test/interopR2/clientWebMethods.rb +16 -0
  406. data/test/interopR2/clientWhiteMesa.rb +29 -0
  407. data/test/interopR2/clientWingfoot.rb +16 -0
  408. data/test/interopR2/clientXMLBus.rb +20 -0
  409. data/test/interopR2/clientXMLRPC-EPI.rb +18 -0
  410. data/test/interopR2/clientXSOAP.rb +15 -0
  411. data/test/interopR2/clientZSI.rb +20 -0
  412. data/test/interopR2/clienteSOAP.rb +19 -0
  413. data/test/interopR2/clientgSOAP.rb +19 -0
  414. data/test/interopR2/clientkSOAP.rb +18 -0
  415. data/test/interopR2/iSimonReg.rb +113 -0
  416. data/test/interopR2/interopResultBase.rb +115 -0
  417. data/test/interopR2/interopService.rb +248 -0
  418. data/test/interopR2/rwikiInteropService.rb +106 -0
  419. data/test/interopR2/server.cgi +271 -0
  420. data/test/interopR2/server.rb +276 -0
  421. data/test/interopR2/simonReg.rb +124 -0
  422. data/test/interopR2/test.sh +49 -0
  423. data/test/interopR4/client.rb +113 -0
  424. data/test/runner.rb +8 -0
  425. data/test/sm11/classDef.rb +157 -0
  426. data/test/sm11/client.rb +543 -0
  427. data/test/sm11/driver.rb +184 -0
  428. data/test/sm11/servant.rb +1068 -0
  429. data/test/sm11/server.rb +26 -0
  430. data/test/soap/asp.net/hello.wsdl +96 -0
  431. data/test/soap/asp.net/test_aspdotnet.rb +124 -0
  432. data/test/soap/auth/htdigest +2 -0
  433. data/test/soap/auth/htpasswd +2 -0
  434. data/test/soap/auth/test_basic.rb +118 -0
  435. data/test/soap/auth/test_digest.rb +119 -0
  436. data/test/soap/calc/calc.rb +18 -0
  437. data/test/soap/calc/calc2.rb +30 -0
  438. data/test/soap/calc/server.cgi +16 -0
  439. data/test/soap/calc/server.rb +18 -0
  440. data/test/soap/calc/server2.rb +21 -0
  441. data/test/soap/calc/test_calc.rb +53 -0
  442. data/test/soap/calc/test_calc2.rb +57 -0
  443. data/test/soap/calc/test_calc_cgi.rb +72 -0
  444. data/test/soap/case/test_mapping.rb +58 -0
  445. data/test/soap/fault/test_customfault.rb +61 -0
  446. data/test/soap/fault/test_fault.rb +47 -0
  447. data/test/soap/fault/test_soaparray.rb +36 -0
  448. data/test/soap/filter/test_filter.rb +147 -0
  449. data/test/soap/header/server.cgi +121 -0
  450. data/test/soap/header/test_authheader.rb +241 -0
  451. data/test/soap/header/test_authheader_cgi.rb +122 -0
  452. data/test/soap/header/test_simplehandler.rb +117 -0
  453. data/test/soap/helloworld/hw_s.rb +17 -0
  454. data/test/soap/helloworld/test_helloworld.rb +45 -0
  455. data/test/soap/htpasswd +2 -0
  456. data/test/soap/literalArrayMapping/amazonEc.rb +4779 -0
  457. data/test/soap/literalArrayMapping/amazonEcDriver.rb +173 -0
  458. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  459. data/test/soap/literalArrayMapping/test_definedarray.rb +35 -0
  460. data/test/soap/marshal/marshaltestlib.rb +498 -0
  461. data/test/soap/marshal/test_digraph.rb +57 -0
  462. data/test/soap/marshal/test_marshal.rb +28 -0
  463. data/test/soap/marshal/test_struct.rb +48 -0
  464. data/test/soap/ssl/README +1 -0
  465. data/test/soap/ssl/ca.cert +23 -0
  466. data/test/soap/ssl/client.cert +19 -0
  467. data/test/soap/ssl/client.key +15 -0
  468. data/test/soap/ssl/server.cert +19 -0
  469. data/test/soap/ssl/server.key +15 -0
  470. data/test/soap/ssl/sslsvr.rb +59 -0
  471. data/test/soap/ssl/subca.cert +21 -0
  472. data/test/soap/ssl/test_ssl.rb +236 -0
  473. data/test/soap/struct/test_struct.rb +71 -0
  474. data/test/soap/styleuse/client.rb +21 -0
  475. data/test/soap/styleuse/server.rb +87 -0
  476. data/test/soap/swa/test_file.rb +76 -0
  477. data/test/soap/test_basetype.rb +1091 -0
  478. data/test/soap/test_cookie.rb +113 -0
  479. data/test/soap/test_custom_ns.rb +106 -0
  480. data/test/soap/test_custommap.rb +111 -0
  481. data/test/soap/test_empty.rb +106 -0
  482. data/test/soap/test_envelopenamespace.rb +86 -0
  483. data/test/soap/test_extraattr.rb +55 -0
  484. data/test/soap/test_generator.rb +32 -0
  485. data/test/soap/test_httpconfigloader.rb +72 -0
  486. data/test/soap/test_mapping.rb +132 -0
  487. data/test/soap/test_nestedexception.rb +71 -0
  488. data/test/soap/test_nil.rb +71 -0
  489. data/test/soap/test_no_indent.rb +89 -0
  490. data/test/soap/test_property.rb +429 -0
  491. data/test/soap/test_response_as_xml.rb +118 -0
  492. data/test/soap/test_soapelement.rb +139 -0
  493. data/test/soap/test_streamhandler.rb +271 -0
  494. data/test/soap/test_styleuse.rb +327 -0
  495. data/test/soap/wsdlDriver/README.txt +2 -0
  496. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  497. data/test/soap/wsdlDriver/document.wsdl +54 -0
  498. data/test/soap/wsdlDriver/echo_version.rb +30 -0
  499. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  500. data/test/soap/wsdlDriver/test_calc.rb +72 -0
  501. data/test/soap/wsdlDriver/test_document.rb +72 -0
  502. data/test/soap/wsdlDriver/test_simpletype.rb +82 -0
  503. data/test/testutil.rb +55 -0
  504. data/test/wsdl/abstract/abstract.wsdl +176 -0
  505. data/test/wsdl/abstract/test_abstract.rb +160 -0
  506. data/test/wsdl/anonymous/expectedClassDef.rb +129 -0
  507. data/test/wsdl/anonymous/expectedDriver.rb +60 -0
  508. data/test/wsdl/anonymous/expectedMappingRegistry.rb +177 -0
  509. data/test/wsdl/anonymous/lp.wsdl +147 -0
  510. data/test/wsdl/anonymous/test_anonymous.rb +131 -0
  511. data/test/wsdl/any/any.wsdl +114 -0
  512. data/test/wsdl/any/expectedDriver.rb +69 -0
  513. data/test/wsdl/any/expectedEcho.rb +58 -0
  514. data/test/wsdl/any/expectedMappingRegistry.rb +64 -0
  515. data/test/wsdl/any/expectedService.rb +70 -0
  516. data/test/wsdl/any/test_any.rb +194 -0
  517. data/test/wsdl/axisArray/axisArray.wsdl +87 -0
  518. data/test/wsdl/axisArray/test_axisarray.rb +125 -0
  519. data/test/wsdl/choice/choice.wsdl +167 -0
  520. data/test/wsdl/choice/test_choice.rb +311 -0
  521. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  522. data/test/wsdl/complexcontent/test_echo.rb +91 -0
  523. data/test/wsdl/datetime/DatetimeService.rb +45 -0
  524. data/test/wsdl/datetime/datetime.rb +0 -0
  525. data/test/wsdl/datetime/datetime.wsdl +45 -0
  526. data/test/wsdl/datetime/datetimeServant.rb +23 -0
  527. data/test/wsdl/datetime/test_datetime.rb +88 -0
  528. data/test/wsdl/document/array/double.wsdl +161 -0
  529. data/test/wsdl/document/array/test_array.rb +202 -0
  530. data/test/wsdl/document/document.wsdl +76 -0
  531. data/test/wsdl/document/number.wsdl +54 -0
  532. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  533. data/test/wsdl/document/test_nosoapaction.rb +103 -0
  534. data/test/wsdl/document/test_number.rb +93 -0
  535. data/test/wsdl/document/test_rpc.rb +356 -0
  536. data/test/wsdl/emptycomplextype.wsdl +31 -0
  537. data/test/wsdl/fault/fault.wsdl +79 -0
  538. data/test/wsdl/fault/multifault.wsdl +96 -0
  539. data/test/wsdl/fault/test_fault.rb +120 -0
  540. data/test/wsdl/fault/test_multifault.rb +135 -0
  541. data/test/wsdl/group/expectedClassdef.rb +59 -0
  542. data/test/wsdl/group/expectedDriver.rb +52 -0
  543. data/test/wsdl/group/expectedMappingRegistry.rb +68 -0
  544. data/test/wsdl/group/group.wsdl +88 -0
  545. data/test/wsdl/group/test_rpc.rb +146 -0
  546. data/test/wsdl/list/list.wsdl +93 -0
  547. data/test/wsdl/list/test_list.rb +125 -0
  548. data/test/wsdl/map/map.wsdl +92 -0
  549. data/test/wsdl/map/map.xml +43 -0
  550. data/test/wsdl/map/test_map.rb +100 -0
  551. data/test/wsdl/marshal/person.wsdl +21 -0
  552. data/test/wsdl/marshal/person_org.rb +24 -0
  553. data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
  554. data/test/wsdl/multiplefault.wsdl +75 -0
  555. data/test/wsdl/oneway/oneway.wsdl +36 -0
  556. data/test/wsdl/oneway/test_oneway.rb +109 -0
  557. data/test/wsdl/overload/expectedClient.rb +38 -0
  558. data/test/wsdl/overload/expectedDriver.rb +62 -0
  559. data/test/wsdl/overload/expectedServant.rb +36 -0
  560. data/test/wsdl/overload/overload.wsdl +70 -0
  561. data/test/wsdl/overload/test_overload.rb +132 -0
  562. data/test/wsdl/qualified/lp.wsdl +47 -0
  563. data/test/wsdl/qualified/lp.xsd +26 -0
  564. data/test/wsdl/qualified/np.wsdl +51 -0
  565. data/test/wsdl/qualified/test_qualified.rb +138 -0
  566. data/test/wsdl/qualified/test_unqualified.rb +139 -0
  567. data/test/wsdl/raa/RAAService.rb +126 -0
  568. data/test/wsdl/raa/README.txt +8 -0
  569. data/test/wsdl/raa/expectedClassDef.rb +101 -0
  570. data/test/wsdl/raa/expectedDriver.rb +97 -0
  571. data/test/wsdl/raa/expectedMappingRegistry.rb +122 -0
  572. data/test/wsdl/raa/raa.wsdl +264 -0
  573. data/test/wsdl/raa/test_raa.rb +127 -0
  574. data/test/wsdl/ref/expectedDriver.rb +52 -0
  575. data/test/wsdl/ref/expectedProduct.rb +244 -0
  576. data/test/wsdl/ref/product.wsdl +147 -0
  577. data/test/wsdl/ref/test_ref.rb +269 -0
  578. data/test/wsdl/rpc/rpc.wsdl +109 -0
  579. data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
  580. data/test/wsdl/rpc/test_rpc.rb +177 -0
  581. data/test/wsdl/rpc/test_rpc_lit.rb +471 -0
  582. data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
  583. data/test/wsdl/simplecontent/test_simplecontent.rb +103 -0
  584. data/test/wsdl/simpletype/rpc/expectedClient.rb +35 -0
  585. data/test/wsdl/simpletype/rpc/expectedDriver.rb +59 -0
  586. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +37 -0
  587. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +58 -0
  588. data/test/wsdl/simpletype/rpc/expectedServant.rb +33 -0
  589. data/test/wsdl/simpletype/rpc/expectedService.rb +56 -0
  590. data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
  591. data/test/wsdl/simpletype/rpc/test_rpc.rb +53 -0
  592. data/test/wsdl/simpletype/simpletype.wsdl +114 -0
  593. data/test/wsdl/simpletype/test_simpletype.rb +93 -0
  594. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  595. data/test/wsdl/soap/test_soapbodyparts.rb +80 -0
  596. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +22 -0
  597. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +35 -0
  598. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +59 -0
  599. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +37 -0
  600. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +33 -0
  601. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +49 -0
  602. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +56 -0
  603. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  604. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +38 -0
  605. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  606. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +54 -0
  607. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  608. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +84 -0
  609. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +103 -0
  610. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  611. data/test/wsdl/soaptype/test_soaptype.rb +179 -0
  612. data/test/wsdl/test_emptycomplextype.rb +22 -0
  613. data/test/wsdl/test_fault.rb +51 -0
  614. data/test/wsdl/test_multiplefault.rb +42 -0
  615. data/test/xsd/codegen/test_classdef.rb +245 -0
  616. data/test/xsd/noencoding.xml +4 -0
  617. data/test/xsd/test_noencoding.rb +33 -0
  618. data/test/xsd/test_ns.rb +42 -0
  619. data/test/xsd/test_xmlschemaparser.rb +23 -0
  620. data/test/xsd/test_xsd.rb +1639 -0
  621. data/test/xsd/xmllang.xml +43 -0
  622. data/test/xsd/xmlschema.xml +12 -0
  623. data/test/xsd/xsd2ruby/expected_mysample.rb +66 -0
  624. data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +12 -0
  625. data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +52 -0
  626. data/test/xsd/xsd2ruby/section.xsd +49 -0
  627. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +91 -0
  628. metadata +1033 -0
@@ -0,0 +1,107 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - Base type mapping definition
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ module SOAP
11
+
12
+
13
+ TypeMap = {
14
+ XSD::XSDAnySimpleType::Type => SOAPAnySimpleType,
15
+
16
+ XSD::XSDString::Type => SOAPString,
17
+ XSD::XSDNormalizedString::Type => SOAPNormalizedString,
18
+ XSD::XSDToken::Type => SOAPToken,
19
+ XSD::XSDLanguage::Type => SOAPLanguage,
20
+ XSD::XSDNMTOKEN::Type => SOAPNMTOKEN,
21
+ XSD::XSDNMTOKENS::Type => SOAPNMTOKENS,
22
+ XSD::XSDName::Type => SOAPName,
23
+ XSD::XSDNCName::Type => SOAPNCName,
24
+ XSD::XSDID::Type => SOAPID,
25
+ XSD::XSDIDREF::Type => SOAPIDREF,
26
+ XSD::XSDIDREFS::Type => SOAPIDREFS,
27
+ XSD::XSDENTITY::Type => SOAPENTITY,
28
+ XSD::XSDENTITIES::Type => SOAPENTITIES,
29
+ XSD::XSDBoolean::Type => SOAPBoolean,
30
+ XSD::XSDDecimal::Type => SOAPDecimal,
31
+ XSD::XSDFloat::Type => SOAPFloat,
32
+ XSD::XSDDouble::Type => SOAPDouble,
33
+ XSD::XSDDuration::Type => SOAPDuration,
34
+ XSD::XSDDateTime::Type => SOAPDateTime,
35
+ XSD::XSDTime::Type => SOAPTime,
36
+ XSD::XSDDate::Type => SOAPDate,
37
+ XSD::XSDGYearMonth::Type => SOAPGYearMonth,
38
+ XSD::XSDGYear::Type => SOAPGYear,
39
+ XSD::XSDGMonthDay::Type => SOAPGMonthDay,
40
+ XSD::XSDGDay::Type => SOAPGDay,
41
+ XSD::XSDGMonth::Type => SOAPGMonth,
42
+ XSD::XSDHexBinary::Type => SOAPHexBinary,
43
+ XSD::XSDBase64Binary::Type => SOAPBase64,
44
+ XSD::XSDAnyURI::Type => SOAPAnyURI,
45
+ XSD::XSDQName::Type => SOAPQName,
46
+ XSD::XSDInteger::Type => SOAPInteger,
47
+ XSD::XSDNonPositiveInteger::Type => SOAPNonPositiveInteger,
48
+ XSD::XSDNegativeInteger::Type => SOAPNegativeInteger,
49
+ XSD::XSDLong::Type => SOAPLong,
50
+ XSD::XSDInt::Type => SOAPInt,
51
+ XSD::XSDShort::Type => SOAPShort,
52
+ XSD::XSDByte::Type => SOAPByte,
53
+ XSD::XSDNonNegativeInteger::Type => SOAPNonNegativeInteger,
54
+ XSD::XSDUnsignedLong::Type => SOAPUnsignedLong,
55
+ XSD::XSDUnsignedInt::Type => SOAPUnsignedInt,
56
+ XSD::XSDUnsignedShort::Type => SOAPUnsignedShort,
57
+ XSD::XSDUnsignedByte::Type => SOAPUnsignedByte,
58
+ XSD::XSDPositiveInteger::Type => SOAPPositiveInteger,
59
+
60
+ # soap4r does not use soapenc types actively but it should be accepted.
61
+ SOAP::SOAPString::SOAPENCType => SOAPString,
62
+ SOAP::SOAPNormalizedString::Type => SOAPNormalizedString,
63
+ SOAP::SOAPToken::Type => SOAPToken,
64
+ SOAP::SOAPLanguage::Type => SOAPLanguage,
65
+ SOAP::SOAPNMTOKEN::Type => SOAPNMTOKEN,
66
+ SOAP::SOAPNMTOKENS::Type => SOAPNMTOKENS,
67
+ SOAP::SOAPName::Type => SOAPName,
68
+ SOAP::SOAPNCName::Type => SOAPNCName,
69
+ SOAP::SOAPID::Type => SOAPID,
70
+ SOAP::SOAPIDREF::Type => SOAPIDREF,
71
+ SOAP::SOAPIDREFS::Type => SOAPIDREFS,
72
+ SOAP::SOAPENTITY::Type => SOAPENTITY,
73
+ SOAP::SOAPENTITIES::Type => SOAPENTITIES,
74
+ SOAP::SOAPBoolean::SOAPENCType => SOAPBoolean,
75
+ SOAP::SOAPDecimal::SOAPENCType => SOAPDecimal,
76
+ SOAP::SOAPFloat::SOAPENCType => SOAPFloat,
77
+ SOAP::SOAPDouble::SOAPENCType => SOAPDouble,
78
+ SOAP::SOAPDuration::SOAPENCType => SOAPDuration,
79
+ SOAP::SOAPDateTime::SOAPENCType => SOAPDateTime,
80
+ SOAP::SOAPTime::SOAPENCType => SOAPTime,
81
+ SOAP::SOAPDate::SOAPENCType => SOAPDate,
82
+ SOAP::SOAPGYearMonth::SOAPENCType => SOAPGYearMonth,
83
+ SOAP::SOAPGYear::SOAPENCType => SOAPGYear,
84
+ SOAP::SOAPGMonthDay::SOAPENCType => SOAPGMonthDay,
85
+ SOAP::SOAPGDay::SOAPENCType => SOAPGDay,
86
+ SOAP::SOAPGMonth::SOAPENCType => SOAPGMonth,
87
+ SOAP::SOAPHexBinary::SOAPENCType => SOAPHexBinary,
88
+ SOAP::SOAPBase64::SOAPENCType => SOAPBase64,
89
+ SOAP::SOAPAnyURI::SOAPENCType => SOAPAnyURI,
90
+ SOAP::SOAPQName::SOAPENCType => SOAPQName,
91
+ SOAP::SOAPInteger::SOAPENCType => SOAPInteger,
92
+ SOAP::SOAPNonPositiveInteger::SOAPENCType => SOAPNonPositiveInteger,
93
+ SOAP::SOAPNegativeInteger::SOAPENCType => SOAPNegativeInteger,
94
+ SOAP::SOAPLong::SOAPENCType => SOAPLong,
95
+ SOAP::SOAPInt::SOAPENCType => SOAPInt,
96
+ SOAP::SOAPShort::SOAPENCType => SOAPShort,
97
+ SOAP::SOAPByte::SOAPENCType => SOAPByte,
98
+ SOAP::SOAPNonNegativeInteger::SOAPENCType => SOAPNonNegativeInteger,
99
+ SOAP::SOAPUnsignedLong::SOAPENCType => SOAPUnsignedLong,
100
+ SOAP::SOAPUnsignedInt::SOAPENCType => SOAPUnsignedInt,
101
+ SOAP::SOAPUnsignedShort::SOAPENCType => SOAPUnsignedShort,
102
+ SOAP::SOAPUnsignedByte::SOAPENCType => SOAPUnsignedByte,
103
+ SOAP::SOAPPositiveInteger::SOAPENCType => SOAPPositiveInteger,
104
+ }
105
+
106
+
107
+ end
@@ -0,0 +1,212 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - WSDL encoded mapping registry.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'xsd/qname'
11
+ require 'xsd/namedelements'
12
+ require 'soap/baseData'
13
+ require 'soap/mapping/mapping'
14
+ require 'soap/mapping/typeMap'
15
+
16
+
17
+ module SOAP
18
+ module Mapping
19
+
20
+
21
+ class WSDLEncodedRegistry < EncodedRegistry
22
+ attr_reader :definedelements
23
+ attr_reader :definedtypes
24
+
25
+ def initialize(definedtypes = XSD::NamedElements::Empty)
26
+ super()
27
+ @definedtypes = definedtypes
28
+ # @definedelements = definedelements needed?
29
+ # For mapping AnyType element.
30
+ @rubytype_factory = RubytypeFactory.new(
31
+ :allow_untyped_struct => true,
32
+ :allow_original_mapping => true
33
+ )
34
+ end
35
+
36
+ def obj2soap(obj, qname = nil)
37
+ soap_obj = nil
38
+ if type = @definedtypes[qname]
39
+ soap_obj = obj2typesoap(obj, type)
40
+ else
41
+ soap_obj = any2soap(obj, qname)
42
+ end
43
+ return soap_obj if soap_obj
44
+ if @excn_handler_obj2soap
45
+ soap_obj = @excn_handler_obj2soap.call(obj) { |yield_obj|
46
+ Mapping._obj2soap(yield_obj, self)
47
+ }
48
+ return soap_obj if soap_obj
49
+ end
50
+ if qname
51
+ raise MappingError.new("cannot map #{obj.class.name} as #{qname}")
52
+ else
53
+ raise MappingError.new("cannot map #{obj.class.name} to SOAP/OM")
54
+ end
55
+ end
56
+
57
+ # map anything for now: must refer WSDL while mapping. [ToDo]
58
+ def soap2obj(node, obj_class = nil)
59
+ cause = nil
60
+ begin
61
+ unless obj_class
62
+ typestr = Mapping.safeconstname(node.elename.name)
63
+ obj_class = Mapping.class_from_name(typestr)
64
+ end
65
+ return Mapping._soap2obj(node, Mapping::DefaultRegistry, obj_class)
66
+ rescue MappingError
67
+ cause = $!
68
+ end
69
+ if @excn_handler_soap2obj
70
+ begin
71
+ return @excn_handler_soap2obj.call(node) { |yield_node|
72
+ Mapping._soap2obj(yield_node, self)
73
+ }
74
+ rescue Exception
75
+ end
76
+ end
77
+ raise MappingError.new("cannot map #{node.type.name} to Ruby object", cause)
78
+ end
79
+
80
+ private
81
+
82
+ def any2soap(obj, qname)
83
+ ele = nil
84
+ if obj.nil?
85
+ ele = SOAPNil.new
86
+ elsif qname.nil? or qname == XSD::AnyTypeName
87
+ ele = @rubytype_factory.obj2soap(nil, obj, nil, self)
88
+ elsif obj.is_a?(XSD::NSDBase)
89
+ ele = soap2soap(obj, qname)
90
+ elsif type = TypeMap[qname]
91
+ ele = base2soap(obj, type)
92
+ end
93
+ add_attributes2soap(obj, ele) unless ele.nil?
94
+ ele
95
+ end
96
+
97
+ def soap2soap(obj, type_qname)
98
+ if obj.is_a?(SOAPBasetype)
99
+ obj
100
+ elsif obj.is_a?(SOAPStruct) && (type = @definedtypes[type_qname])
101
+ soap_obj = obj
102
+ mark_marshalled_obj(obj, soap_obj)
103
+ elements2soap(obj, soap_obj, type.elements)
104
+ soap_obj
105
+ elsif obj.is_a?(SOAPArray) && (type = @definedtypes[type_qname])
106
+ soap_obj = obj
107
+ contenttype = type.child_type
108
+ mark_marshalled_obj(obj, soap_obj)
109
+ obj.replace do |ele|
110
+ Mapping._obj2soap(ele, self, contenttype)
111
+ end
112
+ soap_obj
113
+ else
114
+ nil
115
+ end
116
+ end
117
+
118
+ def obj2typesoap(obj, type)
119
+ if type.is_a?(::WSDL::XMLSchema::SimpleType)
120
+ simpleobj2soap(obj, type)
121
+ else
122
+ complexobj2soap(obj, type)
123
+ end
124
+ end
125
+
126
+ def simpleobj2soap(obj, type)
127
+ type.check_lexical_format(obj)
128
+ return SOAPNil.new if obj.nil? # TODO: check nillable.
129
+ if type.base
130
+ ele = base2soap(obj, TypeMap[type.base])
131
+ ele.type = type.name
132
+ elsif type.list
133
+ value = obj.is_a?(Array) ? obj.join(" ") : obj.to_s
134
+ ele = base2soap(value, SOAP::SOAPString)
135
+ else
136
+ raise MappingError.new("unsupported simpleType: #{type}")
137
+ end
138
+ ele
139
+ end
140
+
141
+ def complexobj2soap(obj, type)
142
+ case type.compoundtype
143
+ when :TYPE_STRUCT
144
+ struct2soap(obj, type.name, type)
145
+ when :TYPE_ARRAY
146
+ array2soap(obj, type.name, type)
147
+ when :TYPE_MAP
148
+ map2soap(obj, type.name, type)
149
+ when :TYPE_SIMPLE
150
+ simpleobj2soap(obj, type.simplecontent)
151
+ when :TYPE_EMPTY
152
+ raise MappingError.new("should be empty") unless obj.nil?
153
+ SOAPNil.new
154
+ else
155
+ raise MappingError.new("unknown compound type: #{type.compoundtype}")
156
+ end
157
+ end
158
+
159
+ def struct2soap(obj, type_qname, type)
160
+ return SOAPNil.new if obj.nil? # ToDo: check nillable.
161
+ soap_obj = SOAPStruct.new(type_qname)
162
+ mark_marshalled_obj(obj, soap_obj)
163
+ elements2soap(obj, soap_obj, type.elements)
164
+ soap_obj
165
+ end
166
+
167
+ def array2soap(obj, type_qname, type)
168
+ return SOAPNil.new if obj.nil? # ToDo: check nillable.
169
+ arytype = type.child_type
170
+ soap_obj = SOAPArray.new(ValueArrayName, 1, arytype)
171
+ unless obj.nil?
172
+ mark_marshalled_obj(obj, soap_obj)
173
+ obj.each do |item|
174
+ soap_obj.add(Mapping._obj2soap(item, self, arytype))
175
+ end
176
+ end
177
+ soap_obj
178
+ end
179
+
180
+ MapKeyName = XSD::QName.new(nil, "key")
181
+ MapValueName = XSD::QName.new(nil, "value")
182
+ def map2soap(obj, type_qname, type)
183
+ return SOAPNil.new if obj.nil? # ToDo: check nillable.
184
+ keytype = type.child_type(MapKeyName) || XSD::AnyTypeName
185
+ valuetype = type.child_type(MapValueName) || XSD::AnyTypeName
186
+ soap_obj = SOAPStruct.new(MapQName)
187
+ unless obj.nil?
188
+ mark_marshalled_obj(obj, soap_obj)
189
+ obj.each do |key, value|
190
+ elem = SOAPStruct.new
191
+ elem.add("key", Mapping._obj2soap(key, self, keytype))
192
+ elem.add("value", Mapping._obj2soap(value, self, valuetype))
193
+ # ApacheAxis allows only 'item' here.
194
+ soap_obj.add("item", elem)
195
+ end
196
+ end
197
+ soap_obj
198
+ end
199
+
200
+ def elements2soap(obj, soap_obj, elements)
201
+ elements.each do |element|
202
+ name = element.name.name
203
+ child_obj = Mapping.get_attribute(obj, name)
204
+ soap_obj.add(name,
205
+ Mapping._obj2soap(child_obj, self, element.type || element.name))
206
+ end
207
+ end
208
+ end
209
+
210
+
211
+ end
212
+ end
@@ -0,0 +1,249 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - WSDL literal mapping registry.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'soap/baseData'
11
+ require 'soap/mapping/mapping'
12
+ require 'soap/mapping/literalregistry'
13
+ require 'soap/mapping/typeMap'
14
+ require 'xsd/codegen/gensupport'
15
+ require 'xsd/namedelements'
16
+
17
+
18
+ module SOAP
19
+ module Mapping
20
+
21
+
22
+ class WSDLLiteralRegistry < LiteralRegistry
23
+ attr_reader :definedelements
24
+ attr_reader :definedtypes
25
+
26
+ def initialize(definedtypes = XSD::NamedElements::Empty,
27
+ definedelements = XSD::NamedElements::Empty)
28
+ super()
29
+ @definedtypes = definedtypes
30
+ @definedelements = definedelements
31
+ end
32
+
33
+ def obj2soap(obj, qname, obj_class = nil)
34
+ soap_obj = nil
35
+ if obj.is_a?(SOAPElement)
36
+ soap_obj = obj
37
+ elsif eledef = @definedelements[qname]
38
+ soap_obj = obj2elesoap(obj, eledef)
39
+ elsif type = @definedtypes[qname]
40
+ soap_obj = obj2typesoap(obj, type)
41
+ else
42
+ soap_obj = any2soap(obj, qname, obj_class)
43
+ end
44
+ return soap_obj if soap_obj
45
+ if @excn_handler_obj2soap
46
+ soap_obj = @excn_handler_obj2soap.call(obj) { |yield_obj|
47
+ Mapping.obj2soap(yield_obj, nil, nil, MAPPING_OPT)
48
+ }
49
+ return soap_obj if soap_obj
50
+ end
51
+ raise MappingError.new("cannot map #{obj.class.name} as #{qname}")
52
+ end
53
+
54
+ # node should be a SOAPElement
55
+ def soap2obj(node, obj_class = nil)
56
+ cause = nil
57
+ begin
58
+ return any2obj(node, obj_class)
59
+ rescue MappingError
60
+ cause = $!
61
+ end
62
+ if @excn_handler_soap2obj
63
+ begin
64
+ return @excn_handler_soap2obj.call(node) { |yield_node|
65
+ Mapping.soap2obj(yield_node, nil, nil, MAPPING_OPT)
66
+ }
67
+ rescue Exception
68
+ end
69
+ end
70
+ if node.respond_to?(:type)
71
+ raise MappingError.new("cannot map #{node.type.name} to Ruby object", cause)
72
+ else
73
+ raise MappingError.new("cannot map #{node.elename.name} to Ruby object", cause)
74
+ end
75
+ end
76
+
77
+ private
78
+
79
+ def obj2elesoap(obj, eledef)
80
+ ele = nil
81
+ qualified = (eledef.elementform == 'qualified')
82
+ if obj.is_a?(SOAPNil)
83
+ ele = obj
84
+ elsif eledef.type
85
+ if type = @definedtypes[eledef.type]
86
+ ele = obj2typesoap(obj, type)
87
+ elsif type = TypeMap[eledef.type]
88
+ ele = base2soap(obj, type)
89
+ else
90
+ raise MappingError.new("cannot find type #{eledef.type}")
91
+ end
92
+ elsif eledef.local_complextype
93
+ ele = obj2typesoap(obj, eledef.local_complextype)
94
+ elsif eledef.local_simpletype
95
+ ele = obj2typesoap(obj, eledef.local_simpletype)
96
+ else
97
+ raise MappingError.new('illegal schema?')
98
+ end
99
+ ele.elename = eledef.name
100
+ ele.qualified = qualified
101
+ ele
102
+ end
103
+
104
+ def obj2typesoap(obj, type)
105
+ ele = nil
106
+ if type.is_a?(::WSDL::XMLSchema::SimpleType)
107
+ ele = simpleobj2soap(obj, type)
108
+ else # complexType
109
+ if type.simplecontent
110
+ ele = simpleobj2soap(obj, type.simplecontent)
111
+ else
112
+ ele = complexobj2soap(obj, type)
113
+ end
114
+ ele.type = type.name
115
+ if type.base or Mapping.root_type_hint
116
+ Mapping.reset_root_type_hint
117
+ ele.force_typed = true
118
+ end
119
+ add_definedattributes2soap(obj, ele, type)
120
+ end
121
+ ele
122
+ end
123
+
124
+ def simpleobj2soap(obj, type)
125
+ type.check_lexical_format(obj)
126
+ return SOAPNil.new if obj.nil?
127
+ if type.base
128
+ ele = base2soap(obj, TypeMap[type.base])
129
+ elsif type.list
130
+ value = obj.is_a?(Array) ? obj.join(" ") : obj.to_s
131
+ ele = base2soap(value, SOAP::SOAPString)
132
+ else
133
+ raise MappingError.new("unsupported simpleType: #{type}")
134
+ end
135
+ ele
136
+ end
137
+
138
+ def complexobj2soap(obj, type)
139
+ ele = SOAPElement.new(type.name)
140
+ complexobj2sequencesoap(obj, ele, type, type.choice?, type.choice?)
141
+ ele
142
+ end
143
+
144
+ def complexobj2sequencesoap(obj, soap, type, nillable, is_choice)
145
+ added = false
146
+ type.elements.each do |child_ele|
147
+ case child_ele
148
+ when WSDL::XMLSchema::Any
149
+ any = Mapping.get_attributes_for_any(obj)
150
+ SOAPElement.from_objs(any).each do |child|
151
+ soap.add(child)
152
+ end
153
+ ele_added = true
154
+ when WSDL::XMLSchema::Element
155
+ ele_added = complexobj2soapchildren(obj, soap, child_ele, nillable)
156
+ when WSDL::XMLSchema::Sequence
157
+ ele_added = complexobj2sequencesoap(obj, soap, child_ele, nillable, false)
158
+ when WSDL::XMLSchema::Choice
159
+ ele_added = complexobj2sequencesoap(obj, soap, child_ele, true, true)
160
+ else
161
+ raise MappingError.new("unknown type: #{child_ele}")
162
+ end
163
+ added = true if ele_added
164
+ break if is_choice and ele_added
165
+ end
166
+ added
167
+ end
168
+
169
+ def complexobj2soapchildren(obj, soap, child_ele, nillable = false)
170
+ if child_ele.map_as_array?
171
+ complexobj2soapchildren_array(obj, soap, child_ele, nillable)
172
+ else
173
+ complexobj2soapchildren_single(obj, soap, child_ele, nillable)
174
+ end
175
+ end
176
+
177
+ def complexobj2soapchildren_array(obj, soap, child_ele, nillable)
178
+ child = Mapping.get_attribute(obj, child_ele.name.name)
179
+ if child.nil? and obj.is_a?(::Array)
180
+ child = obj
181
+ end
182
+ if child.nil?
183
+ return false if nillable
184
+ if child_soap = nil2soap(child_ele)
185
+ soap.add(child_soap)
186
+ return true
187
+ else
188
+ return false
189
+ end
190
+ end
191
+ unless child.respond_to?(:each)
192
+ return false
193
+ end
194
+ child.each do |item|
195
+ if item.is_a?(SOAPElement)
196
+ soap.add(item)
197
+ else
198
+ child_soap = obj2elesoap(item, child_ele)
199
+ soap.add(child_soap)
200
+ end
201
+ end
202
+ true
203
+ end
204
+
205
+ def complexobj2soapchildren_single(obj, soap, child_ele, nillable)
206
+ child = Mapping.get_attribute(obj, child_ele.name.name)
207
+ case child
208
+ when NilClass
209
+ return false if nillable
210
+ if child_soap = nil2soap(child_ele)
211
+ soap.add(child_soap)
212
+ true
213
+ else
214
+ false
215
+ end
216
+ when SOAPElement
217
+ soap.add(child)
218
+ true
219
+ else
220
+ child_soap = obj2elesoap(child, child_ele)
221
+ soap.add(child_soap)
222
+ true
223
+ end
224
+ end
225
+
226
+ def nil2soap(ele)
227
+ if ele.nillable
228
+ obj2elesoap(nil, ele) # add an empty element
229
+ elsif ele.minoccurs == 0
230
+ nil # intends no element
231
+ else
232
+ warn("nil not allowed: #{ele.name.name}")
233
+ nil
234
+ end
235
+ end
236
+
237
+ def add_definedattributes2soap(obj, ele, typedef)
238
+ if typedef.attributes
239
+ typedef.attributes.each do |at|
240
+ value = get_xmlattr_value(obj, at.name)
241
+ ele.extraattr[at.name] = value unless value.nil?
242
+ end
243
+ end
244
+ end
245
+ end
246
+
247
+
248
+ end
249
+ end
@@ -0,0 +1,13 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - Ruby type mapping utility.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require 'soap/mapping/mapping'
11
+ require 'soap/mapping/registry'
12
+ require 'soap/mapping/encodedregistry'
13
+ require 'soap/mapping/literalregistry'
@@ -0,0 +1,60 @@
1
+ # encoding: ASCII-8BIT
2
+ # SOAP4R - Marshalling/Unmarshalling Ruby's object using SOAP Encoding.
3
+ # Copyright (C) 2000-2007 NAKAMURA, Hiroshi <nahi@ruby-lang.org>.
4
+
5
+ # This program is copyrighted free software by NAKAMURA, Hiroshi. You can
6
+ # redistribute it and/or modify it under the same terms of Ruby's license;
7
+ # either the dual license version in 2003, or any later version.
8
+
9
+
10
+ require "soap/mapping"
11
+ require "soap/processor"
12
+
13
+
14
+ module SOAP
15
+
16
+
17
+ module Marshal
18
+ # Trying xsd:dateTime data to be recovered as aTime.
19
+ MarshalMappingRegistry = Mapping::EncodedRegistry.new(
20
+ :allow_original_mapping => true)
21
+ MarshalMappingRegistry.add(
22
+ Time,
23
+ ::SOAP::SOAPDateTime,
24
+ ::SOAP::Mapping::EncodedRegistry::DateTimeFactory
25
+ )
26
+
27
+ class << self
28
+ public
29
+ def dump(obj, io = nil)
30
+ marshal(obj, MarshalMappingRegistry, io)
31
+ end
32
+
33
+ def load(stream)
34
+ unmarshal(stream, MarshalMappingRegistry)
35
+ end
36
+
37
+ def marshal(obj, mapping_registry = MarshalMappingRegistry, io = nil)
38
+ elename = Mapping.name2elename(obj.class.to_s)
39
+ soap_obj = Mapping.obj2soap(obj, mapping_registry)
40
+ body = SOAPBody.new
41
+ body.add(elename, soap_obj)
42
+ env = SOAPEnvelope.new(nil, body)
43
+ SOAP::Processor.marshal(env, {}, io)
44
+ end
45
+
46
+ def unmarshal(stream, mapping_registry = MarshalMappingRegistry)
47
+ env = SOAP::Processor.unmarshal(stream)
48
+ if env.nil?
49
+ raise ArgumentError.new("Illegal SOAP marshal format.")
50
+ end
51
+ Mapping.soap2obj(env.body.root_node, mapping_registry)
52
+ end
53
+ end
54
+ end
55
+
56
+
57
+ end
58
+
59
+
60
+ SOAPMarshal = SOAP::Marshal