rtiss_soap4r 2.1.1 → 3.0.0.beta

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 (711) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +20 -0
  3. data/.envrc +4 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +39 -0
  6. data/COPYING +7 -0
  7. data/GPL +340 -0
  8. data/Gemfile +53 -0
  9. data/Gemfile.lock +221 -0
  10. data/README.md +57 -0
  11. data/RELEASE_en.html +1900 -0
  12. data/RUBYS +56 -0
  13. data/Rakefile +88 -0
  14. data/bin/wsdl2ruby.rb +1 -4
  15. data/bin/xsd2ruby.rb +2 -4
  16. data/gemfiles/httpclient.gemfile +26 -0
  17. data/install.rb +91 -0
  18. data/lib/soap/attachment.rb +27 -11
  19. data/lib/soap/attrproxy.rb +0 -1
  20. data/lib/soap/baseData.rb +15 -3
  21. data/lib/soap/element.rb +1 -2
  22. data/lib/soap/encodingstyle/aspDotNetHandler.rb +0 -1
  23. data/lib/soap/encodingstyle/handler.rb +0 -1
  24. data/lib/soap/encodingstyle/literalHandler.rb +0 -1
  25. data/lib/soap/encodingstyle/soapHandler.rb +0 -1
  26. data/lib/soap/filter/filterchain.rb +1 -2
  27. data/lib/soap/filter/handler.rb +0 -1
  28. data/lib/soap/filter/streamhandler.rb +0 -1
  29. data/lib/soap/filter.rb +0 -1
  30. data/lib/soap/generator.rb +3 -3
  31. data/lib/soap/header/handler.rb +0 -1
  32. data/lib/soap/header/handlerset.rb +0 -1
  33. data/lib/soap/header/mappinghandler.rb +0 -1
  34. data/lib/soap/header/simplehandler.rb +0 -1
  35. data/lib/soap/httpconfigloader.rb +1 -2
  36. data/lib/soap/mapping/encodedregistry.rb +22 -20
  37. data/lib/soap/mapping/factory.rb +42 -13
  38. data/lib/soap/mapping/literalregistry.rb +3 -6
  39. data/lib/soap/mapping/mapping.rb +11 -12
  40. data/lib/soap/mapping/registry.rb +2 -5
  41. data/lib/soap/mapping/rubytypeFactory.rb +2 -2
  42. data/lib/soap/mapping/schemadefinition.rb +0 -1
  43. data/lib/soap/mapping/typeMap.rb +0 -2
  44. data/lib/soap/mapping/wsdlencodedregistry.rb +1 -2
  45. data/lib/soap/mapping/wsdlliteralregistry.rb +0 -1
  46. data/lib/soap/mapping.rb +0 -1
  47. data/lib/soap/marshal.rb +0 -1
  48. data/lib/soap/mimemessage.rb +52 -27
  49. data/lib/soap/nestedexception.rb +1 -2
  50. data/lib/soap/netHttpClient.rb +4 -5
  51. data/lib/soap/ns.rb +0 -5
  52. data/lib/soap/parser.rb +1 -1
  53. data/lib/soap/processor.rb +0 -1
  54. data/lib/soap/property.rb +21 -18
  55. data/lib/soap/proxy.rb +0 -1
  56. data/lib/soap/rpc/cgistub.rb +3 -4
  57. data/lib/soap/rpc/driver.rb +175 -176
  58. data/lib/soap/rpc/element.rb +2 -3
  59. data/lib/soap/rpc/element.rb.orig +374 -0
  60. data/lib/soap/rpc/httpserver.rb +1 -3
  61. data/lib/soap/rpc/methodDef.rb +0 -1
  62. data/lib/soap/rpc/proxy.rb +2 -3
  63. data/lib/soap/rpc/router.rb +36 -7
  64. data/lib/soap/rpc/rpc.rb +0 -1
  65. data/lib/soap/rpc/soaplet.rb +2 -3
  66. data/lib/soap/rpc/standaloneServer.rb +1 -2
  67. data/lib/soap/soap.rb +4 -30
  68. data/lib/soap/streamHandler.rb +8 -10
  69. data/lib/soap/version.rb +4 -4
  70. data/lib/soap/wsdlDriver.rb +0 -2
  71. data/lib/wsdl/binding.rb +0 -1
  72. data/lib/wsdl/data.rb +0 -1
  73. data/lib/wsdl/definitions.rb +0 -1
  74. data/lib/wsdl/documentation.rb +0 -1
  75. data/lib/wsdl/import.rb +0 -1
  76. data/lib/wsdl/importer.rb +0 -1
  77. data/lib/wsdl/info.rb +0 -1
  78. data/lib/wsdl/message.rb +0 -1
  79. data/lib/wsdl/operation.rb +0 -1
  80. data/lib/wsdl/operationBinding.rb +3 -4
  81. data/lib/wsdl/param.rb +0 -1
  82. data/lib/wsdl/parser.rb +5 -21
  83. data/lib/wsdl/part.rb +0 -1
  84. data/lib/wsdl/port.rb +0 -1
  85. data/lib/wsdl/portType.rb +0 -1
  86. data/lib/wsdl/service.rb +0 -1
  87. data/lib/wsdl/soap/address.rb +0 -1
  88. data/lib/wsdl/soap/binding.rb +0 -1
  89. data/lib/wsdl/soap/body.rb +0 -1
  90. data/lib/wsdl/soap/cgiStubCreator.rb +0 -1
  91. data/lib/wsdl/soap/classDefCreator.rb +20 -1
  92. data/lib/wsdl/soap/classDefCreatorSupport.rb +1 -2
  93. data/lib/wsdl/soap/classNameCreator.rb +0 -1
  94. data/lib/wsdl/soap/clientSkeltonCreator.rb +2 -5
  95. data/lib/wsdl/soap/complexType.rb +0 -1
  96. data/lib/wsdl/soap/data.rb +0 -1
  97. data/lib/wsdl/soap/definitions.rb +1 -2
  98. data/lib/wsdl/soap/driverCreator.rb +75 -74
  99. data/lib/wsdl/soap/element.rb +0 -1
  100. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +0 -1
  101. data/lib/wsdl/soap/fault.rb +0 -1
  102. data/lib/wsdl/soap/header.rb +0 -1
  103. data/lib/wsdl/soap/headerfault.rb +0 -1
  104. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +0 -1
  105. data/lib/wsdl/soap/mappingRegistryCreator.rb +0 -1
  106. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +0 -1
  107. data/lib/wsdl/soap/methodDefCreator.rb +9 -1
  108. data/lib/wsdl/soap/operation.rb +1 -2
  109. data/lib/wsdl/soap/servantSkeltonCreator.rb +2 -5
  110. data/lib/wsdl/soap/servletStubCreator.rb +0 -1
  111. data/lib/wsdl/soap/standaloneServerStubCreator.rb +0 -1
  112. data/lib/wsdl/soap/wsdl2ruby.rb +9 -5
  113. data/lib/wsdl/types.rb +0 -1
  114. data/lib/wsdl/wsdl.rb +0 -1
  115. data/lib/wsdl/xmlSchema/all.rb +0 -1
  116. data/lib/wsdl/xmlSchema/annotation.rb +0 -1
  117. data/lib/wsdl/xmlSchema/any.rb +0 -1
  118. data/lib/wsdl/xmlSchema/anyAttribute.rb +0 -1
  119. data/lib/wsdl/xmlSchema/attribute.rb +0 -1
  120. data/lib/wsdl/xmlSchema/attributeGroup.rb +0 -1
  121. data/lib/wsdl/xmlSchema/choice.rb +0 -1
  122. data/lib/wsdl/xmlSchema/complexContent.rb +0 -1
  123. data/lib/wsdl/xmlSchema/complexExtension.rb +0 -1
  124. data/lib/wsdl/xmlSchema/complexRestriction.rb +0 -1
  125. data/lib/wsdl/xmlSchema/complexType.rb +0 -1
  126. data/lib/wsdl/xmlSchema/content.rb +0 -1
  127. data/lib/wsdl/xmlSchema/data.rb +0 -1
  128. data/lib/wsdl/xmlSchema/element.rb +1 -2
  129. data/lib/wsdl/xmlSchema/enumeration.rb +0 -1
  130. data/lib/wsdl/xmlSchema/fractiondigits.rb +0 -1
  131. data/lib/wsdl/xmlSchema/group.rb +0 -1
  132. data/lib/wsdl/xmlSchema/import.rb +1 -1
  133. data/lib/wsdl/xmlSchema/importHandler.rb +1 -1
  134. data/lib/wsdl/xmlSchema/importer.rb +0 -1
  135. data/lib/wsdl/xmlSchema/include.rb +1 -1
  136. data/lib/wsdl/xmlSchema/length.rb +0 -1
  137. data/lib/wsdl/xmlSchema/list.rb +0 -1
  138. data/lib/wsdl/xmlSchema/maxexclusive.rb +0 -1
  139. data/lib/wsdl/xmlSchema/maxinclusive.rb +0 -1
  140. data/lib/wsdl/xmlSchema/maxlength.rb +0 -1
  141. data/lib/wsdl/xmlSchema/minexclusive.rb +0 -1
  142. data/lib/wsdl/xmlSchema/mininclusive.rb +0 -1
  143. data/lib/wsdl/xmlSchema/minlength.rb +0 -1
  144. data/lib/wsdl/xmlSchema/parser.rb +4 -5
  145. data/lib/wsdl/xmlSchema/pattern.rb +0 -1
  146. data/lib/wsdl/xmlSchema/ref.rb +0 -1
  147. data/lib/wsdl/xmlSchema/schema.rb +0 -1
  148. data/lib/wsdl/xmlSchema/sequence.rb +0 -1
  149. data/lib/wsdl/xmlSchema/simpleContent.rb +0 -1
  150. data/lib/wsdl/xmlSchema/simpleExtension.rb +0 -1
  151. data/lib/wsdl/xmlSchema/simpleRestriction.rb +0 -1
  152. data/lib/wsdl/xmlSchema/simpleType.rb +0 -1
  153. data/lib/wsdl/xmlSchema/totaldigits.rb +0 -1
  154. data/lib/wsdl/xmlSchema/union.rb +0 -1
  155. data/lib/wsdl/xmlSchema/unique.rb +0 -1
  156. data/lib/wsdl/xmlSchema/whitespace.rb +0 -1
  157. data/lib/wsdl/xmlSchema/xsd2ruby.rb +0 -3
  158. data/lib/xsd/charset.rb +162 -152
  159. data/lib/xsd/codegen/classdef.rb +0 -1
  160. data/lib/xsd/codegen/commentdef.rb +0 -1
  161. data/lib/xsd/codegen/gensupport.rb +5 -9
  162. data/lib/xsd/codegen/methoddef.rb +0 -1
  163. data/lib/xsd/codegen/moduledef.rb +0 -1
  164. data/lib/xsd/codegen.rb +0 -1
  165. data/lib/xsd/datatypes.rb +1122 -1098
  166. data/lib/xsd/datatypes1999.rb +0 -1
  167. data/lib/xsd/iconvcharset.rb +2 -19
  168. data/lib/xsd/mapping.rb +0 -1
  169. data/lib/xsd/namedelements.rb +0 -1
  170. data/lib/xsd/ns.rb +1 -2
  171. data/lib/xsd/qname.rb +2 -3
  172. data/lib/xsd/xmlparser/libxmlparser.rb +22 -39
  173. data/lib/xsd/xmlparser/parser.rb +1 -2
  174. data/lib/xsd/xmlparser/rexmlparser.rb +8 -4
  175. data/lib/xsd/xmlparser/xmlparser.rb +50 -0
  176. data/lib/xsd/xmlparser/xmlscanner.rb +149 -0
  177. data/lib/xsd/xmlparser.rb +18 -23
  178. data/lib/xsd/xmlparser.rb.orig +76 -0
  179. data/rtiss_soap4r.gemspec +751 -0
  180. data/rubyStyle.css +104 -0
  181. data/sample/attachment/complexmime/EdmService.rb +124 -0
  182. data/sample/attachment/complexmime/README.txt +3 -0
  183. data/sample/attachment/complexmime/client.rb +57 -0
  184. data/sample/attachment/complexmime/drift.cdf +1 -0
  185. data/sample/attachment/complexmime/plaatje.png +1 -0
  186. data/sample/attachment/complexmime/server.rb +68 -0
  187. data/sample/attachment/swa/client.rb +13 -0
  188. data/sample/attachment/swa/server.rb +23 -0
  189. data/sample/basic/apacheClient.rb +92 -0
  190. data/sample/basic/babelfish.rb +16 -0
  191. data/sample/basic/calc/calc.rb +17 -0
  192. data/sample/basic/calc/calc2.rb +29 -0
  193. data/sample/basic/calc/client.rb +26 -0
  194. data/sample/basic/calc/client2.rb +29 -0
  195. data/sample/basic/calc/httpd.rb +20 -0
  196. data/sample/basic/calc/samplehttpd.conf +2 -0
  197. data/sample/basic/calc/server.cgi +15 -0
  198. data/sample/basic/calc/server.fcgi +22 -0
  199. data/sample/basic/calc/server.rb +21 -0
  200. data/sample/basic/calc/server2.rb +24 -0
  201. data/sample/basic/exchange/client.rb +19 -0
  202. data/sample/basic/exchange/exchange.rb +17 -0
  203. data/sample/basic/exchange/httpd.rb +20 -0
  204. data/sample/basic/exchange/samplehttpd.conf +2 -0
  205. data/sample/basic/exchange/server.cgi +14 -0
  206. data/sample/basic/exchange/server.rb +20 -0
  207. data/sample/basic/flickr.rb +26 -0
  208. data/sample/basic/helloworld/client.rb +6 -0
  209. data/sample/basic/helloworld/server.rb +20 -0
  210. data/sample/basic/sampleStruct/client.rb +16 -0
  211. data/sample/basic/sampleStruct/httpd.rb +20 -0
  212. data/sample/basic/sampleStruct/iSampleStruct.rb +22 -0
  213. data/sample/basic/sampleStruct/sampleStruct.rb +13 -0
  214. data/sample/basic/sampleStruct/samplehttpd.conf +2 -0
  215. data/sample/basic/sampleStruct/server.cgi +14 -0
  216. data/sample/basic/sampleStruct/server.rb +20 -0
  217. data/sample/basic/whois.rb +14 -0
  218. data/sample/basic/wsdl_helloworld/README +15 -0
  219. data/sample/basic/wsdl_helloworld/client/default.rb +1 -0
  220. data/sample/basic/wsdl_helloworld/client/defaultDriver.rb +47 -0
  221. data/sample/basic/wsdl_helloworld/client/hws.wsdl +46 -0
  222. data/sample/basic/wsdl_helloworld/client/hwsClient.rb +22 -0
  223. data/sample/basic/wsdl_helloworld/server/hw_s.rb +25 -0
  224. data/sample/basic/wsdl_helloworld/server/hws.wsdl +46 -0
  225. data/sample/basic/yahooNewsSearch.rb +36 -0
  226. data/sample/howto/as_xml/client.rb +22 -0
  227. data/sample/howto/as_xml/server.rb +22 -0
  228. data/sample/howto/base64/client.rb +17 -0
  229. data/sample/howto/base64/server.rb +30 -0
  230. data/sample/howto/custom_ns/client.rb +37 -0
  231. data/sample/howto/custom_ns/server.rb +42 -0
  232. data/sample/howto/documentliteral/README.txt +19 -0
  233. data/sample/howto/documentliteral/client.rb +11 -0
  234. data/sample/howto/documentliteral/echo.wsdl +66 -0
  235. data/sample/howto/documentliteral/servant.rb +11 -0
  236. data/sample/howto/filter/client.rb +42 -0
  237. data/sample/howto/filter/server.rb +67 -0
  238. data/sample/howto/scopesample/client.rb +34 -0
  239. data/sample/howto/scopesample/httpd.rb +22 -0
  240. data/sample/howto/scopesample/samplehttpd.conf +2 -0
  241. data/sample/howto/scopesample/servant.rb +18 -0
  242. data/sample/howto/scopesample/server.cgi +29 -0
  243. data/sample/howto/scopesample/server.rb +20 -0
  244. data/sample/howto/styleuse/client.rb +21 -0
  245. data/sample/howto/styleuse/server.rb +86 -0
  246. data/sample/howto/wsdl_fault/README.txt +11 -0
  247. data/sample/howto/wsdl_fault/fault/AddClient.rb +24 -0
  248. data/sample/howto/wsdl_fault/fault/AddServer.rb +15 -0
  249. data/sample/howto/wsdl_fault/fault/AddServiceImpl.rb +18 -0
  250. data/sample/howto/wsdl_fault/fault/fault.wsdl +79 -0
  251. data/sample/howto/wsdl_fault/multifault/AddClient.rb +28 -0
  252. data/sample/howto/wsdl_fault/multifault/AddServer.rb +15 -0
  253. data/sample/howto/wsdl_fault/multifault/AddServiceImpl.rb +24 -0
  254. data/sample/howto/wsdl_fault/multifault/fault.wsdl +96 -0
  255. data/sample/howto/wsdl_hash/client.rb +11 -0
  256. data/sample/howto/wsdl_hash/hash.wsdl +69 -0
  257. data/sample/howto/wsdl_hash/server.rb +17 -0
  258. data/sample/marshal/customfactory.rb +97 -0
  259. data/sample/marshal/customregistry.rb +17 -0
  260. data/sample/marshal/digraph.rb +43 -0
  261. data/sample/marshal/enum/README.txt +6 -0
  262. data/sample/marshal/enum/enum.xsd +23 -0
  263. data/sample/marshal/enum/enumsample.rb +20 -0
  264. data/sample/marshal/enum/enumsample_mapper.rb +7 -0
  265. data/sample/marshal/enum/enumsample_mapping_registry.rb +23 -0
  266. data/sample/marshal/enum/marshal.rb +9 -0
  267. data/sample/payload/basicauth/client.rb +10 -0
  268. data/sample/payload/basicauth/htpasswd +2 -0
  269. data/sample/payload/basicauth/server.rb +43 -0
  270. data/sample/payload/cookies/calc.rb +52 -0
  271. data/sample/payload/cookies/client.rb +30 -0
  272. data/sample/payload/cookies/filterclient.rb +52 -0
  273. data/sample/payload/cookies/server.rb +24 -0
  274. data/sample/payload/gzipped/client.rb +8 -0
  275. data/sample/payload/gzipped/server.rb +21 -0
  276. data/sample/payload/ssl/files/README +1 -0
  277. data/sample/payload/ssl/files/ca.cert +23 -0
  278. data/sample/payload/ssl/files/client.cert +19 -0
  279. data/sample/payload/ssl/files/client.key +15 -0
  280. data/sample/payload/ssl/files/server.cert +19 -0
  281. data/sample/payload/ssl/files/server.key +15 -0
  282. data/sample/payload/ssl/files/sslclient.properties +5 -0
  283. data/sample/payload/ssl/files/sslclient_require_noserverauth.properties +2 -0
  284. data/sample/payload/ssl/files/sslclient_with_clientauth.properties +9 -0
  285. data/sample/payload/ssl/files/subca.cert +21 -0
  286. data/sample/payload/ssl/sslclient.rb +12 -0
  287. data/sample/payload/ssl/sslclient_require_noserverauth.rb +12 -0
  288. data/sample/payload/ssl/sslclient_with_clientauth.rb +12 -0
  289. data/sample/payload/ssl/sslserver.rb +49 -0
  290. data/sample/payload/ssl/sslserver_noauth.rb +45 -0
  291. data/sample/payload/ssl/sslserver_require_clientauth.rb +50 -0
  292. data/sample/showcase/soap/hippo5tq/hippo5tq.rb +41 -0
  293. data/sample/showcase/soap/hippo5tq/hippo5tq2.rb +99 -0
  294. data/sample/showcase/soap/hippo5tq/hippoClient.rb +106 -0
  295. data/sample/showcase/soap/icd/IICD.rb +17 -0
  296. data/sample/showcase/soap/icd/icd.rb +46 -0
  297. data/sample/showcase/soap/mssoap/README.txt +62 -0
  298. data/sample/showcase/soap/mssoap/client.vba +19 -0
  299. data/sample/showcase/soap/mssoap/stockQuoteService.cgi +44 -0
  300. data/sample/showcase/soap/mssoap/stockQuoteService.rb +9 -0
  301. data/sample/showcase/soap/mssoap/stockQuoteService.wsdl +47 -0
  302. data/sample/showcase/soap/mssoap/stockQuoteServiceClient.rb +26 -0
  303. data/sample/showcase/soap/mssoap/stockQuoteServiceClient.xls +0 -0
  304. data/sample/showcase/soap/mssoap/stockQuoteServicePortTypeDriver.rb +46 -0
  305. data/sample/showcase/soap/netDicV06/INetDicV06.rb +36 -0
  306. data/sample/showcase/soap/netDicV06/netDicV06.rb +16 -0
  307. data/sample/showcase/soap/raa/SOAP__Lite.pl +15 -0
  308. data/sample/showcase/soap/raa/pocketSOAP.js +33 -0
  309. data/sample/showcase/soap/raa2.4/raa.rb +332 -0
  310. data/sample/showcase/soap/raa2.4/raa.wsdl +644 -0
  311. data/sample/showcase/soap/raa2.4/raaDriver.rb +255 -0
  312. data/sample/showcase/soap/raa2.4/raaServiceClient.rb +354 -0
  313. data/sample/showcase/soap/raa2.4/sample.rb +115 -0
  314. data/sample/showcase/soap/rwiki/rwikiClient.rb +29 -0
  315. data/sample/showcase/soap/rwiki/rwikiServer.cgi +44 -0
  316. data/sample/showcase/soap/soapbox/ContactsDataSet.xml +37 -0
  317. data/sample/showcase/soap/soapbox/ExceptionDataSet.xml +23 -0
  318. data/sample/showcase/soap/soapbox/MessageDataSet.xml +8 -0
  319. data/sample/showcase/soap/soapbox/SoapBoxWebService.wsdl +1233 -0
  320. data/sample/showcase/soap/soapbox/SoapBoxWebServiceWithRawXML.wsdl +1226 -0
  321. data/sample/showcase/soap/soapbox/wsdlDriver.rb +23 -0
  322. data/sample/showcase/wsdl/PayPalSvc/client.rb +36 -0
  323. data/sample/showcase/wsdl/amazon/AmazonSearch.rb +3160 -0
  324. data/sample/showcase/wsdl/amazon/AmazonSearchDriver.rb +546 -0
  325. data/sample/showcase/wsdl/amazon/sampleClient.rb +37 -0
  326. data/sample/showcase/wsdl/amazon/wsdlDriver.rb +52 -0
  327. data/sample/showcase/wsdl/amazonEC/client.rb +13 -0
  328. data/sample/showcase/wsdl/eBaySvc/sampleclient.rb +60 -0
  329. data/sample/showcase/wsdl/googleAdwords/CampaignService.wsdl +785 -0
  330. data/sample/showcase/wsdl/googleAdwords/ca.pem +19 -0
  331. data/sample/showcase/wsdl/googleAdwords/client.rb +40 -0
  332. data/sample/showcase/wsdl/googleAdwords/soap/property +1 -0
  333. data/sample/showcase/wsdl/googleSearch/GoogleSearch.rb +97 -0
  334. data/sample/showcase/wsdl/googleSearch/GoogleSearchDriver.rb +102 -0
  335. data/sample/showcase/wsdl/googleSearch/README +6 -0
  336. data/sample/showcase/wsdl/googleSearch/httpd.rb +20 -0
  337. data/sample/showcase/wsdl/googleSearch/sampleClient.rb +56 -0
  338. data/sample/showcase/wsdl/googleSearch/samplehttpd.conf +2 -0
  339. data/sample/showcase/wsdl/googleSearch/sjissearch.sh +3 -0
  340. data/sample/showcase/wsdl/googleSearch/wsdlDriver.rb +29 -0
  341. data/sample/showcase/wsdl/noaa/README.txt +5 -0
  342. data/sample/showcase/wsdl/noaa/client.rb +44 -0
  343. data/sample/showcase/wsdl/noaa/default.rb +46 -0
  344. data/sample/showcase/wsdl/noaa/defaultDriver.rb +66 -0
  345. data/sample/showcase/wsdl/noaa/defaultMappingRegistry.rb +74 -0
  346. data/sample/showcase/wsdl/noaa/ndfdXMLClient.rb +43 -0
  347. data/sample/showcase/wsdl/raa2.4/raa.rb +134 -0
  348. data/sample/showcase/wsdl/raa2.4/raa.wsdl +644 -0
  349. data/sample/showcase/wsdl/raa2.4/wsdlDriver.rb +117 -0
  350. data/sample/showcase/wsdl/rnn/client.rb +59 -0
  351. data/sample/showcase/wsdl/rnn/post.rb +27 -0
  352. data/sample/showcase/wsdl/rnn/rnn-hash.wsdl +282 -0
  353. data/sample/showcase/wsdl/rnn/rnn.wsdl +310 -0
  354. data/sample/showcase/wsdl/rnn/submit.rb +63 -0
  355. data/sample/showcase/wsdl/salesforce/SforceServiceClient.rb +280 -0
  356. data/sample/showcase/wsdl/salesforce/ca.pem +35 -0
  357. data/sample/showcase/wsdl/salesforce/client.rb +156 -0
  358. data/sample/showcase/wsdl/salesforce/default.rb +1740 -0
  359. data/sample/showcase/wsdl/salesforce/defaultDriver.rb +165 -0
  360. data/sample/showcase/wsdl/salesforce/soap/property +1 -0
  361. data/sample/soapheader/authheader/authmgr.rb +41 -0
  362. data/sample/soapheader/authheader/client.rb +40 -0
  363. data/sample/soapheader/authheader/client2.rb +42 -0
  364. data/sample/soapheader/authheader/server.rb +73 -0
  365. data/sample/soapheader/authheader/server2.rb +83 -0
  366. data/sample/soapheader/soapext_basicauth/client.rb +25 -0
  367. data/sample/soapheader/soapext_basicauth/mms_MizGIS.rb +701 -0
  368. data/sample/soapheader/soapext_basicauth/mms_MizGIS.wsdl +1007 -0
  369. data/sample/soapheader/soapext_basicauth/mms_MizGISClient.rb +231 -0
  370. data/sample/soapheader/soapext_basicauth/mms_MizGISDriver.rb +210 -0
  371. data/sample/soapheader/soapext_basicauth/mms_MizGISMappingRegistry.rb +1232 -0
  372. data/test/16runner.rb +68 -0
  373. data/test/interopR2/README.txt +2 -0
  374. data/test/interopR2/SOAPBuildersInterop_R2.wsdl +461 -0
  375. data/test/interopR2/SOAPBuildersInterop_R2GrB.wsdl +19 -0
  376. data/test/interopR2/base.rb +288 -0
  377. data/test/interopR2/client.NetRemoting.rb +17 -0
  378. data/test/interopR2/client.rb +1234 -0
  379. data/test/interopR2/client4S4C.rb +15 -0
  380. data/test/interopR2/client4S4C2.rb +14 -0
  381. data/test/interopR2/clientASP.NET.rb +17 -0
  382. data/test/interopR2/clientApacheAxis.rb +16 -0
  383. data/test/interopR2/clientApacheSOAP.rb +17 -0
  384. data/test/interopR2/clientBEAWebLogic.rb +17 -0
  385. data/test/interopR2/clientBase.rb +1967 -0
  386. data/test/interopR2/clientCapeConnect.rb +18 -0
  387. data/test/interopR2/clientDelphi.rb +19 -0
  388. data/test/interopR2/clientEasySoap.rb +14 -0
  389. data/test/interopR2/clientFrontier.rb +25 -0
  390. data/test/interopR2/clientGLUE.rb +32 -0
  391. data/test/interopR2/clientHP.rb +13 -0
  392. data/test/interopR2/clientJAX-RPC.rb +19 -0
  393. data/test/interopR2/clientJSOAP.rb +14 -0
  394. data/test/interopR2/clientKafkaXSLT.rb +15 -0
  395. data/test/interopR2/clientMSSOAPToolkit2.0.rb +17 -0
  396. data/test/interopR2/clientMSSOAPToolkit3.0.rb +17 -0
  397. data/test/interopR2/clientNuSOAP.rb +19 -0
  398. data/test/interopR2/clientNuWave.rb +15 -0
  399. data/test/interopR2/clientOpenLink.rb +15 -0
  400. data/test/interopR2/clientOracle.rb +15 -0
  401. data/test/interopR2/clientPEAR.rb +18 -0
  402. data/test/interopR2/clientPhalanx.rb +18 -0
  403. data/test/interopR2/clientSIMACE.rb +18 -0
  404. data/test/interopR2/clientSOAP4R.rb +18 -0
  405. data/test/interopR2/clientSOAP__Lite.rb +14 -0
  406. data/test/interopR2/clientSQLData.rb +18 -0
  407. data/test/interopR2/clientSilverStream.rb +17 -0
  408. data/test/interopR2/clientSpray2001.rb +17 -0
  409. data/test/interopR2/clientSun.rb +19 -0
  410. data/test/interopR2/clientVWOpentalkSoap.rb +19 -0
  411. data/test/interopR2/clientWASP.rb +19 -0
  412. data/test/interopR2/clientWASPC.rb +18 -0
  413. data/test/interopR2/clientWebMethods.rb +15 -0
  414. data/test/interopR2/clientWhiteMesa.rb +28 -0
  415. data/test/interopR2/clientWingfoot.rb +15 -0
  416. data/test/interopR2/clientXMLBus.rb +19 -0
  417. data/test/interopR2/clientXMLRPC-EPI.rb +17 -0
  418. data/test/interopR2/clientXSOAP.rb +14 -0
  419. data/test/interopR2/clientZSI.rb +19 -0
  420. data/test/interopR2/clienteSOAP.rb +18 -0
  421. data/test/interopR2/clientgSOAP.rb +18 -0
  422. data/test/interopR2/clientkSOAP.rb +17 -0
  423. data/test/interopR2/iSimonReg.rb +112 -0
  424. data/test/interopR2/interopResultBase.rb +114 -0
  425. data/test/interopR2/interopService.rb +247 -0
  426. data/test/interopR2/rwikiInteropService.rb +105 -0
  427. data/test/interopR2/server.cgi +270 -0
  428. data/test/interopR2/server.rb +275 -0
  429. data/test/interopR2/simonReg.rb +123 -0
  430. data/test/interopR2/test.sh +49 -0
  431. data/test/interopR4/client.rb +112 -0
  432. data/test/results +4810 -0
  433. data/test/runner.rb +7 -0
  434. data/test/sm11/classDef.rb +156 -0
  435. data/test/sm11/client.rb +542 -0
  436. data/test/sm11/driver.rb +183 -0
  437. data/test/sm11/servant.rb +1067 -0
  438. data/test/sm11/server.rb +25 -0
  439. data/test/soap/asp.net/hello.wsdl +96 -0
  440. data/test/soap/asp.net/test_aspdotnet.rb +123 -0
  441. data/test/soap/auth/htdigest +2 -0
  442. data/test/soap/auth/htpasswd +2 -0
  443. data/test/soap/auth/test_basic.rb +116 -0
  444. data/test/soap/auth/test_digest.rb +118 -0
  445. data/test/soap/calc/calc.rb +17 -0
  446. data/test/soap/calc/calc2.rb +29 -0
  447. data/test/soap/calc/server.cgi +13 -0
  448. data/test/soap/calc/server.rb +17 -0
  449. data/test/soap/calc/server2.rb +20 -0
  450. data/test/soap/calc/test_calc2.rb +55 -0
  451. data/test/soap/case/test_mapping.rb +33 -0
  452. data/test/soap/fault/test_customfault.rb +60 -0
  453. data/test/soap/fault/test_fault.rb +46 -0
  454. data/test/soap/fault/test_soaparray.rb +35 -0
  455. data/test/soap/filter/test_filter.rb +147 -0
  456. data/test/soap/header/server.cgi +122 -0
  457. data/test/soap/header/session.pstoredb +0 -0
  458. data/test/soap/header/test_authheader.rb +234 -0
  459. data/test/soap/header/test_authheader_cgi.rb +120 -0
  460. data/test/soap/header/test_simplehandler.rb +120 -0
  461. data/test/soap/helloworld/hw_s.rb +16 -0
  462. data/test/soap/helloworld/test_helloworld.rb +42 -0
  463. data/test/soap/htpasswd +2 -0
  464. data/test/soap/literalArrayMapping/amazonEc.rb +4778 -0
  465. data/test/soap/literalArrayMapping/amazonEcDriver.rb +172 -0
  466. data/test/soap/literalArrayMapping/amazonresponse.xml +100 -0
  467. data/test/soap/literalArrayMapping/test_definedarray.rb +33 -0
  468. data/test/soap/marshal/marshaltestlib.rb +456 -0
  469. data/test/soap/marshal/test_digraph.rb +56 -0
  470. data/test/soap/marshal/test_marshal.rb +26 -0
  471. data/test/soap/marshal/test_struct.rb +47 -0
  472. data/test/soap/ssl/README +1 -0
  473. data/test/soap/ssl/ca.cert +23 -0
  474. data/test/soap/ssl/client.cert +19 -0
  475. data/test/soap/ssl/client.key +15 -0
  476. data/test/soap/ssl/server.cert +19 -0
  477. data/test/soap/ssl/server.key +15 -0
  478. data/test/soap/ssl/sslsvr.rb +57 -0
  479. data/test/soap/ssl/subca.cert +21 -0
  480. data/test/soap/ssl/test_ssl.rb +238 -0
  481. data/test/soap/struct/test_struct.rb +69 -0
  482. data/test/soap/styleuse/client.rb +20 -0
  483. data/test/soap/styleuse/server.rb +86 -0
  484. data/test/soap/swa/test_file.rb +76 -0
  485. data/test/soap/test_basetype.rb +1090 -0
  486. data/test/soap/test_cookie.rb +111 -0
  487. data/test/soap/test_custom_ns.rb +105 -0
  488. data/test/soap/test_custommap.rb +110 -0
  489. data/test/soap/test_empty.rb +105 -0
  490. data/test/soap/test_envelopenamespace.rb +84 -0
  491. data/test/soap/test_extraattr.rb +54 -0
  492. data/test/soap/test_generator.rb +27 -0
  493. data/test/soap/test_httpconfigloader.rb +71 -0
  494. data/test/soap/test_mapping.rb +122 -0
  495. data/test/soap/test_nestedexception.rb +61 -0
  496. data/test/soap/test_nil.rb +61 -0
  497. data/test/soap/test_no_indent.rb +88 -0
  498. data/test/soap/test_property.rb +427 -0
  499. data/test/soap/test_response_as_xml.rb +116 -0
  500. data/test/soap/test_soapelement.rb +138 -0
  501. data/test/soap/test_streamhandler.rb +269 -0
  502. data/test/soap/test_styleuse.rb +327 -0
  503. data/test/soap/wsdlDriver/README.txt +2 -0
  504. data/test/soap/wsdlDriver/calc.wsdl +126 -0
  505. data/test/soap/wsdlDriver/document.wsdl +54 -0
  506. data/test/soap/wsdlDriver/echo_version.rb +29 -0
  507. data/test/soap/wsdlDriver/simpletype.wsdl +63 -0
  508. data/test/soap/wsdlDriver/test_calc.rb +72 -0
  509. data/test/soap/wsdlDriver/test_document.rb +72 -0
  510. data/test/soap/wsdlDriver/test_simpletype.rb +81 -0
  511. data/test/test_helper.rb +82 -0
  512. data/test/wsdl/abstract/abstract.rb +102 -0
  513. data/test/wsdl/abstract/abstract.wsdl +176 -0
  514. data/test/wsdl/abstract/abstractDriver.rb +73 -0
  515. data/test/wsdl/abstract/abstractMappingRegistry.rb +139 -0
  516. data/test/wsdl/abstract/test_abstract.rb +158 -0
  517. data/test/wsdl/anonymous/expectedClassDef.rb +128 -0
  518. data/test/wsdl/anonymous/expectedDriver.rb +61 -0
  519. data/test/wsdl/anonymous/expectedMappingRegistry.rb +176 -0
  520. data/test/wsdl/anonymous/lp.rb +128 -0
  521. data/test/wsdl/anonymous/lp.wsdl +147 -0
  522. data/test/wsdl/anonymous/lpDriver.rb +61 -0
  523. data/test/wsdl/anonymous/lpMappingRegistry.rb +176 -0
  524. data/test/wsdl/anonymous/test_anonymous.rb +130 -0
  525. data/test/wsdl/any/any.wsdl +114 -0
  526. data/test/wsdl/any/echo.rb +57 -0
  527. data/test/wsdl/any/echoDriver.rb +70 -0
  528. data/test/wsdl/any/echoMappingRegistry.rb +63 -0
  529. data/test/wsdl/any/echoServant.rb +52 -0
  530. data/test/wsdl/any/echo_service.rb +69 -0
  531. data/test/wsdl/any/echo_serviceClient.rb +52 -0
  532. data/test/wsdl/any/expectedDriver.rb +70 -0
  533. data/test/wsdl/any/expectedEcho.rb +57 -0
  534. data/test/wsdl/any/expectedMappingRegistry.rb +63 -0
  535. data/test/wsdl/any/expectedService.rb +69 -0
  536. data/test/wsdl/any/test_any.rb +193 -0
  537. data/test/wsdl/axisArray/axisArray.wsdl +87 -0
  538. data/test/wsdl/axisArray/itemList.rb +31 -0
  539. data/test/wsdl/axisArray/itemListDriver.rb +62 -0
  540. data/test/wsdl/axisArray/itemListMappingRegistry.rb +60 -0
  541. data/test/wsdl/axisArray/test_axisarray.rb +124 -0
  542. data/test/wsdl/choice/choice.rb +117 -0
  543. data/test/wsdl/choice/choice.wsdl +167 -0
  544. data/test/wsdl/choice/choiceDriver.rb +69 -0
  545. data/test/wsdl/choice/choiceMappingRegistry.rb +131 -0
  546. data/test/wsdl/choice/test_choice.rb +310 -0
  547. data/test/wsdl/complexcontent/complexContent.rb +40 -0
  548. data/test/wsdl/complexcontent/complexContent.wsdl +83 -0
  549. data/test/wsdl/complexcontent/complexContentMappingRegistry.rb +67 -0
  550. data/test/wsdl/complexcontent/test_echo.rb +89 -0
  551. data/test/wsdl/datetime/DatetimeService.rb +44 -0
  552. data/test/wsdl/datetime/datetime.rb +0 -0
  553. data/test/wsdl/datetime/datetime.wsdl +45 -0
  554. data/test/wsdl/datetime/datetimeServant.rb +22 -0
  555. data/test/wsdl/datetime/test_datetime.rb +88 -0
  556. data/test/wsdl/document/array/double.rb +114 -0
  557. data/test/wsdl/document/array/double.wsdl +161 -0
  558. data/test/wsdl/document/array/doubleDriver.rb +69 -0
  559. data/test/wsdl/document/array/doubleMappingRegistry.rb +115 -0
  560. data/test/wsdl/document/array/test_array.rb +202 -0
  561. data/test/wsdl/document/document.wsdl +76 -0
  562. data/test/wsdl/document/echo.rb +120 -0
  563. data/test/wsdl/document/echoDriver.rb +53 -0
  564. data/test/wsdl/document/echoMappingRegistry.rb +64 -0
  565. data/test/wsdl/document/number.wsdl +54 -0
  566. data/test/wsdl/document/ping_nosoapaction.wsdl +66 -0
  567. data/test/wsdl/document/test_nosoapaction.rb +102 -0
  568. data/test/wsdl/document/test_number.rb +92 -0
  569. data/test/wsdl/document/test_rpc.rb +351 -0
  570. data/test/wsdl/emptycomplextype.wsdl +31 -0
  571. data/test/wsdl/fault/Add.rb +53 -0
  572. data/test/wsdl/fault/AddMappingRegistry.rb +46 -0
  573. data/test/wsdl/fault/AddServant.rb +28 -0
  574. data/test/wsdl/fault/AddService.rb +51 -0
  575. data/test/wsdl/fault/fault.wsdl +79 -0
  576. data/test/wsdl/fault/multifault.wsdl +96 -0
  577. data/test/wsdl/fault/test_fault.rb +119 -0
  578. data/test/wsdl/fault/test_multifault.rb +133 -0
  579. data/test/wsdl/group/echo.rb +58 -0
  580. data/test/wsdl/group/echoDriver.rb +53 -0
  581. data/test/wsdl/group/echoMappingRegistry.rb +67 -0
  582. data/test/wsdl/group/expectedClassdef.rb +58 -0
  583. data/test/wsdl/group/expectedDriver.rb +53 -0
  584. data/test/wsdl/group/expectedMappingRegistry.rb +67 -0
  585. data/test/wsdl/group/group.wsdl +88 -0
  586. data/test/wsdl/group/test_rpc.rb +145 -0
  587. data/test/wsdl/list/list.rb +55 -0
  588. data/test/wsdl/list/list.wsdl +93 -0
  589. data/test/wsdl/list/listDriver.rb +53 -0
  590. data/test/wsdl/list/listMappingRegistry.rb +40 -0
  591. data/test/wsdl/list/test_list.rb +123 -0
  592. data/test/wsdl/map/map.wsdl +92 -0
  593. data/test/wsdl/map/map.xml +43 -0
  594. data/test/wsdl/map/test_map.rb +100 -0
  595. data/test/wsdl/marshal/Person.rb +23 -0
  596. data/test/wsdl/marshal/person.wsdl +21 -0
  597. data/test/wsdl/marshal/person_org.rb +23 -0
  598. data/test/wsdl/marshal/test_wsdlmarshal.rb +76 -0
  599. data/test/wsdl/multiplefault.wsdl +75 -0
  600. data/test/wsdl/oneway/oneway.rb +17 -0
  601. data/test/wsdl/oneway/oneway.wsdl +36 -0
  602. data/test/wsdl/oneway/onewayDriver.rb +52 -0
  603. data/test/wsdl/oneway/onewayMappingRegistry.rb +20 -0
  604. data/test/wsdl/oneway/test_oneway.rb +107 -0
  605. data/test/wsdl/overload/OverloadServiceClient.rb +37 -0
  606. data/test/wsdl/overload/default.rb +1 -0
  607. data/test/wsdl/overload/defaultDriver.rb +61 -0
  608. data/test/wsdl/overload/defaultMappingRegistry.rb +8 -0
  609. data/test/wsdl/overload/defaultServant.rb +35 -0
  610. data/test/wsdl/overload/expectedClient.rb +37 -0
  611. data/test/wsdl/overload/expectedDriver.rb +61 -0
  612. data/test/wsdl/overload/expectedServant.rb +35 -0
  613. data/test/wsdl/overload/overload.wsdl +70 -0
  614. data/test/wsdl/overload/test_overload.rb +131 -0
  615. data/test/wsdl/qualified/default.rb +30 -0
  616. data/test/wsdl/qualified/defaultDriver.rb +51 -0
  617. data/test/wsdl/qualified/defaultMappingRegistry.rb +29 -0
  618. data/test/wsdl/qualified/lp.rb +45 -0
  619. data/test/wsdl/qualified/lp.wsdl +47 -0
  620. data/test/wsdl/qualified/lp.xsd +26 -0
  621. data/test/wsdl/qualified/lpDriver.rb +51 -0
  622. data/test/wsdl/qualified/lpMappingRegistry.rb +96 -0
  623. data/test/wsdl/qualified/np.wsdl +51 -0
  624. data/test/wsdl/qualified/test_qualified.rb +136 -0
  625. data/test/wsdl/qualified/test_unqualified.rb +138 -0
  626. data/test/wsdl/raa/RAAService.rb +125 -0
  627. data/test/wsdl/raa/README.txt +8 -0
  628. data/test/wsdl/raa/expectedClassDef.rb +100 -0
  629. data/test/wsdl/raa/expectedDriver.rb +96 -0
  630. data/test/wsdl/raa/expectedMappingRegistry.rb +121 -0
  631. data/test/wsdl/raa/raa.wsdl +264 -0
  632. data/test/wsdl/raa/test_raa.rb +128 -0
  633. data/test/wsdl/ref/expectedDriver.rb +53 -0
  634. data/test/wsdl/ref/expectedProduct.rb +243 -0
  635. data/test/wsdl/ref/product.rb +243 -0
  636. data/test/wsdl/ref/product.wsdl +147 -0
  637. data/test/wsdl/ref/productDriver.rb +53 -0
  638. data/test/wsdl/ref/productMappingRegistry.rb +150 -0
  639. data/test/wsdl/ref/test_ref.rb +267 -0
  640. data/test/wsdl/rpc/RPC-Literal-TestDefinitions.rb +90 -0
  641. data/test/wsdl/rpc/RPC-Literal-TestDefinitionsDriver.rb +149 -0
  642. data/test/wsdl/rpc/RPC-Literal-TestDefinitionsMappingRegistry.rb +168 -0
  643. data/test/wsdl/rpc/echo.rb +35 -0
  644. data/test/wsdl/rpc/echoDriver.rb +74 -0
  645. data/test/wsdl/rpc/echoMappingRegistry.rb +46 -0
  646. data/test/wsdl/rpc/rpc.wsdl +109 -0
  647. data/test/wsdl/rpc/test-rpc-lit.wsdl +371 -0
  648. data/test/wsdl/rpc/test_rpc.rb +177 -0
  649. data/test/wsdl/rpc/test_rpc_lit.rb +471 -0
  650. data/test/wsdl/simplecontent/simpleContent.rb +78 -0
  651. data/test/wsdl/simplecontent/simpleContentDriver.rb +53 -0
  652. data/test/wsdl/simplecontent/simpleContentMappingRegistry.rb +77 -0
  653. data/test/wsdl/simplecontent/simplecontent.wsdl +84 -0
  654. data/test/wsdl/simplecontent/test_simplecontent.rb +101 -0
  655. data/test/wsdl/simpletype/rpc/expectedClient.rb +34 -0
  656. data/test/wsdl/simpletype/rpc/expectedDriver.rb +58 -0
  657. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +36 -0
  658. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +57 -0
  659. data/test/wsdl/simpletype/rpc/expectedServant.rb +32 -0
  660. data/test/wsdl/simpletype/rpc/expectedService.rb +55 -0
  661. data/test/wsdl/simpletype/rpc/rpc.wsdl +98 -0
  662. data/test/wsdl/simpletype/rpc/test_rpc.rb +52 -0
  663. data/test/wsdl/simpletype/simpletype.wsdl +114 -0
  664. data/test/wsdl/simpletype/test_simpletype.rb +93 -0
  665. data/test/wsdl/soap/soapbodyparts.wsdl +103 -0
  666. data/test/wsdl/soap/test_soapbodyparts.rb +80 -0
  667. data/test/wsdl/soap/wsdl2ruby/expectedClassdef.rb +21 -0
  668. data/test/wsdl/soap/wsdl2ruby/expectedClient.rb +34 -0
  669. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +58 -0
  670. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +36 -0
  671. data/test/wsdl/soap/wsdl2ruby/expectedServant.rb +32 -0
  672. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +48 -0
  673. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +55 -0
  674. data/test/wsdl/soap/wsdl2ruby/rpc.wsdl +80 -0
  675. data/test/wsdl/soap/wsdl2ruby/section/expectedClassdef.rb +37 -0
  676. data/test/wsdl/soap/wsdl2ruby/section/mysample.rb +37 -0
  677. data/test/wsdl/soap/wsdl2ruby/section/section.xsd +31 -0
  678. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +53 -0
  679. data/test/wsdl/soap/wsdl2ruby/soapenc/echo.rb +21 -0
  680. data/test/wsdl/soap/wsdl2ruby/soapenc/soapenc.wsdl +64 -0
  681. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +83 -0
  682. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +102 -0
  683. data/test/wsdl/soaptype/echo.rb +23 -0
  684. data/test/wsdl/soaptype/echoDriver.rb +55 -0
  685. data/test/wsdl/soaptype/echoMappingRegistry.rb +32 -0
  686. data/test/wsdl/soaptype/soaptype.wsdl +61 -0
  687. data/test/wsdl/soaptype/test_soaptype.rb +176 -0
  688. data/test/wsdl/test_emptycomplextype.rb +21 -0
  689. data/test/wsdl/test_fault.rb +50 -0
  690. data/test/wsdl/test_multiplefault.rb +41 -0
  691. data/test/xsd/codegen/test_classdef.rb +244 -0
  692. data/test/xsd/noencoding.xml +4 -0
  693. data/test/xsd/test_iconvcharset.rb +20 -0
  694. data/test/xsd/test_noencoding.rb +33 -0
  695. data/test/xsd/test_ns.rb +41 -0
  696. data/test/xsd/test_xmlschemaparser.rb +22 -0
  697. data/test/xsd/test_xsd.rb +1640 -0
  698. data/test/xsd/xmllang.xml +43 -0
  699. data/test/xsd/xmlschema.xml +12 -0
  700. data/test/xsd/xsd2ruby/expected_mysample.rb +65 -0
  701. data/test/xsd/xsd2ruby/expected_mysample_mapper.rb +11 -0
  702. data/test/xsd/xsd2ruby/expected_mysample_mapping_registry.rb +51 -0
  703. data/test/xsd/xsd2ruby/mysample.rb +65 -0
  704. data/test/xsd/xsd2ruby/mysample_mapper.rb +11 -0
  705. data/test/xsd/xsd2ruby/mysample_mapping_registry.rb +51 -0
  706. data/test/xsd/xsd2ruby/section.xsd +49 -0
  707. data/test/xsd/xsd2ruby/test_xsd2ruby.rb +89 -0
  708. metadata +762 -24
  709. data/lib/xsd/xmlparser/nokogiriparser.rb +0 -63
  710. data/lib/xsd/xmlparser/ogaparser.rb +0 -53
  711. data/lib/xsd/xmlparser/oxparser.rb +0 -97
@@ -0,0 +1,427 @@
1
+ # coding: utf-8
2
+
3
+ require 'test/unit'
4
+ require 'soap/property'
5
+
6
+ module SOAP
7
+
8
+
9
+ class TestProperty < Test::Unit::TestCase
10
+
11
+ def setup
12
+ @prop = ::SOAP::Property.new
13
+ end
14
+
15
+ def teardown
16
+ # Nothing to do.
17
+ end
18
+
19
+ def test_s_load
20
+ propstr = <<__EOP__
21
+
22
+ # comment1
23
+
24
+ # comment2\r
25
+ # comment2
26
+
27
+ \r
28
+ a.b.0 = 1
29
+ a.b.1 = 2
30
+ a.b.2 = 3
31
+ a.b.3 = 日本語
32
+ a.b.表 = 1表2
33
+ client.protocol.http.proxy=http://myproxy:8080 \r
34
+ client.protocol.http.no_proxy: intranet.example.com,local.example.com\r
35
+ client.protocol.http.protocol_version = 1.0
36
+ foo\\:bar\\=baz = qux
37
+ foo\\\\.bar.baz=\tq\\\\ux\ttab
38
+ a\\ b = 1
39
+ [ppp.qqq.rrr]
40
+ sss = 3
41
+ ttt.uuu = 4
42
+
43
+ [ sss.ttt.uuu ]
44
+ vvv.www = 5
45
+ [ ]
46
+ xxx.yyy.zzz = 6
47
+ __EOP__
48
+ prop = Property.load(propstr)
49
+ assert_equal("1表2", prop["a.b.表"])
50
+ assert_equal(["1", "1表2", "2", "3", "日本語"], prop["a.b"].values.sort)
51
+ assert_equal("intranet.example.com,local.example.com",
52
+ prop["client.protocol.http.no_proxy"])
53
+ assert_equal("http://myproxy:8080", prop["client.protocol.http.proxy"])
54
+ assert_equal("1.0", prop["client.protocol.http.protocol_version"])
55
+ assert_equal("q\\ux\ttab", prop['foo\.bar.baz'])
56
+ assert_equal("1", prop['a b'])
57
+ assert_equal("3", prop['ppp.qqq.rrr.sss'])
58
+ assert_equal("4", prop['ppp.qqq.rrr.ttt.uuu'])
59
+ assert_equal("5", prop['sss.ttt.uuu.vvv.www'])
60
+ assert_equal("6", prop['xxx.yyy.zzz'])
61
+ end
62
+
63
+ def test_load
64
+ prop = Property.new
65
+ hooked = false
66
+ prop.add_hook("foo.bar.baz") do |name, value|
67
+ assert_equal(["foo", "bar", "baz"], name)
68
+ assert_equal("123", value)
69
+ hooked = true
70
+ end
71
+ prop.lock
72
+ prop["foo.bar"].lock
73
+ prop.load("foo.bar.baz = 123")
74
+ assert(hooked)
75
+ assert_raises(FrozenError) do
76
+ prop.load("foo.bar.qux = 123")
77
+ end
78
+ prop.load("foo.baz = 456")
79
+ assert_equal("456", prop["foo.baz"])
80
+ end
81
+
82
+ def test_initialize
83
+ prop = ::SOAP::Property.new
84
+ # store is empty
85
+ assert_nil(prop["a"])
86
+ # does hook work?
87
+ assert_equal(1, prop["a"] = 1)
88
+ end
89
+
90
+ def test_aref
91
+ # name_to_a
92
+ assert_nil(@prop[:foo])
93
+ assert_nil(@prop["foo"])
94
+ assert_nil(@prop[[:foo]])
95
+ assert_nil(@prop[["foo"]])
96
+ assert_raises(ArgumentError) do
97
+ @prop[1]
98
+ end
99
+ @prop[:foo] = :foo
100
+ assert_equal(:foo, @prop[:foo])
101
+ assert_equal(:foo, @prop["foo"])
102
+ assert_equal(:foo, @prop[[:foo]])
103
+ assert_equal(:foo, @prop[["foo"]])
104
+ end
105
+
106
+ def test_referent
107
+ # referent(1)
108
+ assert_nil(@prop["foo.foo"])
109
+ assert_nil(@prop[["foo", "foo"]])
110
+ assert_nil(@prop[["foo", :foo]])
111
+ @prop["foo.foo"] = :foo
112
+ assert_equal(:foo, @prop["foo.foo"])
113
+ assert_equal(:foo, @prop[["foo", "foo"]])
114
+ assert_equal(:foo, @prop[[:foo, "foo"]])
115
+ # referent(2)
116
+ @prop["bar.bar.bar"] = :bar
117
+ assert_equal(:bar, @prop["bar.bar.bar"])
118
+ assert_equal(:bar, @prop[["bar", "bar", "bar"]])
119
+ assert_equal(:bar, @prop[[:bar, "bar", :bar]])
120
+ end
121
+
122
+ def test_to_key_and_deref
123
+ @prop["foo.foo"] = :foo
124
+ assert_equal(:foo, @prop["fOo.FoO"])
125
+ assert_equal(:foo, @prop[[:fOO, :FOO]])
126
+ assert_equal(:foo, @prop[["FoO", :Foo]])
127
+ # deref_key negative test
128
+ assert_raises(ArgumentError) do
129
+ @prop["baz"] = 1
130
+ @prop["baz.qux"] = 2
131
+ end
132
+ end
133
+
134
+ def test_hook_name
135
+ tag = Object.new
136
+ tested = false
137
+ @prop.add_hook("foo.bar") do |key, value|
138
+ assert_raise(FrozenError) do
139
+ key << "baz"
140
+ end
141
+ tested = true
142
+ end
143
+ @prop["foo.bar"] = tag
144
+ assert(tested)
145
+ end
146
+
147
+ def test_value_hook
148
+ tag = Object.new
149
+ tested = false
150
+ @prop.add_hook("FOO.BAR.BAZ") do |key, value|
151
+ assert_equal(["Foo", "baR", "baZ"], key)
152
+ assert_equal(tag, value)
153
+ tested = true
154
+ end
155
+ @prop["Foo.baR.baZ"] = tag
156
+ assert_equal(tag, @prop["foo.bar.baz"])
157
+ assert(tested)
158
+ @prop["foo.bar"] = 1 # unhook the above block
159
+ assert_equal(1, @prop["foo.bar"])
160
+ end
161
+
162
+ def test_key_hook_no_cascade
163
+ tag = Object.new
164
+ tested = 0
165
+ @prop.add_hook do |key, value|
166
+ assert(false)
167
+ end
168
+ @prop.add_hook(false) do |key, value|
169
+ assert(false)
170
+ end
171
+ @prop.add_hook("foo") do |key, value|
172
+ assert(false)
173
+ end
174
+ @prop.add_hook("foo.bar", false) do |key, value|
175
+ assert(false)
176
+ end
177
+ @prop.add_hook("foo.bar.baz") do |key, value|
178
+ assert(false)
179
+ end
180
+ @prop.add_hook("foo.bar.baz.qux", false) do |key, value|
181
+ assert_equal(["foo", "bar", "baz", "qux"], key)
182
+ assert_equal(tag, value)
183
+ tested += 1
184
+ end
185
+ @prop["foo.bar.baz.qux"] = tag
186
+ assert_equal(tag, @prop["foo.bar.baz.qux"])
187
+ assert_equal(1, tested)
188
+ end
189
+
190
+ def test_key_hook_cascade
191
+ tag = Object.new
192
+ tested = 0
193
+ @prop.add_hook(true) do |key, value|
194
+ assert_equal(["foo", "bar", "baz", "qux"], key)
195
+ assert_equal(tag, value)
196
+ tested += 1
197
+ end
198
+ @prop.add_hook("foo", true) do |key, value|
199
+ assert_equal(["foo", "bar", "baz", "qux"], key)
200
+ assert_equal(tag, value)
201
+ tested += 1
202
+ end
203
+ @prop.add_hook("foo.bar", true) do |key, value|
204
+ assert_equal(["foo", "bar", "baz", "qux"], key)
205
+ assert_equal(tag, value)
206
+ tested += 1
207
+ end
208
+ @prop.add_hook("foo.bar.baz", true) do |key, value|
209
+ assert_equal(["foo", "bar", "baz", "qux"], key)
210
+ assert_equal(tag, value)
211
+ tested += 1
212
+ end
213
+ @prop.add_hook("foo.bar.baz.qux", true) do |key, value|
214
+ assert_equal(["foo", "bar", "baz", "qux"], key)
215
+ assert_equal(tag, value)
216
+ tested += 1
217
+ end
218
+ @prop["foo.bar.baz.qux"] = tag
219
+ assert_equal(tag, @prop["foo.bar.baz.qux"])
220
+ assert_equal(5, tested)
221
+ end
222
+
223
+ def test_keys
224
+ assert(@prop.keys.empty?)
225
+ @prop["foo"] = 1
226
+ @prop["bar"]
227
+ @prop["BAz"] = 2
228
+ assert_equal(2, @prop.keys.size)
229
+ assert(@prop.keys.member?("foo"))
230
+ assert(@prop.keys.member?("baz"))
231
+ #
232
+ assert_nil(@prop["a"])
233
+ @prop["a.a"] = 1
234
+ assert_instance_of(::SOAP::Property, @prop["a"])
235
+ @prop["a.b"] = 1
236
+ @prop["a.c"] = 1
237
+ assert_equal(3, @prop["a"].keys.size)
238
+ assert(@prop["a"].keys.member?("a"))
239
+ assert(@prop["a"].keys.member?("b"))
240
+ assert(@prop["a"].keys.member?("c"))
241
+ end
242
+
243
+ def test_lshift
244
+ assert(@prop.empty?)
245
+ @prop << 1
246
+ assert_equal([1], @prop.values)
247
+ assert_equal(1, @prop["0"])
248
+ @prop << 1
249
+ assert_equal([1, 1], @prop.values)
250
+ assert_equal(1, @prop["1"])
251
+ @prop << 1
252
+ assert_equal([1, 1, 1], @prop.values)
253
+ assert_equal(1, @prop["2"])
254
+ #
255
+ @prop["abc.def"] = o = SOAP::Property.new
256
+ tested = 0
257
+ o.add_hook do |k, v|
258
+ tested += 1
259
+ end
260
+ @prop["abc.def"] << 1
261
+ @prop["abc.def"] << 2
262
+ @prop["abc.def"] << 3
263
+ @prop["abc.def"] << 4
264
+ assert_equal(4, tested)
265
+ end
266
+
267
+ def test_lock_each
268
+ @prop["a.b.c.d.e"] = 1
269
+ @prop["a.b.d"] = branch = ::SOAP::Property.new
270
+ @prop["a.b.d.e.f"] = 2
271
+ @prop.lock
272
+ assert(@prop.locked?)
273
+ assert_instance_of(::SOAP::Property, @prop["a"])
274
+ assert_raises(FrozenError) do
275
+ @prop["b"]
276
+ end
277
+ #
278
+ @prop["a"].lock
279
+ assert_raises(FrozenError) do
280
+ @prop["a"]
281
+ end
282
+ assert_instance_of(::SOAP::Property, @prop["a.b"])
283
+ #
284
+ @prop["a.b"].lock
285
+ assert_raises(FrozenError) do
286
+ @prop["a.b"]
287
+ end
288
+ assert_raises(FrozenError) do
289
+ @prop["a"]
290
+ end
291
+ #
292
+ @prop["a.b.c.d"].lock
293
+ assert_instance_of(::SOAP::Property, @prop["a.b.c"])
294
+ assert_raises(FrozenError) do
295
+ @prop["a.b.c.d"]
296
+ end
297
+ assert_instance_of(::SOAP::Property, @prop["a.b.d"])
298
+ #
299
+ branch["e"].lock
300
+ assert_instance_of(::SOAP::Property, @prop["a.b.d"])
301
+ assert_raises(FrozenError) do
302
+ @prop["a.b.d.e"]
303
+ end
304
+ assert_raises(FrozenError) do
305
+ branch["e"]
306
+ end
307
+ end
308
+
309
+ def test_lock_cascade
310
+ @prop["a.a"] = nil
311
+ @prop["a.b.c"] = 1
312
+ @prop["b"] = false
313
+ @prop.lock(true)
314
+ assert(@prop.locked?)
315
+ assert_equal(nil, @prop["a.a"])
316
+ assert_equal(1, @prop["a.b.c"])
317
+ assert_equal(false, @prop["b"])
318
+ assert_raises(FrozenError) do
319
+ @prop["c"]
320
+ end
321
+ assert_raises(FrozenError) do
322
+ @prop["c"] = 2
323
+ end
324
+ assert_raises(FrozenError) do
325
+ @prop["a.b.R"]
326
+ end
327
+ assert_raises(FrozenError) do
328
+ @prop.add_hook do
329
+ assert(false)
330
+ end
331
+ end
332
+ assert_raises(FrozenError) do
333
+ @prop.add_hook("c") do
334
+ assert(false)
335
+ end
336
+ end
337
+ assert_raises(FrozenError) do
338
+ @prop.add_hook("a.c") do
339
+ assert(false)
340
+ end
341
+ end
342
+ assert_nil(@prop["a.a"])
343
+ @prop["a.a"] = 2
344
+ assert_equal(2, @prop["a.a"])
345
+ #
346
+ @prop.unlock(true)
347
+ assert_nil(@prop["c"])
348
+ @prop["c"] = 2
349
+ assert_equal(2, @prop["c"])
350
+ @prop["a.d.a.a"] = :foo
351
+ assert_equal(:foo, @prop["a.d.a.a"])
352
+ tested = false
353
+ @prop.add_hook("a.c") do |name, value|
354
+ assert(true)
355
+ tested = true
356
+ end
357
+ @prop["a.c"] = 3
358
+ assert(tested)
359
+ end
360
+
361
+ def test_hook_then_lock
362
+ tested = false
363
+ @prop.add_hook("a.b.c") do |name, value|
364
+ assert_equal(["a", "b", "c"], name)
365
+ tested = true
366
+ end
367
+ @prop["a.b"].lock
368
+ assert(!tested)
369
+ @prop["a.b.c"] = 5
370
+ assert(tested)
371
+ assert_equal(5, @prop["a.b.c"])
372
+ assert_raises(FrozenError) do
373
+ @prop["a.b.d"] = 5
374
+ end
375
+ end
376
+
377
+ def test_lock_unlock_return
378
+ assert_equal(@prop, @prop.lock)
379
+ assert_equal(@prop, @prop.unlock)
380
+ end
381
+
382
+ def test_lock_split
383
+ @prop["a.b.c"] = 1
384
+ assert_instance_of(::SOAP::Property, @prop["a.b"])
385
+ @prop["a.b.d"] = branch = ::SOAP::Property.new
386
+ @prop["a.b.d.e"] = 2
387
+ assert_equal(branch, @prop["a.b.d"])
388
+ assert_equal(branch, @prop[:a][:b][:d])
389
+ @prop.lock(true)
390
+ # split error 1
391
+ assert_raises(FrozenError) do
392
+ @prop["a.b"]
393
+ end
394
+ # split error 2
395
+ assert_raises(FrozenError) do
396
+ @prop["a"]
397
+ end
398
+ @prop["a.b.c"] = 2
399
+ assert_equal(2, @prop["a.b.c"])
400
+ # replace error
401
+ assert_raises(FrozenError) do
402
+ @prop["a.b.c"] = ::SOAP::Property.new
403
+ end
404
+ # override error
405
+ assert_raises(FrozenError) do
406
+ @prop["a.b"] = 1
407
+ end
408
+ #
409
+ assert_raises(FrozenError) do
410
+ @prop["a.b.d"] << 1
411
+ end
412
+ assert_raises(FrozenError) do
413
+ branch << 1
414
+ end
415
+ branch.unlock(true)
416
+ branch << 1
417
+ branch << 2
418
+ branch << 3
419
+ assert_equal(2, @prop["a.b.d.e"])
420
+ assert_equal(1, @prop["a.b.d.1"])
421
+ assert_equal(2, @prop["a.b.d.2"])
422
+ assert_equal(3, @prop["a.b.d.3"])
423
+ end
424
+ end
425
+
426
+
427
+ end
@@ -0,0 +1,116 @@
1
+ require 'test/unit'
2
+ require 'soap/rpc/httpserver'
3
+ require 'soap/rpc/driver'
4
+ require 'rexml/document'
5
+ require 'test_helper'
6
+
7
+ module SOAP
8
+
9
+ class TestResponseAsXml < Test::Unit::TestCase
10
+ Namespace = "urn:example.com:hello"
11
+ class Server < ::SOAP::RPC::HTTPServer
12
+ def on_init
13
+ add_method(self, 'hello', 'name')
14
+ end
15
+
16
+ def hello(name)
17
+ "hello #{name}"
18
+ end
19
+ end
20
+
21
+ Port = TestUtil.get_free_port
22
+
23
+ def setup
24
+ setup_server
25
+ setup_client
26
+ end
27
+
28
+ def setup_server
29
+ @server = Server.new(
30
+ :Port => Port,
31
+ :BindAddress => "0.0.0.0",
32
+ :AccessLog => [],
33
+ :SOAPDefaultNamespace => Namespace
34
+ )
35
+ @server.level = Logger::Severity::ERROR
36
+ @server_thread = TestUtil.start_server_thread(@server)
37
+ end
38
+
39
+ def setup_client
40
+ @client = ::SOAP::RPC::Driver.new("http://localhost:#{Port}/", Namespace)
41
+ @client.wiredump_dev = STDERR if $DEBUG
42
+ @client.add_method('hello', 'name')
43
+ @client.add_document_method('hellodoc', Namespace, XSD::QName.new(Namespace, 'helloRequest'), XSD::QName.new(Namespace, 'helloResponse'))
44
+ end
45
+
46
+ def teardown
47
+ teardown_server if @server
48
+ teardown_client if @client
49
+ sleep 0.5 # Allow OS to release port
50
+ end
51
+
52
+ def teardown_server
53
+ @server.shutdown
54
+ @server_thread.kill
55
+ @server_thread.join
56
+ end
57
+
58
+ def teardown_client
59
+ @client.reset_stream
60
+ end
61
+
62
+ RESPONSE_AS_XML=<<__XML__.chomp
63
+ <?xml version="1.0" encoding="utf-8" ?>
64
+ <env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
65
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
66
+ xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
67
+ <env:Body>
68
+ <n1:helloResponse env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
69
+ xmlns:n1="urn:example.com:hello">
70
+ <return xsi:type="xsd:string">hello world</return>
71
+ </n1:helloResponse>
72
+ </env:Body>
73
+ </env:Envelope>
74
+ __XML__
75
+
76
+ def test_hello
77
+ assert_equal("hello world", @client.hello("world"))
78
+ @client.return_response_as_xml = true
79
+ xml = @client.hello("world")
80
+ assert_equal(RESPONSE_AS_XML, xml, [RESPONSE_AS_XML, xml].join("\n\n"))
81
+ doc = REXML::Document.new(@client.hello("world"))
82
+ assert_equal("hello world",
83
+ REXML::XPath.match(doc, "//*[name()='return']")[0].text)
84
+ end
85
+
86
+ RESPONSE_CDATA = <<__XML__.chomp
87
+ <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
88
+ <env:Body>
89
+ <gno:helloResponse xmlns:gno='urn:example.com:hello'>
90
+ <gno:htmlContent>
91
+ <![CDATA[<span>some html</span>]]>
92
+ </gno:htmlContent>
93
+ </gno:helloResponse>
94
+ </env:Body>
95
+ </env:Envelope>
96
+ __XML__
97
+ def test_cdata
98
+ @client.return_response_as_xml = false
99
+ @client.test_loopback_response << RESPONSE_CDATA
100
+ ret = @client.hellodoc(nil)
101
+ assert_equal("\n <span>some html</span>\n ", ret.htmlContent)
102
+ #
103
+ @client.return_response_as_xml = true
104
+ @client.test_loopback_response << RESPONSE_CDATA
105
+ xml = @client.hello(nil)
106
+ assert_equal(RESPONSE_CDATA, xml)
107
+ require 'rexml/document'
108
+ doc = REXML::Document.new(xml)
109
+ assert_equal("<span>some html</span>",
110
+ REXML::XPath.match(doc, "//*[name()='gno:htmlContent']")[0][1].value)
111
+ #
112
+ end
113
+ end
114
+
115
+
116
+ end
@@ -0,0 +1,138 @@
1
+ require 'test/unit'
2
+ require 'soap/baseData'
3
+ require 'soap/mapping'
4
+
5
+
6
+ module SOAP
7
+
8
+
9
+ class TestSOAPElement < Test::Unit::TestCase
10
+ include SOAP
11
+
12
+ def setup
13
+ # Nothing to do.
14
+ end
15
+
16
+ def teardown
17
+ # Nothing to do.
18
+ end
19
+
20
+ def d(elename = nil, text = nil)
21
+ elename ||= n(nil, nil)
22
+ if text
23
+ SOAPElement.new(elename, text)
24
+ else
25
+ SOAPElement.new(elename) # do not merge.
26
+ end
27
+ end
28
+
29
+ def n(namespace, name)
30
+ XSD::QName.new(namespace, name)
31
+ end
32
+
33
+ def test_initialize
34
+ elename = n(nil, nil)
35
+ obj = d(elename)
36
+ assert_equal(elename, obj.elename)
37
+ assert_equal(LiteralNamespace, obj.encodingstyle)
38
+ assert_equal({}, obj.extraattr)
39
+ assert_equal([], obj.precedents)
40
+ assert_equal(nil, obj.qualified)
41
+ assert_equal(nil, obj.text)
42
+ assert(obj.members.empty?)
43
+
44
+ obj = d("foo", "text")
45
+ assert_equal(n(nil, "foo"), obj.elename)
46
+ assert_equal("text", obj.text)
47
+ end
48
+
49
+ def test_add
50
+ obj = d()
51
+ child = d("abc")
52
+ obj.add(child)
53
+ assert(obj.key?("abc"))
54
+ assert_same(child, obj["abc"])
55
+ assert_same(child, obj["abc"])
56
+ child = d("foo")
57
+ obj.add(child)
58
+ assert_equal(child, obj["foo"])
59
+ child = d("_?a?b_")
60
+ obj.add(child)
61
+ assert_equal(child, obj["_?a?b_"])
62
+ end
63
+
64
+ def test_member
65
+ obj = d()
66
+ c1 = d("c1")
67
+ obj.add(c1)
68
+ c2 = d("c2")
69
+ obj.add(c2)
70
+ assert(obj.key?("c1"))
71
+ assert(obj.key?("c2"))
72
+ assert_equal(c1, obj["c1"])
73
+ assert_equal(c2, obj["c2"])
74
+ c22 = d("c22")
75
+ obj["c2"] = c22
76
+ assert(obj.key?("c2"))
77
+ assert_equal(c22, obj["c2"])
78
+ assert_equal(["c1", "c2"], obj.members.sort)
79
+ #
80
+ k_expect = ["c1", "c2"]
81
+ v_expect = [c1, c22]
82
+ obj.each do |k, v|
83
+ assert(k_expect.include?(k))
84
+ assert(v_expect.include?(v))
85
+ k_expect.delete(k)
86
+ v_expect.delete(v)
87
+ end
88
+ assert(k_expect.empty?)
89
+ assert(v_expect.empty?)
90
+ end
91
+
92
+ def test_to_obj
93
+ obj = d("root")
94
+ ct1 = d("ct1", "t1")
95
+ obj.add(ct1)
96
+ c2 = d("c2")
97
+ ct2 = d("ct2", "t2")
98
+ c2.add(ct2)
99
+ obj.add(c2)
100
+ assert_equal({ "ct1" => "t1", "c2" => { "ct2" => "t2" }}, obj.to_obj)
101
+ #
102
+ assert_equal(nil, d().to_obj)
103
+ assert_equal("abc", d(nil, "abc").to_obj)
104
+ assert_equal(nil, d("abc", nil).to_obj)
105
+ end
106
+
107
+ def test_from_obj
108
+ source = { "ct1" => "t1", "c2" => { "ct2" => "t2" }}
109
+ assert_equal(source, SOAPElement.from_obj(source).to_obj)
110
+ source = { "1" => nil }
111
+ assert_equal(source, SOAPElement.from_obj(source).to_obj)
112
+ source = {}
113
+ assert_equal(nil, SOAPElement.from_obj(source).to_obj) # not {}
114
+ source = nil
115
+ assert_equal(nil, SOAPElement.from_obj(source).to_obj)
116
+ end
117
+
118
+ def test_from_obj_xmlattr
119
+ source = { "xmlattr_c1" => "t1",
120
+ "ymlattr_c2" => {
121
+ XSD::QName.new("urn:foo", "xmlattr_c2") => "t2",
122
+ XSD::QName.new("urn:foo", "ymlattr_c3") => "t3" }}
123
+ obj = SOAPElement.from_obj(source)
124
+ assert_equal("t1", obj.extraattr[XSD::QName.new(nil, "c1")])
125
+ assert_equal("t2", obj["ymlattr_c2"].extraattr[XSD::QName.new("urn:foo", "c2")])
126
+ assert_equal("t3", obj["ymlattr_c2"]["ymlattr_c3"].text)
127
+ #
128
+ source = { "xmlattr_xmlattr_c1" => "t1",
129
+ "xmlele_xmlattr_c2" => {
130
+ XSD::QName.new("urn:foo", "xmlele_xmlele_c3") => "t3" }}
131
+ obj = SOAPElement.from_obj(source)
132
+ assert_equal("t1", obj.extraattr[XSD::QName.new(nil, "xmlattr_c1")])
133
+ assert_equal("t3", obj["xmlattr_c2"]["xmlele_c3"].text)
134
+ end
135
+ end
136
+
137
+
138
+ end