summaryrefslogtreecommitdiff
path: root/test/wsdl/map
diff options
context:
space:
mode:
Diffstat (limited to 'test/wsdl/map')
-rw-r--r--test/wsdl/map/map.wsdl92
-rw-r--r--test/wsdl/map/map.xml43
-rw-r--r--test/wsdl/map/test_map.rb99
3 files changed, 0 insertions, 234 deletions
diff --git a/test/wsdl/map/map.wsdl b/test/wsdl/map/map.wsdl
deleted file mode 100644
index e418a4cbbd..0000000000
--- a/test/wsdl/map/map.wsdl
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0"?>
-<definitions
- name="map"
- targetNamespace="urn:map"
- xmlns:tns="urn:map"
- xmlns:txd="urn:map"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:apachesoap="http://xml.apache.org/xml-soap">
-
- <types>
- <schema
- xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://xml.apache.org/xml-soap">
- <complexType name="Map">
- <sequence>
- <element name="item" minOccurs="0" maxOccurs="unbounded">
- <complexType>
- <sequence>
- <element name="key" type="xsd:anyType" />
- <element name="value" type="xsd:anyType" />
- </sequence>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </schema>
- </types>
-
- <message name="mapRequest"/>
- <message name="mapResponse">
- <part name="return" type="apachesoap:Map"/>
- </message>
-
- <message name="map2Request">
- <part name="arg" type="apachesoap:Map"/>
- </message>
- <message name="map2Response">
- <part name="return" type="apachesoap:Map"/>
- </message>
-
- <portType name="MapServicePortType">
- <operation name="map" parameterOrder="">
- <input message="tns:mapRequest"/>
- <output message="tns:mapResponse"/>
- </operation>
-
- <operation name="map2" parameterOrder="">
- <input message="tns:map2Request"/>
- <output message="tns:map2Response"/>
- </operation>
- </portType>
-
- <binding name="MapServicePortBinding" type="tns:MapServicePortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
- <operation name="map">
- <soap:operation soapAction=""/>
- <input>
- <soap:body use="encoded"
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- namespace="urn:map"/>
- </input>
- <output>
- <soap:body use="encoded"
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- namespace="urn:map"/>
- </output>
- </operation>
-
- <operation name="map2">
- <soap:operation soapAction=""/>
- <input>
- <soap:body use="encoded"
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- namespace="urn:map"/>
- </input>
- <output>
- <soap:body use="encoded"
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- namespace="urn:map"/>
- </output>
- </operation>
- </binding>
-
- <service name="MapService">
- <port name="MapServicePort" binding="tns:MapServicePortBinding">
- <soap:address location="http://raa.ruby-lang.org/soap/1.0.2/"/>
- </port>
- </service>
-</definitions>
diff --git a/test/wsdl/map/map.xml b/test/wsdl/map/map.xml
deleted file mode 100644
index 7106735ffc..0000000000
--- a/test/wsdl/map/map.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <n2:mapResponse xmlns:n1="http://schemas.xmlsoap.org/soap/encoding/" xmlns:n2="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
- <return xmlns:n3="http://xml.apache.org/xml-soap" xsi:type="n3:Map">
- <item>
- <key xsi:type="xsd:string">a</key>
- <value xsi:type="n3:Map">
- <item>
- <key xsi:type="xsd:string">a1</key>
- <value xsi:type="n1:Array" n1:arrayType="xsd:anyType[1]">
- <item xsi:type="xsd:string">a1</item>
- </value>
- </item>
- <item>
- <key xsi:type="xsd:string">a2</key>
- <value xsi:type="n1:Array" n1:arrayType="xsd:anyType[1]">
- <item xsi:type="xsd:string">a2</item>
- </value>
- </item>
- </value>
- </item>
- <item>
- <key xsi:type="xsd:string">b</key>
- <value xsi:type="n3:Map">
- <item>
- <key xsi:type="xsd:string">b1</key>
- <value xsi:type="n1:Array" n1:arrayType="xsd:anyType[1]">
- <item xsi:type="xsd:string">b1</item>
- </value>
- </item>
- <item>
- <key xsi:type="xsd:string">b2</key>
- <value xsi:type="n1:Array" n1:arrayType="xsd:anyType[1]">
- <item xsi:type="xsd:string">b2</item>
- </value>
- </item>
- </value>
- </item>
- </return>
- </n2:mapResponse>
- </env:Body>
-</env:Envelope>
diff --git a/test/wsdl/map/test_map.rb b/test/wsdl/map/test_map.rb
deleted file mode 100644
index 68f7d76e05..0000000000
--- a/test/wsdl/map/test_map.rb
+++ /dev/null
@@ -1,99 +0,0 @@
-require 'test/unit'
-require 'soap/rpc/httpserver'
-require 'soap/wsdlDriver'
-
-
-module WSDL
-
-
-class TestMap < Test::Unit::TestCase
- Port = 17171
- DIR = File.dirname(File.expand_path(__FILE__))
-
- class Server < ::SOAP::RPC::HTTPServer
- def on_init
- add_method(self, 'map')
- add_method(self, 'map2', 'arg')
- end
-
- def map
- {1 => "a", 2 => "b"}
- end
-
- def map2(arg)
- arg
- end
- end
-
- def setup
- setup_server
- setup_client
- end
-
- def setup_server
- @server = Server.new(
- :BindAddress => "0.0.0.0",
- :Port => Port,
- :AccessLog => [],
- :SOAPDefaultNamespace => "urn:map"
- )
- @server.level = Logger::Severity::ERROR
- @t = Thread.new {
- Thread.current.abort_on_exception = true
- @server.start
- }
- end
-
- def setup_client
- wsdl = File.join(DIR, 'map.wsdl')
- @client = ::SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
- @client.endpoint_url = "http://localhost:#{Port}/"
- @client.generate_explicit_type = true
- @client.wiredump_dev = STDOUT if $DEBUG
- end
-
- def teardown
- teardown_server
- teardown_client
- end
-
- def teardown_server
- @server.shutdown
- @t.kill
- @t.join
- end
-
- def teardown_client
- @client.reset_stream
- end
-
- def test_by_wsdl
- dir = File.dirname(File.expand_path(__FILE__))
- wsdlfile = File.join(dir, 'map.wsdl')
- xml = File.open(File.join(dir, 'map.xml')) { |f| f.read }
- wsdl = WSDL::Importer.import(wsdlfile)
- service = wsdl.services[0]
- port = service.ports[0]
- wsdl_types = wsdl.collect_complextypes
- rpc_decode_typemap = wsdl_types + wsdl.soap_rpc_complextypes(port.find_binding)
- opt = {}
- opt[:default_encodingstyle] = ::SOAP::EncodingNamespace
- opt[:decode_typemap] = rpc_decode_typemap
- header, body = ::SOAP::Processor.unmarshal(xml, opt)
- map = ::SOAP::Mapping.soap2obj(body.response)
- assert_equal(["a1"], map["a"]["a1"])
- assert_equal(["a2"], map["a"]["a2"])
- assert_equal(["b1"], map["b"]["b1"])
- assert_equal(["b2"], map["b"]["b2"])
- end
-
- def test_wsdldriver
- assert_equal({1 => "a", 2 => "b"}, @client.map)
- assert_equal({1 => 2}, @client.map2({1 => 2}))
- assert_equal({1 => {2 => 3}}, @client.map2({1 => {2 => 3}}))
- assert_equal({["a", 2] => {2 => 3}}, @client.map2({["a", 2] => {2 => 3}}))
- end
-end
-
-
-end