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,101 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema group 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
+ require 'wsdl/info'
11
+ require 'wsdl/xmlSchema/ref'
12
+
13
+
14
+ module WSDL
15
+ module XMLSchema
16
+
17
+
18
+ class Group < Info
19
+ include Ref
20
+
21
+ attr_writer :name # required
22
+ attr_accessor :maxoccurs
23
+ attr_accessor :minoccurs
24
+ attr_writer :content
25
+
26
+ attr_reader_ref :name
27
+ attr_reader_ref :content
28
+
29
+ def initialize(name = nil)
30
+ super()
31
+ @name = name
32
+ @maxoccurs = 1
33
+ @minoccurs = 1
34
+ @content = nil
35
+ @ref = nil
36
+ @refelement = nil
37
+ end
38
+
39
+ def targetnamespace
40
+ parent.targetnamespace
41
+ end
42
+
43
+ def elementformdefault
44
+ parent.elementformdefault
45
+ end
46
+
47
+ def parse_element(element)
48
+ case element
49
+ when AllName
50
+ @content = All.new
51
+ when SequenceName
52
+ @content = Sequence.new
53
+ when ChoiceName
54
+ @content = Choice.new
55
+ else
56
+ nil
57
+ end
58
+ end
59
+
60
+ def parse_attr(attr, value)
61
+ case attr
62
+ when NameAttrName
63
+ @name = XSD::QName.new(targetnamespace, value.source)
64
+ when RefAttrName
65
+ @ref = value
66
+ when MaxOccursAttrName
67
+ if parent.is_a?(All)
68
+ if value.source != '1'
69
+ raise Parser::AttributeConstraintError.new(
70
+ "cannot parse #{value} for #{attr}")
71
+ end
72
+ end
73
+ if value.source == 'unbounded'
74
+ @maxoccurs = nil
75
+ else
76
+ @maxoccurs = Integer(value.source)
77
+ end
78
+ value.source
79
+ when MinOccursAttrName
80
+ if parent.is_a?(All)
81
+ unless ['0', '1'].include?(value.source)
82
+ raise Parser::AttributeConstraintError.new(
83
+ "cannot parse #{value} for #{attr}")
84
+ end
85
+ end
86
+ @minoccurs = Integer(value.source)
87
+ else
88
+ nil
89
+ end
90
+ end
91
+
92
+ private
93
+
94
+ def refelement
95
+ @refelement ||= (@ref ? root.collect_modelgroups[@ref] : nil)
96
+ end
97
+ end
98
+
99
+
100
+ end
101
+ end
@@ -0,0 +1,54 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema import 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
+ require 'wsdl/info'
11
+ require 'wsdl/xmlSchema/importer'
12
+ require 'wsdl/xmlSchema/importHandler'
13
+
14
+
15
+ module WSDL
16
+ module XMLSchema
17
+
18
+
19
+ class Import < Info
20
+ attr_reader :namespace
21
+
22
+ def initialize
23
+ super
24
+ @namespace = nil
25
+ @handler = ImportHandler.new
26
+ end
27
+
28
+ def schemalocation
29
+ @handler.schemalocation
30
+ end
31
+
32
+ def content
33
+ @handler.content
34
+ end
35
+
36
+ def parse_element(element)
37
+ nil
38
+ end
39
+
40
+ def parse_attr(attr, value)
41
+ case attr
42
+ when NamespaceAttrName
43
+ @namespace = value.source
44
+ when SchemaLocationAttrName
45
+ @handler.parse_schemalocation(value.source, root, parent)
46
+ else
47
+ nil
48
+ end
49
+ end
50
+ end
51
+
52
+
53
+ end
54
+ end
@@ -0,0 +1,46 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema import handler.
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 'wsdl/info'
11
+ require 'wsdl/xmlSchema/importer'
12
+
13
+
14
+ module WSDL
15
+ module XMLSchema
16
+
17
+
18
+ class ImportHandler
19
+ attr_reader :schemalocation
20
+ attr_reader :content
21
+
22
+ def initialize
23
+ @schemalocation = nil
24
+ @content = nil
25
+ end
26
+
27
+ def parse_schemalocation(location, root, parent)
28
+ @schemalocation = URI.parse(location)
29
+ if @schemalocation.relative? and !parent.location.nil? and
30
+ !parent.location.relative?
31
+ @schemalocation = parent.location + @schemalocation
32
+ end
33
+ if root.importedschema.key?(@schemalocation)
34
+ @content = root.importedschema[@schemalocation]
35
+ else
36
+ root.importedschema[@schemalocation] = nil # placeholder
37
+ @content = Importer.import(@schemalocation, root)
38
+ root.importedschema[@schemalocation] = @content
39
+ end
40
+ @schemalocation
41
+ end
42
+ end
43
+
44
+
45
+ end
46
+ end
@@ -0,0 +1,103 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XSD importer library.
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/soap'
11
+ require 'soap/httpconfigloader'
12
+ require 'wsdl/xmlSchema/parser'
13
+
14
+
15
+ module WSDL
16
+ module XMLSchema
17
+
18
+
19
+ class Importer
20
+ DO_NOT_IMPORT = [::SOAP::EncodingNamespace]
21
+
22
+ def self.import(location, originalroot = nil)
23
+ new.import(location, originalroot)
24
+ end
25
+
26
+ def initialize
27
+ @web_client = nil
28
+ end
29
+
30
+ def import(location, originalroot = nil)
31
+ if DO_NOT_IMPORT.include?(location.to_s)
32
+ return nil
33
+ end
34
+ unless location.is_a?(URI)
35
+ location = URI.parse(location)
36
+ end
37
+ source, normalizedlocation = fetch(location)
38
+ content = parse(source, normalizedlocation, originalroot)
39
+ content.location = normalizedlocation
40
+ content
41
+ end
42
+
43
+ private
44
+
45
+ def parse(content, location, originalroot)
46
+ opt = {
47
+ :location => location,
48
+ :originalroot => originalroot
49
+ }
50
+ WSDL::XMLSchema::Parser.new(opt).parse(content)
51
+ end
52
+
53
+ def fetch(location)
54
+ warn("importing: #{location}") if $DEBUG
55
+ content = nil
56
+ normalizedlocation = location
57
+ if location.scheme == 'file' or
58
+ (location.relative? and FileTest.exist?(location.path))
59
+ content = File.open(location.path).read
60
+ normalizedlocation = URI.parse('file://' + File.expand_path(location.path))
61
+ elsif location.scheme and location.scheme.size == 1 and
62
+ FileTest.exist?(location.to_s)
63
+ # ToDo: remove this ugly workaround for a path with drive letter
64
+ # (D://foo/bar)
65
+ content = File.open(location.to_s).read
66
+ else
67
+ client = web_client.new(nil, "WSDL4R")
68
+ client.proxy = ::SOAP::Env::HTTP_PROXY
69
+ client.no_proxy = ::SOAP::Env::NO_PROXY
70
+ if opt = ::SOAP::Property.loadproperty(::SOAP::PropertyName)
71
+ http_opt = opt["client.protocol.http"]
72
+ ::SOAP::HTTPConfigLoader.set_options(client, http_opt) if http_opt
73
+ end
74
+ content = client.get_content(location)
75
+ end
76
+ return content, normalizedlocation
77
+ end
78
+
79
+ def web_client
80
+ return @web_client if @web_client
81
+ begin
82
+ require 'httpclient'
83
+ @web_client = HTTPClient
84
+ rescue LoadError
85
+ begin
86
+ require 'http-access2'
87
+ if HTTPAccess2::VERSION < "2.0"
88
+ raise LoadError.new("http-access/2.0 or later is required.")
89
+ end
90
+ @web_client = HTTPAccess2::Client
91
+ rescue LoadError
92
+ warn("Loading http-access2 failed. Net/http is used.") if $DEBUG
93
+ require 'soap/netHttpClient'
94
+ @web_client = ::SOAP::NetHttpClient
95
+ end
96
+ end
97
+ @web_client
98
+ end
99
+ end
100
+
101
+
102
+ end
103
+ end
@@ -0,0 +1,49 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema include 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
+ require 'wsdl/info'
11
+ require 'wsdl/xmlSchema/importer'
12
+ require 'wsdl/xmlSchema/importHandler'
13
+
14
+
15
+ module WSDL
16
+ module XMLSchema
17
+
18
+
19
+ class Include < Info
20
+ def initialize
21
+ super
22
+ @handler = ImportHandler.new
23
+ end
24
+
25
+ def schemalocation
26
+ @handler.schemalocation
27
+ end
28
+
29
+ def content
30
+ @handler.content
31
+ end
32
+
33
+ def parse_element(element)
34
+ nil
35
+ end
36
+
37
+ def parse_attr(attr, value)
38
+ case attr
39
+ when SchemaLocationAttrName
40
+ @handler.parse_schemalocation(value.source, root, parent)
41
+ else
42
+ nil
43
+ end
44
+ end
45
+ end
46
+
47
+
48
+ end
49
+ end
@@ -0,0 +1,38 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema length definition for WSDL.
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 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+ module XMLSchema
15
+
16
+
17
+ class Length < Info
18
+ def initialize
19
+ super
20
+ end
21
+
22
+ def parse_element(element)
23
+ nil
24
+ end
25
+
26
+ def parse_attr(attr, value)
27
+ case attr
28
+ when FixedAttrName
29
+ parent.fixed[:length] = to_boolean(value)
30
+ when ValueAttrName
31
+ parent.length = to_int(value)
32
+ end
33
+ end
34
+ end
35
+
36
+
37
+ end
38
+ end
@@ -0,0 +1,49 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema list definition for WSDL.
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 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+ module XMLSchema
15
+
16
+
17
+ class List < Info
18
+ attr_reader :itemtype
19
+ attr_reader :local_simpletype
20
+
21
+ def initialize
22
+ super()
23
+ @itemtype = nil
24
+ @local_simpletype = nil
25
+ end
26
+
27
+ def parse_element(element)
28
+ case element
29
+ when SimpleTypeName
30
+ @local_simpletype = SimpleType.new
31
+ @local_simpletype
32
+ else
33
+ nil
34
+ end
35
+ end
36
+
37
+ def parse_attr(attr, value)
38
+ case attr
39
+ when ItemTypeAttrName
40
+ @itemtype = value
41
+ else
42
+ nil
43
+ end
44
+ end
45
+ end
46
+
47
+
48
+ end
49
+ end
@@ -0,0 +1,38 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema maxExclusive definition for WSDL.
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 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+ module XMLSchema
15
+
16
+
17
+ class MaxExclusive < Info
18
+ def initialize
19
+ super
20
+ end
21
+
22
+ def parse_element(element)
23
+ nil
24
+ end
25
+
26
+ def parse_attr(attr, value)
27
+ case attr
28
+ when FixedAttrName
29
+ parent.fixed[:maxexclusive] = to_boolean(value)
30
+ when ValueAttrName
31
+ parent.maxexclusive = value.source
32
+ end
33
+ end
34
+ end
35
+
36
+
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema maxInclusive definition for WSDL.
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 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+ module XMLSchema
15
+
16
+
17
+ class MaxInclusive < Info
18
+ def initialize
19
+ super
20
+ end
21
+
22
+ def parse_element(element)
23
+ nil
24
+ end
25
+
26
+ def parse_attr(attr, value)
27
+ case attr
28
+ when FixedAttrName
29
+ parent.fixed[:maxinclusive] = to_boolean(value)
30
+ when ValueAttrName
31
+ parent.maxinclusive = value.source
32
+ end
33
+ end
34
+ end
35
+
36
+
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema maxLength definition for WSDL.
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 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+ module XMLSchema
15
+
16
+
17
+ class MaxLength < Info
18
+ def initialize
19
+ super
20
+ end
21
+
22
+ def parse_element(element)
23
+ nil
24
+ end
25
+
26
+ def parse_attr(attr, value)
27
+ case attr
28
+ when FixedAttrName
29
+ parent.fixed[:maxlength] = to_boolean(value)
30
+ when ValueAttrName
31
+ parent.maxlength = to_int(value)
32
+ end
33
+ end
34
+ end
35
+
36
+
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema minExclusive definition for WSDL.
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 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+ module XMLSchema
15
+
16
+
17
+ class MinExclusive < Info
18
+ def initialize
19
+ super
20
+ end
21
+
22
+ def parse_element(element)
23
+ nil
24
+ end
25
+
26
+ def parse_attr(attr, value)
27
+ case attr
28
+ when FixedAttrName
29
+ parent.fixed[:minexclusive] = to_boolean(value)
30
+ when ValueAttrName
31
+ parent.minexclusive = value.source
32
+ end
33
+ end
34
+ end
35
+
36
+
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema minInclusive definition for WSDL.
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 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+ module XMLSchema
15
+
16
+
17
+ class MinInclusive < Info
18
+ def initialize
19
+ super
20
+ end
21
+
22
+ def parse_element(element)
23
+ nil
24
+ end
25
+
26
+ def parse_attr(attr, value)
27
+ case attr
28
+ when FixedAttrName
29
+ parent.fixed[:mininclusive] = to_boolean(value)
30
+ when ValueAttrName
31
+ parent.mininclusive = value.source
32
+ end
33
+ end
34
+ end
35
+
36
+
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # encoding: ASCII-8BIT
2
+ # WSDL4R - XMLSchema minLength definition for WSDL.
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 'wsdl/info'
11
+
12
+
13
+ module WSDL
14
+ module XMLSchema
15
+
16
+
17
+ class MinLength < Info
18
+ def initialize
19
+ super
20
+ end
21
+
22
+ def parse_element(element)
23
+ nil
24
+ end
25
+
26
+ def parse_attr(attr, value)
27
+ case attr
28
+ when FixedAttrName
29
+ parent.fixed[:minlength] = to_boolean(value)
30
+ when ValueAttrName
31
+ parent.minlength = to_int(value)
32
+ end
33
+ end
34
+ end
35
+
36
+
37
+ end
38
+ end