wsdl-mapper 0.0.7

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 (617) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +21 -0
  3. data/.gitignore +13 -0
  4. data/.rubocop.yml +1156 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +7 -0
  7. data/.yardopts +3 -0
  8. data/Gemfile +4 -0
  9. data/Guardfile +49 -0
  10. data/LICENSE +21 -0
  11. data/README.md +76 -0
  12. data/Rakefile +18 -0
  13. data/bin/wsdl-mapper +7 -0
  14. data/doc/WsdlMapper.html +129 -0
  15. data/doc/WsdlMapper/Cli.html +124 -0
  16. data/doc/WsdlMapper/Cli/Cli.html +132 -0
  17. data/doc/WsdlMapper/Cli/Generate.html +482 -0
  18. data/doc/WsdlMapper/CoreExt.html +115 -0
  19. data/doc/WsdlMapper/CoreExt/TimeDuration.html +1476 -0
  20. data/doc/WsdlMapper/D10rGeneration.html +117 -0
  21. data/doc/WsdlMapper/D10rGeneration/D10rGenerator.html +473 -0
  22. data/doc/WsdlMapper/D10rGeneration/Facade.html +208 -0
  23. data/doc/WsdlMapper/Deserializers.html +119 -0
  24. data/doc/WsdlMapper/Deserializers/AttrMapping.html +617 -0
  25. data/doc/WsdlMapper/Deserializers/ClassMapping.html +1157 -0
  26. data/doc/WsdlMapper/Deserializers/ClassMapping/Delegate.html +303 -0
  27. data/doc/WsdlMapper/Deserializers/Deserializer.html +760 -0
  28. data/doc/WsdlMapper/Deserializers/ElementDirectory.html +554 -0
  29. data/doc/WsdlMapper/Deserializers/ElementDirectory/ElementItem.html +541 -0
  30. data/doc/WsdlMapper/Deserializers/Errors.html +115 -0
  31. data/doc/WsdlMapper/Deserializers/Errors/UnknownAttributeError.html +147 -0
  32. data/doc/WsdlMapper/Deserializers/Errors/UnknownElementError.html +147 -0
  33. data/doc/WsdlMapper/Deserializers/Errors/UnknownError.html +415 -0
  34. data/doc/WsdlMapper/Deserializers/Errors/UnknownTypeError.html +147 -0
  35. data/doc/WsdlMapper/Deserializers/Frame.html +1038 -0
  36. data/doc/WsdlMapper/Deserializers/LazyLoadingDeserializer.html +287 -0
  37. data/doc/WsdlMapper/Deserializers/PropMapping.html +365 -0
  38. data/doc/WsdlMapper/Deserializers/SaxDocument.html +773 -0
  39. data/doc/WsdlMapper/Deserializers/SoapArrayMapping.html +452 -0
  40. data/doc/WsdlMapper/Deserializers/TypeDirectory.html +386 -0
  41. data/doc/WsdlMapper/Dom.html +123 -0
  42. data/doc/WsdlMapper/Dom/Attribute.html +1156 -0
  43. data/doc/WsdlMapper/Dom/Attribute/Ref.html +222 -0
  44. data/doc/WsdlMapper/Dom/Bounds.html +472 -0
  45. data/doc/WsdlMapper/Dom/Builder.html +696 -0
  46. data/doc/WsdlMapper/Dom/BuiltinType.html +246 -0
  47. data/doc/WsdlMapper/Dom/ComplexType.html +1448 -0
  48. data/doc/WsdlMapper/Dom/Directory.html +735 -0
  49. data/doc/WsdlMapper/Dom/Documentation.html +428 -0
  50. data/doc/WsdlMapper/Dom/Element.html +486 -0
  51. data/doc/WsdlMapper/Dom/EnumerationValue.html +213 -0
  52. data/doc/WsdlMapper/Dom/Name.html +908 -0
  53. data/doc/WsdlMapper/Dom/Namespaces.html +618 -0
  54. data/doc/WsdlMapper/Dom/Property.html +1372 -0
  55. data/doc/WsdlMapper/Dom/Property/Ref.html +724 -0
  56. data/doc/WsdlMapper/Dom/Schema.html +1480 -0
  57. data/doc/WsdlMapper/Dom/ShallowSchema.html +499 -0
  58. data/doc/WsdlMapper/Dom/SimpleType.html +1254 -0
  59. data/doc/WsdlMapper/Dom/SoapEncodingType.html +177 -0
  60. data/doc/WsdlMapper/Dom/TypeBase.html +605 -0
  61. data/doc/WsdlMapper/Dom/Validator.html +334 -0
  62. data/doc/WsdlMapper/Dom/Validator/Error.html +352 -0
  63. data/doc/WsdlMapper/DomGeneration.html +117 -0
  64. data/doc/WsdlMapper/DomGeneration/DefaultClassGenerator.html +251 -0
  65. data/doc/WsdlMapper/DomGeneration/DefaultCtrGenerator.html +404 -0
  66. data/doc/WsdlMapper/DomGeneration/DefaultEnumGenerator.html +321 -0
  67. data/doc/WsdlMapper/DomGeneration/DefaultValueDefaultsGenerator.html +368 -0
  68. data/doc/WsdlMapper/DomGeneration/DefaultValueGenerator.html +811 -0
  69. data/doc/WsdlMapper/DomGeneration/DefaultWrappingTypeGenerator.html +249 -0
  70. data/doc/WsdlMapper/DomGeneration/DocumentedClassGenerator.html +165 -0
  71. data/doc/WsdlMapper/DomGeneration/DocumentedCtrGenerator.html +336 -0
  72. data/doc/WsdlMapper/DomGeneration/DocumentedEnumGenerator.html +171 -0
  73. data/doc/WsdlMapper/DomGeneration/DocumentedSchemaGenerator.html +327 -0
  74. data/doc/WsdlMapper/DomGeneration/DocumentedWrappingTypeGenerator.html +165 -0
  75. data/doc/WsdlMapper/DomGeneration/Facade.html +260 -0
  76. data/doc/WsdlMapper/DomGeneration/GeneratorBase.html +234 -0
  77. data/doc/WsdlMapper/DomGeneration/NullCtrGenerator.html +356 -0
  78. data/doc/WsdlMapper/DomGeneration/SchemaGenerator.html +1407 -0
  79. data/doc/WsdlMapper/DomParsing.html +119 -0
  80. data/doc/WsdlMapper/DomParsing/AbstractResolver.html +228 -0
  81. data/doc/WsdlMapper/DomParsing/AnnotationParser.html +331 -0
  82. data/doc/WsdlMapper/DomParsing/AttributeParser.html +395 -0
  83. data/doc/WsdlMapper/DomParsing/ComplexTypeParser.html +1267 -0
  84. data/doc/WsdlMapper/DomParsing/DefaultResolver.html +278 -0
  85. data/doc/WsdlMapper/DomParsing/ElementParser.html +303 -0
  86. data/doc/WsdlMapper/DomParsing/ImportParser.html +341 -0
  87. data/doc/WsdlMapper/DomParsing/Linker.html +292 -0
  88. data/doc/WsdlMapper/DomParsing/LocalFileResolver.html +270 -0
  89. data/doc/WsdlMapper/DomParsing/Parser.html +1009 -0
  90. data/doc/WsdlMapper/DomParsing/Parser/InvalidNsException.html +131 -0
  91. data/doc/WsdlMapper/DomParsing/Parser/InvalidRootException.html +131 -0
  92. data/doc/WsdlMapper/DomParsing/Parser/ParserException.html +127 -0
  93. data/doc/WsdlMapper/DomParsing/ParserBase.html +190 -0
  94. data/doc/WsdlMapper/DomParsing/SimpleTypeParser.html +275 -0
  95. data/doc/WsdlMapper/DomParsing/UrlResolver.html +199 -0
  96. data/doc/WsdlMapper/DomParsing/Xsd.html +279 -0
  97. data/doc/WsdlMapper/Generation.html +121 -0
  98. data/doc/WsdlMapper/Generation/AbstractFormatter.html +2143 -0
  99. data/doc/WsdlMapper/Generation/Base.html +707 -0
  100. data/doc/WsdlMapper/Generation/Context.html +430 -0
  101. data/doc/WsdlMapper/Generation/DefaultFormatter.html +1803 -0
  102. data/doc/WsdlMapper/Generation/DefaultModuleGenerator.html +295 -0
  103. data/doc/WsdlMapper/Generation/Facade.html +379 -0
  104. data/doc/WsdlMapper/Generation/Result.html +749 -0
  105. data/doc/WsdlMapper/Generation/Result/ModuleTreeNode.html +432 -0
  106. data/doc/WsdlMapper/Generation/TypeToGenerate.html +352 -0
  107. data/doc/WsdlMapper/Generation/YardDocFormatter.html +902 -0
  108. data/doc/WsdlMapper/Naming.html +119 -0
  109. data/doc/WsdlMapper/Naming/AbstractNamer.html +890 -0
  110. data/doc/WsdlMapper/Naming/AbstractServiceNamer.html +2148 -0
  111. data/doc/WsdlMapper/Naming/DefaultNamer.html +1512 -0
  112. data/doc/WsdlMapper/Naming/DefaultNamer/InlineType.html +218 -0
  113. data/doc/WsdlMapper/Naming/DefaultServiceNamer.html +1605 -0
  114. data/doc/WsdlMapper/Naming/EnumerationValueName.html +397 -0
  115. data/doc/WsdlMapper/Naming/Inflector.html +408 -0
  116. data/doc/WsdlMapper/Naming/NamerBase.html +373 -0
  117. data/doc/WsdlMapper/Naming/PropertyName.html +397 -0
  118. data/doc/WsdlMapper/Naming/SeparatingNamer.html +376 -0
  119. data/doc/WsdlMapper/Naming/TypeName.html +1040 -0
  120. data/doc/WsdlMapper/Parsing.html +119 -0
  121. data/doc/WsdlMapper/Parsing/Base.html +359 -0
  122. data/doc/WsdlMapper/Parsing/Logging.html +305 -0
  123. data/doc/WsdlMapper/Parsing/Logging/LogMsg.html +264 -0
  124. data/doc/WsdlMapper/Runtime.html +119 -0
  125. data/doc/WsdlMapper/Runtime/Api.html +628 -0
  126. data/doc/WsdlMapper/Runtime/AsyncHttpBackend.html +674 -0
  127. data/doc/WsdlMapper/Runtime/BackendBase.html +351 -0
  128. data/doc/WsdlMapper/Runtime/Body.html +209 -0
  129. data/doc/WsdlMapper/Runtime/Errors.html +119 -0
  130. data/doc/WsdlMapper/Runtime/Errors/Error.html +289 -0
  131. data/doc/WsdlMapper/Runtime/Errors/HTTPError.html +370 -0
  132. data/doc/WsdlMapper/Runtime/Errors/SoapFault.html +298 -0
  133. data/doc/WsdlMapper/Runtime/Errors/TransportError.html +298 -0
  134. data/doc/WsdlMapper/Runtime/Header.html +120 -0
  135. data/doc/WsdlMapper/Runtime/InputS8r.html +139 -0
  136. data/doc/WsdlMapper/Runtime/Message.html +488 -0
  137. data/doc/WsdlMapper/Runtime/MiddlewareStack.html +1266 -0
  138. data/doc/WsdlMapper/Runtime/Middlewares.html +149 -0
  139. data/doc/WsdlMapper/Runtime/Middlewares/AbstractLogger.html +206 -0
  140. data/doc/WsdlMapper/Runtime/Middlewares/AsyncDispatcher.html +270 -0
  141. data/doc/WsdlMapper/Runtime/Middlewares/AsyncMessageFactory.html +205 -0
  142. data/doc/WsdlMapper/Runtime/Middlewares/AsyncRequestFactory.html +205 -0
  143. data/doc/WsdlMapper/Runtime/Middlewares/AsyncRequestLogger.html +224 -0
  144. data/doc/WsdlMapper/Runtime/Middlewares/AsyncResponseFactory.html +205 -0
  145. data/doc/WsdlMapper/Runtime/Middlewares/AsyncResponseLogger.html +224 -0
  146. data/doc/WsdlMapper/Runtime/Middlewares/Noop.html +189 -0
  147. data/doc/WsdlMapper/Runtime/Middlewares/SimpleDispatcher.html +628 -0
  148. data/doc/WsdlMapper/Runtime/Middlewares/SimpleMessageFactory.html +263 -0
  149. data/doc/WsdlMapper/Runtime/Middlewares/SimpleRequestFactory.html +254 -0
  150. data/doc/WsdlMapper/Runtime/Middlewares/SimpleRequestLogger.html +222 -0
  151. data/doc/WsdlMapper/Runtime/Middlewares/SimpleResponseFactory.html +250 -0
  152. data/doc/WsdlMapper/Runtime/Middlewares/SimpleResponseLogger.html +218 -0
  153. data/doc/WsdlMapper/Runtime/Operation.html +1231 -0
  154. data/doc/WsdlMapper/Runtime/OutputS8r.html +139 -0
  155. data/doc/WsdlMapper/Runtime/Port.html +504 -0
  156. data/doc/WsdlMapper/Runtime/Proxy.html +228 -0
  157. data/doc/WsdlMapper/Runtime/Request.html +736 -0
  158. data/doc/WsdlMapper/Runtime/Response.html +585 -0
  159. data/doc/WsdlMapper/Runtime/S8rBase.html +753 -0
  160. data/doc/WsdlMapper/Runtime/Service.html +396 -0
  161. data/doc/WsdlMapper/Runtime/SimpleHttpBackend.html +260 -0
  162. data/doc/WsdlMapper/Runtime/SimplerInspect.html +205 -0
  163. data/doc/WsdlMapper/S8rGeneration.html +117 -0
  164. data/doc/WsdlMapper/S8rGeneration/Facade.html +208 -0
  165. data/doc/WsdlMapper/S8rGeneration/S8rGenerator.html +415 -0
  166. data/doc/WsdlMapper/Serializers.html +117 -0
  167. data/doc/WsdlMapper/Serializers/AbstractResolver.html +224 -0
  168. data/doc/WsdlMapper/Serializers/SerializerCore.html +710 -0
  169. data/doc/WsdlMapper/Serializers/SerializerFactory.html +326 -0
  170. data/doc/WsdlMapper/Serializers/TypeDirectory.html +556 -0
  171. data/doc/WsdlMapper/Serializers/TypeDirectory/TypeItem.html +388 -0
  172. data/doc/WsdlMapper/SvcDesc.html +158 -0
  173. data/doc/WsdlMapper/SvcDesc/Envelope.html +348 -0
  174. data/doc/WsdlMapper/SvcDesc/Fault.html +580 -0
  175. data/doc/WsdlMapper/SvcDesc/Wsdl11.html +121 -0
  176. data/doc/WsdlMapper/SvcDesc/Wsdl11/Base.html +352 -0
  177. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding.html +873 -0
  178. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Body.html +708 -0
  179. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Fault.html +358 -0
  180. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Header.html +408 -0
  181. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/HeaderBase.html +775 -0
  182. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/HeaderFault.html +138 -0
  183. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/InputOutput.html +539 -0
  184. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Operation.html +727 -0
  185. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/SoapFault.html +387 -0
  186. data/doc/WsdlMapper/SvcDesc/Wsdl11/Description.html +1272 -0
  187. data/doc/WsdlMapper/SvcDesc/Wsdl11/Message.html +467 -0
  188. data/doc/WsdlMapper/SvcDesc/Wsdl11/Message/Part.html +426 -0
  189. data/doc/WsdlMapper/SvcDesc/Wsdl11/PortType.html +499 -0
  190. data/doc/WsdlMapper/SvcDesc/Wsdl11/PortType/InputOutput.html +290 -0
  191. data/doc/WsdlMapper/SvcDesc/Wsdl11/PortType/Operation.html +659 -0
  192. data/doc/WsdlMapper/SvcDesc/Wsdl11/Service.html +335 -0
  193. data/doc/WsdlMapper/SvcDesc/Wsdl11/Service/Port.html +358 -0
  194. data/doc/WsdlMapper/SvcDescParsing.html +119 -0
  195. data/doc/WsdlMapper/SvcDescParsing/BindingParser.html +1271 -0
  196. data/doc/WsdlMapper/SvcDescParsing/Linker.html +308 -0
  197. data/doc/WsdlMapper/SvcDescParsing/MessageParser.html +419 -0
  198. data/doc/WsdlMapper/SvcDescParsing/Parser.html +972 -0
  199. data/doc/WsdlMapper/SvcDescParsing/ParserBase.html +215 -0
  200. data/doc/WsdlMapper/SvcDescParsing/PortTypeParser.html +757 -0
  201. data/doc/WsdlMapper/SvcDescParsing/ServiceParser.html +541 -0
  202. data/doc/WsdlMapper/SvcDescParsing/Soap.html +162 -0
  203. data/doc/WsdlMapper/SvcDescParsing/SoapEnc.html +137 -0
  204. data/doc/WsdlMapper/SvcDescParsing/SoapHttp.html +127 -0
  205. data/doc/WsdlMapper/SvcDescParsing/TypesParser.html +397 -0
  206. data/doc/WsdlMapper/SvcDescParsing/Wsdl11.html +201 -0
  207. data/doc/WsdlMapper/SvcGeneration.html +117 -0
  208. data/doc/WsdlMapper/SvcGeneration/DocumentedOperationGenerator.html +828 -0
  209. data/doc/WsdlMapper/SvcGeneration/DocumentedPortGenerator.html +256 -0
  210. data/doc/WsdlMapper/SvcGeneration/DocumentedProxyGenerator.html +332 -0
  211. data/doc/WsdlMapper/SvcGeneration/DocumentedServiceGenerator.html +258 -0
  212. data/doc/WsdlMapper/SvcGeneration/DocumentedSvcGenerator.html +331 -0
  213. data/doc/WsdlMapper/SvcGeneration/Facade.html +814 -0
  214. data/doc/WsdlMapper/SvcGeneration/GeneratorBase.html +239 -0
  215. data/doc/WsdlMapper/SvcGeneration/GeneratorBase/HeaderToGenerate.html +123 -0
  216. data/doc/WsdlMapper/SvcGeneration/GeneratorBase/PartToGenerate.html +123 -0
  217. data/doc/WsdlMapper/SvcGeneration/OperationD10rGenerator.html +1327 -0
  218. data/doc/WsdlMapper/SvcGeneration/OperationGenerator.html +1487 -0
  219. data/doc/WsdlMapper/SvcGeneration/OperationGeneratorBase.html +162 -0
  220. data/doc/WsdlMapper/SvcGeneration/OperationS8rGenerator.html +2247 -0
  221. data/doc/WsdlMapper/SvcGeneration/PortGenerator.html +453 -0
  222. data/doc/WsdlMapper/SvcGeneration/ProxyGenerator.html +487 -0
  223. data/doc/WsdlMapper/SvcGeneration/ServiceGenerator.html +437 -0
  224. data/doc/WsdlMapper/SvcGeneration/SvcGenerator.html +2055 -0
  225. data/doc/WsdlMapper/SvcGeneration/TypeToGenerate.html +388 -0
  226. data/doc/WsdlMapper/TypeMapping.html +543 -0
  227. data/doc/WsdlMapper/TypeMapping/Base.html +706 -0
  228. data/doc/WsdlMapper/TypeMapping/DateParts.html +209 -0
  229. data/doc/WsdlMapper/TypeMapping/DateParts/Base.html +265 -0
  230. data/doc/WsdlMapper/TypeMapping/MappingSet.html +770 -0
  231. data/doc/WsdlMapperTesting.html +119 -0
  232. data/doc/WsdlMapperTesting/FakeD10r.html +310 -0
  233. data/doc/WsdlMapperTesting/FakeOperation.html +706 -0
  234. data/doc/WsdlMapperTesting/FakeS8r.html +310 -0
  235. data/doc/WsdlMapperTesting/GenerationTest.html +646 -0
  236. data/doc/WsdlMapperTesting/ImplementationTest.html +221 -0
  237. data/doc/WsdlMapperTesting/Middlewares.html +117 -0
  238. data/doc/WsdlMapperTesting/Middlewares/FakeDispatcher.html +310 -0
  239. data/doc/WsdlMapperTesting/Middlewares/FakeMessageFactory.html +414 -0
  240. data/doc/WsdlMapperTesting/Middlewares/FakeRequestFactory.html +271 -0
  241. data/doc/WsdlMapperTesting/Middlewares/FakeResponseFactory.html +271 -0
  242. data/doc/WsdlMapperTesting/SchemaTest.html +209 -0
  243. data/doc/WsdlMapperTesting/StubConnection.html +547 -0
  244. data/doc/WsdlMapperTesting/Test.html +200 -0
  245. data/doc/WsdlMapperTesting/TestHelper.html +394 -0
  246. data/doc/WsdlMapperTesting/TmpPath.html +364 -0
  247. data/doc/WsdlMapperTesting/Vcr.html +196 -0
  248. data/doc/_index.html +1913 -0
  249. data/doc/class_list.html +58 -0
  250. data/doc/concepts/wrapping_types.md +3 -0
  251. data/doc/css/common.css +1 -0
  252. data/doc/css/full_list.css +57 -0
  253. data/doc/css/style.css +339 -0
  254. data/doc/diag/async_backend.gliffy +1 -0
  255. data/doc/diag/async_backend.png +0 -0
  256. data/doc/diag/simple_http_backend.gliffy +1 -0
  257. data/doc/diag/simple_http_backend.md +1 -0
  258. data/doc/diag/simple_http_backend.png +0 -0
  259. data/doc/file.README.html +151 -0
  260. data/doc/file_list.html +60 -0
  261. data/doc/frames.html +26 -0
  262. data/doc/index.html +151 -0
  263. data/doc/js/app.js +219 -0
  264. data/doc/js/full_list.js +181 -0
  265. data/doc/js/jquery.js +4 -0
  266. data/doc/method_list.html +6561 -0
  267. data/doc/top-level-namespace.html +112 -0
  268. data/examples/blz_service/.gitignore +3 -0
  269. data/examples/blz_service/Gemfile +4 -0
  270. data/examples/blz_service/README.md +11 -0
  271. data/examples/blz_service/blz_service.wsdl +86 -0
  272. data/examples/blz_service/example.rb +28 -0
  273. data/examples/calculator/.gitignore +3 -0
  274. data/examples/calculator/Gemfile +4 -0
  275. data/examples/calculator/README.md +11 -0
  276. data/examples/calculator/calculator.wsdl +196 -0
  277. data/examples/calculator/example.rb +25 -0
  278. data/lib/wsdl-mapper.rb +1 -0
  279. data/lib/wsdl_mapper.rb +4 -0
  280. data/lib/wsdl_mapper/cli/cli.rb +90 -0
  281. data/lib/wsdl_mapper/core_ext/time_duration.rb +112 -0
  282. data/lib/wsdl_mapper/d10r_generation/d10r_generator.rb +195 -0
  283. data/lib/wsdl_mapper/d10r_generation/facade.rb +12 -0
  284. data/lib/wsdl_mapper/deserializers/attr_mapping.rb +21 -0
  285. data/lib/wsdl_mapper/deserializers/class_mapping.rb +122 -0
  286. data/lib/wsdl_mapper/deserializers/deserializer.rb +83 -0
  287. data/lib/wsdl_mapper/deserializers/element_directory.rb +66 -0
  288. data/lib/wsdl_mapper/deserializers/errors.rb +28 -0
  289. data/lib/wsdl_mapper/deserializers/frame.rb +31 -0
  290. data/lib/wsdl_mapper/deserializers/lazy_loading_deserializer.rb +39 -0
  291. data/lib/wsdl_mapper/deserializers/prop_mapping.rb +26 -0
  292. data/lib/wsdl_mapper/deserializers/sax_document.rb +156 -0
  293. data/lib/wsdl_mapper/deserializers/soap_array_mapping.rb +34 -0
  294. data/lib/wsdl_mapper/deserializers/type_directory.rb +39 -0
  295. data/lib/wsdl_mapper/dom/attribute.rb +42 -0
  296. data/lib/wsdl_mapper/dom/bounds.rb +15 -0
  297. data/lib/wsdl_mapper/dom/builder.rb +77 -0
  298. data/lib/wsdl_mapper/dom/builtin_type.rb +17 -0
  299. data/lib/wsdl_mapper/dom/complex_type.rb +63 -0
  300. data/lib/wsdl_mapper/dom/directory.rb +74 -0
  301. data/lib/wsdl_mapper/dom/documentation.rb +16 -0
  302. data/lib/wsdl_mapper/dom/element.rb +15 -0
  303. data/lib/wsdl_mapper/dom/enumeration_value.rb +11 -0
  304. data/lib/wsdl_mapper/dom/name.rb +69 -0
  305. data/lib/wsdl_mapper/dom/namespaces.rb +88 -0
  306. data/lib/wsdl_mapper/dom/property.rb +56 -0
  307. data/lib/wsdl_mapper/dom/schema.rb +120 -0
  308. data/lib/wsdl_mapper/dom/shallow_schema.rb +34 -0
  309. data/lib/wsdl_mapper/dom/simple_type.rb +28 -0
  310. data/lib/wsdl_mapper/dom/soap_encoding_type.rb +13 -0
  311. data/lib/wsdl_mapper/dom/type_base.rb +31 -0
  312. data/lib/wsdl_mapper/dom/validator.rb +36 -0
  313. data/lib/wsdl_mapper/dom_generation/default_class_generator.rb +78 -0
  314. data/lib/wsdl_mapper/dom_generation/default_ctr_generator.rb +99 -0
  315. data/lib/wsdl_mapper/dom_generation/default_enum_generator.rb +59 -0
  316. data/lib/wsdl_mapper/dom_generation/default_value_defaults_generator.rb +52 -0
  317. data/lib/wsdl_mapper/dom_generation/default_value_generator.rb +82 -0
  318. data/lib/wsdl_mapper/dom_generation/default_wrapping_type_generator.rb +44 -0
  319. data/lib/wsdl_mapper/dom_generation/documented_class_generator.rb +58 -0
  320. data/lib/wsdl_mapper/dom_generation/documented_ctr_generator.rb +54 -0
  321. data/lib/wsdl_mapper/dom_generation/documented_enum_generator.rb +30 -0
  322. data/lib/wsdl_mapper/dom_generation/documented_schema_generator.rb +51 -0
  323. data/lib/wsdl_mapper/dom_generation/documented_wrapping_type_generator.rb +17 -0
  324. data/lib/wsdl_mapper/dom_generation/facade.rb +18 -0
  325. data/lib/wsdl_mapper/dom_generation/generator_base.rb +66 -0
  326. data/lib/wsdl_mapper/dom_generation/null_ctr_generator.rb +20 -0
  327. data/lib/wsdl_mapper/dom_generation/schema_generator.rb +134 -0
  328. data/lib/wsdl_mapper/dom_parsing/abstract_resolver.rb +10 -0
  329. data/lib/wsdl_mapper/dom_parsing/annotation_parser.rb +25 -0
  330. data/lib/wsdl_mapper/dom_parsing/attribute_parser.rb +47 -0
  331. data/lib/wsdl_mapper/dom_parsing/complex_type_parser.rb +213 -0
  332. data/lib/wsdl_mapper/dom_parsing/default_resolver.rb +30 -0
  333. data/lib/wsdl_mapper/dom_parsing/element_parser.rb +43 -0
  334. data/lib/wsdl_mapper/dom_parsing/import_parser.rb +31 -0
  335. data/lib/wsdl_mapper/dom_parsing/linker.rb +108 -0
  336. data/lib/wsdl_mapper/dom_parsing/local_file_resolver.rb +19 -0
  337. data/lib/wsdl_mapper/dom_parsing/parser.rb +127 -0
  338. data/lib/wsdl_mapper/dom_parsing/parser_base.rb +41 -0
  339. data/lib/wsdl_mapper/dom_parsing/simple_type_parser.rb +99 -0
  340. data/lib/wsdl_mapper/dom_parsing/url_resolver.rb +16 -0
  341. data/lib/wsdl_mapper/dom_parsing/xsd.rb +47 -0
  342. data/lib/wsdl_mapper/generation/abstract_formatter.rb +115 -0
  343. data/lib/wsdl_mapper/generation/base.rb +69 -0
  344. data/lib/wsdl_mapper/generation/context.rb +35 -0
  345. data/lib/wsdl_mapper/generation/default_formatter.rb +237 -0
  346. data/lib/wsdl_mapper/generation/default_module_generator.rb +32 -0
  347. data/lib/wsdl_mapper/generation/facade.rb +59 -0
  348. data/lib/wsdl_mapper/generation/result.rb +61 -0
  349. data/lib/wsdl_mapper/generation/type_to_generate.rb +12 -0
  350. data/lib/wsdl_mapper/generation/yard_doc_formatter.rb +105 -0
  351. data/lib/wsdl_mapper/naming/abstract_namer.rb +53 -0
  352. data/lib/wsdl_mapper/naming/abstract_service_namer.rb +115 -0
  353. data/lib/wsdl_mapper/naming/default_namer.rb +183 -0
  354. data/lib/wsdl_mapper/naming/default_service_namer.rb +147 -0
  355. data/lib/wsdl_mapper/naming/enumeration_value_name.rb +16 -0
  356. data/lib/wsdl_mapper/naming/inflector.rb +42 -0
  357. data/lib/wsdl_mapper/naming/namer_base.rb +115 -0
  358. data/lib/wsdl_mapper/naming/property_name.rb +16 -0
  359. data/lib/wsdl_mapper/naming/separating_namer.rb +122 -0
  360. data/lib/wsdl_mapper/naming/type_name.rb +77 -0
  361. data/lib/wsdl_mapper/parsing/base.rb +148 -0
  362. data/lib/wsdl_mapper/parsing/logging.rb +33 -0
  363. data/lib/wsdl_mapper/runtime.rb +4 -0
  364. data/lib/wsdl_mapper/runtime/api.rb +42 -0
  365. data/lib/wsdl_mapper/runtime/async_http_backend.rb +72 -0
  366. data/lib/wsdl_mapper/runtime/backend_base.rb +21 -0
  367. data/lib/wsdl_mapper/runtime/body.rb +10 -0
  368. data/lib/wsdl_mapper/runtime/errors.rb +42 -0
  369. data/lib/wsdl_mapper/runtime/header.rb +6 -0
  370. data/lib/wsdl_mapper/runtime/input_s8r.rb +8 -0
  371. data/lib/wsdl_mapper/runtime/message.rb +23 -0
  372. data/lib/wsdl_mapper/runtime/middleware_stack.rb +104 -0
  373. data/lib/wsdl_mapper/runtime/middlewares.rb +19 -0
  374. data/lib/wsdl_mapper/runtime/middlewares/abstract_logger.rb +19 -0
  375. data/lib/wsdl_mapper/runtime/middlewares/async_dispatcher.rb +21 -0
  376. data/lib/wsdl_mapper/runtime/middlewares/async_message_factory.rb +17 -0
  377. data/lib/wsdl_mapper/runtime/middlewares/async_request_factory.rb +17 -0
  378. data/lib/wsdl_mapper/runtime/middlewares/async_request_logger.rb +17 -0
  379. data/lib/wsdl_mapper/runtime/middlewares/async_response_factory.rb +17 -0
  380. data/lib/wsdl_mapper/runtime/middlewares/async_response_logger.rb +17 -0
  381. data/lib/wsdl_mapper/runtime/middlewares/noop.rb +11 -0
  382. data/lib/wsdl_mapper/runtime/middlewares/simple_dispatcher.rb +69 -0
  383. data/lib/wsdl_mapper/runtime/middlewares/simple_message_factory.rb +19 -0
  384. data/lib/wsdl_mapper/runtime/middlewares/simple_request_factory.rb +37 -0
  385. data/lib/wsdl_mapper/runtime/middlewares/simple_request_logger.rb +18 -0
  386. data/lib/wsdl_mapper/runtime/middlewares/simple_response_factory.rb +26 -0
  387. data/lib/wsdl_mapper/runtime/middlewares/simple_response_logger.rb +16 -0
  388. data/lib/wsdl_mapper/runtime/operation.rb +90 -0
  389. data/lib/wsdl_mapper/runtime/output_s8r.rb +9 -0
  390. data/lib/wsdl_mapper/runtime/port.rb +30 -0
  391. data/lib/wsdl_mapper/runtime/proxy.rb +12 -0
  392. data/lib/wsdl_mapper/runtime/request.rb +35 -0
  393. data/lib/wsdl_mapper/runtime/response.rb +27 -0
  394. data/lib/wsdl_mapper/runtime/s8r_base.rb +57 -0
  395. data/lib/wsdl_mapper/runtime/service.rb +25 -0
  396. data/lib/wsdl_mapper/runtime/simple_http_backend.rb +34 -0
  397. data/lib/wsdl_mapper/runtime/simpler_inspect.rb +19 -0
  398. data/lib/wsdl_mapper/s8r_generation/facade.rb +12 -0
  399. data/lib/wsdl_mapper/s8r_generation/s8r_generator.rb +276 -0
  400. data/lib/wsdl_mapper/serializers/abstract_resolver.rb +11 -0
  401. data/lib/wsdl_mapper/serializers/serializer_core.rb +111 -0
  402. data/lib/wsdl_mapper/serializers/serializer_factory.rb +27 -0
  403. data/lib/wsdl_mapper/serializers/type_directory.rb +75 -0
  404. data/lib/wsdl_mapper/svc_desc/envelope.rb +12 -0
  405. data/lib/wsdl_mapper/svc_desc/fault.rb +27 -0
  406. data/lib/wsdl_mapper/svc_desc/soap_element_directory.rb +13 -0
  407. data/lib/wsdl_mapper/svc_desc/soap_type_directory.rb +21 -0
  408. data/lib/wsdl_mapper/svc_desc/wsdl11/base.rb +16 -0
  409. data/lib/wsdl_mapper/svc_desc/wsdl11/binding.rb +148 -0
  410. data/lib/wsdl_mapper/svc_desc/wsdl11/description.rb +86 -0
  411. data/lib/wsdl_mapper/svc_desc/wsdl11/message.rb +32 -0
  412. data/lib/wsdl_mapper/svc_desc/wsdl11/port_type.rb +63 -0
  413. data/lib/wsdl_mapper/svc_desc/wsdl11/service.rb +27 -0
  414. data/lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb +198 -0
  415. data/lib/wsdl_mapper/svc_desc_parsing/http.rb +14 -0
  416. data/lib/wsdl_mapper/svc_desc_parsing/linker.rb +126 -0
  417. data/lib/wsdl_mapper/svc_desc_parsing/message_parser.rb +42 -0
  418. data/lib/wsdl_mapper/svc_desc_parsing/parser.rb +94 -0
  419. data/lib/wsdl_mapper/svc_desc_parsing/parser_base.rb +24 -0
  420. data/lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb +101 -0
  421. data/lib/wsdl_mapper/svc_desc_parsing/service_parser.rb +66 -0
  422. data/lib/wsdl_mapper/svc_desc_parsing/soap.rb +18 -0
  423. data/lib/wsdl_mapper/svc_desc_parsing/soap12.rb +18 -0
  424. data/lib/wsdl_mapper/svc_desc_parsing/soap_enc.rb +13 -0
  425. data/lib/wsdl_mapper/svc_desc_parsing/soap_http.rb +11 -0
  426. data/lib/wsdl_mapper/svc_desc_parsing/types_parser.rb +31 -0
  427. data/lib/wsdl_mapper/svc_desc_parsing/wsdl11.rb +27 -0
  428. data/lib/wsdl_mapper/svc_generation/documented_operation_generator.rb +104 -0
  429. data/lib/wsdl_mapper/svc_generation/documented_port_generator.rb +19 -0
  430. data/lib/wsdl_mapper/svc_generation/documented_proxy_generator.rb +36 -0
  431. data/lib/wsdl_mapper/svc_generation/documented_service_generator.rb +20 -0
  432. data/lib/wsdl_mapper/svc_generation/documented_svc_generator.rb +38 -0
  433. data/lib/wsdl_mapper/svc_generation/facade.rb +78 -0
  434. data/lib/wsdl_mapper/svc_generation/generator_base.rb +111 -0
  435. data/lib/wsdl_mapper/svc_generation/operation_d10r_generator.rb +171 -0
  436. data/lib/wsdl_mapper/svc_generation/operation_generator.rb +217 -0
  437. data/lib/wsdl_mapper/svc_generation/operation_generator_base.rb +8 -0
  438. data/lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb +260 -0
  439. data/lib/wsdl_mapper/svc_generation/port_generator.rb +56 -0
  440. data/lib/wsdl_mapper/svc_generation/proxy_generator.rb +51 -0
  441. data/lib/wsdl_mapper/svc_generation/service_generator.rb +49 -0
  442. data/lib/wsdl_mapper/svc_generation/svc_generator.rb +172 -0
  443. data/lib/wsdl_mapper/svc_generation/type_to_generate.rb +6 -0
  444. data/lib/wsdl_mapper/type_mapping.rb +21 -0
  445. data/lib/wsdl_mapper/type_mapping/base.rb +48 -0
  446. data/lib/wsdl_mapper/type_mapping/base64_binary.rb +31 -0
  447. data/lib/wsdl_mapper/type_mapping/boolean.rb +31 -0
  448. data/lib/wsdl_mapper/type_mapping/date.rb +28 -0
  449. data/lib/wsdl_mapper/type_mapping/date_parts.rb +92 -0
  450. data/lib/wsdl_mapper/type_mapping/date_time.rb +28 -0
  451. data/lib/wsdl_mapper/type_mapping/decimal.rb +30 -0
  452. data/lib/wsdl_mapper/type_mapping/duration.rb +115 -0
  453. data/lib/wsdl_mapper/type_mapping/float.rb +30 -0
  454. data/lib/wsdl_mapper/type_mapping/hex_binary.rb +30 -0
  455. data/lib/wsdl_mapper/type_mapping/integer.rb +36 -0
  456. data/lib/wsdl_mapper/type_mapping/mapping_set.rb +64 -0
  457. data/lib/wsdl_mapper/type_mapping/string.rb +38 -0
  458. data/lib/wsdl_mapper/type_mapping/time.rb +29 -0
  459. data/lib/wsdl_mapper/type_mapping/uri.rb +35 -0
  460. data/lib/wsdl_mapper/version.rb +3 -0
  461. data/lib/wsdl_mapper_testing/fake_d10r.rb +15 -0
  462. data/lib/wsdl_mapper_testing/fake_operation.rb +33 -0
  463. data/lib/wsdl_mapper_testing/fake_s8r.rb +15 -0
  464. data/lib/wsdl_mapper_testing/generation_test.rb +47 -0
  465. data/lib/wsdl_mapper_testing/implementation_test.rb +17 -0
  466. data/lib/wsdl_mapper_testing/middlewares/fake_dispatcher.rb +17 -0
  467. data/lib/wsdl_mapper_testing/middlewares/fake_message_factory.rb +23 -0
  468. data/lib/wsdl_mapper_testing/middlewares/fake_request_factory.rb +20 -0
  469. data/lib/wsdl_mapper_testing/middlewares/fake_response_factory.rb +20 -0
  470. data/lib/wsdl_mapper_testing/schema_test.rb +9 -0
  471. data/lib/wsdl_mapper_testing/stub_connection.rb +52 -0
  472. data/lib/wsdl_mapper_testing/test.rb +9 -0
  473. data/lib/wsdl_mapper_testing/test_helper.rb +29 -0
  474. data/lib/wsdl_mapper_testing/tmp_path.rb +20 -0
  475. data/lib/wsdl_mapper_testing/vcr.rb +19 -0
  476. data/test/compatibility/dom_compatibility_test.rb +56 -0
  477. data/test/compatibility/svc_compatibility_test.rb +47 -0
  478. data/test/fixtures/address_type_enumeration.xsd +9 -0
  479. data/test/fixtures/address_type_enumeration_with_documentation.xsd +16 -0
  480. data/test/fixtures/address_type_enumeration_with_value_documentation.xsd +21 -0
  481. data/test/fixtures/attachment_type_for_import.xsd +9 -0
  482. data/test/fixtures/basic_credentials_type.xsd +9 -0
  483. data/test/fixtures/basic_note_inline_type.xsd +13 -0
  484. data/test/fixtures/basic_note_type.xsd +11 -0
  485. data/test/fixtures/basic_note_type_and_fancy_note_type_extension.xsd +21 -0
  486. data/test/fixtures/basic_note_type_and_fancy_note_type_extension_with_namespace.xsd +21 -0
  487. data/test/fixtures/basic_note_type_with_an_invalid_root_node.xsd +11 -0
  488. data/test/fixtures/basic_note_type_with_attachments.xsd +12 -0
  489. data/test/fixtures/basic_note_type_with_attachments_simple_type.xsd +16 -0
  490. data/test/fixtures/basic_note_type_with_attribute.xsd +12 -0
  491. data/test/fixtures/basic_note_type_with_boolean_property.xsd +12 -0
  492. data/test/fixtures/basic_note_type_with_boolean_property_and_documentation.xsd +24 -0
  493. data/test/fixtures/basic_note_type_with_complex_attachments.xsd +22 -0
  494. data/test/fixtures/basic_note_type_with_date.xsd +12 -0
  495. data/test/fixtures/basic_note_type_with_defaults.xsd +12 -0
  496. data/test/fixtures/basic_note_type_with_documentation_and_bounds.xsd +19 -0
  497. data/test/fixtures/basic_note_type_with_element.xsd +12 -0
  498. data/test/fixtures/basic_note_type_with_element_inline_complex_type.xsd +13 -0
  499. data/test/fixtures/basic_note_type_with_import.xsd +13 -0
  500. data/test/fixtures/basic_note_type_with_inline_complex_type.xsd +20 -0
  501. data/test/fixtures/basic_note_type_with_inline_simple_type.xsd +17 -0
  502. data/test/fixtures/basic_note_type_with_invalid_xsd_namespace.xsd +11 -0
  503. data/test/fixtures/basic_note_type_with_missing_xsd_namespace.xsd +11 -0
  504. data/test/fixtures/basic_note_type_with_property_and_attribute.xsd +15 -0
  505. data/test/fixtures/basic_note_type_with_property_and_attribute_documentation.xsd +30 -0
  506. data/test/fixtures/basic_note_type_with_ref_attribute.xsd +13 -0
  507. data/test/fixtures/basic_note_type_with_referenced_simple_email_address_type.xsd +15 -0
  508. data/test/fixtures/basic_note_type_with_soap_array.xsd +26 -0
  509. data/test/fixtures/basic_note_type_with_soap_array_builtin.xsd +20 -0
  510. data/test/fixtures/basic_note_type_with_soap_array_simple.xsd +25 -0
  511. data/test/fixtures/basic_note_type_with_target_namespace.xsd +11 -0
  512. data/test/fixtures/basic_order_type_with_referenced_address_type_enum.xsd +17 -0
  513. data/test/fixtures/basic_order_type_with_required_address_type_enum.xsd +17 -0
  514. data/test/fixtures/element_inline_simple_type.xsd +8 -0
  515. data/test/fixtures/empty_note_type.xsd +8 -0
  516. data/test/fixtures/empty_note_type_with_multiline_documentation.xsd +13 -0
  517. data/test/fixtures/empty_note_type_with_target_namespace.xsd +7 -0
  518. data/test/fixtures/empty_note_with_documentaion_and_target_namespace.xsd +12 -0
  519. data/test/fixtures/ms_cust_order_example.xsd +77 -0
  520. data/test/fixtures/services/cdiscount.wsdl +4034 -0
  521. data/test/fixtures/services/ebaySvc.wsdl +144554 -0
  522. data/test/fixtures/services/ebaySvc.xsd +140654 -0
  523. data/test/fixtures/services/magento_v2.wsdl +5477 -0
  524. data/test/fixtures/services/magento_v2.xsd +2152 -0
  525. data/test/fixtures/services/plenty_114.wsdl +11954 -0
  526. data/test/fixtures/services/plenty_114.xsd +7948 -0
  527. data/test/fixtures/services/tb-cat_1_2_import.xsd +1769 -0
  528. data/test/fixtures/services/tb-stock_all_in_one.xsd +936 -0
  529. data/test/fixtures/simple_email_address_type.xsd +6 -0
  530. data/test/fixtures/simple_email_address_type_with_documentation.xsd +11 -0
  531. data/test/fixtures/simple_money_type_with_currency_attribute.xsd +10 -0
  532. data/test/fixtures/super_fancy_note_type.xsd +31 -0
  533. data/test/fixtures/w3_example.xsd +15 -0
  534. data/test/fixtures/wsdls/price_service.wsdl +88 -0
  535. data/test/fixtures/wsdls/price_service_doc_encoded.wsdl +87 -0
  536. data/test/fixtures/wsdls/price_service_doc_literal.wsdl +89 -0
  537. data/test/fixtures/wsdls/price_service_doc_literal2.wsdl +88 -0
  538. data/test/fixtures/wsdls/price_service_doc_literal_type.wsdl +84 -0
  539. data/test/fixtures/wsdls/price_service_rpc_encoded.wsdl +85 -0
  540. data/test/fixtures/wsdls/price_service_rpc_encoded2.wsdl +86 -0
  541. data/test/fixtures/wsdls/price_service_rpc_literal.wsdl +88 -0
  542. data/test/fixtures/wsdls/price_service_rpc_literal2.wsdl +86 -0
  543. data/test/fixtures/wsdls/simple_service.wsdl +93 -0
  544. data/test/fixtures/wsdls/simple_service_with_overload.wsdl +123 -0
  545. data/test/fixtures/wsdls/w3_example.wsdl +64 -0
  546. data/test/test_helper.rb +29 -0
  547. data/test/wsdl_mapper/cli/cli_test.rb +10 -0
  548. data/test/wsdl_mapper/core_ext/time_duration_test.rb +82 -0
  549. data/test/wsdl_mapper/d10r_generation/d10r_generator_test.rb +227 -0
  550. data/test/wsdl_mapper/deserializers/benchmark_test.rb +906 -0
  551. data/test/wsdl_mapper/deserializers/deserializer_integration_test.rb +115 -0
  552. data/test/wsdl_mapper/deserializers/deserializer_test.rb +343 -0
  553. data/test/wsdl_mapper/deserializers/deserializer_with_ns_test.rb +188 -0
  554. data/test/wsdl_mapper/deserializers/operation_deserializer_test.rb +342 -0
  555. data/test/wsdl_mapper/dom/builtin_type_test.rb +25 -0
  556. data/test/wsdl_mapper/dom/enumeration_value_test.rb +14 -0
  557. data/test/wsdl_mapper/dom/name_test.rb +31 -0
  558. data/test/wsdl_mapper/dom/namespaces_test.rb +96 -0
  559. data/test/wsdl_mapper/dom/simple_type_test.rb +26 -0
  560. data/test/wsdl_mapper/dom/validator_test.rb +30 -0
  561. data/test/wsdl_mapper/dom_generation/default_class_generator_test.rb +213 -0
  562. data/test/wsdl_mapper/dom_generation/default_ctr_generator_test.rb +166 -0
  563. data/test/wsdl_mapper/dom_generation/default_enum_generator_test.rb +35 -0
  564. data/test/wsdl_mapper/dom_generation/default_value_generator_test.rb +72 -0
  565. data/test/wsdl_mapper/dom_generation/default_wrapping_type_generator_test.rb +65 -0
  566. data/test/wsdl_mapper/dom_generation/documented_class_generator_test.rb +151 -0
  567. data/test/wsdl_mapper/dom_generation/documented_ctr_generator_test.rb +84 -0
  568. data/test/wsdl_mapper/dom_generation/documented_enum_generator_test.rb +66 -0
  569. data/test/wsdl_mapper/dom_generation/documented_schema_generator_test.rb +73 -0
  570. data/test/wsdl_mapper/dom_generation/documented_wrapping_type_generator_test.rb +34 -0
  571. data/test/wsdl_mapper/dom_generation/schema_generator_test.rb +53 -0
  572. data/test/wsdl_mapper/dom_parsing/parser_test.rb +300 -0
  573. data/test/wsdl_mapper/generation/default_formatter_test.rb +104 -0
  574. data/test/wsdl_mapper/naming/default_namer_test.rb +127 -0
  575. data/test/wsdl_mapper/naming/default_service_namer_test.rb +15 -0
  576. data/test/wsdl_mapper/naming/inflector_test.rb +37 -0
  577. data/test/wsdl_mapper/naming/separating_namer_test.rb +53 -0
  578. data/test/wsdl_mapper/naming/type_name_test.rb +50 -0
  579. data/test/wsdl_mapper/runtime/async_http_backend_test.rb +57 -0
  580. data/test/wsdl_mapper/runtime/middleware_stack_test.rb +130 -0
  581. data/test/wsdl_mapper/runtime/middlewares/simple_dispatcher_test.rb +45 -0
  582. data/test/wsdl_mapper/runtime/operation_test.rb +79 -0
  583. data/test/wsdl_mapper/runtime/simple_http_backend_test.rb +49 -0
  584. data/test/wsdl_mapper/s8r_generation/s8r_generator_test.rb +450 -0
  585. data/test/wsdl_mapper/serializers/serializer_core_test.rb +293 -0
  586. data/test/wsdl_mapper/serializers/serializer_factory_test.rb +46 -0
  587. data/test/wsdl_mapper/serializers/type_directory_test.rb +31 -0
  588. data/test/wsdl_mapper/svc_desc_parsing/parser_test.rb +269 -0
  589. data/test/wsdl_mapper/svc_generation/documented_operation_generator_test.rb +226 -0
  590. data/test/wsdl_mapper/svc_generation/documented_port_generator_test.rb +46 -0
  591. data/test/wsdl_mapper/svc_generation/documented_service_generator_test.rb +42 -0
  592. data/test/wsdl_mapper/svc_generation/documented_svc_generator_test.rb +41 -0
  593. data/test/wsdl_mapper/svc_generation/operation_d10r_generator_test.rb +134 -0
  594. data/test/wsdl_mapper/svc_generation/operation_generator_test.rb +261 -0
  595. data/test/wsdl_mapper/svc_generation/operation_s8r_generator_test.rb +165 -0
  596. data/test/wsdl_mapper/svc_generation/port_generator_test.rb +43 -0
  597. data/test/wsdl_mapper/svc_generation/proxy_generator_test.rb +40 -0
  598. data/test/wsdl_mapper/svc_generation/service_generator_test.rb +38 -0
  599. data/test/wsdl_mapper/svc_generation/svc_generator_test.rb +38 -0
  600. data/test/wsdl_mapper/type_mapping/base64_binary_test.rb +27 -0
  601. data/test/wsdl_mapper/type_mapping/base_test.rb +37 -0
  602. data/test/wsdl_mapper/type_mapping/boolean_test.rb +25 -0
  603. data/test/wsdl_mapper/type_mapping/date_parts_test.rb +81 -0
  604. data/test/wsdl_mapper/type_mapping/date_test.rb +23 -0
  605. data/test/wsdl_mapper/type_mapping/date_time_test.rb +23 -0
  606. data/test/wsdl_mapper/type_mapping/decimal_test.rb +21 -0
  607. data/test/wsdl_mapper/type_mapping/duration_test.rb +34 -0
  608. data/test/wsdl_mapper/type_mapping/float_test.rb +27 -0
  609. data/test/wsdl_mapper/type_mapping/hex_binary_test.rb +27 -0
  610. data/test/wsdl_mapper/type_mapping/integer_test.rb +36 -0
  611. data/test/wsdl_mapper/type_mapping/string_test.rb +24 -0
  612. data/test/wsdl_mapper/type_mapping/time_test.rb +29 -0
  613. data/test/wsdl_mapper/type_mapping/uri_test.rb +28 -0
  614. data/test/wsdl_mapper/type_mapping_test.rb +70 -0
  615. data/test/wsdl_mapper_testing/stub_connection_test.rb +55 -0
  616. data/wsdl-mapper.gemspec +39 -0
  617. metadata +1038 -0
@@ -0,0 +1,30 @@
1
+ require 'wsdl_mapper/dom_parsing/abstract_resolver'
2
+
3
+ require 'wsdl_mapper/dom_parsing/local_file_resolver'
4
+ require 'wsdl_mapper/dom_parsing/url_resolver'
5
+
6
+ module WsdlMapper
7
+ module DomParsing
8
+ class DefaultResolver < AbstractResolver
9
+
10
+ def initialize(path)
11
+ @file_resolver = LocalFileResolver.new path
12
+ @url_resolver = UrlResolver.new
13
+ end
14
+
15
+ def resolve(name)
16
+ if url? name
17
+ @url_resolver.resolve name
18
+ else
19
+ # TODO: absolute paths?
20
+ @file_resolver.resolve name
21
+ end
22
+ end
23
+
24
+ protected
25
+ def url?(name)
26
+ name =~ /^https?\:\/\//
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,43 @@
1
+ require 'wsdl_mapper/dom_parsing/parser_base'
2
+ require 'wsdl_mapper/dom/element'
3
+
4
+ module WsdlMapper
5
+ module DomParsing
6
+ class ElementParser < ParserBase
7
+ # @param [Nokogiri::XML::Node] node
8
+ def parse(node)
9
+ name = parse_name_in_attribute 'name', node
10
+
11
+ element = Element.new name
12
+
13
+ element.type_name = parse_name_in_attribute 'type', node
14
+
15
+ each_element node do |child|
16
+ parse_element_child child, element
17
+ end
18
+
19
+ @base.schema.add_element element
20
+ end
21
+
22
+ protected
23
+ # @param [Nokogiri::XML::Node] node
24
+ # @param [WsdlMapper::Dom::Element] element
25
+ def parse_element_child(node, element)
26
+ case get_name node
27
+ when ANNOTATION
28
+ parse_annotation node, element
29
+ when COMPLEX_TYPE
30
+ element.type = @base.parsers[COMPLEX_TYPE].parse node
31
+ element.type.containing_element = element
32
+ when SIMPLE_TYPE
33
+ element.type = @base.parsers[SIMPLE_TYPE].parse node
34
+ element.type.containing_element = element
35
+ when UNIQUE
36
+ # ignore
37
+ else
38
+ log_msg node, :unknown
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,31 @@
1
+ require 'wsdl_mapper/dom_parsing/parser_base'
2
+ require 'wsdl_mapper/dom/soap_encoding_type'
3
+
4
+ module WsdlMapper
5
+ module DomParsing
6
+ class ImportParser < ParserBase
7
+ def parse(node)
8
+ # TODO: namespace attribute is optional
9
+ case node.attributes['namespace'].value
10
+ when SoapEncodingType::NAMESPACE, BuiltinType::NAMESPACE
11
+ # ignore
12
+ else
13
+ import_schema node
14
+ end
15
+ end
16
+
17
+ def import_schema(node)
18
+ ns = fetch_attribute_value 'namespace', node
19
+ location = fetch_attribute_value 'schemaLocation', node
20
+
21
+ if location.nil?
22
+ @base.schema.unresolved_imports << ns
23
+ else
24
+ doc = @base.import_resolver.resolve location
25
+ schema = @base.dup.parse doc
26
+ @base.schema.add_import ns, schema
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,108 @@
1
+ require 'wsdl_mapper/parsing/logging'
2
+
3
+ module WsdlMapper
4
+ module DomParsing
5
+ class Linker
6
+ include WsdlMapper::Parsing::Logging
7
+
8
+ def initialize(schema)
9
+ @schema = schema
10
+ @log_msgs = []
11
+ end
12
+
13
+ def link
14
+ link_base_types
15
+ link_soap_array_types
16
+ link_property_types
17
+ link_attribute_types
18
+ link_element_types
19
+
20
+ @schema
21
+ end
22
+
23
+ private
24
+ def link_element_types
25
+ @schema.each_element do |element|
26
+ if element.type_name
27
+ element.type = @schema.get_type element.type_name
28
+
29
+ unless element.type
30
+ log_msg element.type, :missing_element_type
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+ def link_property_types
37
+ @schema.each_type do |type|
38
+ next unless type.is_a? WsdlMapper::Dom::ComplexType
39
+
40
+ type.each_property do |prop|
41
+ if prop.is_a?(WsdlMapper::Dom::Property::Ref)
42
+ element = @schema.get_element prop.name
43
+ p = WsdlMapper::Dom::Property.new element.name, element.type_name,
44
+ sequence: prop.sequence,
45
+ bounds: prop.bounds,
46
+ fixed: prop.fixed,
47
+ form: prop.form,
48
+ default: prop.default
49
+ if p.type_name
50
+ p.type = @schema.get_type p.type_name
51
+ else
52
+ p.type = element.type
53
+ end
54
+ type.add_property p
55
+ elsif prop.type_name
56
+ prop.type = @schema.get_type prop.type_name
57
+
58
+ unless prop.type
59
+ log_msg prop, :missing_property_type
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+
66
+ def link_attribute_types
67
+ @schema.each_type do |type|
68
+ next unless type.is_a? WsdlMapper::Dom::ComplexType
69
+
70
+ type.each_attribute do |attr|
71
+ if attr.is_a?(WsdlMapper::Dom::Attribute::Ref)
72
+ type.add_attribute @schema.get_attribute attr.name
73
+ elsif attr.type_name
74
+ attr.type = @schema.get_type attr.type_name
75
+
76
+ unless attr.type
77
+ log_msg attr, :missing_attribute_type
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+
84
+ def link_base_types
85
+ @schema.each_type do |type|
86
+ next unless type.base_type_name
87
+
88
+ type.base = @schema.get_type type.base_type_name
89
+ unless type.base
90
+ log_msg type, :missing_base_type
91
+ end
92
+ end
93
+ end
94
+
95
+ def link_soap_array_types
96
+ @schema.each_type do |type|
97
+ next unless type.is_a? WsdlMapper::Dom::ComplexType
98
+ next unless type.soap_array?
99
+
100
+ type.soap_array_type = @schema.get_type type.soap_array_type_name
101
+ unless type.soap_array_type
102
+ log_msg type, :missing_soap_array_type
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,19 @@
1
+ require 'nokogiri'
2
+
3
+ require 'wsdl_mapper/dom_parsing/abstract_resolver'
4
+
5
+ module WsdlMapper
6
+ module DomParsing
7
+ class LocalFileResolver < AbstractResolver
8
+ def initialize(path)
9
+ @path = path
10
+ end
11
+
12
+ def resolve(name)
13
+ path = File.join @path, name
14
+
15
+ Nokogiri::XML::Document.parse File.read(path)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,127 @@
1
+ require 'wsdl_mapper/dom_parsing/parser_base'
2
+
3
+ require 'wsdl_mapper/dom_parsing/xsd'
4
+ require 'wsdl_mapper/dom_parsing/complex_type_parser'
5
+ require 'wsdl_mapper/dom_parsing/simple_type_parser'
6
+ require 'wsdl_mapper/dom_parsing/annotation_parser'
7
+ require 'wsdl_mapper/dom_parsing/import_parser'
8
+ require 'wsdl_mapper/dom_parsing/element_parser'
9
+ require 'wsdl_mapper/dom_parsing/attribute_parser'
10
+
11
+ require 'wsdl_mapper/dom/schema'
12
+ require 'wsdl_mapper/dom/namespaces'
13
+ require 'wsdl_mapper/dom_parsing/linker'
14
+
15
+ module WsdlMapper
16
+ module DomParsing
17
+ class Parser < ParserBase
18
+ include WsdlMapper::DomParsing::Xsd
19
+
20
+ class ParserException < StandardError ; end
21
+ class InvalidRootException < ParserException ; end
22
+ class InvalidNsException < ParserException ; end
23
+
24
+ attr_reader :schema, :parsers, :namespaces, :target_namespace, :default_namespace, :log_msgs, :import_resolver
25
+
26
+ # @param [WsdlMapper::DomParsing::AbstractResolver] import_resolver
27
+ def initialize(import_resolver: nil)
28
+ @base = self
29
+ @schema = WsdlMapper::Dom::Schema.new
30
+
31
+ @parsers = {
32
+ COMPLEX_TYPE => ComplexTypeParser.new(self),
33
+ ANNOTATION => AnnotationParser.new(self),
34
+ SIMPLE_TYPE => SimpleTypeParser.new(self),
35
+ IMPORT => ImportParser.new(self),
36
+ ELEMENT => ElementParser.new(self),
37
+ ATTRIBUTE => AttributeParser.new(self)
38
+ }
39
+
40
+ @import_resolver = import_resolver
41
+ @namespaces = Namespaces.new
42
+ @target_namespace = nil
43
+ @default_namespace = nil
44
+ @linker = Linker.new schema
45
+ end
46
+
47
+ # @param [Nokogiri::XML::Document] doc
48
+ # @return [WsdlMapper::Dom::Schema]
49
+ def parse(doc, parse_only: false)
50
+ # Phase 1: Parsing
51
+ parse_doc doc
52
+
53
+ # Phase 2: Linking
54
+ unless parse_only
55
+ @linker.link
56
+ end
57
+
58
+ collect_logs
59
+
60
+ @schema
61
+ end
62
+
63
+ # @return [WsdlMapper::DomParsing::Parser]
64
+ def dup
65
+ self.class.new import_resolver: @import_resolver
66
+ end
67
+
68
+ protected
69
+ def collect_logs
70
+ @log_msgs ||= []
71
+ @parsers.values.each do |parser|
72
+ @log_msgs += parser.log_msgs
73
+ end
74
+ @log_msgs += @linker.log_msgs
75
+ end
76
+
77
+ # @param [Nokogiri::XML::Document] doc
78
+ def parse_doc(doc)
79
+ parse_namespaces doc
80
+ schema_node = get_schema_node doc
81
+ parse_attributes schema_node
82
+ each_element schema_node do |node|
83
+ parse_node node
84
+ end
85
+ end
86
+
87
+ # @param [Nokogiri::XML::Node] schema_node
88
+ def parse_attributes(schema_node)
89
+ @schema.target_namespace = parse_target_namespace schema_node
90
+ parse_element_form_default schema_node
91
+ parse_attribute_form_default schema_node
92
+ end
93
+
94
+ # @param [Nokogiri::XML::Node] node
95
+ def parse_attribute_form_default(node)
96
+ attr = node.attributes[ATTRIBUTE_FORM_DEFAULT]
97
+ if attr && attr.value == 'qualified'
98
+ @schema.qualified_attributes = true
99
+ end
100
+ end
101
+
102
+ # @param [Nokogiri::XML::Node] node
103
+ def parse_element_form_default(node)
104
+ attr = node.attributes[ELEMENT_FORM_DEFAULT]
105
+ if attr && attr.value == 'qualified'
106
+ @schema.qualified_elements = true
107
+ end
108
+ end
109
+
110
+ # @param [Nokogiri::XML::Document] doc
111
+ def get_schema_node(doc)
112
+ return doc if is_element?(doc) && get_name(doc) == SCHEMA
113
+ schema_node = first_element doc
114
+
115
+ if schema_node.namespace.nil? || schema_node.namespace.href != NS
116
+ raise InvalidNsException
117
+ end
118
+
119
+ unless name_matches? schema_node, SCHEMA
120
+ raise InvalidRootException
121
+ end
122
+
123
+ schema_node
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,41 @@
1
+ require 'wsdl_mapper/dom_parsing/xsd'
2
+ require 'wsdl_mapper/dom/documentation'
3
+ require 'wsdl_mapper/dom/bounds'
4
+ require 'wsdl_mapper/parsing/base'
5
+
6
+ module WsdlMapper
7
+ module DomParsing
8
+ class ParserBase < WsdlMapper::Parsing::Base
9
+ include Xsd
10
+
11
+ protected
12
+ def parse_base(node, type)
13
+ type.base_type_name = parse_name_in_attribute 'base', node
14
+ end
15
+
16
+ def parse_annotation(node, type)
17
+ type.documentation = @base.parsers[ANNOTATION].parse node
18
+ end
19
+
20
+ def parse_bounds(node, container)
21
+ bounds = DEFAULT_BOUNDS[container].dup
22
+
23
+ if bounds.nil?
24
+ raise ArgumentError.new("Unknown container #{container}")
25
+ end
26
+
27
+ if node.attributes.has_key? 'minOccurs'
28
+ bounds.min = node.attributes['minOccurs'].value.to_i
29
+ end
30
+
31
+ if node.attributes.has_key? 'maxOccurs'
32
+ max = node.attributes['maxOccurs'].value
33
+ bounds.max = max == 'unbounded' ? nil : max.to_i
34
+ end
35
+
36
+ bounds
37
+ end
38
+ end
39
+ end
40
+ end
41
+
@@ -0,0 +1,99 @@
1
+ require 'wsdl_mapper/dom_parsing/parser_base'
2
+ require 'wsdl_mapper/dom/simple_type'
3
+
4
+ module WsdlMapper
5
+ module DomParsing
6
+ class SimpleTypeParser < ParserBase
7
+
8
+ def parse(node)
9
+ name = parse_name_in_attribute 'name', node
10
+
11
+ type = SimpleType.new name
12
+
13
+ each_element node do |child|
14
+ parse_simple_type_child child, type
15
+ end
16
+
17
+ @base.schema.add_type type
18
+ end
19
+
20
+ protected
21
+ def parse_simple_type_child(node, type)
22
+ case get_name node
23
+ when RESTRICTION
24
+ parse_simple_type_restriction node, type
25
+ when ANNOTATION
26
+ parse_annotation node, type
27
+ else
28
+ log_msg node, :unknown
29
+ end
30
+ end
31
+
32
+ def parse_simple_type_restriction(node, type)
33
+ # TODO: test
34
+ parse_base node, type
35
+
36
+ each_element node do |child|
37
+ case get_name(child)
38
+ when ENUMERATION
39
+ parse_simple_type_enumeration child, type
40
+ when PATTERN
41
+ parse_simple_type_pattern child, type
42
+ when MIN_INCLUSIVE
43
+ parse_simple_type_min child, type, true
44
+ when MAX_INCLUSIVE
45
+ parse_simple_type_max child, type, true
46
+ when MIN_LENGTH
47
+ parse_simple_type_min child, type, false
48
+ when MAX_LENGTH
49
+ parse_simple_type_max child, type, false
50
+ when TOTAL_DIGITS
51
+ parse_simple_type_total_digits child, type
52
+ when FRACTION_DIGITS
53
+ parse_simple_type_fraction_digits child, type
54
+ else
55
+ log_msg child, :unknown
56
+ end
57
+ end
58
+ end
59
+
60
+ def parse_simple_type_fraction_digits(node, type)
61
+ type.fraction_digits = fetch_attribute_value 'value', node
62
+ end
63
+
64
+ def parse_simple_type_total_digits(node, type)
65
+ type.total_digits = fetch_attribute_value 'value', node
66
+ end
67
+
68
+ def parse_simple_type_pattern(node, type)
69
+ type.pattern = fetch_attribute_value 'value', node
70
+ end
71
+
72
+ def parse_simple_type_min(node, type, inclusive)
73
+ type.min = fetch_attribute_value 'value', node
74
+ type.min_inclusive = inclusive
75
+ end
76
+
77
+ def parse_simple_type_max(node, type, inclusive)
78
+ type.max = fetch_attribute_value 'value', node
79
+ type.max_inclusive = inclusive
80
+ end
81
+
82
+ def parse_simple_type_enumeration(node, type)
83
+ value = node.attributes['value'].value
84
+
85
+ enum_value = EnumerationValue.new value
86
+ type.enumeration_values << enum_value
87
+
88
+ each_element node do |child|
89
+ case get_name(child)
90
+ when ANNOTATION
91
+ parse_annotation child, enum_value
92
+ else
93
+ log_msg node, :unknown
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end