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

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

Revision 1979, 5.1 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 'lp.rb'
2 require 'soap/mapping'
3
4 module WSDL; module Anonymous
5
6 module LpMappingRegistry
7   EncodedRegistry = ::SOAP::Mapping::EncodedRegistry.new
8   LiteralRegistry = ::SOAP::Mapping::LiteralRegistry.new
9   NsLp = "urn:lp"
10
11   EncodedRegistry.register(
12     :class => WSDL::Anonymous::Header,
13     :schema_type => XSD::QName.new(NsLp, "Header"),
14     :schema_element => [
15       ["header3", ["SOAP::SOAPString", XSD::QName.new(nil, "Header3")]]
16     ]
17   )
18
19   EncodedRegistry.register(
20     :class => WSDL::Anonymous::ExtraInfo,
21     :schema_type => XSD::QName.new(NsLp, "ExtraInfo"),
22     :schema_element => [
23       ["entry", ["WSDL::Anonymous::ExtraInfo::Entry[]", XSD::QName.new(nil, "Entry")], [1, nil]]
24     ]
25   )
26
27   EncodedRegistry.register(
28     :class => WSDL::Anonymous::ExtraInfo::Entry,
29     :schema_name => XSD::QName.new(nil, "Entry"),
30     :is_anonymous => true,
31     :schema_qualified => false,
32     :schema_element => [
33       ["key", ["SOAP::SOAPString", XSD::QName.new(nil, "Key")]],
34       ["value", ["SOAP::SOAPString", XSD::QName.new(nil, "Value")]]
35     ]
36   )
37
38   EncodedRegistry.register(
39     :class => WSDL::Anonymous::LoginResponse,
40     :schema_type => XSD::QName.new(NsLp, "loginResponse"),
41     :schema_element => [
42       ["loginResult", ["WSDL::Anonymous::LoginResponse::LoginResult", XSD::QName.new(nil, "loginResult")]]
43     ]
44   )
45
46   EncodedRegistry.register(
47     :class => WSDL::Anonymous::LoginResponse::LoginResult,
48     :schema_name => XSD::QName.new(nil, "loginResult"),
49     :is_anonymous => true,
50     :schema_qualified => false,
51     :schema_element => [
52       ["sessionID", "SOAP::SOAPString"]
53     ]
54   )
55
56   LiteralRegistry.register(
57     :class => WSDL::Anonymous::Header,
58     :schema_type => XSD::QName.new(NsLp, "Header"),
59     :schema_element => [
60       ["header3", ["SOAP::SOAPString", XSD::QName.new(nil, "Header3")]]
61     ]
62   )
63
64   LiteralRegistry.register(
65     :class => WSDL::Anonymous::ExtraInfo,
66     :schema_type => XSD::QName.new(NsLp, "ExtraInfo"),
67     :schema_element => [
68       ["entry", ["WSDL::Anonymous::ExtraInfo::Entry[]", XSD::QName.new(nil, "Entry")], [1, nil]]
69     ]
70   )
71
72   LiteralRegistry.register(
73     :class => WSDL::Anonymous::ExtraInfo::Entry,
74     :schema_name => XSD::QName.new(nil, "Entry"),
75     :is_anonymous => true,
76     :schema_qualified => false,
77     :schema_element => [
78       ["key", ["SOAP::SOAPString", XSD::QName.new(nil, "Key")]],
79       ["value", ["SOAP::SOAPString", XSD::QName.new(nil, "Value")]]
80     ]
81   )
82
83   LiteralRegistry.register(
84     :class => WSDL::Anonymous::LoginResponse,
85     :schema_type => XSD::QName.new(NsLp, "loginResponse"),
86     :schema_element => [
87       ["loginResult", ["WSDL::Anonymous::LoginResponse::LoginResult", XSD::QName.new(nil, "loginResult")]]
88     ]
89   )
90
91   LiteralRegistry.register(
92     :class => WSDL::Anonymous::LoginResponse::LoginResult,
93     :schema_name => XSD::QName.new(nil, "loginResult"),
94     :is_anonymous => true,
95     :schema_qualified => false,
96     :schema_element => [
97       ["sessionID", "SOAP::SOAPString"]
98     ]
99   )
100
101   LiteralRegistry.register(
102     :class => WSDL::Anonymous::Pack,
103     :schema_name => XSD::QName.new(NsLp, "Pack"),
104     :schema_element => [
105       ["header", ["WSDL::Anonymous::Pack::Header", XSD::QName.new(nil, "Header")]]
106     ]
107   )
108
109   LiteralRegistry.register(
110     :class => WSDL::Anonymous::Pack::Header,
111     :schema_name => XSD::QName.new(nil, "Header"),
112     :is_anonymous => true,
113     :schema_qualified => false,
114     :schema_element => [
115       ["header1", ["SOAP::SOAPString", XSD::QName.new(nil, "Header1")]]
116     ]
117   )
118
119   LiteralRegistry.register(
120     :class => WSDL::Anonymous::Envelope,
121     :schema_name => XSD::QName.new(NsLp, "Envelope"),
122     :schema_element => [
123       ["header", ["WSDL::Anonymous::Envelope::Header", XSD::QName.new(nil, "Header")]]
124     ]
125   )
126
127   LiteralRegistry.register(
128     :class => WSDL::Anonymous::Envelope::Header,
129     :schema_name => XSD::QName.new(nil, "Header"),
130     :is_anonymous => true,
131     :schema_qualified => false,
132     :schema_element => [
133       ["header2", ["SOAP::SOAPString", XSD::QName.new(nil, "Header2")]]
134     ]
135   )
136
137   LiteralRegistry.register(
138     :class => WSDL::Anonymous::Login,
139     :schema_name => XSD::QName.new(NsLp, "login"),
140     :schema_element => [
141       ["loginRequest", ["WSDL::Anonymous::Login::LoginRequest", XSD::QName.new(nil, "loginRequest")]]
142     ]
143   )
144
145   LiteralRegistry.register(
146     :class => WSDL::Anonymous::Login::LoginRequest,
147     :schema_name => XSD::QName.new(nil, "loginRequest"),
148     :is_anonymous => true,
149     :schema_qualified => false,
150     :schema_element => [
151       ["username", "SOAP::SOAPString"],
152       ["password", "SOAP::SOAPString"],
153       ["timezone", "SOAP::SOAPString", [0, 1]]
154     ]
155   )
156
157   LiteralRegistry.register(
158     :class => WSDL::Anonymous::LoginResponse,
159     :schema_name => XSD::QName.new(NsLp, "loginResponse"),
160     :schema_element => [
161       ["loginResult", ["WSDL::Anonymous::LoginResponse::LoginResult", XSD::QName.new(nil, "loginResult")]]
162     ]
163   )
164
165   LiteralRegistry.register(
166     :class => WSDL::Anonymous::LoginResponse::LoginResult,
167     :schema_name => XSD::QName.new(nil, "loginResult"),
168     :is_anonymous => true,
169     :schema_qualified => false,
170     :schema_element => [
171       ["sessionID", "SOAP::SOAPString"]
172     ]
173   )
174 end
175
176 end; end
Note: See TracBrowser for help on using the browser.