soap4r 1.5.5.20061022 → 1.5.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (311) hide show
  1. data/bin/wsdl2ruby.rb +8 -8
  2. data/lib/soap/XMLSchemaDatatypes.rb +1 -1
  3. data/lib/soap/XMLSchemaDatatypes1999.rb +1 -1
  4. data/lib/soap/attachment.rb +1 -1
  5. data/lib/soap/baseData.rb +102 -54
  6. data/lib/soap/cgistub.rb +1 -1
  7. data/lib/soap/charset.rb +1 -1
  8. data/lib/soap/driver.rb +1 -1
  9. data/lib/soap/element.rb +20 -12
  10. data/lib/soap/encodingstyle/aspDotNetHandler.rb +2 -2
  11. data/lib/soap/encodingstyle/handler.rb +1 -1
  12. data/lib/soap/encodingstyle/literalHandler.rb +29 -73
  13. data/lib/soap/encodingstyle/soapHandler.rb +8 -7
  14. data/lib/soap/filter.rb +10 -0
  15. data/lib/soap/filter/filterchain.rb +51 -0
  16. data/lib/soap/filter/handler.rb +31 -0
  17. data/lib/soap/generator.rb +11 -3
  18. data/lib/soap/header/handler.rb +6 -5
  19. data/lib/soap/header/handlerset.rb +7 -7
  20. data/lib/soap/header/simplehandler.rb +1 -1
  21. data/lib/soap/httpconfigloader.rb +7 -2
  22. data/lib/soap/mapping.rb +1 -1
  23. data/lib/soap/mapping/encodedregistry.rb +36 -26
  24. data/lib/soap/mapping/encodedregistry.rb~ +531 -0
  25. data/lib/soap/mapping/factory.rb +2 -2
  26. data/lib/soap/mapping/literalregistry.rb +107 -67
  27. data/lib/soap/mapping/mapping.rb +92 -112
  28. data/lib/soap/mapping/registry.rb +25 -8
  29. data/lib/soap/mapping/rubytypeFactory.rb +1 -1
  30. data/lib/soap/mapping/schemadefinition.rb +163 -0
  31. data/lib/soap/mapping/typeMap.rb +7 -1
  32. data/lib/soap/mapping/wsdlencodedregistry.rb +2 -2
  33. data/lib/soap/mapping/wsdlliteralregistry.rb +14 -23
  34. data/lib/soap/mappingRegistry.rb +1 -1
  35. data/lib/soap/marshal.rb +1 -1
  36. data/lib/soap/namespace.rb +1 -1
  37. data/lib/soap/netHttpClient.rb +43 -13
  38. data/lib/soap/parser.rb +40 -42
  39. data/lib/soap/processor.rb +1 -1
  40. data/lib/soap/property.rb +7 -7
  41. data/lib/soap/proxy.rb +1 -1
  42. data/lib/soap/qname.rb +1 -1
  43. data/lib/soap/rpc/cgistub.rb +34 -1
  44. data/lib/soap/rpc/driver.rb +2 -1
  45. data/lib/soap/rpc/element.rb +42 -15
  46. data/lib/soap/rpc/httpserver.rb +13 -1
  47. data/lib/soap/rpc/proxy.rb +51 -41
  48. data/lib/soap/rpc/router.rb +88 -33
  49. data/lib/soap/rpc/rpc.rb +1 -1
  50. data/lib/soap/rpc/soaplet.rb +51 -3
  51. data/lib/soap/rpc/standaloneServer.rb +1 -1
  52. data/lib/soap/rpcRouter.rb +1 -1
  53. data/lib/soap/rpcUtils.rb +1 -1
  54. data/lib/soap/server.rb +1 -1
  55. data/lib/soap/soap.rb +2 -2
  56. data/lib/soap/standaloneServer.rb +1 -1
  57. data/lib/soap/streamHandler.rb +13 -4
  58. data/lib/soap/wsdlDriver.rb +11 -15
  59. data/lib/tags +5144 -0
  60. data/lib/wsdl/binding.rb +1 -1
  61. data/lib/wsdl/data.rb +1 -1
  62. data/lib/wsdl/definitions.rb +1 -1
  63. data/lib/wsdl/documentation.rb +1 -1
  64. data/lib/wsdl/import.rb +1 -1
  65. data/lib/wsdl/importer.rb +1 -1
  66. data/lib/wsdl/info.rb +1 -1
  67. data/lib/wsdl/message.rb +1 -1
  68. data/lib/wsdl/operation.rb +10 -7
  69. data/lib/wsdl/operationBinding.rb +19 -5
  70. data/lib/wsdl/param.rb +11 -3
  71. data/lib/wsdl/parser.rb +4 -3
  72. data/lib/wsdl/part.rb +1 -1
  73. data/lib/wsdl/port.rb +1 -1
  74. data/lib/wsdl/portType.rb +1 -1
  75. data/lib/wsdl/service.rb +1 -1
  76. data/lib/wsdl/soap/address.rb +1 -1
  77. data/lib/wsdl/soap/binding.rb +1 -1
  78. data/lib/wsdl/soap/body.rb +3 -1
  79. data/lib/wsdl/soap/cgiStubCreator.rb +1 -1
  80. data/lib/wsdl/soap/classDefCreator.rb +78 -14
  81. data/lib/wsdl/soap/classDefCreatorSupport.rb +28 -11
  82. data/lib/wsdl/soap/clientSkeltonCreator.rb +3 -2
  83. data/lib/wsdl/soap/complexType.rb +8 -11
  84. data/lib/wsdl/soap/data.rb +1 -1
  85. data/lib/wsdl/soap/definitions.rb +49 -4
  86. data/lib/wsdl/soap/driverCreator.rb +1 -1
  87. data/lib/wsdl/soap/element.rb +3 -2
  88. data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +1 -1
  89. data/lib/wsdl/soap/fault.rb +1 -1
  90. data/lib/wsdl/soap/header.rb +1 -1
  91. data/lib/wsdl/soap/headerfault.rb +1 -1
  92. data/lib/wsdl/soap/literalMappingRegistryCreator.rb +41 -21
  93. data/lib/wsdl/soap/mappingRegistryCreator.rb +2 -1
  94. data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +45 -19
  95. data/lib/wsdl/soap/methodDefCreator.rb +28 -17
  96. data/lib/wsdl/soap/operation.rb +11 -11
  97. data/lib/wsdl/soap/servantSkeltonCreator.rb +3 -2
  98. data/lib/wsdl/soap/standaloneServerStubCreator.rb +1 -1
  99. data/lib/wsdl/soap/wsdl2ruby.rb +8 -2
  100. data/lib/wsdl/types.rb +1 -1
  101. data/lib/wsdl/wsdl.rb +1 -1
  102. data/lib/wsdl/xmlSchema/all.rb +1 -1
  103. data/lib/wsdl/xmlSchema/annotation.rb +1 -1
  104. data/lib/wsdl/xmlSchema/any.rb +10 -5
  105. data/lib/wsdl/xmlSchema/attribute.rb +1 -1
  106. data/lib/wsdl/xmlSchema/choice.rb +1 -1
  107. data/lib/wsdl/xmlSchema/complexContent.rb +11 -2
  108. data/lib/wsdl/xmlSchema/complexExtension.rb +8 -1
  109. data/lib/wsdl/xmlSchema/complexRestriction.rb +6 -2
  110. data/lib/wsdl/xmlSchema/complexType.rb +9 -1
  111. data/lib/wsdl/xmlSchema/content.rb +26 -5
  112. data/lib/wsdl/xmlSchema/data.rb +4 -1
  113. data/lib/wsdl/xmlSchema/element.rb +12 -9
  114. data/lib/wsdl/xmlSchema/enumeration.rb +1 -1
  115. data/lib/wsdl/xmlSchema/import.rb +1 -1
  116. data/lib/wsdl/xmlSchema/importer.rb +9 -6
  117. data/lib/wsdl/xmlSchema/include.rb +1 -1
  118. data/lib/wsdl/xmlSchema/length.rb +1 -1
  119. data/lib/wsdl/xmlSchema/list.rb +1 -1
  120. data/lib/wsdl/xmlSchema/maxlength.rb +1 -1
  121. data/lib/wsdl/xmlSchema/minlength.rb +1 -1
  122. data/lib/wsdl/xmlSchema/parser.rb +4 -3
  123. data/lib/wsdl/xmlSchema/pattern.rb +1 -1
  124. data/lib/wsdl/xmlSchema/schema.rb +1 -1
  125. data/lib/wsdl/xmlSchema/sequence.rb +1 -1
  126. data/lib/wsdl/xmlSchema/simpleContent.rb +1 -1
  127. data/lib/wsdl/xmlSchema/simpleExtension.rb +1 -1
  128. data/lib/wsdl/xmlSchema/simpleRestriction.rb +1 -1
  129. data/lib/wsdl/xmlSchema/simpleType.rb +8 -1
  130. data/lib/wsdl/xmlSchema/union.rb +35 -0
  131. data/lib/wsdl/xmlSchema/unique.rb +1 -1
  132. data/lib/wsdl/xmlSchema/xsd2ruby.rb +6 -1
  133. data/lib/xsd/charset.rb +1 -1
  134. data/lib/xsd/classloader.rb +26 -0
  135. data/lib/xsd/codegen.rb +1 -1
  136. data/lib/xsd/codegen/classdef.rb +1 -1
  137. data/lib/xsd/codegen/commentdef.rb +1 -1
  138. data/lib/xsd/codegen/gensupport.rb +119 -14
  139. data/lib/xsd/codegen/methoddef.rb +1 -1
  140. data/lib/xsd/codegen/moduledef.rb +1 -1
  141. data/lib/xsd/datatypes.rb +52 -13
  142. data/lib/xsd/datatypes1999.rb +1 -1
  143. data/lib/xsd/iconvcharset.rb +1 -1
  144. data/lib/xsd/mapping.rb +1 -1
  145. data/lib/xsd/namedelements.rb +1 -1
  146. data/lib/xsd/ns.rb +2 -2
  147. data/lib/xsd/qname.rb +1 -1
  148. data/lib/xsd/xmlparser.rb +16 -3
  149. data/lib/xsd/xmlparser/parser.rb +6 -2
  150. data/lib/xsd/xmlparser/rexmlparser.rb +5 -1
  151. data/lib/xsd/xmlparser/xmlparser.rb +1 -1
  152. data/lib/xsd/xmlparser/xmlscanner.rb +4 -2
  153. data/test/interopR2/InteropTest.rb +83 -0
  154. data/test/interopR2/InteropTest.wsdl +315 -0
  155. data/test/interopR2/InteropTestC.wsdl +208 -0
  156. data/test/interopR2/InteropTestDriver.rb +328 -0
  157. data/test/interopR2/SOAP4R_SOAPBuildersInteropTest_R2.wsdl +461 -0
  158. data/test/interopR2/SOAP4R_SOAPBuildersInteropTest_R2GroupB.wsdl +20 -0
  159. data/test/interopR2/SOAP4R_SOAPBuildersInteropTest_R2GroupCClient.rb +178 -0
  160. data/test/interopR2/SOAPBuildersInterop_R2GrC.wsdl +17 -0
  161. data/test/interopR2/clientBase.rb +0 -3
  162. data/test/interopR2/groupc.wsdl +17 -0
  163. data/test/interopR2/result_client.NetRemoting.txt +0 -4593
  164. data/test/interopR2/test.sh +9 -9
  165. data/test/runner.rb +1 -3
  166. data/test/soap/asp.net/test_aspdotnet.rb +20 -9
  167. data/test/soap/case/test_mapping.rb +57 -0
  168. data/test/soap/filter/test_filter.rb +146 -0
  169. data/test/soap/literalArrayMapping/test_definedarray.rb +7 -9
  170. data/test/soap/marshal/marshaltestlib.rb +1 -1
  171. data/test/soap/ssl/test_ssl.rb +0 -10
  172. data/test/soap/struct/test_struct.rb +2 -9
  173. data/test/soap/test_basetype.rb +114 -0
  174. data/test/soap/test_empty.rb +26 -2
  175. data/test/soap/test_envelopenamespace.rb +2 -9
  176. data/test/soap/test_extraattr.rb +55 -0
  177. data/test/soap/test_httpconfigloader.rb +17 -0
  178. data/test/soap/test_property.rb +4 -1
  179. data/test/soap/test_response_as_xml.rb +31 -9
  180. data/test/soap/test_soapelement.rb +21 -3
  181. data/test/soap/test_streamhandler.rb +3 -10
  182. data/test/soap/test_styleuse.rb +2 -9
  183. data/test/soap/wsdlDriver/test_calc.rb +3 -20
  184. data/test/soap/wsdlDriver/test_document.rb +2 -9
  185. data/test/soap/wsdlDriver/test_simpletype.rb +2 -9
  186. data/test/testutil.rb +54 -0
  187. data/test/wsdl/abstract/abstract.wsdl +82 -3
  188. data/test/wsdl/abstract/test_abstract.rb +48 -19
  189. data/test/wsdl/any/any.wsdl +63 -0
  190. data/test/wsdl/any/expectedDriver.rb +22 -1
  191. data/test/wsdl/any/expectedEcho.rb +19 -0
  192. data/test/wsdl/any/expectedService.rb +29 -4
  193. data/test/wsdl/any/test_any.rb +36 -31
  194. data/test/wsdl/choice/choice.wsdl +37 -0
  195. data/test/wsdl/choice/test_choice.rb +66 -17
  196. data/test/wsdl/complexcontent/test_echo.rb +7 -18
  197. data/test/wsdl/document/array/test_array.rb +8 -18
  198. data/test/wsdl/document/ping_nosoapaction.wsdl +1 -1
  199. data/test/wsdl/document/test_nosoapaction.rb +2 -9
  200. data/test/wsdl/document/test_number.rb +3 -10
  201. data/test/wsdl/document/test_rpc.rb +96 -21
  202. data/test/wsdl/fault/fault.wsdl +79 -0
  203. data/test/wsdl/fault/multifault.wsdl +96 -0
  204. data/test/wsdl/fault/test_fault.rb +119 -0
  205. data/test/wsdl/fault/test_multifault.rb +134 -0
  206. data/test/wsdl/list/test_list.rb +6 -16
  207. data/test/wsdl/marshal/test_wsdlmarshal.rb +10 -13
  208. data/test/wsdl/oneway/oneway.wsdl +36 -0
  209. data/test/wsdl/oneway/test_oneway.rb +108 -0
  210. data/test/wsdl/overload/test_overload.rb +3 -10
  211. data/test/wsdl/qualified/test_qualified.rb +9 -17
  212. data/test/wsdl/qualified/test_unqualified.rb +14 -21
  213. data/test/wsdl/ref/expectedDriver.rb +51 -0
  214. data/test/wsdl/ref/expectedProduct.rb +71 -71
  215. data/test/wsdl/ref/test_ref.rb +13 -35
  216. data/test/wsdl/rpc/rpc.wsdl +27 -1
  217. data/test/wsdl/rpc/test-rpc-lit-qualified.wsdl +74 -0
  218. data/test/wsdl/rpc/test-rpc-lit.wsdl +11 -4
  219. data/test/wsdl/rpc/test-rpc-lit12.wsdl +455 -0
  220. data/test/wsdl/rpc/test_rpc.rb +20 -19
  221. data/test/wsdl/rpc/test_rpc_lit.rb +82 -29
  222. data/test/wsdl/simplecontent/simplecontent.wsdl +1 -0
  223. data/test/wsdl/simplecontent/test_simplecontent.rb +5 -19
  224. data/test/wsdl/simpletype/rpc/expectedDriver.rb +6 -4
  225. data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +15 -0
  226. data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +64 -0
  227. data/test/wsdl/simpletype/rpc/expectedService.rb +6 -4
  228. data/test/wsdl/simpletype/rpc/rpc.wsdl +18 -0
  229. data/test/wsdl/simpletype/rpc/test_rpc.rb +6 -16
  230. data/test/wsdl/simpletype/simpletype.wsdl +19 -0
  231. data/test/wsdl/simpletype/test_simpletype.rb +2 -9
  232. data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +6 -4
  233. data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +40 -0
  234. data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +6 -4
  235. data/test/wsdl/soap/wsdl2ruby/expectedService.rb +6 -4
  236. data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +5 -6
  237. data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +3 -16
  238. data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +9 -17
  239. data/test/wsdl/soaptype/test_soaptype.rb +29 -11
  240. data/test/xsd/test_xsd.rb +115 -1
  241. metadata +421 -454
  242. data/test/interopR2/client.NetRemoting.rb.result +0 -3410
  243. data/test/interopR2/client.NetRemoting_Base.log +0 -6279
  244. data/test/interopR2/client.NetRemoting_GroupB.log +0 -1188
  245. data/test/interopR2/client4S4C2_Base.log +0 -4955
  246. data/test/interopR2/client4S4C2_GroupB.log +0 -1000
  247. data/test/interopR2/client4S4C_Base.log +0 -4635
  248. data/test/interopR2/client4S4C_GroupB.log +0 -900
  249. data/test/interopR2/clientASP.NET_Base.log +0 -5468
  250. data/test/interopR2/clientASP.NET_GroupB.log +0 -977
  251. data/test/interopR2/clientApacheAxis_Base.log +0 -3171
  252. data/test/interopR2/clientApacheAxis_GroupB.log +0 -498
  253. data/test/interopR2/clientApacheSOAP_Base.log +0 -3171
  254. data/test/interopR2/clientBEAWebLogic_Base.log +0 -3171
  255. data/test/interopR2/clientBEAWebLogic_GroupB.log +0 -498
  256. data/test/interopR2/clientCapeConnect_Base.log +0 -2126
  257. data/test/interopR2/clientDelphi_Base.log +0 -0
  258. data/test/interopR2/clientEasySoap_Base.log +0 -6187
  259. data/test/interopR2/clientEasySoap_GroupB.log +0 -1076
  260. data/test/interopR2/clientFrontier_Base.log +0 -5188
  261. data/test/interopR2/clientHP_Base.log +0 -3171
  262. data/test/interopR2/clientHP_GroupB.log +0 -498
  263. data/test/interopR2/clientJSOAP_Base.log +0 -4465
  264. data/test/interopR2/clientJSOAP_GroupB.log +0 -824
  265. data/test/interopR2/clientKafkaXSLT_Base.log +0 -10299
  266. data/test/interopR2/clientKafkaXSLT_GroupB.log +0 -1739
  267. data/test/interopR2/clientMSSOAPToolkit2.0_Base.log +0 -4805
  268. data/test/interopR2/clientMSSOAPToolkit2.0_GroupB.log +0 -871
  269. data/test/interopR2/clientMSSOAPToolkit3.0_Base.log +0 -5076
  270. data/test/interopR2/clientMSSOAPToolkit3.0_GroupB.log +0 -908
  271. data/test/interopR2/clientNuSOAP_Base.log +0 -5076
  272. data/test/interopR2/clientNuSOAP_GroupB.log +0 -958
  273. data/test/interopR2/clientNuWave_Base.log +0 -2019
  274. data/test/interopR2/clientOpenLink_Base.log +0 -6171
  275. data/test/interopR2/clientOpenLink_GroupB.log +0 -1094
  276. data/test/interopR2/clientOracle_Base.log +0 -5594
  277. data/test/interopR2/clientPEAR_Base.log +0 -6261
  278. data/test/interopR2/clientPEAR_GroupB.log +0 -1106
  279. data/test/interopR2/clientPhalanx_Base.log +0 -41036
  280. data/test/interopR2/clientPhalanx_GroupB.log +0 -6519
  281. data/test/interopR2/clientSIMACE_Base.log +0 -6171
  282. data/test/interopR2/clientSIMACE_GroupB.log +0 -1093
  283. data/test/interopR2/clientSOAP4R.rb.result +0 -3409
  284. data/test/interopR2/clientSOAP4R_Base.log +0 -6366
  285. data/test/interopR2/clientSOAP4R_GroupB.log +0 -1112
  286. data/test/interopR2/clientSQLData_Base.log +0 -4857
  287. data/test/interopR2/clientSQLData_GroupB.log +0 -770
  288. data/test/interopR2/clientSilverStream_Base.log +0 -3171
  289. data/test/interopR2/clientSpray2001_Base.log +0 -8187
  290. data/test/interopR2/clientSpray2001_GroupB.log +0 -1408
  291. data/test/interopR2/clientSun_Base.log +0 -4641
  292. data/test/interopR2/clientSun_GroupB.log +0 -856
  293. data/test/interopR2/clientVWOpentalkSoap_Base.log +0 -5402
  294. data/test/interopR2/clientVWOpentalkSoap_GroupB.log +0 -972
  295. data/test/interopR2/clientWASPC_Base.log +0 -4187
  296. data/test/interopR2/clientWASPC_GroupB.log +0 -763
  297. data/test/interopR2/clientWASP_Base.log +0 -5414
  298. data/test/interopR2/clientWASP_GroupB.log +0 -970
  299. data/test/interopR2/clientWebMethods_Base.log +0 -3075
  300. data/test/interopR2/clientWebMethods_GroupB.log +0 -483
  301. data/test/interopR2/clientWhiteMesa_Base.log +0 -4359
  302. data/test/interopR2/clientWhiteMesa_GroupB.log +0 -808
  303. data/test/interopR2/clientWingfoot_Base.log +0 -4445
  304. data/test/interopR2/clientWingfoot_GroupB.log +0 -848
  305. data/test/interopR2/clientXMLBus_Base.log +0 -3075
  306. data/test/interopR2/clientXMLBus_GroupB.log +0 -483
  307. data/test/interopR2/clientXSOAP_Base.log +0 -4445
  308. data/test/interopR2/clienteSOAP_Base.log +0 -8728
  309. data/test/interopR2/clientgSOAP_Base.log +0 -4689
  310. data/test/interopR2/clientgSOAP_GroupB.log +0 -1014
  311. data/test/interopR2/clientkSOAP_Base.log +0 -5625
@@ -3,6 +3,7 @@ require 'wsdl/parser'
3
3
  require 'wsdl/soap/wsdl2ruby'
4
4
  require 'soap/rpc/standaloneServer'
5
5
  require 'soap/wsdlDriver'
6
+ require File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'testutil.rb')
6
7
 
7
8
 
8
9
  module WSDL; module Overload
@@ -62,7 +63,7 @@ class TestOverload < Test::Unit::TestCase
62
63
  def setup_server
63
64
  @server = Server.new('Test', "urn:rpc", '0.0.0.0', Port)
64
65
  @server.level = Logger::Severity::ERROR
65
- @server_thread = start_server_thread(@server)
66
+ @server_thread = TestUtil.start_server_thread(@server)
66
67
  end
67
68
 
68
69
  def setup_classdef
@@ -73,7 +74,7 @@ class TestOverload < Test::Unit::TestCase
73
74
  gen.opt['classdef'] = nil
74
75
  gen.opt['force'] = true
75
76
  gen.run
76
- require pathname('default')
77
+ TestUtil.require(DIR, 'default.rb')
77
78
  end
78
79
 
79
80
  def teardown_server
@@ -82,14 +83,6 @@ class TestOverload < Test::Unit::TestCase
82
83
  @server_thread.join
83
84
  end
84
85
 
85
- def start_server_thread(server)
86
- t = Thread.new {
87
- Thread.current.abort_on_exception = true
88
- server.start
89
- }
90
- t
91
- end
92
-
93
86
  def pathname(filename)
94
87
  File.join(DIR, filename)
95
88
  end
@@ -2,6 +2,8 @@ require 'test/unit'
2
2
  require 'wsdl/soap/wsdl2ruby'
3
3
  require 'soap/rpc/standaloneServer'
4
4
  require 'soap/wsdlDriver'
5
+ require File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'testutil.rb')
6
+
5
7
 
6
8
  if defined?(HTTPAccess2)
7
9
 
@@ -40,6 +42,7 @@ class TestQualified < Test::Unit::TestCase
40
42
  teardown_server
41
43
  unless $DEBUG
42
44
  File.unlink(pathname('default.rb'))
45
+ File.unlink(pathname('defaultMappingRegistry.rb'))
43
46
  File.unlink(pathname('defaultDriver.rb'))
44
47
  end
45
48
  @client.reset_stream if @client
@@ -48,7 +51,7 @@ class TestQualified < Test::Unit::TestCase
48
51
  def setup_server
49
52
  @server = Server.new('Test', "urn:lp", '0.0.0.0', Port)
50
53
  @server.level = Logger::Severity::ERROR
51
- @server_thread = start_server_thread(@server)
54
+ @server_thread = TestUtil.start_server_thread(@server)
52
55
  end
53
56
 
54
57
  def setup_clientdef
@@ -59,12 +62,15 @@ class TestQualified < Test::Unit::TestCase
59
62
  gen.location = pathname("np.wsdl")
60
63
  gen.basedir = DIR
61
64
  gen.logger.level = Logger::FATAL
65
+ gen.opt['module_path'] = self.class.to_s.sub(/::[^:]+$/, '')
62
66
  gen.opt['classdef'] = nil
67
+ gen.opt['mapping_registry'] = nil
63
68
  gen.opt['driver'] = nil
64
69
  gen.opt['force'] = true
65
70
  gen.run
66
- require pathname('default.rb')
71
+ require 'default.rb'
67
72
  ensure
73
+ $".delete('default.rb')
68
74
  Dir.chdir(backupdir)
69
75
  end
70
76
  end
@@ -75,14 +81,6 @@ class TestQualified < Test::Unit::TestCase
75
81
  @server_thread.join
76
82
  end
77
83
 
78
- def start_server_thread(server)
79
- t = Thread.new {
80
- Thread.current.abort_on_exception = true
81
- server.start
82
- }
83
- t
84
- end
85
-
86
84
  def pathname(filename)
87
85
  File.join(DIR, filename)
88
86
  end
@@ -119,13 +117,7 @@ class TestQualified < Test::Unit::TestCase
119
117
 
120
118
  include ::SOAP
121
119
  def test_naive
122
- backupdir = Dir.pwd
123
- begin
124
- Dir.chdir(DIR)
125
- require pathname('defaultDriver')
126
- ensure
127
- Dir.chdir(backupdir)
128
- end
120
+ TestUtil.require(DIR, 'defaultDriver.rb', 'defaultMappingRegistry.rb', 'default.rb')
129
121
  @client = PnumSoap.new("http://localhost:#{Port}/")
130
122
 
131
123
  @client.wiredump_dev = str = ''
@@ -2,6 +2,8 @@ require 'test/unit'
2
2
  require 'wsdl/soap/wsdl2ruby'
3
3
  require 'soap/rpc/standaloneServer'
4
4
  require 'soap/wsdlDriver'
5
+ require File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'testutil.rb')
6
+
5
7
 
6
8
  if defined?(HTTPAccess2)
7
9
 
@@ -38,15 +40,18 @@ class TestUnqualified < Test::Unit::TestCase
38
40
 
39
41
  def teardown
40
42
  teardown_server
41
- File.unlink(pathname('lp.rb')) unless $DEBUG
42
- File.unlink(pathname('lpDriver.rb')) unless $DEBUG
43
+ unless $DEBUG
44
+ File.unlink(pathname('lp.rb'))
45
+ File.unlink(pathname('lpMappingRegistry.rb'))
46
+ File.unlink(pathname('lpDriver.rb'))
47
+ end
43
48
  @client.reset_stream if @client
44
49
  end
45
50
 
46
51
  def setup_server
47
52
  @server = Server.new('Test', "urn:lp", '0.0.0.0', Port)
48
53
  @server.level = Logger::Severity::ERROR
49
- @server_thread = start_server_thread(@server)
54
+ @server_thread = TestUtil.start_server_thread(@server)
50
55
  end
51
56
 
52
57
  def setup_clientdef
@@ -57,12 +62,15 @@ class TestUnqualified < Test::Unit::TestCase
57
62
  gen.location = pathname("lp.wsdl")
58
63
  gen.basedir = DIR
59
64
  gen.logger.level = Logger::FATAL
65
+ gen.opt['module_path'] = self.class.to_s.sub(/::[^:]+$/, '')
60
66
  gen.opt['classdef'] = nil
67
+ gen.opt['mapping_registry'] = nil
61
68
  gen.opt['driver'] = nil
62
69
  gen.opt['force'] = true
63
70
  gen.run
64
- require pathname('lp')
71
+ require 'lp.rb'
65
72
  ensure
73
+ $".delete('lp.rb')
66
74
  Dir.chdir(backupdir)
67
75
  end
68
76
  end
@@ -73,14 +81,6 @@ class TestUnqualified < Test::Unit::TestCase
73
81
  @server_thread.join
74
82
  end
75
83
 
76
- def start_server_thread(server)
77
- t = Thread.new {
78
- Thread.current.abort_on_exception = true
79
- server.start
80
- }
81
- t
82
- end
83
-
84
84
  def pathname(filename)
85
85
  File.join(DIR, filename)
86
86
  end
@@ -105,8 +105,7 @@ class TestUnqualified < Test::Unit::TestCase
105
105
  xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
106
106
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
107
107
  <env:Body>
108
- <n1:login xmlns:n1="urn:lp"
109
- xsi:type="n1:login">
108
+ <n1:login xmlns:n1="urn:lp">
110
109
  <username>NaHi</username>
111
110
  <password>passwd</password>
112
111
  <timezone>JST</timezone>
@@ -134,13 +133,7 @@ class TestUnqualified < Test::Unit::TestCase
134
133
 
135
134
  include ::SOAP
136
135
  def test_naive
137
- backupdir = Dir.pwd
138
- begin
139
- Dir.chdir(DIR)
140
- require pathname('lpDriver')
141
- ensure
142
- Dir.chdir(backupdir)
143
- end
136
+ TestUtil.require(DIR, 'lpDriver.rb', 'lpMappingRegistry.rb', 'lp.rb')
144
137
  @client = Lp_porttype.new("http://localhost:#{Port}/")
145
138
 
146
139
  @client.wiredump_dev = str = ''
@@ -0,0 +1,51 @@
1
+ require 'product.rb'
2
+ require 'productMappingRegistry.rb'
3
+
4
+ module WSDL::Ref
5
+ require 'soap/rpc/driver'
6
+
7
+ class Ref_porttype < ::SOAP::RPC::Driver
8
+ DefaultEndpointUrl = "http://localhost:17171/"
9
+
10
+ Methods = [
11
+ [ "urn:ref:echo",
12
+ "echo",
13
+ [ ["in", "parameters", ["::SOAP::SOAPElement", "urn:ref", "Product-Bag"]],
14
+ ["out", "parameters", ["::SOAP::SOAPElement", "urn:ref", "Creator"]] ],
15
+ { :request_style => :document, :request_use => :literal,
16
+ :response_style => :document, :response_use => :literal,
17
+ :faults => {} }
18
+ ]
19
+ ]
20
+
21
+ def initialize(endpoint_url = nil)
22
+ endpoint_url ||= DefaultEndpointUrl
23
+ super(endpoint_url, nil)
24
+ self.mapping_registry = ProductMappingRegistry::EncodedRegistry
25
+ self.literal_mapping_registry = ProductMappingRegistry::LiteralRegistry
26
+ init_methods
27
+ end
28
+
29
+ private
30
+
31
+ def init_methods
32
+ Methods.each do |definitions|
33
+ opt = definitions.last
34
+ if opt[:request_style] == :document
35
+ add_document_operation(*definitions)
36
+ else
37
+ add_rpc_operation(*definitions)
38
+ qname = definitions[0]
39
+ name = definitions[2]
40
+ if qname.name != name and qname.name.capitalize == name.capitalize
41
+ ::SOAP::Mapping.define_singleton_method(self, qname.name) do |*arg|
42
+ __send__(name, *arg)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+
51
+ end
@@ -1,75 +1,5 @@
1
1
  require 'xsd/qname'
2
2
 
3
- # {urn:ref}Rating
4
- class Rating < ::String
5
- C_0 = Rating.new("0")
6
- C_1 = Rating.new("+1")
7
- C_1_2 = Rating.new("-1")
8
- end
9
-
10
- # {urn:ref}Product-Bag
11
- class ProductBag
12
- attr_accessor :bag
13
- attr_accessor :rating
14
- attr_accessor :comment_1
15
- attr_accessor :comment_2
16
-
17
- def m___point
18
- @v___point
19
- end
20
-
21
- def m___point=(value)
22
- @v___point = value
23
- end
24
-
25
- def xmlattr_version
26
- (@__xmlattr ||= {})[XSD::QName.new("urn:ref", "version")]
27
- end
28
-
29
- def xmlattr_version=(value)
30
- (@__xmlattr ||= {})[XSD::QName.new("urn:ref", "version")] = value
31
- end
32
-
33
- def xmlattr_yesno
34
- (@__xmlattr ||= {})[XSD::QName.new("urn:ref", "yesno")]
35
- end
36
-
37
- def xmlattr_yesno=(value)
38
- (@__xmlattr ||= {})[XSD::QName.new("urn:ref", "yesno")] = value
39
- end
40
-
41
- def initialize(bag = [], rating = [], comment_1 = [], comment_2 = [], v___point = nil)
42
- @bag = bag
43
- @rating = rating
44
- @comment_1 = comment_1
45
- @comment_2 = comment_2
46
- @v___point = v___point
47
- @__xmlattr = {}
48
- end
49
- end
50
-
51
- # {urn:ref}Creator
52
- class Creator < ::String
53
- def xmlattr_Role
54
- (@__xmlattr ||= {})[XSD::QName.new(nil, "Role")]
55
- end
56
-
57
- def xmlattr_Role=(value)
58
- (@__xmlattr ||= {})[XSD::QName.new(nil, "Role")] = value
59
- end
60
-
61
- def initialize(*arg)
62
- super
63
- @__xmlattr = {}
64
- end
65
- end
66
-
67
- # {urn:ref}yesno
68
- class Yesno < ::String
69
- N = Yesno.new("N")
70
- Y = Yesno.new("Y")
71
- end
72
-
73
3
  # {urn:ref}Product
74
4
  class Product
75
5
  attr_accessor :name
@@ -130,7 +60,7 @@ class Document < ::String
130
60
  end
131
61
 
132
62
  # {urn:ref}DerivedChoice_BaseSimpleContent
133
- class DerivedChoice_BaseSimpleContent
63
+ class DerivedChoice_BaseSimpleContent < Document
134
64
  attr_accessor :varStringExt
135
65
  attr_accessor :varFloatExt
136
66
 
@@ -156,3 +86,73 @@ class DerivedChoice_BaseSimpleContent
156
86
  @__xmlattr = {}
157
87
  end
158
88
  end
89
+
90
+ # {urn:ref}Rating
91
+ class Rating < ::String
92
+ C_0 = Rating.new("0")
93
+ C_1 = Rating.new("+1")
94
+ C_1_2 = Rating.new("-1")
95
+ end
96
+
97
+ # {urn:ref}Product-Bag
98
+ class ProductBag
99
+ attr_accessor :bag
100
+ attr_accessor :rating
101
+ attr_accessor :comment_1
102
+ attr_accessor :comment_2
103
+
104
+ def m___point
105
+ @v___point
106
+ end
107
+
108
+ def m___point=(value)
109
+ @v___point = value
110
+ end
111
+
112
+ def xmlattr_version
113
+ (@__xmlattr ||= {})[XSD::QName.new("urn:ref", "version")]
114
+ end
115
+
116
+ def xmlattr_version=(value)
117
+ (@__xmlattr ||= {})[XSD::QName.new("urn:ref", "version")] = value
118
+ end
119
+
120
+ def xmlattr_yesno
121
+ (@__xmlattr ||= {})[XSD::QName.new("urn:ref", "yesno")]
122
+ end
123
+
124
+ def xmlattr_yesno=(value)
125
+ (@__xmlattr ||= {})[XSD::QName.new("urn:ref", "yesno")] = value
126
+ end
127
+
128
+ def initialize(bag = [], rating = [], comment_1 = [], comment_2 = [], v___point = nil)
129
+ @bag = bag
130
+ @rating = rating
131
+ @comment_1 = comment_1
132
+ @comment_2 = comment_2
133
+ @v___point = v___point
134
+ @__xmlattr = {}
135
+ end
136
+ end
137
+
138
+ # {urn:ref}Creator
139
+ class Creator < ::String
140
+ def xmlattr_Role
141
+ (@__xmlattr ||= {})[XSD::QName.new(nil, "Role")]
142
+ end
143
+
144
+ def xmlattr_Role=(value)
145
+ (@__xmlattr ||= {})[XSD::QName.new(nil, "Role")] = value
146
+ end
147
+
148
+ def initialize(*arg)
149
+ super
150
+ @__xmlattr = {}
151
+ end
152
+ end
153
+
154
+ # {urn:ref}yesno
155
+ class Yesno < ::String
156
+ N = Yesno.new("N")
157
+ Y = Yesno.new("Y")
158
+ end
@@ -2,6 +2,7 @@ require 'test/unit'
2
2
  require 'soap/rpc/standaloneServer'
3
3
  require 'soap/wsdlDriver'
4
4
  require 'wsdl/soap/wsdl2ruby'
5
+ require File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'testutil.rb')
5
6
 
6
7
 
7
8
  module WSDL
@@ -63,15 +64,18 @@ class TestRef < Test::Unit::TestCase
63
64
 
64
65
  def teardown
65
66
  teardown_server
66
- File.unlink(pathname('product.rb')) unless $DEBUG
67
- File.unlink(pathname('productDriver.rb')) unless $DEBUG
67
+ unless $DEBUG
68
+ File.unlink(pathname('product.rb'))
69
+ File.unlink(pathname('productMappingRegistry.rb'))
70
+ File.unlink(pathname('productDriver.rb'))
71
+ end
68
72
  @client.reset_stream if @client
69
73
  end
70
74
 
71
75
  def setup_server
72
76
  @server = Server.new('Test', Namespace, '0.0.0.0', Port)
73
77
  @server.level = Logger::Severity::ERROR
74
- @server_thread = start_server_thread(@server)
78
+ @server_thread = TestUtil.start_server_thread(@server)
75
79
  end
76
80
 
77
81
  def setup_classdef
@@ -79,18 +83,13 @@ class TestRef < Test::Unit::TestCase
79
83
  gen.location = pathname("product.wsdl")
80
84
  gen.basedir = DIR
81
85
  gen.logger.level = Logger::FATAL
86
+ gen.opt['module_path'] = self.class.to_s.sub(/::[^:]+$/, '')
82
87
  gen.opt['classdef'] = nil
88
+ gen.opt['mapping_registry'] = nil
83
89
  gen.opt['driver'] = nil
84
90
  gen.opt['force'] = true
85
91
  gen.run
86
- backupdir = Dir.pwd
87
- begin
88
- Dir.chdir(DIR)
89
- require pathname('product')
90
- require pathname('productDriver')
91
- ensure
92
- Dir.chdir(backupdir)
93
- end
92
+ TestUtil.require(DIR, 'product.rb', 'productMappingRegistry.rb', 'productDriver.rb')
94
93
  end
95
94
 
96
95
  def teardown_server
@@ -99,34 +98,12 @@ class TestRef < Test::Unit::TestCase
99
98
  @server_thread.join
100
99
  end
101
100
 
102
- def start_server_thread(server)
103
- t = Thread.new {
104
- Thread.current.abort_on_exception = true
105
- server.start
106
- }
107
- t
108
- end
109
-
110
101
  def pathname(filename)
111
102
  File.join(DIR, filename)
112
103
  end
113
104
 
114
105
  def compare(expected, actual)
115
- assert_equal(loadfile(expected), loadfile(actual), actual)
116
- end
117
-
118
- def loadfile(file)
119
- File.open(pathname(file)) { |f| f.read }
120
- end
121
-
122
- def suppress_warning
123
- back = $VERBOSE
124
- $VERBOSE = nil
125
- begin
126
- yield
127
- ensure
128
- $VERBOSE = back
129
- end
106
+ TestUtil.filecompare(pathname(expected), pathname(actual))
130
107
  end
131
108
 
132
109
  def test_classdef
@@ -136,10 +113,11 @@ class TestRef < Test::Unit::TestCase
136
113
  gen.logger.level = Logger::FATAL
137
114
  gen.opt['classdef'] = nil
138
115
  gen.opt['force'] = true
139
- suppress_warning do
116
+ TestUtil.silent do
140
117
  gen.run
141
118
  end
142
119
  compare("expectedProduct.rb", "product.rb")
120
+ compare("expectedDriver.rb", "productDriver.rb")
143
121
  end
144
122
 
145
123
  def test_wsdl