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.
- data/bin/wsdl2ruby.rb +8 -8
- data/lib/soap/XMLSchemaDatatypes.rb +1 -1
- data/lib/soap/XMLSchemaDatatypes1999.rb +1 -1
- data/lib/soap/attachment.rb +1 -1
- data/lib/soap/baseData.rb +102 -54
- data/lib/soap/cgistub.rb +1 -1
- data/lib/soap/charset.rb +1 -1
- data/lib/soap/driver.rb +1 -1
- data/lib/soap/element.rb +20 -12
- data/lib/soap/encodingstyle/aspDotNetHandler.rb +2 -2
- data/lib/soap/encodingstyle/handler.rb +1 -1
- data/lib/soap/encodingstyle/literalHandler.rb +29 -73
- data/lib/soap/encodingstyle/soapHandler.rb +8 -7
- data/lib/soap/filter.rb +10 -0
- data/lib/soap/filter/filterchain.rb +51 -0
- data/lib/soap/filter/handler.rb +31 -0
- data/lib/soap/generator.rb +11 -3
- data/lib/soap/header/handler.rb +6 -5
- data/lib/soap/header/handlerset.rb +7 -7
- data/lib/soap/header/simplehandler.rb +1 -1
- data/lib/soap/httpconfigloader.rb +7 -2
- data/lib/soap/mapping.rb +1 -1
- data/lib/soap/mapping/encodedregistry.rb +36 -26
- data/lib/soap/mapping/encodedregistry.rb~ +531 -0
- data/lib/soap/mapping/factory.rb +2 -2
- data/lib/soap/mapping/literalregistry.rb +107 -67
- data/lib/soap/mapping/mapping.rb +92 -112
- data/lib/soap/mapping/registry.rb +25 -8
- data/lib/soap/mapping/rubytypeFactory.rb +1 -1
- data/lib/soap/mapping/schemadefinition.rb +163 -0
- data/lib/soap/mapping/typeMap.rb +7 -1
- data/lib/soap/mapping/wsdlencodedregistry.rb +2 -2
- data/lib/soap/mapping/wsdlliteralregistry.rb +14 -23
- data/lib/soap/mappingRegistry.rb +1 -1
- data/lib/soap/marshal.rb +1 -1
- data/lib/soap/namespace.rb +1 -1
- data/lib/soap/netHttpClient.rb +43 -13
- data/lib/soap/parser.rb +40 -42
- data/lib/soap/processor.rb +1 -1
- data/lib/soap/property.rb +7 -7
- data/lib/soap/proxy.rb +1 -1
- data/lib/soap/qname.rb +1 -1
- data/lib/soap/rpc/cgistub.rb +34 -1
- data/lib/soap/rpc/driver.rb +2 -1
- data/lib/soap/rpc/element.rb +42 -15
- data/lib/soap/rpc/httpserver.rb +13 -1
- data/lib/soap/rpc/proxy.rb +51 -41
- data/lib/soap/rpc/router.rb +88 -33
- data/lib/soap/rpc/rpc.rb +1 -1
- data/lib/soap/rpc/soaplet.rb +51 -3
- data/lib/soap/rpc/standaloneServer.rb +1 -1
- data/lib/soap/rpcRouter.rb +1 -1
- data/lib/soap/rpcUtils.rb +1 -1
- data/lib/soap/server.rb +1 -1
- data/lib/soap/soap.rb +2 -2
- data/lib/soap/standaloneServer.rb +1 -1
- data/lib/soap/streamHandler.rb +13 -4
- data/lib/soap/wsdlDriver.rb +11 -15
- data/lib/tags +5144 -0
- data/lib/wsdl/binding.rb +1 -1
- data/lib/wsdl/data.rb +1 -1
- data/lib/wsdl/definitions.rb +1 -1
- data/lib/wsdl/documentation.rb +1 -1
- data/lib/wsdl/import.rb +1 -1
- data/lib/wsdl/importer.rb +1 -1
- data/lib/wsdl/info.rb +1 -1
- data/lib/wsdl/message.rb +1 -1
- data/lib/wsdl/operation.rb +10 -7
- data/lib/wsdl/operationBinding.rb +19 -5
- data/lib/wsdl/param.rb +11 -3
- data/lib/wsdl/parser.rb +4 -3
- data/lib/wsdl/part.rb +1 -1
- data/lib/wsdl/port.rb +1 -1
- data/lib/wsdl/portType.rb +1 -1
- data/lib/wsdl/service.rb +1 -1
- data/lib/wsdl/soap/address.rb +1 -1
- data/lib/wsdl/soap/binding.rb +1 -1
- data/lib/wsdl/soap/body.rb +3 -1
- data/lib/wsdl/soap/cgiStubCreator.rb +1 -1
- data/lib/wsdl/soap/classDefCreator.rb +78 -14
- data/lib/wsdl/soap/classDefCreatorSupport.rb +28 -11
- data/lib/wsdl/soap/clientSkeltonCreator.rb +3 -2
- data/lib/wsdl/soap/complexType.rb +8 -11
- data/lib/wsdl/soap/data.rb +1 -1
- data/lib/wsdl/soap/definitions.rb +49 -4
- data/lib/wsdl/soap/driverCreator.rb +1 -1
- data/lib/wsdl/soap/element.rb +3 -2
- data/lib/wsdl/soap/encodedMappingRegistryCreator.rb +1 -1
- data/lib/wsdl/soap/fault.rb +1 -1
- data/lib/wsdl/soap/header.rb +1 -1
- data/lib/wsdl/soap/headerfault.rb +1 -1
- data/lib/wsdl/soap/literalMappingRegistryCreator.rb +41 -21
- data/lib/wsdl/soap/mappingRegistryCreator.rb +2 -1
- data/lib/wsdl/soap/mappingRegistryCreatorSupport.rb +45 -19
- data/lib/wsdl/soap/methodDefCreator.rb +28 -17
- data/lib/wsdl/soap/operation.rb +11 -11
- data/lib/wsdl/soap/servantSkeltonCreator.rb +3 -2
- data/lib/wsdl/soap/standaloneServerStubCreator.rb +1 -1
- data/lib/wsdl/soap/wsdl2ruby.rb +8 -2
- data/lib/wsdl/types.rb +1 -1
- data/lib/wsdl/wsdl.rb +1 -1
- data/lib/wsdl/xmlSchema/all.rb +1 -1
- data/lib/wsdl/xmlSchema/annotation.rb +1 -1
- data/lib/wsdl/xmlSchema/any.rb +10 -5
- data/lib/wsdl/xmlSchema/attribute.rb +1 -1
- data/lib/wsdl/xmlSchema/choice.rb +1 -1
- data/lib/wsdl/xmlSchema/complexContent.rb +11 -2
- data/lib/wsdl/xmlSchema/complexExtension.rb +8 -1
- data/lib/wsdl/xmlSchema/complexRestriction.rb +6 -2
- data/lib/wsdl/xmlSchema/complexType.rb +9 -1
- data/lib/wsdl/xmlSchema/content.rb +26 -5
- data/lib/wsdl/xmlSchema/data.rb +4 -1
- data/lib/wsdl/xmlSchema/element.rb +12 -9
- data/lib/wsdl/xmlSchema/enumeration.rb +1 -1
- data/lib/wsdl/xmlSchema/import.rb +1 -1
- data/lib/wsdl/xmlSchema/importer.rb +9 -6
- data/lib/wsdl/xmlSchema/include.rb +1 -1
- data/lib/wsdl/xmlSchema/length.rb +1 -1
- data/lib/wsdl/xmlSchema/list.rb +1 -1
- data/lib/wsdl/xmlSchema/maxlength.rb +1 -1
- data/lib/wsdl/xmlSchema/minlength.rb +1 -1
- data/lib/wsdl/xmlSchema/parser.rb +4 -3
- data/lib/wsdl/xmlSchema/pattern.rb +1 -1
- data/lib/wsdl/xmlSchema/schema.rb +1 -1
- data/lib/wsdl/xmlSchema/sequence.rb +1 -1
- data/lib/wsdl/xmlSchema/simpleContent.rb +1 -1
- data/lib/wsdl/xmlSchema/simpleExtension.rb +1 -1
- data/lib/wsdl/xmlSchema/simpleRestriction.rb +1 -1
- data/lib/wsdl/xmlSchema/simpleType.rb +8 -1
- data/lib/wsdl/xmlSchema/union.rb +35 -0
- data/lib/wsdl/xmlSchema/unique.rb +1 -1
- data/lib/wsdl/xmlSchema/xsd2ruby.rb +6 -1
- data/lib/xsd/charset.rb +1 -1
- data/lib/xsd/classloader.rb +26 -0
- data/lib/xsd/codegen.rb +1 -1
- data/lib/xsd/codegen/classdef.rb +1 -1
- data/lib/xsd/codegen/commentdef.rb +1 -1
- data/lib/xsd/codegen/gensupport.rb +119 -14
- data/lib/xsd/codegen/methoddef.rb +1 -1
- data/lib/xsd/codegen/moduledef.rb +1 -1
- data/lib/xsd/datatypes.rb +52 -13
- data/lib/xsd/datatypes1999.rb +1 -1
- data/lib/xsd/iconvcharset.rb +1 -1
- data/lib/xsd/mapping.rb +1 -1
- data/lib/xsd/namedelements.rb +1 -1
- data/lib/xsd/ns.rb +2 -2
- data/lib/xsd/qname.rb +1 -1
- data/lib/xsd/xmlparser.rb +16 -3
- data/lib/xsd/xmlparser/parser.rb +6 -2
- data/lib/xsd/xmlparser/rexmlparser.rb +5 -1
- data/lib/xsd/xmlparser/xmlparser.rb +1 -1
- data/lib/xsd/xmlparser/xmlscanner.rb +4 -2
- data/test/interopR2/InteropTest.rb +83 -0
- data/test/interopR2/InteropTest.wsdl +315 -0
- data/test/interopR2/InteropTestC.wsdl +208 -0
- data/test/interopR2/InteropTestDriver.rb +328 -0
- data/test/interopR2/SOAP4R_SOAPBuildersInteropTest_R2.wsdl +461 -0
- data/test/interopR2/SOAP4R_SOAPBuildersInteropTest_R2GroupB.wsdl +20 -0
- data/test/interopR2/SOAP4R_SOAPBuildersInteropTest_R2GroupCClient.rb +178 -0
- data/test/interopR2/SOAPBuildersInterop_R2GrC.wsdl +17 -0
- data/test/interopR2/clientBase.rb +0 -3
- data/test/interopR2/groupc.wsdl +17 -0
- data/test/interopR2/result_client.NetRemoting.txt +0 -4593
- data/test/interopR2/test.sh +9 -9
- data/test/runner.rb +1 -3
- data/test/soap/asp.net/test_aspdotnet.rb +20 -9
- data/test/soap/case/test_mapping.rb +57 -0
- data/test/soap/filter/test_filter.rb +146 -0
- data/test/soap/literalArrayMapping/test_definedarray.rb +7 -9
- data/test/soap/marshal/marshaltestlib.rb +1 -1
- data/test/soap/ssl/test_ssl.rb +0 -10
- data/test/soap/struct/test_struct.rb +2 -9
- data/test/soap/test_basetype.rb +114 -0
- data/test/soap/test_empty.rb +26 -2
- data/test/soap/test_envelopenamespace.rb +2 -9
- data/test/soap/test_extraattr.rb +55 -0
- data/test/soap/test_httpconfigloader.rb +17 -0
- data/test/soap/test_property.rb +4 -1
- data/test/soap/test_response_as_xml.rb +31 -9
- data/test/soap/test_soapelement.rb +21 -3
- data/test/soap/test_streamhandler.rb +3 -10
- data/test/soap/test_styleuse.rb +2 -9
- data/test/soap/wsdlDriver/test_calc.rb +3 -20
- data/test/soap/wsdlDriver/test_document.rb +2 -9
- data/test/soap/wsdlDriver/test_simpletype.rb +2 -9
- data/test/testutil.rb +54 -0
- data/test/wsdl/abstract/abstract.wsdl +82 -3
- data/test/wsdl/abstract/test_abstract.rb +48 -19
- data/test/wsdl/any/any.wsdl +63 -0
- data/test/wsdl/any/expectedDriver.rb +22 -1
- data/test/wsdl/any/expectedEcho.rb +19 -0
- data/test/wsdl/any/expectedService.rb +29 -4
- data/test/wsdl/any/test_any.rb +36 -31
- data/test/wsdl/choice/choice.wsdl +37 -0
- data/test/wsdl/choice/test_choice.rb +66 -17
- data/test/wsdl/complexcontent/test_echo.rb +7 -18
- data/test/wsdl/document/array/test_array.rb +8 -18
- data/test/wsdl/document/ping_nosoapaction.wsdl +1 -1
- data/test/wsdl/document/test_nosoapaction.rb +2 -9
- data/test/wsdl/document/test_number.rb +3 -10
- data/test/wsdl/document/test_rpc.rb +96 -21
- data/test/wsdl/fault/fault.wsdl +79 -0
- data/test/wsdl/fault/multifault.wsdl +96 -0
- data/test/wsdl/fault/test_fault.rb +119 -0
- data/test/wsdl/fault/test_multifault.rb +134 -0
- data/test/wsdl/list/test_list.rb +6 -16
- data/test/wsdl/marshal/test_wsdlmarshal.rb +10 -13
- data/test/wsdl/oneway/oneway.wsdl +36 -0
- data/test/wsdl/oneway/test_oneway.rb +108 -0
- data/test/wsdl/overload/test_overload.rb +3 -10
- data/test/wsdl/qualified/test_qualified.rb +9 -17
- data/test/wsdl/qualified/test_unqualified.rb +14 -21
- data/test/wsdl/ref/expectedDriver.rb +51 -0
- data/test/wsdl/ref/expectedProduct.rb +71 -71
- data/test/wsdl/ref/test_ref.rb +13 -35
- data/test/wsdl/rpc/rpc.wsdl +27 -1
- data/test/wsdl/rpc/test-rpc-lit-qualified.wsdl +74 -0
- data/test/wsdl/rpc/test-rpc-lit.wsdl +11 -4
- data/test/wsdl/rpc/test-rpc-lit12.wsdl +455 -0
- data/test/wsdl/rpc/test_rpc.rb +20 -19
- data/test/wsdl/rpc/test_rpc_lit.rb +82 -29
- data/test/wsdl/simplecontent/simplecontent.wsdl +1 -0
- data/test/wsdl/simplecontent/test_simplecontent.rb +5 -19
- data/test/wsdl/simpletype/rpc/expectedDriver.rb +6 -4
- data/test/wsdl/simpletype/rpc/expectedEchoVersion.rb +15 -0
- data/test/wsdl/simpletype/rpc/expectedMappingRegistry.rb +64 -0
- data/test/wsdl/simpletype/rpc/expectedService.rb +6 -4
- data/test/wsdl/simpletype/rpc/rpc.wsdl +18 -0
- data/test/wsdl/simpletype/rpc/test_rpc.rb +6 -16
- data/test/wsdl/simpletype/simpletype.wsdl +19 -0
- data/test/wsdl/simpletype/test_simpletype.rb +2 -9
- data/test/wsdl/soap/wsdl2ruby/expectedDriver.rb +6 -4
- data/test/wsdl/soap/wsdl2ruby/expectedMappingRegistry.rb +40 -0
- data/test/wsdl/soap/wsdl2ruby/expectedService.cgi +6 -4
- data/test/wsdl/soap/wsdl2ruby/expectedService.rb +6 -4
- data/test/wsdl/soap/wsdl2ruby/section/test_section.rb +5 -6
- data/test/wsdl/soap/wsdl2ruby/soapenc/test_soapenc.rb +3 -16
- data/test/wsdl/soap/wsdl2ruby/test_wsdl2ruby.rb +9 -17
- data/test/wsdl/soaptype/test_soaptype.rb +29 -11
- data/test/xsd/test_xsd.rb +115 -1
- metadata +421 -454
- data/test/interopR2/client.NetRemoting.rb.result +0 -3410
- data/test/interopR2/client.NetRemoting_Base.log +0 -6279
- data/test/interopR2/client.NetRemoting_GroupB.log +0 -1188
- data/test/interopR2/client4S4C2_Base.log +0 -4955
- data/test/interopR2/client4S4C2_GroupB.log +0 -1000
- data/test/interopR2/client4S4C_Base.log +0 -4635
- data/test/interopR2/client4S4C_GroupB.log +0 -900
- data/test/interopR2/clientASP.NET_Base.log +0 -5468
- data/test/interopR2/clientASP.NET_GroupB.log +0 -977
- data/test/interopR2/clientApacheAxis_Base.log +0 -3171
- data/test/interopR2/clientApacheAxis_GroupB.log +0 -498
- data/test/interopR2/clientApacheSOAP_Base.log +0 -3171
- data/test/interopR2/clientBEAWebLogic_Base.log +0 -3171
- data/test/interopR2/clientBEAWebLogic_GroupB.log +0 -498
- data/test/interopR2/clientCapeConnect_Base.log +0 -2126
- data/test/interopR2/clientDelphi_Base.log +0 -0
- data/test/interopR2/clientEasySoap_Base.log +0 -6187
- data/test/interopR2/clientEasySoap_GroupB.log +0 -1076
- data/test/interopR2/clientFrontier_Base.log +0 -5188
- data/test/interopR2/clientHP_Base.log +0 -3171
- data/test/interopR2/clientHP_GroupB.log +0 -498
- data/test/interopR2/clientJSOAP_Base.log +0 -4465
- data/test/interopR2/clientJSOAP_GroupB.log +0 -824
- data/test/interopR2/clientKafkaXSLT_Base.log +0 -10299
- data/test/interopR2/clientKafkaXSLT_GroupB.log +0 -1739
- data/test/interopR2/clientMSSOAPToolkit2.0_Base.log +0 -4805
- data/test/interopR2/clientMSSOAPToolkit2.0_GroupB.log +0 -871
- data/test/interopR2/clientMSSOAPToolkit3.0_Base.log +0 -5076
- data/test/interopR2/clientMSSOAPToolkit3.0_GroupB.log +0 -908
- data/test/interopR2/clientNuSOAP_Base.log +0 -5076
- data/test/interopR2/clientNuSOAP_GroupB.log +0 -958
- data/test/interopR2/clientNuWave_Base.log +0 -2019
- data/test/interopR2/clientOpenLink_Base.log +0 -6171
- data/test/interopR2/clientOpenLink_GroupB.log +0 -1094
- data/test/interopR2/clientOracle_Base.log +0 -5594
- data/test/interopR2/clientPEAR_Base.log +0 -6261
- data/test/interopR2/clientPEAR_GroupB.log +0 -1106
- data/test/interopR2/clientPhalanx_Base.log +0 -41036
- data/test/interopR2/clientPhalanx_GroupB.log +0 -6519
- data/test/interopR2/clientSIMACE_Base.log +0 -6171
- data/test/interopR2/clientSIMACE_GroupB.log +0 -1093
- data/test/interopR2/clientSOAP4R.rb.result +0 -3409
- data/test/interopR2/clientSOAP4R_Base.log +0 -6366
- data/test/interopR2/clientSOAP4R_GroupB.log +0 -1112
- data/test/interopR2/clientSQLData_Base.log +0 -4857
- data/test/interopR2/clientSQLData_GroupB.log +0 -770
- data/test/interopR2/clientSilverStream_Base.log +0 -3171
- data/test/interopR2/clientSpray2001_Base.log +0 -8187
- data/test/interopR2/clientSpray2001_GroupB.log +0 -1408
- data/test/interopR2/clientSun_Base.log +0 -4641
- data/test/interopR2/clientSun_GroupB.log +0 -856
- data/test/interopR2/clientVWOpentalkSoap_Base.log +0 -5402
- data/test/interopR2/clientVWOpentalkSoap_GroupB.log +0 -972
- data/test/interopR2/clientWASPC_Base.log +0 -4187
- data/test/interopR2/clientWASPC_GroupB.log +0 -763
- data/test/interopR2/clientWASP_Base.log +0 -5414
- data/test/interopR2/clientWASP_GroupB.log +0 -970
- data/test/interopR2/clientWebMethods_Base.log +0 -3075
- data/test/interopR2/clientWebMethods_GroupB.log +0 -483
- data/test/interopR2/clientWhiteMesa_Base.log +0 -4359
- data/test/interopR2/clientWhiteMesa_GroupB.log +0 -808
- data/test/interopR2/clientWingfoot_Base.log +0 -4445
- data/test/interopR2/clientWingfoot_GroupB.log +0 -848
- data/test/interopR2/clientXMLBus_Base.log +0 -3075
- data/test/interopR2/clientXMLBus_GroupB.log +0 -483
- data/test/interopR2/clientXSOAP_Base.log +0 -4445
- data/test/interopR2/clienteSOAP_Base.log +0 -8728
- data/test/interopR2/clientgSOAP_Base.log +0 -4689
- data/test/interopR2/clientgSOAP_GroupB.log +0 -1014
- data/test/interopR2/clientkSOAP_Base.log +0 -5625
data/test/interopR2/test.sh
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
#!/bin/sh -
|
2
2
|
|
3
|
-
|
3
|
+
ruby clientSOAP4R.rb
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
ruby client4S4C.rb
|
6
|
+
ruby client4S4C2.rb
|
7
|
+
ruby clientApacheAxis.rb
|
8
|
+
ruby clientApacheSOAP.rb
|
9
|
+
ruby clientASP.NET.rb
|
10
|
+
ruby clientBEAWebLogic.rb
|
11
|
+
ruby clientCapeConnect.rb
|
12
|
+
ruby clientDelphi.rb
|
12
13
|
ruby clientEasySoap.rb
|
13
14
|
ruby clienteSOAP.rb
|
14
15
|
ruby clientgSOAP.rb
|
@@ -46,4 +47,3 @@ ruby clientXSOAP.rb
|
|
46
47
|
#ruby clientTclSOAP.rb
|
47
48
|
#ruby clientXMLRPC-EPI.rb
|
48
49
|
#ruby clientZSI.rb
|
49
|
-
#ruby clientCapeConnect.rb
|
data/test/runner.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
|
3
|
-
|
4
|
-
STDERR.sync = true
|
5
|
-
rcsid = %w$Id: runner.rb 1520 2005-04-27 14:56:40Z nahi $
|
3
|
+
rcsid = %w$Id: runner.rb 1751 2007-05-02 08:15:55Z nahi $
|
6
4
|
Version = rcsid[2].scan(/\d+/).collect!(&method(:Integer)).freeze
|
7
5
|
Release = rcsid[3].freeze
|
8
6
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'soap/rpc/standaloneServer'
|
3
3
|
require 'soap/rpc/driver'
|
4
|
+
require File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'testutil.rb')
|
4
5
|
|
5
6
|
|
6
7
|
module SOAP; module ASPDotNet
|
@@ -42,7 +43,7 @@ class TestASPDotNet < Test::Unit::TestCase
|
|
42
43
|
def setup_server
|
43
44
|
@server = Server.new('Test', Server::Namespace, '0.0.0.0', Port)
|
44
45
|
@server.level = Logger::Severity::ERROR
|
45
|
-
@server_thread = start_server_thread(@server)
|
46
|
+
@server_thread = TestUtil.start_server_thread(@server)
|
46
47
|
end
|
47
48
|
|
48
49
|
def teardown_server
|
@@ -51,14 +52,6 @@ class TestASPDotNet < Test::Unit::TestCase
|
|
51
52
|
@server_thread.join
|
52
53
|
end
|
53
54
|
|
54
|
-
def start_server_thread(server)
|
55
|
-
t = Thread.new {
|
56
|
-
Thread.current.abort_on_exception = true
|
57
|
-
server.start
|
58
|
-
}
|
59
|
-
t
|
60
|
-
end
|
61
|
-
|
62
55
|
def test_document_method
|
63
56
|
@client = SOAP::RPC::Driver.new(Endpoint, Server::Namespace)
|
64
57
|
@client.wiredump_dev = STDOUT if $DEBUG
|
@@ -68,6 +61,24 @@ class TestASPDotNet < Test::Unit::TestCase
|
|
68
61
|
assert_equal("Hello Mike", @client.sayHello(:name => "Mike"))
|
69
62
|
end
|
70
63
|
|
64
|
+
def test_xml
|
65
|
+
@client = SOAP::RPC::Driver.new(Endpoint, Server::Namespace)
|
66
|
+
@client.wiredump_dev = STDOUT if $DEBUG
|
67
|
+
@client.add_document_method('sayHello', Server::Namespace + 'SayHello',
|
68
|
+
XSD::QName.new(Server::Namespace, 'SayHello'),
|
69
|
+
XSD::QName.new(Server::Namespace, 'SayHelloResponse'))
|
70
|
+
require 'rexml/document'
|
71
|
+
xml = <<__XML__
|
72
|
+
<n1:sayHello xmlns:n1="http://localhost/WebService/">
|
73
|
+
<n1:name>Mike</n1:name>
|
74
|
+
</n1:sayHello>
|
75
|
+
__XML__
|
76
|
+
ele = REXML::Document.new(xml)
|
77
|
+
assert_equal("Hello Mike", @client.sayHello(ele))
|
78
|
+
def xml.to_xmlpart; to_s; end
|
79
|
+
assert_equal("Hello Mike", @client.sayHello(xml))
|
80
|
+
end
|
81
|
+
|
71
82
|
def test_aspdotnethandler
|
72
83
|
@client = SOAP::RPC::Driver.new(Endpoint, Server::Namespace)
|
73
84
|
@client.wiredump_dev = STDOUT if $DEBUG
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'soap/marshal'
|
3
|
+
|
4
|
+
|
5
|
+
module SOAP; module Case
|
6
|
+
|
7
|
+
# {urn:TruckMateTypes}TTMHeader
|
8
|
+
class TTMHeader
|
9
|
+
@@schema_type = "TTMHeader"
|
10
|
+
@@schema_ns = "urn:TruckMateTypes"
|
11
|
+
@@schema_element = [
|
12
|
+
["dSN", ["SOAP::SOAPString", XSD::QName.new(nil, "DSN")]],
|
13
|
+
["password", ["SOAP::SOAPString", XSD::QName.new(nil, "Password")]],
|
14
|
+
["schema", ["SOAP::SOAPString", XSD::QName.new(nil, "Schema")]],
|
15
|
+
["username", ["SOAP::SOAPString", XSD::QName.new(nil, "Username")]]
|
16
|
+
]
|
17
|
+
|
18
|
+
attr_accessor :dSN
|
19
|
+
attr_accessor :password
|
20
|
+
attr_accessor :schema
|
21
|
+
attr_accessor :username
|
22
|
+
|
23
|
+
def initialize(dSN = nil, password = nil, schema = nil, username = nil)
|
24
|
+
@dSN = dSN
|
25
|
+
@password = password
|
26
|
+
@schema = schema
|
27
|
+
@username = username
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
class TestMapping < Test::Unit::TestCase
|
33
|
+
def test_mapping
|
34
|
+
dump = <<__XML__.chomp
|
35
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
36
|
+
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
37
|
+
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
|
38
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
39
|
+
<env:Body>
|
40
|
+
<SOAP..Case..TTMHeader xmlns:n1="urn:TruckMateTypes"
|
41
|
+
xsi:type="n1:TTMHeader"
|
42
|
+
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
43
|
+
<DSN xsi:type="xsd:string">dsn</DSN>
|
44
|
+
<Password xsi:type="xsd:string">password</Password>
|
45
|
+
<Schema xsi:type="xsd:string">schema</Schema>
|
46
|
+
<Username xsi:type="xsd:string">username</Username>
|
47
|
+
</SOAP..Case..TTMHeader>
|
48
|
+
</env:Body>
|
49
|
+
</env:Envelope>
|
50
|
+
__XML__
|
51
|
+
o = TTMHeader.new("dsn", "password", "schema", "username")
|
52
|
+
assert_equal(dump, SOAP::Marshal.dump(o))
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
end; end
|
@@ -0,0 +1,146 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'soap/rpc/driver'
|
3
|
+
require 'soap/rpc/standaloneServer'
|
4
|
+
require 'soap/filter'
|
5
|
+
|
6
|
+
|
7
|
+
module SOAP
|
8
|
+
module Filter
|
9
|
+
|
10
|
+
|
11
|
+
class TestFilter < Test::Unit::TestCase
|
12
|
+
Port = 17171
|
13
|
+
PortName = 'http://tempuri.org/filterPort'
|
14
|
+
|
15
|
+
class FilterTestServer < SOAP::RPC::StandaloneServer
|
16
|
+
class Servant
|
17
|
+
def self.create
|
18
|
+
new
|
19
|
+
end
|
20
|
+
|
21
|
+
def echo(amt)
|
22
|
+
amt
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class ServerFilter1 < SOAP::Filter::Handler
|
27
|
+
# 15 -> 30
|
28
|
+
def on_outbound(envelope, opt)
|
29
|
+
unless envelope.body.is_fault
|
30
|
+
node = envelope.body.root_node
|
31
|
+
node.retval = SOAPInt.new(node.retval.data * 2)
|
32
|
+
node.elename = XSD::QName.new(nil, 'return')
|
33
|
+
end
|
34
|
+
envelope
|
35
|
+
end
|
36
|
+
|
37
|
+
# 4 -> 5
|
38
|
+
def on_inbound(xml, opt)
|
39
|
+
xml = xml.sub(/4/, '5')
|
40
|
+
xml
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
class ServerFilter2 < SOAP::Filter::Handler
|
45
|
+
# 5 -> 15
|
46
|
+
def on_outbound(envelope, opt)
|
47
|
+
unless envelope.body.is_fault
|
48
|
+
node = envelope.body.root_node
|
49
|
+
node.retval = SOAPInt.new(node.retval.data + 10)
|
50
|
+
node.elename = XSD::QName.new(nil, 'return')
|
51
|
+
end
|
52
|
+
envelope
|
53
|
+
end
|
54
|
+
|
55
|
+
# 5 -> 6
|
56
|
+
def on_inbound(xml, opt)
|
57
|
+
xml = xml.sub(/5/, '6')
|
58
|
+
xml
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def initialize(*arg)
|
63
|
+
super
|
64
|
+
add_rpc_servant(Servant.new, PortName)
|
65
|
+
self.filterchain << ServerFilter1.new
|
66
|
+
self.filterchain << ServerFilter2.new
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def setup
|
71
|
+
@endpoint = "http://localhost:#{Port}/"
|
72
|
+
setup_server
|
73
|
+
setup_client
|
74
|
+
end
|
75
|
+
|
76
|
+
def setup_server
|
77
|
+
@server = FilterTestServer.new(self.class.name, nil, '0.0.0.0', Port)
|
78
|
+
@server.level = Logger::Severity::ERROR
|
79
|
+
@t = Thread.new {
|
80
|
+
@server.start
|
81
|
+
}
|
82
|
+
end
|
83
|
+
|
84
|
+
def setup_client
|
85
|
+
@client = SOAP::RPC::Driver.new(@endpoint, PortName)
|
86
|
+
@client.wiredump_dev = STDERR if $DEBUG
|
87
|
+
@client.add_method('echo', 'amt')
|
88
|
+
end
|
89
|
+
|
90
|
+
def teardown
|
91
|
+
teardown_server
|
92
|
+
teardown_client
|
93
|
+
end
|
94
|
+
|
95
|
+
def teardown_server
|
96
|
+
@server.shutdown
|
97
|
+
@t.kill
|
98
|
+
@t.join
|
99
|
+
end
|
100
|
+
|
101
|
+
def teardown_client
|
102
|
+
@client.reset_stream
|
103
|
+
end
|
104
|
+
|
105
|
+
class ClientFilter1 < SOAP::Filter::Handler
|
106
|
+
# 1 -> 2
|
107
|
+
def on_outbound(envelope, opt)
|
108
|
+
param = envelope.body.root_node.inparam
|
109
|
+
param["amt"] = SOAPInt.new(param["amt"].data + 1)
|
110
|
+
param["amt"].elename = XSD::QName.new(nil, 'amt')
|
111
|
+
envelope
|
112
|
+
end
|
113
|
+
|
114
|
+
# 31 -> 32
|
115
|
+
def on_inbound(xml, opt)
|
116
|
+
xml = xml.sub(/31/, '32')
|
117
|
+
xml
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
class ClientFilter2 < SOAP::Filter::Handler
|
122
|
+
# 2 -> 4
|
123
|
+
def on_outbound(envelope, opt)
|
124
|
+
param = envelope.body.root_node.inparam
|
125
|
+
param["amt"] = SOAPInt.new(param["amt"].data * 2)
|
126
|
+
param["amt"].elename = XSD::QName.new(nil, 'amt')
|
127
|
+
envelope
|
128
|
+
end
|
129
|
+
|
130
|
+
# 30 -> 31
|
131
|
+
def on_inbound(xml, opt)
|
132
|
+
xml = xml.sub(/30/, '31')
|
133
|
+
xml
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
def test_call
|
138
|
+
@client.filterchain << ClientFilter1.new
|
139
|
+
@client.filterchain << ClientFilter2.new
|
140
|
+
assert_equal(32, @client.echo(1))
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
|
145
|
+
end
|
146
|
+
end
|
@@ -2,6 +2,7 @@ require 'test/unit'
|
|
2
2
|
require 'soap/mapping'
|
3
3
|
require 'soap/processor'
|
4
4
|
require 'soap/rpc/element'
|
5
|
+
require File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'testutil.rb')
|
5
6
|
|
6
7
|
|
7
8
|
module SOAP
|
@@ -9,25 +10,22 @@ module Marshal
|
|
9
10
|
|
10
11
|
|
11
12
|
class TestDefinedArray < Test::Unit::TestCase
|
13
|
+
DIR = File.dirname(File.expand_path(__FILE__))
|
14
|
+
|
12
15
|
def pathname(filename)
|
13
|
-
File.join(
|
16
|
+
File.join(DIR, filename)
|
14
17
|
end
|
15
18
|
|
16
19
|
def setup
|
17
|
-
|
18
|
-
begin
|
19
|
-
$:.unshift(pathname('.'))
|
20
|
-
require pathname('amazonEcDriver')
|
21
|
-
ensure
|
22
|
-
$:.replace(back)
|
23
|
-
end
|
20
|
+
TestUtil.require(DIR, 'amazonEcDriver.rb')
|
24
21
|
end
|
25
22
|
|
26
23
|
def test_amazonresponse
|
27
24
|
drv = AWSECommerceServicePortType.new
|
25
|
+
drv.wiredump_dev = STDOUT if $DEBUG
|
28
26
|
drv.test_loopback_response << File.read(pathname('amazonresponse.xml'))
|
29
27
|
obj = drv.itemSearch(ItemSearch.new)
|
30
|
-
assert_equal(3, obj.items
|
28
|
+
assert_equal(3, obj.items.item.tracks.disc.size)
|
31
29
|
end
|
32
30
|
end
|
33
31
|
|
data/test/soap/ssl/test_ssl.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'test/unit'
|
2
2
|
require 'soap/rpc/httpserver'
|
3
3
|
require 'soap/rpc/driver'
|
4
|
+
require File.join(File.dirname(File.expand_path(__FILE__)), '..', '..', 'testutil.rb')
|
4
5
|
|
5
6
|
|
6
7
|
module SOAP; module Struct
|
@@ -35,7 +36,7 @@ class TestStruct < Test::Unit::TestCase
|
|
35
36
|
:SOAPDefaultNamespace => Namespace
|
36
37
|
)
|
37
38
|
@server.level = Logger::Severity::ERROR
|
38
|
-
@server_thread = start_server_thread(@server)
|
39
|
+
@server_thread = TestUtil.start_server_thread(@server)
|
39
40
|
end
|
40
41
|
|
41
42
|
def setup_client
|
@@ -59,14 +60,6 @@ class TestStruct < Test::Unit::TestCase
|
|
59
60
|
@client.reset_stream
|
60
61
|
end
|
61
62
|
|
62
|
-
def start_server_thread(server)
|
63
|
-
t = Thread.new {
|
64
|
-
Thread.current.abort_on_exception = true
|
65
|
-
server.start
|
66
|
-
}
|
67
|
-
t
|
68
|
-
end
|
69
|
-
|
70
63
|
def test_struct
|
71
64
|
assert_equal("string", @client.a_method.one)
|
72
65
|
assert_equal(1, @client.a_method.two)
|
data/test/soap/test_basetype.rb
CHANGED
@@ -62,6 +62,120 @@ class TestSOAP < Test::Unit::TestCase
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
+
def test_SOAPNormalizedString
|
66
|
+
XSD::Charset.module_eval { @encoding_backup = @internal_encoding; @internal_encoding = "NONE" }
|
67
|
+
begin
|
68
|
+
o = SOAP::SOAPNormalizedString.new
|
69
|
+
assert_equal(XSD::Namespace, o.type.namespace)
|
70
|
+
assert_equal(XSD::NormalizedStringLiteral, o.type.name)
|
71
|
+
assert_equal(nil, o.data)
|
72
|
+
assert_equal(true, o.is_nil)
|
73
|
+
|
74
|
+
str = "abc"
|
75
|
+
assert_equal(str, SOAP::SOAPNormalizedString.new(str).data)
|
76
|
+
assert_equal(str, SOAP::SOAPNormalizedString.new(str).to_s)
|
77
|
+
back = SOAP::SOAPString.strict_ces_validation
|
78
|
+
SOAP::SOAPString.strict_ces_validation = true
|
79
|
+
begin
|
80
|
+
assert_raises(XSD::ValueSpaceError) do
|
81
|
+
SOAP::SOAPNormalizedString.new("\0")
|
82
|
+
end
|
83
|
+
assert_raises(XSD::ValueSpaceError) do
|
84
|
+
SOAP::SOAPNormalizedString.new("\xC0\xC0").to_s
|
85
|
+
end
|
86
|
+
assert_raises(XSD::ValueSpaceError) do
|
87
|
+
SOAP::SOAPNormalizedString.new("a\tb").to_s
|
88
|
+
end
|
89
|
+
assert_raises(XSD::ValueSpaceError) do
|
90
|
+
SOAP::SOAPNormalizedString.new("a\r").to_s
|
91
|
+
end
|
92
|
+
assert_raises(XSD::ValueSpaceError) do
|
93
|
+
SOAP::SOAPNormalizedString.new("\nb").to_s
|
94
|
+
end
|
95
|
+
ensure
|
96
|
+
SOAP::SOAPString.strict_ces_validation = back
|
97
|
+
end
|
98
|
+
ensure
|
99
|
+
XSD::Charset.module_eval { @internal_encoding = @encoding_backup }
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
def test_SOAPToken
|
104
|
+
XSD::Charset.module_eval { @encoding_backup = @internal_encoding; @internal_encoding = "NONE" }
|
105
|
+
begin
|
106
|
+
o = SOAP::SOAPToken.new
|
107
|
+
assert_equal(XSD::Namespace, o.type.namespace)
|
108
|
+
assert_equal(XSD::TokenLiteral, o.type.name)
|
109
|
+
assert_equal(nil, o.data)
|
110
|
+
assert_equal(true, o.is_nil)
|
111
|
+
|
112
|
+
str = "abc"
|
113
|
+
assert_equal(str, SOAP::SOAPToken.new(str).data)
|
114
|
+
assert_equal(str, SOAP::SOAPToken.new(str).to_s)
|
115
|
+
back = XSD::XSDString.strict_ces_validation
|
116
|
+
XSD::XSDString.strict_ces_validation = true
|
117
|
+
begin
|
118
|
+
assert_raises(XSD::ValueSpaceError) do
|
119
|
+
SOAP::SOAPToken.new("\0")
|
120
|
+
end
|
121
|
+
assert_raises(XSD::ValueSpaceError) do
|
122
|
+
SOAP::SOAPToken.new("\xC0\xC0").to_s
|
123
|
+
end
|
124
|
+
assert_raises(XSD::ValueSpaceError) do
|
125
|
+
SOAP::SOAPToken.new("a\tb").to_s
|
126
|
+
end
|
127
|
+
assert_raises(XSD::ValueSpaceError) do
|
128
|
+
SOAP::SOAPToken.new("a\r").to_s
|
129
|
+
end
|
130
|
+
assert_raises(XSD::ValueSpaceError) do
|
131
|
+
SOAP::SOAPToken.new("\nb").to_s
|
132
|
+
end
|
133
|
+
assert_raises(XSD::ValueSpaceError) do
|
134
|
+
SOAP::SOAPToken.new(" a").to_s
|
135
|
+
end
|
136
|
+
assert_raises(XSD::ValueSpaceError) do
|
137
|
+
SOAP::SOAPToken.new("b ").to_s
|
138
|
+
end
|
139
|
+
assert_raises(XSD::ValueSpaceError) do
|
140
|
+
SOAP::SOAPToken.new("a b").to_s
|
141
|
+
end
|
142
|
+
assert_equal("a b", SOAP::SOAPToken.new("a b").data)
|
143
|
+
ensure
|
144
|
+
XSD::XSDString.strict_ces_validation = back
|
145
|
+
end
|
146
|
+
ensure
|
147
|
+
XSD::Charset.module_eval { @internal_encoding = @encoding_backup }
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
def test_SOAPLanguage
|
152
|
+
o = SOAP::SOAPLanguage.new
|
153
|
+
assert_equal(XSD::Namespace, o.type.namespace)
|
154
|
+
assert_equal(XSD::LanguageLiteral, o.type.name)
|
155
|
+
assert_equal(nil, o.data)
|
156
|
+
assert_equal(true, o.is_nil)
|
157
|
+
|
158
|
+
str = "ja"
|
159
|
+
assert_equal(str, SOAP::SOAPLanguage.new(str).data)
|
160
|
+
assert_equal(str, SOAP::SOAPLanguage.new(str).to_s)
|
161
|
+
str = "ja-jp"
|
162
|
+
assert_equal(str, SOAP::SOAPLanguage.new(str).data)
|
163
|
+
assert_equal(str, SOAP::SOAPLanguage.new(str).to_s)
|
164
|
+
assert_raises(XSD::ValueSpaceError) do
|
165
|
+
SOAP::SOAPLanguage.new("ja-jp-")
|
166
|
+
end
|
167
|
+
assert_raises(XSD::ValueSpaceError) do
|
168
|
+
SOAP::SOAPLanguage.new("-ja-")
|
169
|
+
end
|
170
|
+
assert_raises(XSD::ValueSpaceError) do
|
171
|
+
SOAP::SOAPLanguage.new("ja-")
|
172
|
+
end
|
173
|
+
assert_raises(XSD::ValueSpaceError) do
|
174
|
+
SOAP::SOAPLanguage.new("a1-01")
|
175
|
+
end
|
176
|
+
assert_equal("aA-01", SOAP::SOAPLanguage.new("aA-01").to_s)
|
177
|
+
end
|
178
|
+
|
65
179
|
def test_SOAPBoolean
|
66
180
|
o = SOAP::SOAPBoolean.new
|
67
181
|
assert_equal(XSD::Namespace, o.type.namespace)
|