Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

root/trunk/test/wsdl/group/expectedMappingRegistry.rb

Revision 1979, 2.3 kB (checked in by nahi, 1 year ago)
  • when there are 2 unqualified anonymous elements which have the same name in a SOAP message, mapper cannot decode it to the correct object. introduced :is_anonymous in mapping_registry and do not search registry with anonymous element. closes #355.
Line 
1 require 'echo.rb'
2 require 'soap/mapping'
3
4 module WSDL; module Group
5
6 module EchoMappingRegistry
7   EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
8   LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
9   NsGrouptype = "urn:grouptype"
10   NsXMLSchema = "http://www.w3.org/2001/XMLSchema"
11
12   EncodedRegistry.register(
13     :class => WSDL::Group::Groupele_type,
14     :schema_type => XSD::QName.new(NsGrouptype, "groupele_type"),
15     :schema_element => [
16       ["comment", "SOAP::SOAPString", [0, 1]],
17       ["any", [nil, XSD::QName.new(NsXMLSchema, "anyType")]],
18       [ :choice,
19         ["element", ["SOAP::SOAPString", XSD::QName.new(nil, "element")]],
20         ["eletype", ["SOAP::SOAPString", XSD::QName.new(nil, "eletype")]]
21       ],
22       ["var", ["SOAP::SOAPString", XSD::QName.new(nil, "var")]]
23     ],
24     :schema_attribute => {
25       XSD::QName.new(nil, "attr_min") => "SOAP::SOAPDecimal",
26       XSD::QName.new(nil, "attr_max") => "SOAP::SOAPDecimal"
27     }
28   )
29
30   LiteralRegistry.register(
31     :class => WSDL::Group::Groupele_type,
32     :schema_type => XSD::QName.new(NsGrouptype, "groupele_type"),
33     :schema_element => [
34       ["comment", "SOAP::SOAPString", [0, 1]],
35       ["any", [nil, XSD::QName.new(NsXMLSchema, "anyType")]],
36       [ :choice,
37         ["element", ["SOAP::SOAPString", XSD::QName.new(nil, "element")]],
38         ["eletype", ["SOAP::SOAPString", XSD::QName.new(nil, "eletype")]]
39       ],
40       ["var", ["SOAP::SOAPString", XSD::QName.new(nil, "var")]]
41     ],
42     :schema_attribute => {
43       XSD::QName.new(nil, "attr_min") => "SOAP::SOAPDecimal",
44       XSD::QName.new(nil, "attr_max") => "SOAP::SOAPDecimal"
45     }
46   )
47
48   LiteralRegistry.register(
49     :class => WSDL::Group::Groupele_type,
50     :schema_name => XSD::QName.new(NsGrouptype, "groupele"),
51     :schema_element => [
52       ["comment", "SOAP::SOAPString", [0, 1]],
53       ["any", [nil, XSD::QName.new(NsXMLSchema, "anyType")]],
54       [ :choice,
55         ["element", ["SOAP::SOAPString", XSD::QName.new(nil, "element")]],
56         ["eletype", ["SOAP::SOAPString", XSD::QName.new(nil, "eletype")]]
57       ],
58       ["var", ["SOAP::SOAPString", XSD::QName.new(nil, "var")]]
59     ],
60     :schema_attribute => {
61       XSD::QName.new(nil, "attr_min") => "SOAP::SOAPDecimal",
62       XSD::QName.new(nil, "attr_max") => "SOAP::SOAPDecimal"
63     }
64   )
65 end
66
67 end; end
Note: See TracBrowser for help on using the browser.