kitou commited on
Commit
4502515
1 Parent(s): f226d8c

Upload 149 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +29 -0
  2. vae/com3d/CM3D2x86_Data/Managed/Accessibility.dll +0 -0
  3. vae/com3d/CM3D2x86_Data/Managed/Assembly-CSharp-firstpass.dll +0 -0
  4. vae/com3d/CM3D2x86_Data/Managed/Assembly-CSharp.dll +3 -0
  5. vae/com3d/CM3D2x86_Data/Managed/Assembly-UnityScript-firstpass.dll +0 -0
  6. vae/com3d/CM3D2x86_Data/Managed/Boo.Lang.dll +0 -0
  7. vae/com3d/CM3D2x86_Data/Managed/FoveUnityPlugin.dll +0 -0
  8. vae/com3d/CM3D2x86_Data/Managed/Ionic.Zlib.dll +0 -0
  9. vae/com3d/CM3D2x86_Data/Managed/JsonFx.Json.dll +0 -0
  10. vae/com3d/CM3D2x86_Data/Managed/LeapCSharp.NET3.5.dll +0 -0
  11. vae/com3d/CM3D2x86_Data/Managed/Mono.Data.Tds.dll +0 -0
  12. vae/com3d/CM3D2x86_Data/Managed/Mono.Posix.dll +0 -0
  13. vae/com3d/CM3D2x86_Data/Managed/Mono.Security.dll +0 -0
  14. vae/com3d/CM3D2x86_Data/Managed/Mono.WebBrowser.dll +0 -0
  15. vae/com3d/CM3D2x86_Data/Managed/System.Configuration.dll +0 -0
  16. vae/com3d/CM3D2x86_Data/Managed/System.Core.dll +0 -0
  17. vae/com3d/CM3D2x86_Data/Managed/System.Data.dll +0 -0
  18. vae/com3d/CM3D2x86_Data/Managed/System.Drawing.Design.dll +0 -0
  19. vae/com3d/CM3D2x86_Data/Managed/System.Drawing.dll +0 -0
  20. vae/com3d/CM3D2x86_Data/Managed/System.EnterpriseServices.dll +0 -0
  21. vae/com3d/CM3D2x86_Data/Managed/System.Security.dll +0 -0
  22. vae/com3d/CM3D2x86_Data/Managed/System.Transactions.dll +0 -0
  23. vae/com3d/CM3D2x86_Data/Managed/System.Windows.Forms.dll +3 -0
  24. vae/com3d/CM3D2x86_Data/Managed/System.Xml.Linq.dll +0 -0
  25. vae/com3d/CM3D2x86_Data/Managed/System.Xml.dll +3 -0
  26. vae/com3d/CM3D2x86_Data/Managed/System.dll +3 -0
  27. vae/com3d/CM3D2x86_Data/Managed/UnityEngine.Networking.dll +0 -0
  28. vae/com3d/CM3D2x86_Data/Managed/UnityEngine.UI.dll +0 -0
  29. vae/com3d/CM3D2x86_Data/Managed/UnityEngine.dll +0 -0
  30. vae/com3d/CM3D2x86_Data/Managed/UnityEngine.dll.mdb +0 -0
  31. vae/com3d/CM3D2x86_Data/Managed/UnityScript.Lang.dll +0 -0
  32. vae/com3d/CM3D2x86_Data/Managed/mscorlib.dll +3 -0
  33. vae/com3d/CM3D2x86_Data/Managed/zxing.unity.dll +0 -0
  34. vae/com3d/CM3D2x86_Data/Mono/etc/mono/1.0/DefaultWsdlHelpGenerator.aspx +1820 -0
  35. vae/com3d/CM3D2x86_Data/Mono/etc/mono/1.0/machine.config +243 -0
  36. vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/Browsers/Compat.browser +42 -0
  37. vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx +1896 -0
  38. vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/machine.config +273 -0
  39. vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/settings.map +48 -0
  40. vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/web.config +154 -0
  41. vae/com3d/CM3D2x86_Data/Mono/etc/mono/browscap.ini +0 -0
  42. vae/com3d/CM3D2x86_Data/Mono/etc/mono/config +27 -0
  43. vae/com3d/CM3D2x86_Data/Mono/etc/mono/mconfig/config.xml +616 -0
  44. vae/com3d/CM3D2x86_Data/Mono/mono.dll +3 -0
  45. vae/com3d/CM3D2x86_Data/Plugins/AVProVideo.dll +0 -0
  46. vae/com3d/CM3D2x86_Data/Plugins/FoveClient.dll +3 -0
  47. vae/com3d/CM3D2x86_Data/Plugins/LeapC.dll +3 -0
  48. vae/com3d/CM3D2x86_Data/Plugins/OVRGamepad.dll +0 -0
  49. vae/com3d/CM3D2x86_Data/Plugins/OVRPlugin.dll +3 -0
  50. vae/com3d/CM3D2x86_Data/Plugins/cm3d2_x86.dll +3 -0
.gitattributes CHANGED
@@ -165,3 +165,32 @@ vae/com3d/CM3D2x64_Data/sharedassets36.assets filter=lfs diff=lfs merge=lfs -tex
165
  vae/com3d/CM3D2x64_Data/sharedassets37.assets filter=lfs diff=lfs merge=lfs -text
166
  vae/com3d/CM3D2x64_Data/sharedassets37.assets.resS filter=lfs diff=lfs merge=lfs -text
167
  vae/com3d/CM3D2x64_Data/sharedassets38.assets filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  vae/com3d/CM3D2x64_Data/sharedassets37.assets filter=lfs diff=lfs merge=lfs -text
166
  vae/com3d/CM3D2x64_Data/sharedassets37.assets.resS filter=lfs diff=lfs merge=lfs -text
167
  vae/com3d/CM3D2x64_Data/sharedassets38.assets filter=lfs diff=lfs merge=lfs -text
168
+ vae/com3d/CM3D2x86_Data/globalgamemanagers filter=lfs diff=lfs merge=lfs -text
169
+ vae/com3d/CM3D2x86_Data/level27 filter=lfs diff=lfs merge=lfs -text
170
+ vae/com3d/CM3D2x86_Data/Managed/Assembly-CSharp.dll filter=lfs diff=lfs merge=lfs -text
171
+ vae/com3d/CM3D2x86_Data/Managed/mscorlib.dll filter=lfs diff=lfs merge=lfs -text
172
+ vae/com3d/CM3D2x86_Data/Managed/System.dll filter=lfs diff=lfs merge=lfs -text
173
+ vae/com3d/CM3D2x86_Data/Managed/System.Windows.Forms.dll filter=lfs diff=lfs merge=lfs -text
174
+ vae/com3d/CM3D2x86_Data/Managed/System.Xml.dll filter=lfs diff=lfs merge=lfs -text
175
+ vae/com3d/CM3D2x86_Data/Mono/mono.dll filter=lfs diff=lfs merge=lfs -text
176
+ vae/com3d/CM3D2x86_Data/Plugins/cm3d2_x86.dll filter=lfs diff=lfs merge=lfs -text
177
+ vae/com3d/CM3D2x86_Data/Plugins/FoveClient.dll filter=lfs diff=lfs merge=lfs -text
178
+ vae/com3d/CM3D2x86_Data/Plugins/LeapC.dll filter=lfs diff=lfs merge=lfs -text
179
+ vae/com3d/CM3D2x86_Data/Plugins/OVRPlugin.dll filter=lfs diff=lfs merge=lfs -text
180
+ vae/com3d/CM3D2x86_Data/resources.assets filter=lfs diff=lfs merge=lfs -text
181
+ vae/com3d/CM3D2x86_Data/resources.assets.resS filter=lfs diff=lfs merge=lfs -text
182
+ vae/com3d/CM3D2x86_Data/Resources/unity[[:space:]]default[[:space:]]resources filter=lfs diff=lfs merge=lfs -text
183
+ vae/com3d/CM3D2x86_Data/sharedassets0.assets filter=lfs diff=lfs merge=lfs -text
184
+ vae/com3d/CM3D2x86_Data/sharedassets0.assets.resS filter=lfs diff=lfs merge=lfs -text
185
+ vae/com3d/CM3D2x86_Data/sharedassets28.assets filter=lfs diff=lfs merge=lfs -text
186
+ vae/com3d/CM3D2x86_Data/sharedassets30.assets filter=lfs diff=lfs merge=lfs -text
187
+ vae/com3d/CM3D2x86_Data/sharedassets31.assets filter=lfs diff=lfs merge=lfs -text
188
+ vae/com3d/CM3D2x86_Data/sharedassets32.assets filter=lfs diff=lfs merge=lfs -text
189
+ vae/com3d/CM3D2x86_Data/sharedassets32.resource filter=lfs diff=lfs merge=lfs -text
190
+ vae/com3d/CM3D2x86_Data/sharedassets34.assets filter=lfs diff=lfs merge=lfs -text
191
+ vae/com3d/CM3D2x86_Data/sharedassets35.assets filter=lfs diff=lfs merge=lfs -text
192
+ vae/com3d/CM3D2x86_Data/sharedassets36.assets filter=lfs diff=lfs merge=lfs -text
193
+ vae/com3d/CM3D2x86_Data/sharedassets37.assets filter=lfs diff=lfs merge=lfs -text
194
+ vae/com3d/CM3D2x86_Data/sharedassets37.assets.resS filter=lfs diff=lfs merge=lfs -text
195
+ vae/com3d/CM3D2x86_Data/sharedassets38.assets filter=lfs diff=lfs merge=lfs -text
196
+ vae/com3d/CM3D2x86_Data/sharedassets4.assets filter=lfs diff=lfs merge=lfs -text
vae/com3d/CM3D2x86_Data/Managed/Accessibility.dll ADDED
Binary file (10.8 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/Assembly-CSharp-firstpass.dll ADDED
Binary file (773 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/Assembly-CSharp.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1b01d9b4b9ce3cd193787ede8bf81ea681590fcc6e93cac7695d72609be284d0
3
+ size 3162112
vae/com3d/CM3D2x86_Data/Managed/Assembly-UnityScript-firstpass.dll ADDED
Binary file (65 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/Boo.Lang.dll ADDED
Binary file (127 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/FoveUnityPlugin.dll ADDED
Binary file (28.7 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/Ionic.Zlib.dll ADDED
Binary file (102 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/JsonFx.Json.dll ADDED
Binary file (70.1 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/LeapCSharp.NET3.5.dll ADDED
Binary file (82.4 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/Mono.Data.Tds.dll ADDED
Binary file (96.3 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/Mono.Posix.dll ADDED
Binary file (184 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/Mono.Security.dll ADDED
Binary file (295 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/Mono.WebBrowser.dll ADDED
Binary file (172 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.Configuration.dll ADDED
Binary file (125 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.Core.dll ADDED
Binary file (297 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.Data.dll ADDED
Binary file (856 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.Drawing.Design.dll ADDED
Binary file (29.7 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.Drawing.dll ADDED
Binary file (449 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.EnterpriseServices.dll ADDED
Binary file (46.6 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.Security.dll ADDED
Binary file (135 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.Transactions.dll ADDED
Binary file (27.6 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.Windows.Forms.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d6799b6de835788f78dc5f365ace41e294163878dd544e9e421e7894e287408f
3
+ size 3053568
vae/com3d/CM3D2x86_Data/Managed/System.Xml.Linq.dll ADDED
Binary file (106 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/System.Xml.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:51fa182d98edf41e8de50de7f724d2f55205036834f2d8d081bbb466c67f49f6
3
+ size 1270272
vae/com3d/CM3D2x86_Data/Managed/System.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ef7bfff7d6ad0f095a0cbdf6b9367eb3da1a284f2098441e7ec9d64adb0ca5c8
3
+ size 1679360
vae/com3d/CM3D2x86_Data/Managed/UnityEngine.Networking.dll ADDED
Binary file (231 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/UnityEngine.UI.dll ADDED
Binary file (219 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/UnityEngine.dll ADDED
Binary file (973 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/UnityEngine.dll.mdb ADDED
Binary file (354 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/UnityScript.Lang.dll ADDED
Binary file (14.3 kB). View file
 
vae/com3d/CM3D2x86_Data/Managed/mscorlib.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:540cb82c1cc9c2816464f0b32b02f1304546256089db3222baa3e9cfcc6f63ba
3
+ size 2589696
vae/com3d/CM3D2x86_Data/Managed/zxing.unity.dll ADDED
Binary file (431 kB). View file
 
vae/com3d/CM3D2x86_Data/Mono/etc/mono/1.0/DefaultWsdlHelpGenerator.aspx ADDED
@@ -0,0 +1,1820 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <%--
2
+ //
3
+ // DefaultWsdlHelpGenerator.aspx:
4
+ //
5
+ // Author:
6
+ // Lluis Sanchez Gual ([email protected])
7
+ //
8
+ // (C) 2003 Ximian, Inc. http://www.ximian.com
9
+ //
10
+ --%>
11
+
12
+ <%@ Import Namespace="System.Collections" %>
13
+ <%@ Import Namespace="System.IO" %>
14
+ <%@ Import Namespace="System.Xml.Serialization" %>
15
+ <%@ Import Namespace="System.Xml" %>
16
+ <%@ Import Namespace="System.Xml.Schema" %>
17
+ <%@ Import Namespace="System.Web.Services.Description" %>
18
+ <%@ Import Namespace="System" %>
19
+ <%@ Import Namespace="System.Net" %>
20
+ <%@ Import Namespace="System.Globalization" %>
21
+ <%@ Import Namespace="System.Resources" %>
22
+ <%@ Import Namespace="System.Diagnostics" %>
23
+ <%@ Import Namespace="System.CodeDom" %>
24
+ <%@ Import Namespace="System.CodeDom.Compiler" %>
25
+ <%@ Import Namespace="Microsoft.CSharp" %>
26
+ <%@ Import Namespace="Microsoft.VisualBasic" %>
27
+ <%@ Import Namespace="System.Text" %>
28
+ <%@ Import Namespace="System.Text.RegularExpressions" %>
29
+ <%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
30
+ <%@ Assembly name="System.Web.Services" %>
31
+ <%@ Page debug="true" %>
32
+
33
+ <html>
34
+ <script language="C#" runat="server">
35
+
36
+ ServiceDescriptionCollection descriptions;
37
+ XmlSchemas schemas;
38
+
39
+ string WebServiceName;
40
+ string WebServiceDescription;
41
+ string PageName;
42
+
43
+ string DefaultBinding;
44
+ ArrayList ServiceProtocols;
45
+
46
+ string CurrentOperationName;
47
+ string CurrentOperationBinding;
48
+ string OperationDocumentation;
49
+ string CurrentOperationFormat;
50
+ bool CurrentOperationSupportsTest;
51
+ ArrayList InParams;
52
+ ArrayList OutParams;
53
+ string CurrentOperationProtocols;
54
+ int CodeTextColumns = 95;
55
+
56
+ void Page_Load(object sender, EventArgs e)
57
+ {
58
+ descriptions = (ServiceDescriptionCollection) Context.Items["wsdls"];
59
+ schemas = (XmlSchemas) Context.Items["schemas"];
60
+
61
+ ServiceDescription desc = descriptions [0];
62
+ if (schemas.Count == 0) schemas = desc.Types.Schemas;
63
+
64
+ Service service = desc.Services[0];
65
+ WebServiceName = service.Name;
66
+ if (desc.Bindings.Count == 0)
67
+ return;
68
+
69
+ DefaultBinding = desc.Bindings[0].Name;
70
+ WebServiceDescription = service.Documentation;
71
+ ServiceProtocols = FindServiceProtocols (null);
72
+
73
+ CurrentOperationName = Request.QueryString["op"];
74
+ CurrentOperationBinding = Request.QueryString["bnd"];
75
+ if (CurrentOperationName != null) BuildOperationInfo ();
76
+
77
+ PageName = HttpUtility.UrlEncode (Path.GetFileName(Request.Path), Encoding.UTF8);
78
+
79
+ ArrayList list = new ArrayList ();
80
+ foreach (ServiceDescription sd in descriptions) {
81
+ foreach (Binding bin in sd.Bindings)
82
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null) list.Add (bin);
83
+ }
84
+
85
+ BindingsRepeater.DataSource = list;
86
+ Page.DataBind();
87
+ }
88
+
89
+ void BuildOperationInfo ()
90
+ {
91
+ InParams = new ArrayList ();
92
+ OutParams = new ArrayList ();
93
+
94
+ Port port = FindPort (CurrentOperationBinding, null);
95
+ Binding binding = descriptions.GetBinding (port.Binding);
96
+
97
+ PortType portType = descriptions.GetPortType (binding.Type);
98
+ Operation oper = FindOperation (portType, CurrentOperationName);
99
+
100
+ OperationDocumentation = oper.Documentation;
101
+ if (OperationDocumentation == null || OperationDocumentation == "")
102
+ OperationDocumentation = "No additional remarks";
103
+
104
+ foreach (OperationMessage opm in oper.Messages)
105
+ {
106
+ if (opm is OperationInput)
107
+ BuildParameters (InParams, opm);
108
+ else if (opm is OperationOutput)
109
+ BuildParameters (OutParams, opm);
110
+ }
111
+
112
+ // Protocols supported by the operation
113
+ CurrentOperationProtocols = "";
114
+ ArrayList prots = FindServiceProtocols (CurrentOperationName);
115
+ for (int n=0; n<prots.Count; n++) {
116
+ if (n != 0) CurrentOperationProtocols += ", ";
117
+ CurrentOperationProtocols += (string) prots[n];
118
+ }
119
+
120
+ CurrentOperationSupportsTest = prots.Contains ("HttpGet") || prots.Contains ("HttpPost");
121
+
122
+ // Operation format
123
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
124
+ if (obin != null)
125
+ CurrentOperationFormat = GetOperationFormat (obin);
126
+
127
+ InputParamsRepeater.DataSource = InParams;
128
+ InputFormParamsRepeater.DataSource = InParams;
129
+ OutputParamsRepeater.DataSource = OutParams;
130
+ }
131
+
132
+ void BuildParameters (ArrayList list, OperationMessage opm)
133
+ {
134
+ Message msg = descriptions.GetMessage (opm.Message);
135
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
136
+ {
137
+ MessagePart part = msg.Parts[0];
138
+ XmlSchemaComplexType ctype;
139
+ if (part.Element == XmlQualifiedName.Empty)
140
+ {
141
+ ctype = (XmlSchemaComplexType) schemas.Find (part.Type, typeof(XmlSchemaComplexType));
142
+ }
143
+ else
144
+ {
145
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
146
+ ctype = (XmlSchemaComplexType) elem.SchemaType;
147
+ }
148
+ XmlSchemaSequence seq = ctype.Particle as XmlSchemaSequence;
149
+ if (seq == null) return;
150
+
151
+ foreach (XmlSchemaObject ob in seq.Items)
152
+ {
153
+ Parameter p = new Parameter();
154
+ p.Description = "No additional remarks";
155
+
156
+ if (ob is XmlSchemaElement)
157
+ {
158
+ XmlSchemaElement selem = GetRefElement ((XmlSchemaElement)ob);
159
+ p.Name = selem.Name;
160
+ p.Type = selem.SchemaTypeName.Name;
161
+ }
162
+ else
163
+ {
164
+ p.Name = "Unknown";
165
+ p.Type = "Unknown";
166
+ }
167
+ list.Add (p);
168
+ }
169
+ }
170
+ else
171
+ {
172
+ foreach (MessagePart part in msg.Parts)
173
+ {
174
+ Parameter p = new Parameter ();
175
+ p.Description = "No additional remarks";
176
+ p.Name = part.Name;
177
+ if (part.Element == XmlQualifiedName.Empty)
178
+ p.Type = part.Type.Name;
179
+ else
180
+ {
181
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
182
+ p.Type = elem.SchemaTypeName.Name;
183
+ }
184
+ list.Add (p);
185
+ }
186
+ }
187
+ }
188
+
189
+ string GetOperationFormat (OperationBinding obin)
190
+ {
191
+ string format = "";
192
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
193
+ if (sob != null) {
194
+ format = sob.Style.ToString ();
195
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
196
+ if (sbb != null)
197
+ format += " / " + sbb.Use;
198
+ }
199
+ return format;
200
+ }
201
+
202
+ XmlSchemaElement GetRefElement (XmlSchemaElement elem)
203
+ {
204
+ if (!elem.RefName.IsEmpty)
205
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
206
+ else
207
+ return elem;
208
+ }
209
+
210
+ ArrayList FindServiceProtocols(string operName)
211
+ {
212
+ ArrayList table = new ArrayList ();
213
+ Service service = descriptions[0].Services[0];
214
+ foreach (Port port in service.Ports)
215
+ {
216
+ string prot = null;
217
+ Binding bin = descriptions.GetBinding (port.Binding);
218
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null)
219
+ prot = "Soap";
220
+ else
221
+ {
222
+ HttpBinding hb = (HttpBinding) bin.Extensions.Find (typeof(HttpBinding));
223
+ if (hb != null && hb.Verb == "POST") prot = "HttpPost";
224
+ else if (hb != null && hb.Verb == "GET") prot = "HttpGet";
225
+ }
226
+
227
+ if (prot != null && operName != null)
228
+ {
229
+ if (FindOperation (bin, operName) == null)
230
+ prot = null;
231
+ }
232
+
233
+ if (prot != null && !table.Contains (prot))
234
+ table.Add (prot);
235
+ }
236
+ return table;
237
+ }
238
+
239
+ Port FindPort (string portName, string protocol)
240
+ {
241
+ Service service = descriptions[0].Services[0];
242
+ foreach (Port port in service.Ports)
243
+ {
244
+ if (portName == null)
245
+ {
246
+ Binding binding = descriptions.GetBinding (port.Binding);
247
+ if (GetProtocol (binding) == protocol) return port;
248
+ }
249
+ else if (port.Name == portName)
250
+ return port;
251
+ }
252
+ return null;
253
+ }
254
+
255
+ string GetProtocol (Binding binding)
256
+ {
257
+ if (binding.Extensions.Find (typeof(SoapBinding)) != null) return "Soap";
258
+ HttpBinding hb = (HttpBinding) binding.Extensions.Find (typeof(HttpBinding));
259
+ if (hb == null) return "";
260
+ if (hb.Verb == "POST") return "HttpPost";
261
+ if (hb.Verb == "GET") return "HttpGet";
262
+ return "";
263
+ }
264
+
265
+
266
+ Operation FindOperation (PortType portType, string name)
267
+ {
268
+ foreach (Operation oper in portType.Operations) {
269
+ if (oper.Messages.Input.Name != null) {
270
+ if (oper.Messages.Input.Name == name) return oper;
271
+ }
272
+ else
273
+ if (oper.Name == name) return oper;
274
+ }
275
+
276
+ return null;
277
+ }
278
+
279
+ OperationBinding FindOperation (Binding binding, string name)
280
+ {
281
+ foreach (OperationBinding oper in binding.Operations) {
282
+ if (oper.Input.Name != null) {
283
+ if (oper.Input.Name == name) return oper;
284
+ }
285
+ else
286
+ if (oper.Name == name) return oper;
287
+ }
288
+
289
+ return null;
290
+ }
291
+
292
+ string FormatBindingName (string name)
293
+ {
294
+ if (name == DefaultBinding) return "Methods";
295
+ else return "Methods for binding<br>" + name;
296
+ }
297
+
298
+ string GetOpName (object op)
299
+ {
300
+ OperationBinding ob = op as OperationBinding;
301
+ if (ob == null) return "";
302
+ if (ob.Input.Name != null) return ob.Input.Name;
303
+ else return ob.Name;
304
+ }
305
+
306
+ bool HasFormResult
307
+ {
308
+ get { return Request.QueryString ["ext"] == "testform"; }
309
+ }
310
+
311
+ class NoCheckCertificatePolicy : ICertificatePolicy {
312
+ public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
313
+ {
314
+ return true;
315
+ }
316
+ }
317
+
318
+ string GetTestResult ()
319
+ {
320
+ if (!HasFormResult) return null;
321
+
322
+ bool fill = false;
323
+ string qs = "";
324
+ for (int n=0; n<Request.QueryString.Count; n++)
325
+ {
326
+ if (fill) {
327
+ if (qs != "") qs += "&";
328
+ qs += Request.QueryString.GetKey(n) + "=" + Server.UrlEncode (Request.QueryString [n]);
329
+ }
330
+ if (Request.QueryString.GetKey(n) == "ext") fill = true;
331
+ }
332
+
333
+ string location = null;
334
+ ServiceDescription desc = descriptions [0];
335
+ Service service = desc.Services[0];
336
+ foreach (Port port in service.Ports)
337
+ if (port.Name == CurrentOperationBinding)
338
+ {
339
+ SoapAddressBinding sbi = (SoapAddressBinding) port.Extensions.Find (typeof(SoapAddressBinding));
340
+ if (sbi != null)
341
+ location = sbi.Location;
342
+ }
343
+
344
+ if (location == null)
345
+ return "Could not locate web service";
346
+
347
+ try
348
+ {
349
+ string url = location + "/" + CurrentOperationName;
350
+ Uri uri = new Uri (url);
351
+ WebRequest req;
352
+ if (CurrentOperationProtocols.IndexOf ("HttpGet") < 0) {
353
+ req = WebRequest.Create (url);
354
+ req.Method = "POST";
355
+ if (qs != null && qs.Length > 0) {
356
+ req.ContentType = "application/x-www-form-urlencoded";
357
+ byte [] postBuffer = Encoding.UTF8.GetBytes (qs);
358
+ req.ContentLength = postBuffer.Length;
359
+ using (Stream requestStream = req.GetRequestStream ())
360
+ requestStream.Write (postBuffer, 0, postBuffer.Length);
361
+ }
362
+ }
363
+ else
364
+ req = WebRequest.Create (url + "?" + qs);
365
+ if (url.StartsWith ("https:"))
366
+ ServicePointManager.CertificatePolicy = new NoCheckCertificatePolicy ();
367
+ HttpCookieCollection cookies = Request.Cookies;
368
+ int last = cookies.Count;
369
+ if (last > 0) {
370
+ CookieContainer container = new CookieContainer ();
371
+ for (int i = 0; i < last; i++) {
372
+ HttpCookie hcookie = cookies [i];
373
+ Cookie cookie = new Cookie (hcookie.Name, hcookie.Value, hcookie.Path, hcookie.Domain);
374
+ container.Add (uri, cookie);
375
+ }
376
+ ((HttpWebRequest) req).CookieContainer = container;
377
+ }
378
+ WebResponse resp = req.GetResponse();
379
+ StreamReader sr = new StreamReader (resp.GetResponseStream());
380
+ string s = sr.ReadToEnd ();
381
+ sr.Close ();
382
+ return "<div class='code-xml'>" + ColorizeXml(WrapText(s,CodeTextColumns)) + "</div>";
383
+ }
384
+ catch (Exception ex)
385
+ {
386
+ string res = "<b style='color:red'>" + ex.Message + "</b>";
387
+ WebException wex = ex as WebException;
388
+ if (wex != null)
389
+ {
390
+ WebResponse resp = wex.Response;
391
+ if (resp != null) {
392
+ StreamReader sr = new StreamReader (resp.GetResponseStream());
393
+ string s = sr.ReadToEnd ();
394
+ sr.Close ();
395
+ res += "<div class='code-xml'>" + ColorizeXml(WrapText(s,CodeTextColumns)) + "</div>";
396
+ }
397
+ }
398
+ return res;
399
+ }
400
+ }
401
+
402
+ string GenerateOperationMessages (string protocol, bool generateInput)
403
+ {
404
+ if (!IsOperationSupported (protocol)) return "";
405
+
406
+ Port port;
407
+ if (protocol != "Soap") port = FindPort (null, protocol);
408
+ else port = FindPort (CurrentOperationBinding, null);
409
+
410
+ Binding binding = descriptions.GetBinding (port.Binding);
411
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
412
+ PortType portType = descriptions.GetPortType (binding.Type);
413
+ Operation oper = FindOperation (portType, CurrentOperationName);
414
+
415
+ HtmlSampleGenerator sg = new HtmlSampleGenerator (descriptions, schemas);
416
+ string txt = sg.GenerateMessage (port, obin, oper, protocol, generateInput);
417
+ if (protocol == "Soap") txt = WrapText (txt,CodeTextColumns);
418
+ txt = ColorizeXml (txt);
419
+ txt = txt.Replace ("@placeholder!","<span class='literal-placeholder'>");
420
+ txt = txt.Replace ("!placeholder@","</span>");
421
+ return txt;
422
+ }
423
+
424
+ bool IsOperationSupported (string protocol)
425
+ {
426
+ if (CurrentPage != "op" || CurrentTab != "msg") return false;
427
+ if (protocol == "Soap") return true;
428
+
429
+ Port port = FindPort (null, protocol);
430
+ if (port == null) return false;
431
+ Binding binding = descriptions.GetBinding (port.Binding);
432
+ if (binding == null) return false;
433
+ return FindOperation (binding, CurrentOperationName) != null;
434
+ }
435
+
436
+ //
437
+ // Proxy code generation
438
+ //
439
+
440
+ string GetProxyCode ()
441
+ {
442
+ CodeNamespace codeNamespace = new CodeNamespace();
443
+ CodeCompileUnit codeUnit = new CodeCompileUnit();
444
+
445
+ codeUnit.Namespaces.Add (codeNamespace);
446
+
447
+ ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
448
+
449
+ foreach (ServiceDescription sd in descriptions)
450
+ importer.AddServiceDescription(sd, null, null);
451
+
452
+ foreach (XmlSchema sc in schemas)
453
+ importer.Schemas.Add (sc);
454
+
455
+ importer.Import(codeNamespace, codeUnit);
456
+
457
+ string langId = Request.QueryString ["lang"];
458
+ if (langId == null || langId == "") langId = "cs";
459
+ CodeDomProvider provider = GetProvider (langId);
460
+ ICodeGenerator generator = provider.CreateGenerator();
461
+ CodeGeneratorOptions options = new CodeGeneratorOptions();
462
+
463
+ StringWriter sw = new StringWriter ();
464
+ generator.GenerateCodeFromCompileUnit(codeUnit, sw, options);
465
+
466
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), langId);
467
+ }
468
+
469
+ public string CurrentLanguage
470
+ {
471
+ get {
472
+ string langId = Request.QueryString ["lang"];
473
+ if (langId == null || langId == "") langId = "cs";
474
+ return langId;
475
+ }
476
+ }
477
+
478
+ public string CurrentProxytName
479
+ {
480
+ get {
481
+ string lan = CurrentLanguage == "cs" ? "C#" : "Visual Basic";
482
+ return lan + " Client Proxy";
483
+ }
484
+ }
485
+
486
+ private CodeDomProvider GetProvider(string langId)
487
+ {
488
+ switch (langId.ToUpper())
489
+ {
490
+ case "CS": return new CSharpCodeProvider();
491
+ case "VB": return new VBCodeProvider();
492
+ default: return null;
493
+ }
494
+ }
495
+
496
+ //
497
+ // Document generation
498
+ //
499
+
500
+ string GenerateDocument ()
501
+ {
502
+ StringWriter sw = new StringWriter ();
503
+
504
+ if (CurrentDocType == "wsdl")
505
+ descriptions [CurrentDocInd].Write (sw);
506
+ else if (CurrentDocType == "schema")
507
+ schemas [CurrentDocInd].Write (sw);
508
+
509
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), "xml");
510
+ }
511
+
512
+ public string CurrentDocType
513
+ {
514
+ get { return Request.QueryString ["doctype"] != null ? Request.QueryString ["doctype"] : "wsdl"; }
515
+ }
516
+
517
+ public int CurrentDocInd
518
+ {
519
+ get { return Request.QueryString ["docind"] != null ? int.Parse (Request.QueryString ["docind"]) : 0; }
520
+ }
521
+
522
+ public string CurrentDocumentName
523
+ {
524
+ get {
525
+ if (CurrentDocType == "wsdl")
526
+ return "WSDL document for namespace \"" + descriptions [CurrentDocInd].TargetNamespace + "\"";
527
+ else
528
+ return "Xml Schema for namespace \"" + schemas [CurrentDocInd].TargetNamespace + "\"";
529
+ }
530
+ }
531
+
532
+ //
533
+ // Pages and tabs
534
+ //
535
+
536
+ bool firstTab = true;
537
+ ArrayList disabledTabs = new ArrayList ();
538
+
539
+ string CurrentTab
540
+ {
541
+ get { return Request.QueryString["tab"] != null ? Request.QueryString["tab"] : "main" ; }
542
+ }
543
+
544
+ string CurrentPage
545
+ {
546
+ get { return Request.QueryString["page"] != null ? Request.QueryString["page"] : "main" ; }
547
+ }
548
+
549
+ void WriteTabs ()
550
+ {
551
+ if (CurrentOperationName != null)
552
+ {
553
+ WriteTab ("main","Overview");
554
+ WriteTab ("test","Test Form");
555
+ WriteTab ("msg","Message Layout");
556
+ }
557
+ }
558
+
559
+ void WriteTab (string id, string label)
560
+ {
561
+ if (!firstTab) Response.Write("&nbsp;|&nbsp;");
562
+ firstTab = false;
563
+
564
+ string cname = CurrentTab == id ? "tabLabelOn" : "tabLabelOff";
565
+ Response.Write ("<a href='" + PageName + "?" + GetPageContext(null) + GetDataContext() + "tab=" + id + "' style='text-decoration:none'>");
566
+ Response.Write ("<span class='" + cname + "'>" + label + "</span>");
567
+ Response.Write ("</a>");
568
+ }
569
+
570
+ string GetTabContext (string pag, string tab)
571
+ {
572
+ if (tab == null) tab = CurrentTab;
573
+ if (pag == null) pag = CurrentPage;
574
+ if (pag != CurrentPage) tab = "main";
575
+ return "page=" + pag + "&tab=" + tab + "&";
576
+ }
577
+
578
+ string GetPageContext (string pag)
579
+ {
580
+ if (pag == null) pag = CurrentPage;
581
+ return "page=" + pag + "&";
582
+ }
583
+
584
+ class Tab
585
+ {
586
+ public string Id;
587
+ public string Label;
588
+ }
589
+
590
+ //
591
+ // Syntax coloring
592
+ //
593
+
594
+ static string keywords_cs =
595
+ "(\\babstract\\b|\\bevent\\b|\\bnew\\b|\\bstruct\\b|\\bas\\b|\\bexplicit\\b|\\bnull\\b|\\bswitch\\b|\\bbase\\b|\\bextern\\b|" +
596
+ "\\bobject\\b|\\bthis\\b|\\bbool\\b|\\bfalse\\b|\\boperator\\b|\\bthrow\\b|\\bbreak\\b|\\bfinally\\b|\\bout\\b|\\btrue\\b|" +
597
+ "\\bbyte\\b|\\bfixed\\b|\\boverride\\b|\\btry\\b|\\bcase\\b|\\bfloat\\b|\\bparams\\b|\\btypeof\\b|\\bcatch\\b|\\bfor\\b|" +
598
+ "\\bprivate\\b|\\buint\\b|\\bchar\\b|\\bforeach\\b|\\bprotected\\b|\\bulong\\b|\\bchecked\\b|\\bgoto\\b|\\bpublic\\b|" +
599
+ "\\bunchecked\\b|\\bclass\\b|\\bif\\b|\\breadonly\\b|\\bunsafe\\b|\\bconst\\b|\\bimplicit\\b|\\bref\\b|\\bushort\\b|" +
600
+ "\\bcontinue\\b|\\bin\\b|\\breturn\\b|\\busing\\b|\\bdecimal\\b|\\bint\\b|\\bsbyte\\b|\\bvirtual\\b|\\bdefault\\b|" +
601
+ "\\binterface\\b|\\bsealed\\b|\\bvolatile\\b|\\bdelegate\\b|\\binternal\\b|\\bshort\\b|\\bvoid\\b|\\bdo\\b|\\bis\\b|" +
602
+ "\\bsizeof\\b|\\bwhile\\b|\\bdouble\\b|\\block\\b|\\bstackalloc\\b|\\belse\\b|\\blong\\b|\\bstatic\\b|\\benum\\b|" +
603
+ "\\bnamespace\\b|\\bstring\\b)";
604
+
605
+ static string keywords_vb =
606
+ "(\\bAddHandler\\b|\\bAddressOf\\b|\\bAlias\\b|\\bAnd\\b|\\bAndAlso\\b|\\bAnsi\\b|\\bAs\\b|\\bAssembly\\b|" +
607
+ "\\bAuto\\b|\\bBoolean\\b|\\bByRef\\b|\\bByte\\b|\\bByVal\\b|\\bCall\\b|\\bCase\\b|\\bCatch\\b|" +
608
+ "\\bCBool\\b|\\bCByte\\b|\\bCChar\\b|\\bCDate\\b|\\bCDec\\b|\\bCDbl\\b|\\bChar\\b|\\bCInt\\b|" +
609
+ "\\bClass\\b|\\bCLng\\b|\\bCObj\\b|\\bConst\\b|\\bCShort\\b|\\bCSng\\b|\\bCStr\\b|\\bCType\\b|" +
610
+ "\\bDate\\b|\\bDecimal\\b|\\bDeclare\\b|\\bDefault\\b|\\bDelegate\\b|\\bDim\\b|\\bDirectCast\\b|\\bDo\\b|" +
611
+ "\\bDouble\\b|\\bEach\\b|\\bElse\\b|\\bElseIf\\b|\\bEnd\\b|\\bEnum\\b|\\bErase\\b|\\bError\\b|" +
612
+ "\\bEvent\\b|\\bExit\\b|\\bFalse\\b|\\bFinally\\b|\\bFor\\b|\\bFriend\\b|\\bFunction\\b|\\bGet\\b|" +
613
+ "\\bGetType\\b|\\bGoSub\\b|\\bGoTo\\b|\\bHandles\\b|\\bIf\\b|\\bImplements\\b|\\bImports\\b|\\bIn\\b|" +
614
+ "\\bInherits\\b|\\bInteger\\b|\\bInterface\\b|\\bIs\\b|\\bLet\\b|\\bLib\\b|\\bLike\\b|\\bLong\\b|" +
615
+ "\\bLoop\\b|\\bMe\\b|\\bMod\\b|\\bModule\\b|\\bMustInherit\\b|\\bMustOverride\\b|\\bMyBase\\b|\\bMyClass\\b|" +
616
+ "\\bNamespace\\b|\\bNew\\b|\\bNext\\b|\\bNot\\b|\\bNothing\\b|\\bNotInheritable\\b|\\bNotOverridable\\b|\\bObject\\b|" +
617
+ "\\bOn\\b|\\bOption\\b|\\bOptional\\b|\\bOr\\b|\\bOrElse\\b|\\bOverloads\\b|\\bOverridable\\b|\\bOverrides\\b|" +
618
+ "\\bParamArray\\b|\\bPreserve\\b|\\bPrivate\\b|\\bProperty\\b|\\bProtected\\b|\\bPublic\\b|\\bRaiseEvent\\b|\\bReadOnly\\b|" +
619
+ "\\bReDim\\b|\\bREM\\b|\\bRemoveHandler\\b|\\bResume\\b|\\bReturn\\b|\\bSelect\\b|\\bSet\\b|\\bShadows\\b|" +
620
+ "\\bShared\\b|\\bShort\\b|\\bSingle\\b|\\bStatic\\b|\\bStep\\b|\\bStop\\b|\\bString\\b|\\bStructure\\b|" +
621
+ "\\bSub\\b|\\bSyncLock\\b|\\bThen\\b|\\bThrow\\b|\\bTo\\b|\\bTrue\\b|\\bTry\\b|\\bTypeOf\\b|" +
622
+ "\\bUnicode\\b|\\bUntil\\b|\\bVariant\\b|\\bWhen\\b|\\bWhile\\b|\\bWith\\b|\\bWithEvents\\b|\\bWriteOnly\\b|\\bXor\\b)";
623
+
624
+ string Colorize (string text, string lang)
625
+ {
626
+ if (lang == "xml") return ColorizeXml (text);
627
+ else if (lang == "cs") return ColorizeCs (text);
628
+ else if (lang == "vb") return ColorizeVb (text);
629
+ else return text;
630
+ }
631
+
632
+ string ColorizeXml (string text)
633
+ {
634
+ text = text.Replace (" ", "&nbsp;");
635
+ Regex re = new Regex ("\r\n|\r|\n");
636
+ text = re.Replace (text, "_br_");
637
+
638
+ re = new Regex ("<\\s*(\\/?)\\s*([\\s\\S]*?)\\s*(\\/?)\\s*>");
639
+ text = re.Replace (text,"{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
640
+
641
+ re = new Regex ("\\{(\\w*):([\\s\\S]*?)\\}");
642
+ text = re.Replace (text,"<span style='color:$1'>$2</span>");
643
+
644
+ re = new Regex ("\"(.*?)\"");
645
+ text = re.Replace (text,"\"<span style='color:purple'>$1</span>\"");
646
+
647
+
648
+ text = text.Replace ("\t", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
649
+ text = text.Replace ("_br_", "<br>");
650
+ return text;
651
+ }
652
+
653
+ string ColorizeCs (string text)
654
+ {
655
+ text = text.Replace (" ", "&nbsp;");
656
+
657
+ text = text.Replace ("<", "&lt;");
658
+ text = text.Replace (">", "&gt;");
659
+
660
+ Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
661
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
662
+
663
+ re = new Regex ("//(((.(?!\"</span>))|\"(((?!\").)*)\"</span>)*)(\r|\n|\r\n)");
664
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
665
+
666
+ re = new Regex (keywords_cs);
667
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
668
+
669
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
670
+ text = text.Replace ("\n","<br/>");
671
+
672
+ return text;
673
+ }
674
+
675
+ string ColorizeVb (string text)
676
+ {
677
+ text = text.Replace (" ", "&nbsp;");
678
+
679
+ /* Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
680
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
681
+
682
+ re = new Regex ("'(((.(?!\"\\<\\/span\\>))|\"(((?!\").)*)\"\\<\\/span\\>)*)(\r|\n|\r\n)");
683
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
684
+
685
+ re = new Regex (keywords_vb);
686
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
687
+ */
688
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
689
+ text = text.Replace ("\n","<br/>");
690
+ return text;
691
+ }
692
+
693
+ //
694
+ // Helper methods and classes
695
+ //
696
+
697
+ string GetDataContext ()
698
+ {
699
+ return "op=" + CurrentOperationName + "&bnd=" + CurrentOperationBinding + "&";
700
+ }
701
+
702
+ string GetOptionSel (string v1, string v2)
703
+ {
704
+ string op = "<option ";
705
+ if (v1 == v2) op += "selected ";
706
+ return op + "value='" + v1 + "'>";
707
+ }
708
+
709
+ string WrapText (string text, int maxChars)
710
+ {
711
+ text = text.Replace(" />","/>");
712
+
713
+ string linspace = null;
714
+ int lincount = 0;
715
+ int breakpos = 0;
716
+ int linstart = 0;
717
+ bool inquotes = false;
718
+ char lastc = ' ';
719
+ string sublineIndent = "";
720
+ System.Text.StringBuilder sb = new System.Text.StringBuilder ();
721
+ for (int n=0; n<text.Length; n++)
722
+ {
723
+ char c = text [n];
724
+
725
+ if (c=='\r' || c=='\n' || n==text.Length-1)
726
+ {
727
+ sb.Append (linspace + sublineIndent + text.Substring (linstart, n-linstart+1));
728
+ linspace = null;
729
+ lincount = 0;
730
+ linstart = n+1;
731
+ breakpos = linstart;
732
+ sublineIndent = "";
733
+ lastc = c;
734
+ continue;
735
+ }
736
+
737
+ if (lastc==',' || lastc=='(')
738
+ {
739
+ if (!inquotes) breakpos = n;
740
+ }
741
+
742
+ if (lincount > maxChars && breakpos >= linstart)
743
+ {
744
+ if (linspace != null)
745
+ sb.Append (linspace + sublineIndent);
746
+ sb.Append (text.Substring (linstart, breakpos-linstart));
747
+ sb.Append ("\n");
748
+ sublineIndent = " ";
749
+ lincount = linspace.Length + sublineIndent.Length + (n-breakpos);
750
+ linstart = breakpos;
751
+ }
752
+
753
+ if (c==' ' || c=='\t')
754
+ {
755
+ if (!inquotes)
756
+ breakpos = n;
757
+ }
758
+ else if (c=='"')
759
+ {
760
+ inquotes = !inquotes;
761
+ }
762
+ else
763
+ if (linspace == null) {
764
+ linspace = text.Substring (linstart, n-linstart);
765
+ linstart = n;
766
+ }
767
+
768
+ lincount++;
769
+ lastc = c;
770
+ }
771
+ return sb.ToString ();
772
+ }
773
+
774
+ class Parameter
775
+ {
776
+ string name;
777
+ string type;
778
+ string description;
779
+
780
+ public string Name { get { return name; } set { name = value; } }
781
+ public string Type { get { return type; } set { type = value; } }
782
+ public string Description { get { return description; } set { description = value; } }
783
+ }
784
+
785
+ public class HtmlSampleGenerator: SampleGenerator
786
+ {
787
+ public HtmlSampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
788
+ : base (services, schemas)
789
+ {
790
+ }
791
+
792
+ protected override string GetLiteral (string s)
793
+ {
794
+ return "@placeholder!" + s + "!placeholder@";
795
+ }
796
+ }
797
+
798
+
799
+ public class SampleGenerator
800
+ {
801
+ protected ServiceDescriptionCollection descriptions;
802
+ protected XmlSchemas schemas;
803
+ XmlSchemaElement anyElement;
804
+ ArrayList queue;
805
+ SoapBindingUse currentUse;
806
+ XmlDocument document = new XmlDocument ();
807
+
808
+ static readonly XmlQualifiedName anyType = new XmlQualifiedName ("anyType",XmlSchema.Namespace);
809
+ static readonly XmlQualifiedName arrayType = new XmlQualifiedName ("Array","http://schemas.xmlsoap.org/soap/encoding/");
810
+ static readonly XmlQualifiedName arrayTypeRefName = new XmlQualifiedName ("arrayType","http://schemas.xmlsoap.org/soap/encoding/");
811
+ const string SoapEnvelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
812
+ const string WsdlNamespace = "http://schemas.xmlsoap.org/wsdl/";
813
+ const string SoapEncodingNamespace = "http://schemas.xmlsoap.org/soap/encoding/";
814
+
815
+ class EncodedType
816
+ {
817
+ public EncodedType (string ns, XmlSchemaElement elem) { Namespace = ns; Element = elem; }
818
+ public string Namespace;
819
+ public XmlSchemaElement Element;
820
+ }
821
+
822
+ public SampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
823
+ {
824
+ descriptions = services;
825
+ this.schemas = schemas;
826
+ queue = new ArrayList ();
827
+ }
828
+
829
+ public string GenerateMessage (Port port, OperationBinding obin, Operation oper, string protocol, bool generateInput)
830
+ {
831
+ OperationMessage msg = null;
832
+ foreach (OperationMessage opm in oper.Messages)
833
+ {
834
+ if (opm is OperationInput && generateInput) msg = opm;
835
+ else if (opm is OperationOutput && !generateInput) msg = opm;
836
+ }
837
+ if (msg == null) return null;
838
+
839
+ switch (protocol) {
840
+ case "Soap": return GenerateHttpSoapMessage (port, obin, oper, msg);
841
+ case "HttpGet": return GenerateHttpGetMessage (port, obin, oper, msg);
842
+ case "HttpPost": return GenerateHttpPostMessage (port, obin, oper, msg);
843
+ }
844
+ return "Unknown protocol";
845
+ }
846
+
847
+ public string GenerateHttpSoapMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
848
+ {
849
+ string req = "";
850
+
851
+ if (msg is OperationInput)
852
+ {
853
+ SoapAddressBinding sab = port.Extensions.Find (typeof(SoapAddressBinding)) as SoapAddressBinding;
854
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
855
+ req += "POST " + new Uri (sab.Location).AbsolutePath + "\n";
856
+ req += "SOAPAction: " + sob.SoapAction + "\n";
857
+ req += "Content-Type: text/xml; charset=utf-8\n";
858
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
859
+ req += "Host: " + GetLiteral ("string") + "\n\n";
860
+ }
861
+ else
862
+ {
863
+ req += "HTTP/1.0 200 OK\n";
864
+ req += "Content-Type: text/xml; charset=utf-8\n";
865
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
866
+ }
867
+
868
+ req += GenerateSoapMessage (obin, oper, msg);
869
+ return req;
870
+ }
871
+
872
+ public string GenerateHttpGetMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
873
+ {
874
+ string req = "";
875
+
876
+ if (msg is OperationInput)
877
+ {
878
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
879
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
880
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location + "?" + BuildQueryString (msg);
881
+ req += "GET " + location + "\n";
882
+ req += "Host: " + GetLiteral ("string");
883
+ }
884
+ else
885
+ {
886
+ req += "HTTP/1.0 200 OK\n";
887
+ req += "Content-Type: text/xml; charset=utf-8\n";
888
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
889
+
890
+ MimeXmlBinding mxb = (MimeXmlBinding) obin.Output.Extensions.Find (typeof(MimeXmlBinding)) as MimeXmlBinding;
891
+ if (mxb == null) return req;
892
+
893
+ Message message = descriptions.GetMessage (msg.Message);
894
+ XmlQualifiedName ename = null;
895
+ foreach (MessagePart part in message.Parts)
896
+ if (part.Name == mxb.Part) ename = part.Element;
897
+
898
+ if (ename == null) return req + GetLiteral("string");
899
+
900
+ StringWriter sw = new StringWriter ();
901
+ XmlTextWriter xtw = new XmlTextWriter (sw);
902
+ xtw.Formatting = Formatting.Indented;
903
+ currentUse = SoapBindingUse.Literal;
904
+ WriteRootElementSample (xtw, ename);
905
+ xtw.Close ();
906
+ req += sw.ToString ();
907
+ }
908
+
909
+ return req;
910
+ }
911
+
912
+ public string GenerateHttpPostMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
913
+ {
914
+ string req = "";
915
+
916
+ if (msg is OperationInput)
917
+ {
918
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
919
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
920
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location;
921
+ req += "POST " + location + "\n";
922
+ req += "Content-Type: application/x-www-form-urlencoded\n";
923
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
924
+ req += "Host: " + GetLiteral ("string") + "\n\n";
925
+ req += BuildQueryString (msg);
926
+ }
927
+ else return GenerateHttpGetMessage (port, obin, oper, msg);
928
+
929
+ return req;
930
+ }
931
+
932
+ string BuildQueryString (OperationMessage opm)
933
+ {
934
+ string s = "";
935
+ Message msg = descriptions.GetMessage (opm.Message);
936
+ foreach (MessagePart part in msg.Parts)
937
+ {
938
+ if (s.Length != 0) s += "&";
939
+ s += part.Name + "=" + GetLiteral (part.Type.Name);
940
+ }
941
+ return s;
942
+ }
943
+
944
+ public string GenerateSoapMessage (OperationBinding obin, Operation oper, OperationMessage msg)
945
+ {
946
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
947
+ SoapBindingStyle style = (sob != null) ? sob.Style : SoapBindingStyle.Document;
948
+
949
+ MessageBinding msgbin = (msg is OperationInput) ? (MessageBinding) obin.Input : (MessageBinding)obin.Output;
950
+ SoapBodyBinding sbb = msgbin.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
951
+ SoapBindingUse bodyUse = (sbb != null) ? sbb.Use : SoapBindingUse.Literal;
952
+
953
+ StringWriter sw = new StringWriter ();
954
+ XmlTextWriter xtw = new XmlTextWriter (sw);
955
+ xtw.Formatting = Formatting.Indented;
956
+
957
+ xtw.WriteStartDocument ();
958
+ xtw.WriteStartElement ("soap", "Envelope", SoapEnvelopeNamespace);
959
+ xtw.WriteAttributeString ("xmlns", "xsi", null, XmlSchema.InstanceNamespace);
960
+ xtw.WriteAttributeString ("xmlns", "xsd", null, XmlSchema.Namespace);
961
+
962
+ if (bodyUse == SoapBindingUse.Encoded)
963
+ {
964
+ xtw.WriteAttributeString ("xmlns", "soapenc", null, SoapEncodingNamespace);
965
+ xtw.WriteAttributeString ("xmlns", "tns", null, msg.Message.Namespace);
966
+ }
967
+
968
+ // Serialize headers
969
+
970
+ bool writtenHeader = false;
971
+ foreach (object ob in msgbin.Extensions)
972
+ {
973
+ SoapHeaderBinding hb = ob as SoapHeaderBinding;
974
+ if (hb == null) continue;
975
+
976
+ if (!writtenHeader) {
977
+ xtw.WriteStartElement ("soap", "Header", SoapEnvelopeNamespace);
978
+ writtenHeader = true;
979
+ }
980
+
981
+ WriteHeader (xtw, hb);
982
+ }
983
+
984
+ if (writtenHeader)
985
+ xtw.WriteEndElement ();
986
+
987
+ // Serialize body
988
+ xtw.WriteStartElement ("soap", "Body", SoapEnvelopeNamespace);
989
+
990
+ currentUse = bodyUse;
991
+ WriteBody (xtw, oper, msg, sbb, style);
992
+
993
+ xtw.WriteEndElement ();
994
+ xtw.WriteEndElement ();
995
+ xtw.Close ();
996
+ return sw.ToString ();
997
+ }
998
+
999
+ void WriteHeader (XmlTextWriter xtw, SoapHeaderBinding header)
1000
+ {
1001
+ Message msg = descriptions.GetMessage (header.Message);
1002
+ if (msg == null) throw new InvalidOperationException ("Message " + header.Message + " not found");
1003
+ MessagePart part = msg.Parts [header.Part];
1004
+ if (part == null) throw new InvalidOperationException ("Message part " + header.Part + " not found in message " + header.Message);
1005
+
1006
+ currentUse = header.Use;
1007
+
1008
+ if (currentUse == SoapBindingUse.Literal)
1009
+ WriteRootElementSample (xtw, part.Element);
1010
+ else
1011
+ WriteTypeSample (xtw, part.Type);
1012
+ }
1013
+
1014
+ void WriteBody (XmlTextWriter xtw, Operation oper, OperationMessage opm, SoapBodyBinding sbb, SoapBindingStyle style)
1015
+ {
1016
+ Message msg = descriptions.GetMessage (opm.Message);
1017
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
1018
+ {
1019
+ MessagePart part = msg.Parts[0];
1020
+ if (part.Element == XmlQualifiedName.Empty)
1021
+ WriteTypeSample (xtw, part.Type);
1022
+ else
1023
+ WriteRootElementSample (xtw, part.Element);
1024
+ }
1025
+ else
1026
+ {
1027
+ string elemName = oper.Name;
1028
+ string ns = "";
1029
+ if (opm is OperationOutput) elemName += "Response";
1030
+
1031
+ if (style == SoapBindingStyle.Rpc) {
1032
+ xtw.WriteStartElement (elemName, sbb.Namespace);
1033
+ ns = sbb.Namespace;
1034
+ }
1035
+
1036
+ foreach (MessagePart part in msg.Parts)
1037
+ {
1038
+ if (part.Element == XmlQualifiedName.Empty)
1039
+ {
1040
+ XmlSchemaElement elem = new XmlSchemaElement ();
1041
+ elem.SchemaTypeName = part.Type;
1042
+ elem.Name = part.Name;
1043
+ WriteElementSample (xtw, ns, elem);
1044
+ }
1045
+ else
1046
+ WriteRootElementSample (xtw, part.Element);
1047
+ }
1048
+
1049
+ if (style == SoapBindingStyle.Rpc)
1050
+ xtw.WriteEndElement ();
1051
+ }
1052
+ WriteQueuedTypeSamples (xtw);
1053
+ }
1054
+
1055
+ void WriteRootElementSample (XmlTextWriter xtw, XmlQualifiedName qname)
1056
+ {
1057
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (qname, typeof(XmlSchemaElement));
1058
+ if (elem == null) throw new InvalidOperationException ("Element not found: " + qname);
1059
+ WriteElementSample (xtw, qname.Namespace, elem);
1060
+ }
1061
+
1062
+ void WriteElementSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1063
+ {
1064
+ bool sharedAnnType = false;
1065
+ XmlQualifiedName root;
1066
+
1067
+ if (!elem.RefName.IsEmpty) {
1068
+ XmlSchemaElement refElem = FindRefElement (elem);
1069
+ if (refElem == null) throw new InvalidOperationException ("Global element not found: " + elem.RefName);
1070
+ root = elem.RefName;
1071
+ elem = refElem;
1072
+ sharedAnnType = true;
1073
+ }
1074
+ else
1075
+ root = new XmlQualifiedName (elem.Name, ns);
1076
+
1077
+ if (!elem.SchemaTypeName.IsEmpty)
1078
+ {
1079
+ XmlSchemaComplexType st = FindComplexTyype (elem.SchemaTypeName);
1080
+ if (st != null)
1081
+ WriteComplexTypeSample (xtw, st, root);
1082
+ else
1083
+ {
1084
+ xtw.WriteStartElement (root.Name, root.Namespace);
1085
+ if (currentUse == SoapBindingUse.Encoded)
1086
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, elem.SchemaTypeName));
1087
+ xtw.WriteString (GetLiteral (FindBuiltInType (elem.SchemaTypeName)));
1088
+ xtw.WriteEndElement ();
1089
+ }
1090
+ }
1091
+ else if (elem.SchemaType == null)
1092
+ {
1093
+ xtw.WriteStartElement ("any");
1094
+ xtw.WriteEndElement ();
1095
+ }
1096
+ else
1097
+ WriteComplexTypeSample (xtw, (XmlSchemaComplexType) elem.SchemaType, root);
1098
+ }
1099
+
1100
+ void WriteTypeSample (XmlTextWriter xtw, XmlQualifiedName qname)
1101
+ {
1102
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1103
+ if (ctype != null) {
1104
+ WriteComplexTypeSample (xtw, ctype, qname);
1105
+ return;
1106
+ }
1107
+
1108
+ XmlSchemaSimpleType stype = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1109
+ if (stype != null) {
1110
+ WriteSimpleTypeSample (xtw, stype);
1111
+ return;
1112
+ }
1113
+
1114
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1115
+ throw new InvalidOperationException ("Type not found: " + qname);
1116
+ }
1117
+
1118
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName)
1119
+ {
1120
+ WriteComplexTypeSample (xtw, stype, rootName, -1);
1121
+ }
1122
+
1123
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName, int id)
1124
+ {
1125
+ string ns = rootName.Namespace;
1126
+
1127
+ if (rootName.Name.IndexOf ("[]") != -1) rootName = arrayType;
1128
+
1129
+ if (currentUse == SoapBindingUse.Encoded) {
1130
+ string pref = xtw.LookupPrefix (rootName.Namespace);
1131
+ if (pref == null) pref = "q1";
1132
+ xtw.WriteStartElement (pref, rootName.Name, rootName.Namespace);
1133
+ ns = "";
1134
+ }
1135
+ else
1136
+ xtw.WriteStartElement (rootName.Name, rootName.Namespace);
1137
+
1138
+ if (id != -1)
1139
+ {
1140
+ xtw.WriteAttributeString ("id", "id" + id);
1141
+ if (rootName != arrayType)
1142
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, rootName));
1143
+ }
1144
+
1145
+ WriteComplexTypeAttributes (xtw, stype);
1146
+ WriteComplexTypeElements (xtw, ns, stype);
1147
+
1148
+ xtw.WriteEndElement ();
1149
+ }
1150
+
1151
+ void WriteComplexTypeAttributes (XmlTextWriter xtw, XmlSchemaComplexType stype)
1152
+ {
1153
+ WriteAttributes (xtw, stype.Attributes, stype.AnyAttribute);
1154
+ }
1155
+
1156
+ void WriteComplexTypeElements (XmlTextWriter xtw, string ns, XmlSchemaComplexType stype)
1157
+ {
1158
+ if (stype.Particle != null)
1159
+ WriteParticleComplexContent (xtw, ns, stype.Particle);
1160
+ else
1161
+ {
1162
+ if (stype.ContentModel is XmlSchemaSimpleContent)
1163
+ WriteSimpleContent (xtw, (XmlSchemaSimpleContent)stype.ContentModel);
1164
+ else if (stype.ContentModel is XmlSchemaComplexContent)
1165
+ WriteComplexContent (xtw, ns, (XmlSchemaComplexContent)stype.ContentModel);
1166
+ }
1167
+ }
1168
+
1169
+ void WriteAttributes (XmlTextWriter xtw, XmlSchemaObjectCollection atts, XmlSchemaAnyAttribute anyat)
1170
+ {
1171
+ foreach (XmlSchemaObject at in atts)
1172
+ {
1173
+ if (at is XmlSchemaAttribute)
1174
+ {
1175
+ string ns;
1176
+ XmlSchemaAttribute attr = (XmlSchemaAttribute)at;
1177
+ XmlSchemaAttribute refAttr = attr;
1178
+
1179
+ // refAttr.Form; TODO
1180
+
1181
+ if (!attr.RefName.IsEmpty) {
1182
+ refAttr = FindRefAttribute (attr.RefName);
1183
+ if (refAttr == null) throw new InvalidOperationException ("Global attribute not found: " + attr.RefName);
1184
+ }
1185
+
1186
+ string val;
1187
+ if (!refAttr.SchemaTypeName.IsEmpty) val = FindBuiltInType (refAttr.SchemaTypeName);
1188
+ else val = FindBuiltInType ((XmlSchemaSimpleType) refAttr.SchemaType);
1189
+
1190
+ xtw.WriteAttributeString (refAttr.Name, val);
1191
+ }
1192
+ else if (at is XmlSchemaAttributeGroupRef)
1193
+ {
1194
+ XmlSchemaAttributeGroupRef gref = (XmlSchemaAttributeGroupRef)at;
1195
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1196
+ WriteAttributes (xtw, grp.Attributes, grp.AnyAttribute);
1197
+ }
1198
+ }
1199
+
1200
+ if (anyat != null)
1201
+ xtw.WriteAttributeString ("custom-attribute","value");
1202
+ }
1203
+
1204
+ void WriteParticleComplexContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle)
1205
+ {
1206
+ WriteParticleContent (xtw, ns, particle, false);
1207
+ }
1208
+
1209
+ void WriteParticleContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle, bool multiValue)
1210
+ {
1211
+ if (particle is XmlSchemaGroupRef)
1212
+ particle = GetRefGroupParticle ((XmlSchemaGroupRef)particle);
1213
+
1214
+ if (particle.MaxOccurs > 1) multiValue = true;
1215
+
1216
+ if (particle is XmlSchemaSequence) {
1217
+ WriteSequenceContent (xtw, ns, ((XmlSchemaSequence)particle).Items, multiValue);
1218
+ }
1219
+ else if (particle is XmlSchemaChoice) {
1220
+ if (((XmlSchemaChoice)particle).Items.Count == 1)
1221
+ WriteSequenceContent (xtw, ns, ((XmlSchemaChoice)particle).Items, multiValue);
1222
+ else
1223
+ WriteChoiceContent (xtw, ns, (XmlSchemaChoice)particle, multiValue);
1224
+ }
1225
+ else if (particle is XmlSchemaAll) {
1226
+ WriteSequenceContent (xtw, ns, ((XmlSchemaAll)particle).Items, multiValue);
1227
+ }
1228
+ }
1229
+
1230
+ void WriteSequenceContent (XmlTextWriter xtw, string ns, XmlSchemaObjectCollection items, bool multiValue)
1231
+ {
1232
+ foreach (XmlSchemaObject item in items)
1233
+ WriteContentItem (xtw, ns, item, multiValue);
1234
+ }
1235
+
1236
+ void WriteContentItem (XmlTextWriter xtw, string ns, XmlSchemaObject item, bool multiValue)
1237
+ {
1238
+ if (item is XmlSchemaGroupRef)
1239
+ item = GetRefGroupParticle ((XmlSchemaGroupRef)item);
1240
+
1241
+ if (item is XmlSchemaElement)
1242
+ {
1243
+ XmlSchemaElement elem = (XmlSchemaElement) item;
1244
+ XmlSchemaElement refElem;
1245
+ if (!elem.RefName.IsEmpty) refElem = FindRefElement (elem);
1246
+ else refElem = elem;
1247
+
1248
+ int num = (elem.MaxOccurs == 1 && !multiValue) ? 1 : 2;
1249
+ for (int n=0; n<num; n++)
1250
+ {
1251
+ if (currentUse == SoapBindingUse.Literal)
1252
+ WriteElementSample (xtw, ns, refElem);
1253
+ else
1254
+ WriteRefTypeSample (xtw, ns, refElem);
1255
+ }
1256
+ }
1257
+ else if (item is XmlSchemaAny)
1258
+ {
1259
+ xtw.WriteString (GetLiteral ("xml"));
1260
+ }
1261
+ else if (item is XmlSchemaParticle) {
1262
+ WriteParticleContent (xtw, ns, (XmlSchemaParticle)item, multiValue);
1263
+ }
1264
+ }
1265
+
1266
+ void WriteChoiceContent (XmlTextWriter xtw, string ns, XmlSchemaChoice choice, bool multiValue)
1267
+ {
1268
+ foreach (XmlSchemaObject item in choice.Items)
1269
+ WriteContentItem (xtw, ns, item, multiValue);
1270
+ }
1271
+
1272
+ void WriteSimpleContent (XmlTextWriter xtw, XmlSchemaSimpleContent content)
1273
+ {
1274
+ XmlSchemaSimpleContentExtension ext = content.Content as XmlSchemaSimpleContentExtension;
1275
+ if (ext != null)
1276
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1277
+
1278
+ XmlQualifiedName qname = GetContentBaseType (content.Content);
1279
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1280
+ }
1281
+
1282
+ string FindBuiltInType (XmlQualifiedName qname)
1283
+ {
1284
+ if (qname.Namespace == XmlSchema.Namespace)
1285
+ return qname.Name;
1286
+
1287
+ XmlSchemaComplexType ct = FindComplexTyype (qname);
1288
+ if (ct != null)
1289
+ {
1290
+ XmlSchemaSimpleContent sc = ct.ContentModel as XmlSchemaSimpleContent;
1291
+ if (sc == null) throw new InvalidOperationException ("Invalid schema");
1292
+ return FindBuiltInType (GetContentBaseType (sc.Content));
1293
+ }
1294
+
1295
+ XmlSchemaSimpleType st = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1296
+ if (st != null)
1297
+ return FindBuiltInType (st);
1298
+
1299
+ throw new InvalidOperationException ("Definition of type " + qname + " not found");
1300
+ }
1301
+
1302
+ string FindBuiltInType (XmlSchemaSimpleType st)
1303
+ {
1304
+ if (st.Content is XmlSchemaSimpleTypeRestriction) {
1305
+ return FindBuiltInType (GetContentBaseType (st.Content));
1306
+ }
1307
+ else if (st.Content is XmlSchemaSimpleTypeList) {
1308
+ string s = FindBuiltInType (GetContentBaseType (st.Content));
1309
+ return s + " " + s + " ...";
1310
+ }
1311
+ else if (st.Content is XmlSchemaSimpleTypeUnion)
1312
+ {
1313
+ //Check if all types of the union are equal. If not, then will use anyType.
1314
+ XmlSchemaSimpleTypeUnion uni = (XmlSchemaSimpleTypeUnion) st.Content;
1315
+ string utype = null;
1316
+
1317
+ // Anonymous types are unique
1318
+ if (uni.BaseTypes.Count != 0 && uni.MemberTypes.Length != 0)
1319
+ return "string";
1320
+
1321
+ foreach (XmlQualifiedName mt in uni.MemberTypes)
1322
+ {
1323
+ string qn = FindBuiltInType (mt);
1324
+ if (utype != null && qn != utype) return "string";
1325
+ else utype = qn;
1326
+ }
1327
+ return utype;
1328
+ }
1329
+ else
1330
+ return "string";
1331
+ }
1332
+
1333
+
1334
+ XmlQualifiedName GetContentBaseType (XmlSchemaObject ob)
1335
+ {
1336
+ if (ob is XmlSchemaSimpleContentExtension)
1337
+ return ((XmlSchemaSimpleContentExtension)ob).BaseTypeName;
1338
+ else if (ob is XmlSchemaSimpleContentRestriction)
1339
+ return ((XmlSchemaSimpleContentRestriction)ob).BaseTypeName;
1340
+ else if (ob is XmlSchemaSimpleTypeRestriction)
1341
+ return ((XmlSchemaSimpleTypeRestriction)ob).BaseTypeName;
1342
+ else if (ob is XmlSchemaSimpleTypeList)
1343
+ return ((XmlSchemaSimpleTypeList)ob).ItemTypeName;
1344
+ else
1345
+ return null;
1346
+ }
1347
+
1348
+ void WriteComplexContent (XmlTextWriter xtw, string ns, XmlSchemaComplexContent content)
1349
+ {
1350
+ XmlQualifiedName qname;
1351
+
1352
+ XmlSchemaComplexContentExtension ext = content.Content as XmlSchemaComplexContentExtension;
1353
+ if (ext != null) qname = ext.BaseTypeName;
1354
+ else {
1355
+ XmlSchemaComplexContentRestriction rest = (XmlSchemaComplexContentRestriction)content.Content;
1356
+ qname = rest.BaseTypeName;
1357
+ if (qname == arrayType) {
1358
+ ParseArrayType (rest, out qname);
1359
+ XmlSchemaElement elem = new XmlSchemaElement ();
1360
+ elem.Name = "Item";
1361
+ elem.SchemaTypeName = qname;
1362
+
1363
+ xtw.WriteAttributeString ("arrayType", SoapEncodingNamespace, qname.Name + "[2]");
1364
+ WriteContentItem (xtw, ns, elem, true);
1365
+ return;
1366
+ }
1367
+ }
1368
+
1369
+ // Add base map members to this map
1370
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1371
+ WriteComplexTypeAttributes (xtw, ctype);
1372
+
1373
+ if (ext != null) {
1374
+ // Add the members of this map
1375
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1376
+ if (ext.Particle != null)
1377
+ WriteParticleComplexContent (xtw, ns, ext.Particle);
1378
+ }
1379
+
1380
+ WriteComplexTypeElements (xtw, ns, ctype);
1381
+ }
1382
+
1383
+ void ParseArrayType (XmlSchemaComplexContentRestriction rest, out XmlQualifiedName qtype)
1384
+ {
1385
+ XmlSchemaAttribute arrayTypeAt = FindArrayAttribute (rest.Attributes);
1386
+ XmlAttribute[] uatts = arrayTypeAt.UnhandledAttributes;
1387
+ if (uatts == null || uatts.Length == 0) throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1388
+
1389
+ XmlAttribute xat = null;
1390
+ foreach (XmlAttribute at in uatts)
1391
+ if (at.LocalName == "arrayType" && at.NamespaceURI == WsdlNamespace)
1392
+ { xat = at; break; }
1393
+
1394
+ if (xat == null)
1395
+ throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1396
+
1397
+ string arrayType = xat.Value;
1398
+ string type, ns;
1399
+ int i = arrayType.LastIndexOf (":");
1400
+ if (i == -1) ns = "";
1401
+ else ns = arrayType.Substring (0,i);
1402
+
1403
+ int j = arrayType.IndexOf ("[", i+1);
1404
+ if (j == -1) throw new InvalidOperationException ("Cannot parse WSDL array type: " + arrayType);
1405
+ type = arrayType.Substring (i+1);
1406
+ type = type.Substring (0, type.Length-2);
1407
+
1408
+ qtype = new XmlQualifiedName (type, ns);
1409
+ }
1410
+
1411
+ XmlSchemaAttribute FindArrayAttribute (XmlSchemaObjectCollection atts)
1412
+ {
1413
+ foreach (object ob in atts)
1414
+ {
1415
+ XmlSchemaAttribute att = ob as XmlSchemaAttribute;
1416
+ if (att != null && att.RefName == arrayTypeRefName) return att;
1417
+
1418
+ XmlSchemaAttributeGroupRef gref = ob as XmlSchemaAttributeGroupRef;
1419
+ if (gref != null)
1420
+ {
1421
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1422
+ att = FindArrayAttribute (grp.Attributes);
1423
+ if (att != null) return att;
1424
+ }
1425
+ }
1426
+ return null;
1427
+ }
1428
+
1429
+ void WriteSimpleTypeSample (XmlTextWriter xtw, XmlSchemaSimpleType stype)
1430
+ {
1431
+ xtw.WriteString (GetLiteral (FindBuiltInType (stype)));
1432
+ }
1433
+
1434
+ XmlSchemaParticle GetRefGroupParticle (XmlSchemaGroupRef refGroup)
1435
+ {
1436
+ XmlSchemaGroup grp = (XmlSchemaGroup) schemas.Find (refGroup.RefName, typeof (XmlSchemaGroup));
1437
+ return grp.Particle;
1438
+ }
1439
+
1440
+ XmlSchemaElement FindRefElement (XmlSchemaElement elem)
1441
+ {
1442
+ if (elem.RefName.Namespace == XmlSchema.Namespace)
1443
+ {
1444
+ if (anyElement != null) return anyElement;
1445
+ anyElement = new XmlSchemaElement ();
1446
+ anyElement.Name = "any";
1447
+ anyElement.SchemaTypeName = anyType;
1448
+ return anyElement;
1449
+ }
1450
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
1451
+ }
1452
+
1453
+ XmlSchemaAttribute FindRefAttribute (XmlQualifiedName refName)
1454
+ {
1455
+ if (refName.Namespace == XmlSchema.Namespace)
1456
+ {
1457
+ XmlSchemaAttribute at = new XmlSchemaAttribute ();
1458
+ at.Name = refName.Name;
1459
+ at.SchemaTypeName = new XmlQualifiedName ("string",XmlSchema.Namespace);
1460
+ return at;
1461
+ }
1462
+ return (XmlSchemaAttribute) schemas.Find (refName, typeof(XmlSchemaAttribute));
1463
+ }
1464
+
1465
+ void WriteRefTypeSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1466
+ {
1467
+ if (elem.SchemaTypeName.Namespace == XmlSchema.Namespace || schemas.Find (elem.SchemaTypeName, typeof(XmlSchemaSimpleType)) != null)
1468
+ WriteElementSample (xtw, ns, elem);
1469
+ else
1470
+ {
1471
+ xtw.WriteStartElement (elem.Name, ns);
1472
+ xtw.WriteAttributeString ("href", "#id" + (queue.Count+1));
1473
+ xtw.WriteEndElement ();
1474
+ queue.Add (new EncodedType (ns, elem));
1475
+ }
1476
+ }
1477
+
1478
+ void WriteQueuedTypeSamples (XmlTextWriter xtw)
1479
+ {
1480
+ for (int n=0; n<queue.Count; n++)
1481
+ {
1482
+ EncodedType ec = (EncodedType) queue[n];
1483
+ XmlSchemaComplexType st = FindComplexTyype (ec.Element.SchemaTypeName);
1484
+ WriteComplexTypeSample (xtw, st, ec.Element.SchemaTypeName, n+1);
1485
+ }
1486
+ }
1487
+
1488
+ XmlSchemaComplexType FindComplexTyype (XmlQualifiedName qname)
1489
+ {
1490
+ if (qname.Name.IndexOf ("[]") != -1)
1491
+ {
1492
+ XmlSchemaComplexType stype = new XmlSchemaComplexType ();
1493
+ stype.ContentModel = new XmlSchemaComplexContent ();
1494
+
1495
+ XmlSchemaComplexContentRestriction res = new XmlSchemaComplexContentRestriction ();
1496
+ stype.ContentModel.Content = res;
1497
+ res.BaseTypeName = arrayType;
1498
+
1499
+ XmlSchemaAttribute att = new XmlSchemaAttribute ();
1500
+ att.RefName = arrayTypeRefName;
1501
+ res.Attributes.Add (att);
1502
+
1503
+ XmlAttribute xat = document.CreateAttribute ("arrayType", WsdlNamespace);
1504
+ xat.Value = qname.Namespace + ":" + qname.Name;
1505
+ att.UnhandledAttributes = new XmlAttribute[] {xat};
1506
+ return stype;
1507
+ }
1508
+
1509
+ return (XmlSchemaComplexType) schemas.Find (qname, typeof(XmlSchemaComplexType));
1510
+ }
1511
+
1512
+ string GetQualifiedNameString (XmlTextWriter xtw, XmlQualifiedName qname)
1513
+ {
1514
+ string pref = xtw.LookupPrefix (qname.Namespace);
1515
+ if (pref != null) return pref + ":" + qname.Name;
1516
+
1517
+ xtw.WriteAttributeString ("xmlns", "q1", null, qname.Namespace);
1518
+ return "q1:" + qname.Name;
1519
+ }
1520
+
1521
+ protected virtual string GetLiteral (string s)
1522
+ {
1523
+ return s;
1524
+ }
1525
+
1526
+ void GetOperationFormat (OperationBinding obin, out SoapBindingStyle style, out SoapBindingUse use)
1527
+ {
1528
+ style = SoapBindingStyle.Document;
1529
+ use = SoapBindingUse.Literal;
1530
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
1531
+ if (sob != null) {
1532
+ style = sob.Style;
1533
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
1534
+ if (sbb != null)
1535
+ use = sbb.Use;
1536
+ }
1537
+ }
1538
+ }
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+ </script>
1545
+
1546
+ <head>
1547
+ <link rel="alternate" type="text/xml" href="<%=Request.FilePath%>?disco"/>
1548
+
1549
+ <title><%=WebServiceName%> Web Service</title>
1550
+ <style type="text/css">
1551
+ BODY { font-family: Arial; margin-left: 20px; margin-top: 20px; font-size: x-small}
1552
+ TABLE { font-size: x-small }
1553
+ .title { color:dimgray; font-family: Arial; font-size:20pt; font-weight:900}
1554
+ .operationTitle { color:dimgray; font-family: Arial; font-size:15pt; font-weight:900}
1555
+ .method { font-size: x-small }
1556
+ .bindingLabel { font-size: x-small; font-weight:bold; color:darkgray; line-height:8pt; display:block; margin-bottom:3px }
1557
+ .label { font-size: small; font-weight:bold; color:darkgray }
1558
+ .paramTable { font-size: x-small }
1559
+ .paramTable TR { background-color: gainsboro }
1560
+ .paramFormTable { font-size: x-small; padding: 10px; background-color: gainsboro }
1561
+ .paramFormTable TR { background-color: gainsboro }
1562
+ .paramInput { border: solid 1px gray }
1563
+ .button {border: solid 1px gray }
1564
+ .smallSeparator { height:3px; overflow:hidden }
1565
+ .panel { background-color:whitesmoke; border: solid 1px silver; border-top: solid 1px silver }
1566
+ .codePanel { background-color: white; font-size:x-small; padding:7px; border:solid 1px silver}
1567
+ .code-xml { font-size:10pt; font-family:courier }
1568
+ .code-cs { font-size:10pt; font-family:courier }
1569
+ .code-vb { font-size:10pt; font-family:courier }
1570
+ .tabLabelOn { font-weight:bold }
1571
+ .tabLabelOff {color: darkgray }
1572
+ .literal-placeholder {color: darkblue; font-weight:bold}
1573
+ A:link { color: black; }
1574
+ A:visited { color: black; }
1575
+ A:active { color: black; }
1576
+ A:hover { color: blue }
1577
+ </style>
1578
+
1579
+ <script>
1580
+ function clearForm ()
1581
+ {
1582
+ document.getElementById("testFormResult").style.display="none";
1583
+ }
1584
+ </script>
1585
+
1586
+ </head>
1587
+
1588
+ <body>
1589
+ <div class="title" style="margin-left:20px">
1590
+ <span class="label">Web Service</span><br>
1591
+ <%=WebServiceName%>
1592
+ </div>
1593
+
1594
+ <!--
1595
+ **********************************************************
1596
+ Left panel
1597
+ -->
1598
+
1599
+ <table border="0" width="100%" cellpadding="15px" cellspacing="15px">
1600
+ <tr valign="top"><td width="150px" class="panel">
1601
+ <div style="width:150px"></div>
1602
+ <a class="method" href='<%=PageName%>'>Overview</a><br>
1603
+ <div class="smallSeparator"></div>
1604
+ <a class="method" href='<%=PageName + "?" + GetPageContext("wsdl")%>'>Service Description</a>
1605
+ <div class="smallSeparator"></div>
1606
+ <a class="method" href='<%=PageName + "?" + GetPageContext("proxy")%>'>Client proxy</a>
1607
+ <br><br>
1608
+ <asp:repeater id="BindingsRepeater" runat=server>
1609
+ <itemtemplate name="itemtemplate">
1610
+ <span class="bindingLabel"><%#FormatBindingName(DataBinder.Eval(Container.DataItem, "Name").ToString())%></span>
1611
+ <asp:repeater id="OperationsRepeater" runat=server datasource='<%# ((Binding)Container.DataItem).Operations %>'>
1612
+ <itemtemplate>
1613
+ <a class="method" href="<%=PageName%>?<%=GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
1614
+ <div class="smallSeparator"></div>
1615
+ </itemtemplate>
1616
+ </asp:repeater>
1617
+ <br>
1618
+ </itemtemplate>
1619
+ </asp:repeater>
1620
+
1621
+ </td><td class="panel">
1622
+
1623
+ <% if (CurrentPage == "main") {%>
1624
+
1625
+ <!--
1626
+ **********************************************************
1627
+ Web service overview
1628
+ -->
1629
+
1630
+ <p class="label">Web Service Overview</p>
1631
+ <%=WebServiceDescription%>
1632
+
1633
+ <%} if (DefaultBinding == null) {%>
1634
+ This service does not contain any public web method.
1635
+ <%} else if (CurrentPage == "op") {%>
1636
+
1637
+ <!--
1638
+ **********************************************************
1639
+ Operation description
1640
+ -->
1641
+
1642
+ <span class="operationTitle"><%=CurrentOperationName%></span>
1643
+ <br><br>
1644
+ <% WriteTabs (); %>
1645
+ <br><br><br>
1646
+
1647
+ <% if (CurrentTab == "main") { %>
1648
+ <span class="label">Input Parameters</span>
1649
+ <div class="smallSeparator"></div>
1650
+ <% if (InParams.Count == 0) { %>
1651
+ No input parameters<br>
1652
+ <% } else { %>
1653
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1654
+ <asp:repeater id="InputParamsRepeater" runat=server>
1655
+ <itemtemplate>
1656
+ <tr>
1657
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1658
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1659
+ </tr>
1660
+ </itemtemplate>
1661
+ </asp:repeater>
1662
+ </table>
1663
+ <% } %>
1664
+ <br>
1665
+
1666
+ <% if (OutParams.Count > 0) { %>
1667
+ <span class="label">Output Parameters</span>
1668
+ <div class="smallSeparator"></div>
1669
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1670
+ <asp:repeater id="OutputParamsRepeater" runat=server>
1671
+ <itemtemplate>
1672
+ <tr>
1673
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1674
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1675
+ </tr>
1676
+ </itemtemplate>
1677
+ </asp:repeater>
1678
+ </table>
1679
+ <br>
1680
+ <% } %>
1681
+
1682
+ <span class="label">Remarks</span>
1683
+ <div class="smallSeparator"></div>
1684
+ <%=OperationDocumentation%>
1685
+ <br><br>
1686
+ <span class="label">Technical information</span>
1687
+ <div class="smallSeparator"></div>
1688
+ Format: <%=CurrentOperationFormat%>
1689
+ <br>Supported protocols: <%=CurrentOperationProtocols%>
1690
+ <% } %>
1691
+
1692
+ <!--
1693
+ **********************************************************
1694
+ Operation description - Test form
1695
+ -->
1696
+
1697
+ <% if (CurrentTab == "test") {
1698
+ if (CurrentOperationSupportsTest) {%>
1699
+ Enter values for the parameters and click the 'Invoke' button to test this method:<br><br>
1700
+ <form action="<%=PageName%>" method="GET">
1701
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
1702
+ <input type="hidden" name="tab" value="<%=CurrentTab%>">
1703
+ <input type="hidden" name="op" value="<%=CurrentOperationName%>">
1704
+ <input type="hidden" name="bnd" value="<%=CurrentOperationBinding%>">
1705
+ <input type="hidden" name="ext" value="testform">
1706
+ <table class="paramFormTable" cellspacing="0" cellpadding="3">
1707
+ <asp:repeater id="InputFormParamsRepeater" runat=server>
1708
+ <itemtemplate>
1709
+ <tr>
1710
+ <td><%#DataBinder.Eval(Container.DataItem, "Name")%>:&nbsp;</td>
1711
+ <td width="150"><input class="paramInput" type="text" size="20" name="<%#DataBinder.Eval(Container.DataItem, "Name")%>"></td>
1712
+ </tr>
1713
+ </itemtemplate>
1714
+ </asp:repeater>
1715
+ <tr><td></td><td><input class="button" type="submit" value="Invoke">&nbsp;<input class="button" type="button" onclick="clearForm()" value="Clear"></td></tr>
1716
+ </table>
1717
+ </form>
1718
+ <div id="testFormResult" style="display:<%= (HasFormResult?"block":"none") %>">
1719
+ The web service returned the following result:<br/><br/>
1720
+ <div class="codePanel"><%=GetTestResult()%></div>
1721
+ </div>
1722
+ <% } else {%>
1723
+ The test form is not available for this operation because it has parameters with a complex structure.
1724
+ <% } %>
1725
+ <% } %>
1726
+
1727
+ <!--
1728
+ **********************************************************
1729
+ Operation description - Message Layout
1730
+ -->
1731
+
1732
+ <% if (CurrentTab == "msg") { %>
1733
+
1734
+ The following are sample SOAP requests and responses for each protocol supported by this method:
1735
+ <br/><br/>
1736
+
1737
+ <% if (IsOperationSupported ("Soap")) { %>
1738
+ <span class="label">Soap</span>
1739
+ <br/><br/>
1740
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", true)%></div></div>
1741
+ <br/>
1742
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", false)%></div></div>
1743
+ <br/>
1744
+ <% } %>
1745
+ <% if (IsOperationSupported ("HttpGet")) { %>
1746
+ <span class="label">HTTP Get</span>
1747
+ <br/><br/>
1748
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", true)%></div></div>
1749
+ <br/>
1750
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", false)%></div></div>
1751
+ <br/>
1752
+ <% } %>
1753
+ <% if (IsOperationSupported ("HttpPost")) { %>
1754
+ <span class="label">HTTP Post</span>
1755
+ <br/><br/>
1756
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", true)%></div></div>
1757
+ <br/>
1758
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", false)%></div></div>
1759
+ <br/>
1760
+ <% } %>
1761
+
1762
+ <% } %>
1763
+ <%} else if (CurrentPage == "proxy") {%>
1764
+ <!--
1765
+ **********************************************************
1766
+ Client Proxy
1767
+ -->
1768
+ <form action="<%=PageName%>" name="langForm" method="GET">
1769
+ Select the language for which you want to generate a proxy
1770
+ <input type="hidden" name="page" value="<%=CurrentPage%>">&nbsp;
1771
+ <SELECT name="lang" onchange="langForm.submit()">
1772
+ <%=GetOptionSel("cs",CurrentLanguage)%>C#</option>
1773
+ <%=GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
1774
+ </SELECT>
1775
+ &nbsp;&nbsp;
1776
+ </form>
1777
+ <br>
1778
+ <span class="label"><%=CurrentProxytName%></span>&nbsp;&nbsp;&nbsp;
1779
+ <a href="<%=PageName + "?code=" + CurrentLanguage%>">Download</a>
1780
+ <br><br>
1781
+ <div class="codePanel">
1782
+ <div class="code-<%=CurrentLanguage%>"><%=GetProxyCode ()%></div>
1783
+ </div>
1784
+ <%} else if (CurrentPage == "wsdl") {%>
1785
+ <!--
1786
+ **********************************************************
1787
+ Service description
1788
+ -->
1789
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
1790
+ The description of this web service is composed by several documents. Click on the document you want to see:
1791
+
1792
+ <ul>
1793
+ <%
1794
+ for (int n=0; n<descriptions.Count; n++)
1795
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=wsdl&docind=" + n + "'>WSDL document " + descriptions[n].TargetNamespace + "</a></li>");
1796
+ for (int n=0; n<schemas.Count; n++)
1797
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=schema&docind=" + n + "'>Xml Schema " + schemas[n].TargetNamespace + "</a></li>");
1798
+ %>
1799
+ </ul>
1800
+
1801
+ <%} else {%>
1802
+ <%}%>
1803
+ <br>
1804
+ <span class="label"><%=CurrentDocumentName%></span>&nbsp;&nbsp;&nbsp;
1805
+ <a href="<%=PageName + "?" + CurrentDocType + "=" + CurrentDocInd %>">Download</a>
1806
+ <br><br>
1807
+ <div class="codePanel">
1808
+ <div class="code-xml"><%=GenerateDocument ()%></div>
1809
+ </div>
1810
+
1811
+ <%}%>
1812
+
1813
+ <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
1814
+ </td>
1815
+ <td width="20px"></td>
1816
+ </tr>
1817
+
1818
+ </table>
1819
+ </body>
1820
+ </html>
vae/com3d/CM3D2x86_Data/Mono/etc/mono/1.0/machine.config ADDED
@@ -0,0 +1,243 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <configuration>
4
+
5
+ <configSections>
6
+ <section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
7
+ <section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
8
+ <section name="system.runtime.remoting" type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
9
+ <section name="system.windows.forms" type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
10
+ <sectionGroup name="system.web">
11
+ <section name="httpHandlers"
12
+ type="System.Web.Configuration.HttpHandlersSectionHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
13
+ <section name="httpModules"
14
+ type="System.Web.Configuration.HttpModulesConfigurationHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
15
+ <section name="machineKey"
16
+ type="System.Web.Configuration.MachineKeyConfigHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
17
+ <section name="authentication"
18
+ type="System.Web.Configuration.AuthenticationConfigHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
19
+ <section name="authorization"
20
+ type="System.Web.Configuration.AuthorizationConfigHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
21
+ <section name="globalization"
22
+ type="System.Web.Configuration.GlobalizationConfigurationHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
23
+ <section name="sessionState"
24
+ type="System.Web.SessionState.SessionStateSectionHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
25
+ <section name="trace"
26
+ type="System.Web.Configuration.TraceConfigurationHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
27
+ <section name="webServices"
28
+ type="System.Web.Services.Configuration.WebServicesConfigurationSectionHandler, System.Web.Services, Version=1.0.5000.0 Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
29
+ <section name="webControls"
30
+ type="System.Web.Configuration.WebControlsSectionHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
31
+ <section name="compilation"
32
+ type="System.Web.Configuration.CompilationConfigurationHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
33
+ <section name="httpRuntime"
34
+ type="System.Web.Configuration.HttpRuntimeConfigurationHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
35
+ <section name="customErrors"
36
+ type="System.Web.Configuration.CustomErrorsConfigHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
37
+ <section name="pages"
38
+ type="System.Web.Configuration.PagesConfigurationHandler, System.Web, Version=1.0.5000.0, Culture=neutral" />
39
+ <section name="clientTarget"
40
+ type="System.Web.Configuration.ClientTargetSectionHandler, System.Web, Version=1.0.5000.0, Culture=neutral" />
41
+ </sectionGroup>
42
+ <sectionGroup name="system.net">
43
+ <section name="settings"
44
+ type="System.Net.Configuration.NetConfigurationHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
45
+ <section name="connectionManagement"
46
+ type="System.Net.Configuration.ConnectionManagementHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
47
+ <section name="authenticationModules"
48
+ type="System.Net.Configuration.NetAuthenticationModuleHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
49
+ <section name="defaultProxy"
50
+ type="System.Net.Configuration.DefaultProxyHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
51
+ <section name="webRequestModules"
52
+ type="System.Net.Configuration.WebRequestModuleHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
53
+ </sectionGroup>
54
+ <section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
55
+ </configSections>
56
+ <system.net>
57
+ <connectionManagement>
58
+ <add address="*" maxconnection="2" />
59
+ </connectionManagement>
60
+ <authenticationModules>
61
+ <add type="System.Net.BasicClient, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
62
+ <add type="System.Net.DigestClient, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
63
+ <add type="System.Net.NtlmClient, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
64
+ </authenticationModules>
65
+ <defaultProxy>
66
+ <proxy
67
+ usesystemdefault = "true"
68
+ bypassonlocal = "true"
69
+ />
70
+ <!-- proxyaddress can also be set -->
71
+ </defaultProxy>
72
+ <webRequestModules>
73
+ <add prefix="http" type="System.Net.HttpRequestCreator, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
74
+ <add prefix="https" type="System.Net.HttpRequestCreator, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
75
+ <add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
76
+ </webRequestModules>
77
+ <settings>
78
+ <ipv6 enabled="true"/>
79
+ </settings>
80
+ </system.net>
81
+ <system.web>
82
+ <httpHandlers>
83
+ <add verb="*" path="Trace.axd" type="System.Web.Handlers.TraceHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
84
+ <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
85
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
86
+ <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
87
+ <add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
88
+ <add verb="*" path="*.asax" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
89
+ <add verb="*" path="*.ascx" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
90
+ <add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
91
+ <add verb="*" path="*.Config" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
92
+ <add verb="*" path="*.cs" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
93
+ <add verb="*" path="*.dll" type="System.Web.HttpForbiddenHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
94
+ <add verb="*" path="*.rem" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
95
+ <add verb="*" path="*.soap" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
96
+ <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
97
+ <add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
98
+ </httpHandlers>
99
+ <httpModules>
100
+ <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
101
+ <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
102
+ <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
103
+ <add name="OutputCache" type="System.Web.Caching.OutputCacheModule, System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
104
+ </httpModules>
105
+ <authentication mode="Forms">
106
+ <forms name=".MONOAUTH" loginUrl="login.aspx" protection="All" timeout="30" path="/">
107
+ <credentials passwordFormat="Clear">
108
+ <!--<user name="gonzalo" password="gonz"/>-->
109
+ </credentials>
110
+ </forms>
111
+ </authentication>
112
+ <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" />
113
+ <globalization requestEncoding="utf-8"
114
+ responseEncoding="utf-8"
115
+ fileEncoding="utf-8"/>
116
+ <!--
117
+ culture="en-US"
118
+ uiculture="en-US" />
119
+ -->
120
+ <sessionState mode="InProc" />
121
+ <webServices>
122
+ <protocols>
123
+ <add name="HttpSoap"/>
124
+ <add name="HttpPost"/>
125
+ <add name="HttpGet"/>
126
+ <add name="Documentation"/>
127
+ </protocols>
128
+ <wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
129
+ </webServices>
130
+ <webControls clientScriptsLocation="/web_scripts" />
131
+ <compilation debug="false" defaultLanguage="c#" explicit="true" strict="false" >
132
+ <compilers>
133
+ <compiler language="cs;c#;csharp" extension=".cs" warningLevel="1" compilerOptions=""
134
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
135
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
136
+ warningLevel="1" compilerOptions=""
137
+ type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
138
+ </compilers>
139
+ <assemblies>
140
+ <!--<add assembly="mscorlib" /> -->
141
+ <add assembly="System" />
142
+ <add assembly="System.Xml" />
143
+ <add assembly="System.Data" />
144
+ <add assembly="System.Web" />
145
+ <add assembly="System.Web.Services" />
146
+ <add assembly="System.Drawing" />
147
+ <add assembly="*" /> <!-- Add assemblies in bin directory -->
148
+ </assemblies>
149
+ </compilation>
150
+ <!--
151
+ RequestLengthDiskThreshold is a 2.0 feature that we
152
+ enable for 1.x too.
153
+ -->
154
+ <httpRuntime executionTimeout="90"
155
+ maxRequestLength="4096"
156
+ requestLengthDiskThreshold="256"
157
+ useFullyQualifiedRedirectUrl="false"
158
+ minFreeThreads="8"
159
+ minLocalRequestFreeThreads="4"
160
+ appRequestQueueLimit="100" />
161
+ <pages buffer="true"
162
+ enableSessionState="true"
163
+ autoEventWireup="true"
164
+ validateRequest="true" />
165
+ <clientTarget>
166
+ <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
167
+ <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
168
+ <add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
169
+ <add alias="downlevel" userAgent="Unknown" />
170
+ </clientTarget>
171
+ </system.web>
172
+
173
+ <system.runtime.remoting>
174
+ <application>
175
+ <channels>
176
+ <channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
177
+ <channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
178
+ </channels>
179
+ </application>
180
+ <channels>
181
+ <channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
182
+ <channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
183
+ <channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
184
+ <channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
185
+ <channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
186
+ <channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
187
+ </channels>
188
+ <channelSinkProviders>
189
+ <clientProviders>
190
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
191
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
192
+ </clientProviders>
193
+ <serverProviders>
194
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
195
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
196
+ <provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
197
+ </serverProviders>
198
+ </channelSinkProviders>
199
+ </system.runtime.remoting>
200
+
201
+ <appSettings>
202
+ <!--<add key="yourkey" value="your value" /> -->
203
+ <!--<remove key="a key defined higher in the hierarchy" /> -->
204
+ <!--<clear/> Removes all defined settings -->
205
+ </appSettings>
206
+ <system.diagnostics>
207
+ <trace autoflush="false" indentsize="4" />
208
+ </system.diagnostics>
209
+ <system.drawing>
210
+ </system.drawing>
211
+
212
+ <mscorlib>
213
+ <cryptographySettings>
214
+ <cryptoNameMapping>
215
+ <cryptoClasses>
216
+ <cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
217
+ </cryptoClasses>
218
+ <nameEntry name="MD2" class="monoMD2" />
219
+ </cryptoNameMapping>
220
+ <oidMap>
221
+ <oidEntry OID="1.2.840.113549.2.2" name="MD2" />
222
+ <oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
223
+ </oidMap>
224
+ </cryptographySettings>
225
+ </mscorlib>
226
+
227
+ <strongNames>
228
+ <pubTokenMapping>
229
+ <!-- ECMA key -->
230
+ <map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
231
+ <!-- Microsoft (final) key -->
232
+ <map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
233
+ <!-- Microsoft (Web Service Enhancement) key -->
234
+ <map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
235
+ <!-- IBM (DB2 Data Provider) key -->
236
+ <map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
237
+ <!-- Silverlight 2.0 key -->
238
+ <map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
239
+ </pubTokenMapping>
240
+ </strongNames>
241
+ </configuration>
242
+
243
+
vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/Browsers/Compat.browser ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--
2
+ This file defines some of the browsers that Microsoft's implementation provides in
3
+ <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers\*.browser
4
+
5
+ It is not derived from any file distributed with Microsoft's implementation. Since
6
+ we can't distribute MS's browser files, we use browscap.ini to determine
7
+ browser capabilities. Then, if and only if the application contains App_Browser/*.browser
8
+ files and we are using .NET 2.0 or higher, we supplement the capabilities with the
9
+ information in those files and the files in this directory. The primary goal of this file
10
+ is provide browser definitions that might be referenced in App_Browser/*.browser files.
11
+ -->
12
+ <browsers>
13
+ <defaultBrowser id="Default">
14
+ </defaultBrowser>
15
+ <browser id="Default">
16
+ <identification>
17
+ <userAgent match="." />
18
+ </identification>
19
+ </browser>
20
+ <browser id="IE6to9" parentID="Default">
21
+ <identification>
22
+ <capability name="majorver" match="^[6-9]" />
23
+ <capability name="browser" match="^(IE|AOL)$" />
24
+ </identification>
25
+ </browser>
26
+ <browser id="Opera8to9" parentID="Default">
27
+ <identification>
28
+ <capability name="majorver" match="^[8-9]" />
29
+ <capability name="browser" match="^Opera$" />
30
+ </identification>
31
+ </browser>
32
+ <browser id="Safari" parentID="Default">
33
+ <identification>
34
+ <capability name="browser" match="^Safari$" />
35
+ </identification>
36
+ </browser>
37
+ <browser id="Mozilla" parentID="Default">
38
+ <identification>
39
+ <capability name="browser" match="^Mozilla" />
40
+ </identification>
41
+ </browser>
42
+ </browsers>
vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx ADDED
@@ -0,0 +1,1896 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <%--
2
+ //
3
+ // DefaultWsdlHelpGenerator.aspx:
4
+ //
5
+ // Author:
6
+ // Lluis Sanchez Gual ([email protected])
7
+ //
8
+ // (C) 2003 Ximian, Inc. http://www.ximian.com
9
+ //
10
+ --%>
11
+
12
+ <%@ Import Namespace="System.Collections" %>
13
+ <%@ Import Namespace="System.Collections.Generic" %>
14
+ <%@ Import Namespace="System.IO" %>
15
+ <%@ Import Namespace="System.Xml.Serialization" %>
16
+ <%@ Import Namespace="System.Xml" %>
17
+ <%@ Import Namespace="System.Xml.Schema" %>
18
+ <%@ Import Namespace="System.Web.Services" %>
19
+ <%@ Import Namespace="System.Web.Services.Description" %>
20
+ <%@ Import Namespace="System.Web.Services.Configuration" %>
21
+ <%@ Import Namespace="System.Web.Configuration" %>
22
+ <%@ Import Namespace="System" %>
23
+ <%@ Import Namespace="System.Net" %>
24
+ <%@ Import Namespace="System.Globalization" %>
25
+ <%@ Import Namespace="System.Resources" %>
26
+ <%@ Import Namespace="System.Diagnostics" %>
27
+ <%@ Import Namespace="System.CodeDom" %>
28
+ <%@ Import Namespace="System.CodeDom.Compiler" %>
29
+ <%@ Import Namespace="Microsoft.CSharp" %>
30
+ <%@ Import Namespace="Microsoft.VisualBasic" %>
31
+ <%@ Import Namespace="System.Text" %>
32
+ <%@ Import Namespace="System.Text.RegularExpressions" %>
33
+ <%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
34
+ <%@ Assembly name="System.Web.Services" %>
35
+ <%@ Page debug="true" %>
36
+
37
+ <html>
38
+ <script language="C#" runat="server">
39
+
40
+ ServiceDescriptionCollection descriptions;
41
+ XmlSchemas schemas;
42
+
43
+ string WebServiceName;
44
+ string WebServiceDescription;
45
+ string PageName;
46
+
47
+ string DefaultBinding;
48
+ ArrayList ServiceProtocols;
49
+
50
+ string CurrentOperationName;
51
+ string CurrentOperationBinding;
52
+ string OperationDocumentation;
53
+ string CurrentOperationFormat;
54
+ bool CurrentOperationSupportsTest;
55
+ ArrayList InParams;
56
+ ArrayList OutParams;
57
+ string CurrentOperationProtocols;
58
+ int CodeTextColumns = 95;
59
+ BasicProfileViolationCollection ProfileViolations;
60
+
61
+ void Page_Load(object sender, EventArgs e)
62
+ {
63
+ descriptions = (ServiceDescriptionCollection) Context.Items["wsdls"];
64
+ schemas = (XmlSchemas) Context.Items["schemas"];
65
+
66
+ ServiceDescription desc = descriptions [0];
67
+ if (schemas.Count == 0) schemas = desc.Types.Schemas;
68
+
69
+ Service service = desc.Services[0];
70
+ WebServiceName = service.Name;
71
+ if (desc.Bindings.Count == 0)
72
+ return;
73
+
74
+ DefaultBinding = desc.Bindings[0].Name;
75
+ WebServiceDescription = service.Documentation;
76
+ if (WebServiceDescription == "" || WebServiceDescription == null)
77
+ WebServiceDescription = "Description has not been provided";
78
+ ServiceProtocols = FindServiceProtocols (null);
79
+
80
+ CurrentOperationName = Request.QueryString["op"];
81
+ CurrentOperationBinding = Request.QueryString["bnd"];
82
+ if (CurrentOperationName != null) BuildOperationInfo ();
83
+
84
+ PageName = HttpUtility.UrlEncode (Path.GetFileName(Request.Path), Encoding.UTF8);
85
+
86
+ ArrayList list = new ArrayList ();
87
+ foreach (ServiceDescription sd in descriptions) {
88
+ foreach (Binding bin in sd.Bindings)
89
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null) list.Add (bin);
90
+ }
91
+
92
+ BindingsRepeater.DataSource = list;
93
+ Page.DataBind();
94
+
95
+ ProfileViolations = new BasicProfileViolationCollection ();
96
+ foreach (WsiProfilesElement claims in ((WebServicesSection) WebConfigurationManager.GetSection("system.web/webServices")).ConformanceWarnings)
97
+ if (claims.Name != WsiProfiles.None)
98
+ WebServicesInteroperability.CheckConformance (claims.Name, descriptions, ProfileViolations);
99
+ }
100
+
101
+ void BuildOperationInfo ()
102
+ {
103
+ InParams = new ArrayList ();
104
+ OutParams = new ArrayList ();
105
+
106
+ Port port = FindPort (CurrentOperationBinding, null);
107
+ Binding binding = descriptions.GetBinding (port.Binding);
108
+
109
+ PortType portType = descriptions.GetPortType (binding.Type);
110
+ Operation oper = FindOperation (portType, CurrentOperationName);
111
+
112
+ OperationDocumentation = oper.Documentation;
113
+ if (OperationDocumentation == null || OperationDocumentation == "")
114
+ OperationDocumentation = "No additional remarks";
115
+
116
+ foreach (OperationMessage opm in oper.Messages)
117
+ {
118
+ if (opm is OperationInput)
119
+ BuildParameters (InParams, opm);
120
+ else if (opm is OperationOutput)
121
+ BuildParameters (OutParams, opm);
122
+ }
123
+
124
+ // Protocols supported by the operation
125
+ CurrentOperationProtocols = "";
126
+ WebServiceProtocols testProtocols = 0;
127
+ ArrayList prots = FindServiceProtocols (CurrentOperationName);
128
+ for (int n=0; n<prots.Count; n++) {
129
+ string prot = (string) prots [n];
130
+ if (n != 0) CurrentOperationProtocols += ", ";
131
+ CurrentOperationProtocols += prot;
132
+ if (prot == "HttpGet")
133
+ testProtocols |= WebServiceProtocols.HttpGet;
134
+ else if (prot == "HttpPost") {
135
+ testProtocols |= WebServiceProtocols.HttpPost;
136
+ if (Context.Request.IsLocal)
137
+ testProtocols |= WebServiceProtocols.HttpPostLocalhost;
138
+ }
139
+ }
140
+ CurrentOperationSupportsTest = (WebServicesSection.Current.EnabledProtocols & testProtocols) != 0;
141
+
142
+ // Operation format
143
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
144
+ if (obin != null)
145
+ CurrentOperationFormat = GetOperationFormat (obin);
146
+
147
+ InputParamsRepeater.DataSource = InParams;
148
+ InputFormParamsRepeater.DataSource = InParams;
149
+ OutputParamsRepeater.DataSource = OutParams;
150
+ }
151
+
152
+ void BuildParameters (ArrayList list, OperationMessage opm)
153
+ {
154
+ Message msg = descriptions.GetMessage (opm.Message);
155
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
156
+ {
157
+ MessagePart part = msg.Parts[0];
158
+ XmlSchemaComplexType ctype;
159
+ if (part.Element == XmlQualifiedName.Empty)
160
+ {
161
+ ctype = (XmlSchemaComplexType) schemas.Find (part.Type, typeof(XmlSchemaComplexType));
162
+ }
163
+ else
164
+ {
165
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
166
+ ctype = (XmlSchemaComplexType) elem.SchemaType;
167
+ }
168
+ XmlSchemaSequence seq = ctype.Particle as XmlSchemaSequence;
169
+ if (seq == null) return;
170
+
171
+ foreach (XmlSchemaObject ob in seq.Items)
172
+ {
173
+ Parameter p = new Parameter();
174
+ p.Description = "No additional remarks";
175
+
176
+ if (ob is XmlSchemaElement)
177
+ {
178
+ XmlSchemaElement selem = GetRefElement ((XmlSchemaElement)ob);
179
+ p.Name = selem.Name;
180
+ p.Type = selem.SchemaTypeName.Name;
181
+ }
182
+ else
183
+ {
184
+ p.Name = "Unknown";
185
+ p.Type = "Unknown";
186
+ }
187
+ list.Add (p);
188
+ }
189
+ }
190
+ else
191
+ {
192
+ foreach (MessagePart part in msg.Parts)
193
+ {
194
+ Parameter p = new Parameter ();
195
+ p.Description = "No additional remarks";
196
+ p.Name = part.Name;
197
+ if (part.Element == XmlQualifiedName.Empty)
198
+ p.Type = part.Type.Name;
199
+ else
200
+ {
201
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (part.Element, typeof(XmlSchemaElement));
202
+ p.Type = elem.SchemaTypeName.Name;
203
+ }
204
+ list.Add (p);
205
+ }
206
+ }
207
+ }
208
+
209
+ string GetOperationFormat (OperationBinding obin)
210
+ {
211
+ string format = "";
212
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
213
+ if (sob != null) {
214
+ format = sob.Style.ToString ();
215
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
216
+ if (sbb != null)
217
+ format += " / " + sbb.Use;
218
+ }
219
+ return format;
220
+ }
221
+
222
+ XmlSchemaElement GetRefElement (XmlSchemaElement elem)
223
+ {
224
+ if (!elem.RefName.IsEmpty)
225
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
226
+ else
227
+ return elem;
228
+ }
229
+
230
+ ArrayList FindServiceProtocols(string operName)
231
+ {
232
+ ArrayList table = new ArrayList ();
233
+ Service service = descriptions[0].Services[0];
234
+ foreach (Port port in service.Ports)
235
+ {
236
+ string prot = null;
237
+ Binding bin = descriptions.GetBinding (port.Binding);
238
+ if (bin.Extensions.Find (typeof(SoapBinding)) != null)
239
+ prot = "Soap";
240
+ else
241
+ {
242
+ HttpBinding hb = (HttpBinding) bin.Extensions.Find (typeof(HttpBinding));
243
+ if (hb != null && hb.Verb == "POST") prot = "HttpPost";
244
+ else if (hb != null && hb.Verb == "GET") prot = "HttpGet";
245
+ }
246
+
247
+ if (prot != null && operName != null)
248
+ {
249
+ if (FindOperation (bin, operName) == null)
250
+ prot = null;
251
+ }
252
+
253
+ if (prot != null && !table.Contains (prot))
254
+ table.Add (prot);
255
+ }
256
+ return table;
257
+ }
258
+
259
+ Port FindPort (string portName, string protocol)
260
+ {
261
+ Service service = descriptions[0].Services[0];
262
+ foreach (Port port in service.Ports)
263
+ {
264
+ if (portName == null)
265
+ {
266
+ Binding binding = descriptions.GetBinding (port.Binding);
267
+ if (GetProtocol (binding) == protocol) return port;
268
+ }
269
+ else if (port.Name == portName)
270
+ return port;
271
+ }
272
+ return null;
273
+ }
274
+
275
+ string GetProtocol (Binding binding)
276
+ {
277
+ if (binding.Extensions.Find (typeof(SoapBinding)) != null) return "Soap";
278
+ HttpBinding hb = (HttpBinding) binding.Extensions.Find (typeof(HttpBinding));
279
+ if (hb == null) return "";
280
+ if (hb.Verb == "POST") return "HttpPost";
281
+ if (hb.Verb == "GET") return "HttpGet";
282
+ return "";
283
+ }
284
+
285
+
286
+ Operation FindOperation (PortType portType, string name)
287
+ {
288
+ foreach (Operation oper in portType.Operations) {
289
+ if (oper.Messages.Input.Name != null) {
290
+ if (oper.Messages.Input.Name == name) return oper;
291
+ }
292
+ else
293
+ if (oper.Name == name) return oper;
294
+ }
295
+
296
+ return null;
297
+ }
298
+
299
+ OperationBinding FindOperation (Binding binding, string name)
300
+ {
301
+ foreach (OperationBinding oper in binding.Operations) {
302
+ if (oper.Input.Name != null) {
303
+ if (oper.Input.Name == name) return oper;
304
+ }
305
+ else
306
+ if (oper.Name == name) return oper;
307
+ }
308
+
309
+ return null;
310
+ }
311
+
312
+ string FormatBindingName (string name)
313
+ {
314
+ if (name == DefaultBinding) return "Methods";
315
+ else return "Methods for binding<br>" + name;
316
+ }
317
+
318
+ string GetOpName (object op)
319
+ {
320
+ OperationBinding ob = op as OperationBinding;
321
+ if (ob == null) return "";
322
+ if (ob.Input.Name != null) return ob.Input.Name;
323
+ else return ob.Name;
324
+ }
325
+
326
+ bool HasFormResult
327
+ {
328
+ get { return Request.QueryString ["ext"] == "testform"; }
329
+ }
330
+
331
+ class NoCheckCertificatePolicy : ICertificatePolicy {
332
+ public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
333
+ {
334
+ return true;
335
+ }
336
+ }
337
+
338
+ string GetOrPost ()
339
+ {
340
+ return (CurrentOperationProtocols.IndexOf ("HttpGet") >= 0) ? "GET" : "POST";
341
+ }
342
+
343
+ string GetQS ()
344
+ {
345
+ bool fill = false;
346
+ string qs = "";
347
+ NameValueCollection query_string = Request.QueryString;
348
+ for (int n = 0; n < query_string.Count; n++) {
349
+ if (fill) {
350
+ if (qs != "") qs += "&";
351
+ qs += query_string.GetKey(n) + "=" + Server.UrlEncode (query_string [n]);
352
+ }
353
+ if (query_string.GetKey(n) == "ext") fill = true;
354
+ }
355
+
356
+ return qs;
357
+ }
358
+
359
+ string GetTestResultUrl ()
360
+ {
361
+ if (!HasFormResult) return "";
362
+
363
+ string location = null;
364
+ ServiceDescription desc = descriptions [0];
365
+ Service service = desc.Services[0];
366
+ foreach (Port port in service.Ports)
367
+ if (port.Name == CurrentOperationBinding)
368
+ {
369
+ SoapAddressBinding sbi = (SoapAddressBinding) port.Extensions.Find (typeof(SoapAddressBinding));
370
+ if (sbi != null)
371
+ location = sbi.Location;
372
+ }
373
+
374
+ if (location == null)
375
+ return "Could not locate web service";
376
+
377
+ return location + "/" + CurrentOperationName;
378
+ }
379
+
380
+ string GenerateOperationMessages (string protocol, bool generateInput)
381
+ {
382
+ if (!IsOperationSupported (protocol)) return "";
383
+
384
+ Port port;
385
+ if (protocol != "Soap") port = FindPort (null, protocol);
386
+ else port = FindPort (CurrentOperationBinding, null);
387
+
388
+ Binding binding = descriptions.GetBinding (port.Binding);
389
+ OperationBinding obin = FindOperation (binding, CurrentOperationName);
390
+ PortType portType = descriptions.GetPortType (binding.Type);
391
+ Operation oper = FindOperation (portType, CurrentOperationName);
392
+
393
+ HtmlSampleGenerator sg = new HtmlSampleGenerator (descriptions, schemas);
394
+ string txt = sg.GenerateMessage (port, obin, oper, protocol, generateInput);
395
+ if (protocol == "Soap") txt = WrapText (txt,CodeTextColumns);
396
+ txt = ColorizeXml (txt);
397
+ txt = txt.Replace ("@placeholder!","<span class='literal-placeholder'>");
398
+ txt = txt.Replace ("!placeholder@","</span>");
399
+ return txt;
400
+ }
401
+
402
+ bool IsOperationSupported (string protocol)
403
+ {
404
+ if (CurrentPage != "op" || CurrentTab != "msg") return false;
405
+ if (protocol == "Soap") return true;
406
+
407
+ Port port = FindPort (null, protocol);
408
+ if (port == null) return false;
409
+ Binding binding = descriptions.GetBinding (port.Binding);
410
+ if (binding == null) return false;
411
+ return FindOperation (binding, CurrentOperationName) != null;
412
+ }
413
+
414
+ //
415
+ // Proxy code generation
416
+ //
417
+
418
+ string GetProxyCode ()
419
+ {
420
+ CodeNamespace codeNamespace = new CodeNamespace();
421
+ CodeCompileUnit codeUnit = new CodeCompileUnit();
422
+
423
+ codeUnit.Namespaces.Add (codeNamespace);
424
+
425
+ ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
426
+
427
+ foreach (ServiceDescription sd in descriptions)
428
+ importer.AddServiceDescription(sd, null, null);
429
+
430
+ foreach (XmlSchema sc in schemas)
431
+ importer.Schemas.Add (sc);
432
+
433
+ importer.Import(codeNamespace, codeUnit);
434
+
435
+ string langId = Request.QueryString ["lang"];
436
+ if (langId == null || langId == "") langId = "cs";
437
+ CodeDomProvider provider = GetProvider (langId);
438
+ ICodeGenerator generator = provider.CreateGenerator();
439
+ CodeGeneratorOptions options = new CodeGeneratorOptions();
440
+
441
+ StringWriter sw = new StringWriter ();
442
+ generator.GenerateCodeFromCompileUnit(codeUnit, sw, options);
443
+
444
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), langId);
445
+ }
446
+
447
+ public string CurrentLanguage
448
+ {
449
+ get {
450
+ string langId = Request.QueryString ["lang"];
451
+ if (langId == null || langId == "") langId = "cs";
452
+ return langId;
453
+ }
454
+ }
455
+
456
+ public string CurrentProxytName
457
+ {
458
+ get {
459
+ string lan = CurrentLanguage == "cs" ? "C#" : "Visual Basic";
460
+ return lan + " Client Proxy";
461
+ }
462
+ }
463
+
464
+ private CodeDomProvider GetProvider(string langId)
465
+ {
466
+ switch (langId.ToUpper())
467
+ {
468
+ case "CS": return new CSharpCodeProvider();
469
+ case "VB": return new VBCodeProvider();
470
+ default: return null;
471
+ }
472
+ }
473
+
474
+ //
475
+ // Document generation
476
+ //
477
+
478
+ string GenerateDocument ()
479
+ {
480
+ StringWriter sw = new StringWriter ();
481
+
482
+ if (CurrentDocType == "wsdl")
483
+ descriptions [CurrentDocInd].Write (sw);
484
+ else if (CurrentDocType == "schema")
485
+ schemas [CurrentDocInd].Write (sw);
486
+
487
+ return Colorize (WrapText (sw.ToString (), CodeTextColumns), "xml");
488
+ }
489
+
490
+ public string CurrentDocType
491
+ {
492
+ get { return Request.QueryString ["doctype"] != null ? Request.QueryString ["doctype"] : "wsdl"; }
493
+ }
494
+
495
+ public int CurrentDocInd
496
+ {
497
+ get { return Request.QueryString ["docind"] != null ? int.Parse (Request.QueryString ["docind"]) : 0; }
498
+ }
499
+
500
+ public string CurrentDocumentName
501
+ {
502
+ get {
503
+ if (CurrentDocType == "wsdl")
504
+ return "WSDL document for namespace \"" + descriptions [CurrentDocInd].TargetNamespace + "\"";
505
+ else
506
+ return "Xml Schema for namespace \"" + schemas [CurrentDocInd].TargetNamespace + "\"";
507
+ }
508
+ }
509
+
510
+ //
511
+ // Pages and tabs
512
+ //
513
+
514
+ bool firstTab = true;
515
+ ArrayList disabledTabs = new ArrayList ();
516
+
517
+ string CurrentTab
518
+ {
519
+ get { return Request.QueryString["tab"] != null ? Request.QueryString["tab"] : "main" ; }
520
+ }
521
+
522
+ string CurrentPage
523
+ {
524
+ get { return Request.QueryString["page"] != null ? Request.QueryString["page"] : "main" ; }
525
+ }
526
+
527
+ void WriteTabs ()
528
+ {
529
+ if (CurrentOperationName != null)
530
+ {
531
+ WriteTab ("main","Overview");
532
+ WriteTab ("test","Test Form");
533
+ WriteTab ("msg","Message Layout");
534
+ }
535
+ }
536
+
537
+ void WriteTab (string id, string label)
538
+ {
539
+ if (!firstTab) Response.Write("&nbsp;|&nbsp;");
540
+ firstTab = false;
541
+
542
+ string cname = CurrentTab == id ? "tabLabelOn" : "tabLabelOff";
543
+ Response.Write ("<a href='" + PageName + "?" + GetPageContext(null) + GetDataContext() + "tab=" + id + "' style='text-decoration:none'>");
544
+ Response.Write ("<span class='" + cname + "'>" + label + "</span>");
545
+ Response.Write ("</a>");
546
+ }
547
+
548
+ string GetTabContext (string pag, string tab)
549
+ {
550
+ if (tab == null) tab = CurrentTab;
551
+ if (pag == null) pag = CurrentPage;
552
+ if (pag != CurrentPage) tab = "main";
553
+ return "page=" + pag + "&tab=" + tab + "&";
554
+ }
555
+
556
+ string GetPageContext (string pag)
557
+ {
558
+ if (pag == null) pag = CurrentPage;
559
+ return "page=" + pag + "&";
560
+ }
561
+
562
+ class Tab
563
+ {
564
+ public string Id;
565
+ public string Label;
566
+ }
567
+
568
+ //
569
+ // Syntax coloring
570
+ //
571
+
572
+ static string keywords_cs =
573
+ "(\\babstract\\b|\\bevent\\b|\\bnew\\b|\\bstruct\\b|\\bas\\b|\\bexplicit\\b|\\bnull\\b|\\bswitch\\b|\\bbase\\b|\\bextern\\b|" +
574
+ "\\bobject\\b|\\bthis\\b|\\bbool\\b|\\bfalse\\b|\\boperator\\b|\\bthrow\\b|\\bbreak\\b|\\bfinally\\b|\\bout\\b|\\btrue\\b|" +
575
+ "\\bbyte\\b|\\bfixed\\b|\\boverride\\b|\\btry\\b|\\bcase\\b|\\bfloat\\b|\\bparams\\b|\\btypeof\\b|\\bcatch\\b|\\bfor\\b|" +
576
+ "\\bprivate\\b|\\buint\\b|\\bchar\\b|\\bforeach\\b|\\bprotected\\b|\\bulong\\b|\\bchecked\\b|\\bgoto\\b|\\bpublic\\b|" +
577
+ "\\bunchecked\\b|\\bclass\\b|\\bif\\b|\\breadonly\\b|\\bunsafe\\b|\\bconst\\b|\\bimplicit\\b|\\bref\\b|\\bushort\\b|" +
578
+ "\\bcontinue\\b|\\bin\\b|\\breturn\\b|\\busing\\b|\\bdecimal\\b|\\bint\\b|\\bsbyte\\b|\\bvirtual\\b|\\bdefault\\b|" +
579
+ "\\binterface\\b|\\bsealed\\b|\\bvolatile\\b|\\bdelegate\\b|\\binternal\\b|\\bshort\\b|\\bvoid\\b|\\bdo\\b|\\bis\\b|" +
580
+ "\\bsizeof\\b|\\bwhile\\b|\\bdouble\\b|\\block\\b|\\bstackalloc\\b|\\belse\\b|\\blong\\b|\\bstatic\\b|\\benum\\b|" +
581
+ "\\bnamespace\\b|\\bstring\\b)";
582
+
583
+ static string keywords_vb =
584
+ "(\\bAddHandler\\b|\\bAddressOf\\b|\\bAlias\\b|\\bAnd\\b|\\bAndAlso\\b|\\bAnsi\\b|\\bAs\\b|\\bAssembly\\b|" +
585
+ "\\bAuto\\b|\\bBoolean\\b|\\bByRef\\b|\\bByte\\b|\\bByVal\\b|\\bCall\\b|\\bCase\\b|\\bCatch\\b|" +
586
+ "\\bCBool\\b|\\bCByte\\b|\\bCChar\\b|\\bCDate\\b|\\bCDec\\b|\\bCDbl\\b|\\bChar\\b|\\bCInt\\b|" +
587
+ "\\bClass\\b|\\bCLng\\b|\\bCObj\\b|\\bConst\\b|\\bCShort\\b|\\bCSng\\b|\\bCStr\\b|\\bCType\\b|" +
588
+ "\\bDate\\b|\\bDecimal\\b|\\bDeclare\\b|\\bDefault\\b|\\bDelegate\\b|\\bDim\\b|\\bDirectCast\\b|\\bDo\\b|" +
589
+ "\\bDouble\\b|\\bEach\\b|\\bElse\\b|\\bElseIf\\b|\\bEnd\\b|\\bEnum\\b|\\bErase\\b|\\bError\\b|" +
590
+ "\\bEvent\\b|\\bExit\\b|\\bFalse\\b|\\bFinally\\b|\\bFor\\b|\\bFriend\\b|\\bFunction\\b|\\bGet\\b|" +
591
+ "\\bGetType\\b|\\bGoSub\\b|\\bGoTo\\b|\\bHandles\\b|\\bIf\\b|\\bImplements\\b|\\bImports\\b|\\bIn\\b|" +
592
+ "\\bInherits\\b|\\bInteger\\b|\\bInterface\\b|\\bIs\\b|\\bLet\\b|\\bLib\\b|\\bLike\\b|\\bLong\\b|" +
593
+ "\\bLoop\\b|\\bMe\\b|\\bMod\\b|\\bModule\\b|\\bMustInherit\\b|\\bMustOverride\\b|\\bMyBase\\b|\\bMyClass\\b|" +
594
+ "\\bNamespace\\b|\\bNew\\b|\\bNext\\b|\\bNot\\b|\\bNothing\\b|\\bNotInheritable\\b|\\bNotOverridable\\b|\\bObject\\b|" +
595
+ "\\bOn\\b|\\bOption\\b|\\bOptional\\b|\\bOr\\b|\\bOrElse\\b|\\bOverloads\\b|\\bOverridable\\b|\\bOverrides\\b|" +
596
+ "\\bParamArray\\b|\\bPreserve\\b|\\bPrivate\\b|\\bProperty\\b|\\bProtected\\b|\\bPublic\\b|\\bRaiseEvent\\b|\\bReadOnly\\b|" +
597
+ "\\bReDim\\b|\\bREM\\b|\\bRemoveHandler\\b|\\bResume\\b|\\bReturn\\b|\\bSelect\\b|\\bSet\\b|\\bShadows\\b|" +
598
+ "\\bShared\\b|\\bShort\\b|\\bSingle\\b|\\bStatic\\b|\\bStep\\b|\\bStop\\b|\\bString\\b|\\bStructure\\b|" +
599
+ "\\bSub\\b|\\bSyncLock\\b|\\bThen\\b|\\bThrow\\b|\\bTo\\b|\\bTrue\\b|\\bTry\\b|\\bTypeOf\\b|" +
600
+ "\\bUnicode\\b|\\bUntil\\b|\\bVariant\\b|\\bWhen\\b|\\bWhile\\b|\\bWith\\b|\\bWithEvents\\b|\\bWriteOnly\\b|\\bXor\\b)";
601
+
602
+ string Colorize (string text, string lang)
603
+ {
604
+ if (lang == "xml") return ColorizeXml (text);
605
+ else if (lang == "cs") return ColorizeCs (text);
606
+ else if (lang == "vb") return ColorizeVb (text);
607
+ else return text;
608
+ }
609
+
610
+ string ColorizeXml (string text)
611
+ {
612
+ text = text.Replace (" ", "&nbsp;");
613
+ Regex re = new Regex ("\r\n|\r|\n");
614
+ text = re.Replace (text, "_br_");
615
+
616
+ re = new Regex ("<\\s*(\\/?)\\s*([\\s\\S]*?)\\s*(\\/?)\\s*>");
617
+ text = re.Replace (text,"{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
618
+
619
+ re = new Regex ("\\{(\\w*):([\\s\\S]*?)\\}");
620
+ text = re.Replace (text,"<span style='color:$1'>$2</span>");
621
+
622
+ re = new Regex ("\"(.*?)\"");
623
+ text = re.Replace (text,"\"<span style='color:purple'>$1</span>\"");
624
+
625
+
626
+ text = text.Replace ("\t", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
627
+ text = text.Replace ("_br_", "<br>");
628
+ return text;
629
+ }
630
+
631
+ string ColorizeCs (string text)
632
+ {
633
+ text = text.Replace (" ", "&nbsp;");
634
+
635
+ text = text.Replace ("<", "&lt;");
636
+ text = text.Replace (">", "&gt;");
637
+
638
+ Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
639
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
640
+
641
+ re = new Regex ("//(((.(?!\"</span>))|\"(((?!\").)*)\"</span>)*)(\r|\n|\r\n)");
642
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
643
+
644
+ re = new Regex (keywords_cs);
645
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
646
+
647
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
648
+ text = text.Replace ("\n","<br/>");
649
+
650
+ return text;
651
+ }
652
+
653
+ string ColorizeVb (string text)
654
+ {
655
+ text = text.Replace (" ", "&nbsp;");
656
+
657
+ /* Regex re = new Regex ("\"((((?!\").)|\\\")*?)\"");
658
+ text = re.Replace (text,"<span style='color:purple'>\"$1\"</span>");
659
+
660
+ re = new Regex ("'(((.(?!\"\\<\\/span\\>))|\"(((?!\").)*)\"\\<\\/span\\>)*)(\r|\n|\r\n)");
661
+ text = re.Replace (text,"<span style='color:green'>//$1</span><br/>");
662
+
663
+ re = new Regex (keywords_vb);
664
+ text = re.Replace (text,"<span style='color:blue'>$1</span>");
665
+ */
666
+ text = text.Replace ("\t","&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
667
+ text = text.Replace ("\n","<br/>");
668
+ return text;
669
+ }
670
+
671
+ //
672
+ // Helper methods and classes
673
+ //
674
+
675
+ string GetDataContext ()
676
+ {
677
+ return "op=" + CurrentOperationName + "&bnd=" + CurrentOperationBinding + "&";
678
+ }
679
+
680
+ string GetOptionSel (string v1, string v2)
681
+ {
682
+ string op = "<option ";
683
+ if (v1 == v2) op += "selected ";
684
+ return op + "value='" + v1 + "'>";
685
+ }
686
+
687
+ string WrapText (string text, int maxChars)
688
+ {
689
+ text = text.Replace(" />","/>");
690
+
691
+ string linspace = null;
692
+ int lincount = 0;
693
+ int breakpos = 0;
694
+ int linstart = 0;
695
+ bool inquotes = false;
696
+ char lastc = ' ';
697
+ string sublineIndent = "";
698
+ System.Text.StringBuilder sb = new System.Text.StringBuilder ();
699
+ for (int n=0; n<text.Length; n++)
700
+ {
701
+ char c = text [n];
702
+
703
+ if (c=='\r' || c=='\n' || n==text.Length-1)
704
+ {
705
+ sb.Append (linspace + sublineIndent + text.Substring (linstart, n-linstart+1));
706
+ linspace = null;
707
+ lincount = 0;
708
+ linstart = n+1;
709
+ breakpos = linstart;
710
+ sublineIndent = "";
711
+ lastc = c;
712
+ continue;
713
+ }
714
+
715
+ if (lastc==',' || lastc=='(')
716
+ {
717
+ if (!inquotes) breakpos = n;
718
+ }
719
+
720
+ if (lincount > maxChars && breakpos >= linstart)
721
+ {
722
+ if (linspace != null)
723
+ sb.Append (linspace + sublineIndent);
724
+ sb.Append (text.Substring (linstart, breakpos-linstart));
725
+ sb.Append ("\n");
726
+ sublineIndent = " ";
727
+ lincount = linspace.Length + sublineIndent.Length + (n-breakpos);
728
+ linstart = breakpos;
729
+ }
730
+
731
+ if (c==' ' || c=='\t')
732
+ {
733
+ if (!inquotes)
734
+ breakpos = n;
735
+ }
736
+ else if (c=='"')
737
+ {
738
+ inquotes = !inquotes;
739
+ }
740
+ else
741
+ if (linspace == null) {
742
+ linspace = text.Substring (linstart, n-linstart);
743
+ linstart = n;
744
+ }
745
+
746
+ lincount++;
747
+ lastc = c;
748
+ }
749
+ return sb.ToString ();
750
+ }
751
+
752
+ class Parameter
753
+ {
754
+ string name;
755
+ string type;
756
+ string description;
757
+
758
+ public string Name { get { return name; } set { name = value; } }
759
+ public string Type { get { return type; } set { type = value; } }
760
+ public string Description { get { return description; } set { description = value; } }
761
+ }
762
+
763
+ public class HtmlSampleGenerator: SampleGenerator
764
+ {
765
+ public HtmlSampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
766
+ : base (services, schemas)
767
+ {
768
+ }
769
+
770
+ protected override string GetLiteral (string s)
771
+ {
772
+ return "@placeholder!" + s + "!placeholder@";
773
+ }
774
+ }
775
+
776
+
777
+ public class SampleGenerator
778
+ {
779
+ protected ServiceDescriptionCollection descriptions;
780
+ protected XmlSchemas schemas;
781
+ XmlSchemaElement anyElement;
782
+ ArrayList queue;
783
+ SoapBindingUse currentUse;
784
+ XmlDocument document = new XmlDocument ();
785
+
786
+ static readonly XmlQualifiedName anyType = new XmlQualifiedName ("anyType",XmlSchema.Namespace);
787
+ static readonly XmlQualifiedName arrayType = new XmlQualifiedName ("Array","http://schemas.xmlsoap.org/soap/encoding/");
788
+ static readonly XmlQualifiedName arrayTypeRefName = new XmlQualifiedName ("arrayType","http://schemas.xmlsoap.org/soap/encoding/");
789
+ const string SoapEnvelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
790
+ const string WsdlNamespace = "http://schemas.xmlsoap.org/wsdl/";
791
+ const string SoapEncodingNamespace = "http://schemas.xmlsoap.org/soap/encoding/";
792
+
793
+ class EncodedType
794
+ {
795
+ public EncodedType (string ns, XmlSchemaElement elem) { Namespace = ns; Element = elem; }
796
+ public string Namespace;
797
+ public XmlSchemaElement Element;
798
+ }
799
+
800
+ public SampleGenerator (ServiceDescriptionCollection services, XmlSchemas schemas)
801
+ {
802
+ descriptions = services;
803
+ this.schemas = schemas;
804
+ queue = new ArrayList ();
805
+ }
806
+
807
+ public string GenerateMessage (Port port, OperationBinding obin, Operation oper, string protocol, bool generateInput)
808
+ {
809
+ OperationMessage msg = null;
810
+ foreach (OperationMessage opm in oper.Messages)
811
+ {
812
+ if (opm is OperationInput && generateInput) msg = opm;
813
+ else if (opm is OperationOutput && !generateInput) msg = opm;
814
+ }
815
+ if (msg == null) return null;
816
+
817
+ switch (protocol) {
818
+ case "Soap": return GenerateHttpSoapMessage (port, obin, oper, msg);
819
+ case "HttpGet": return GenerateHttpGetMessage (port, obin, oper, msg);
820
+ case "HttpPost": return GenerateHttpPostMessage (port, obin, oper, msg);
821
+ }
822
+ return "Unknown protocol";
823
+ }
824
+
825
+ public string GenerateHttpSoapMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
826
+ {
827
+ string req = "";
828
+
829
+ if (msg is OperationInput)
830
+ {
831
+ SoapAddressBinding sab = port.Extensions.Find (typeof(SoapAddressBinding)) as SoapAddressBinding;
832
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
833
+ req += "POST " + new Uri (sab.Location).AbsolutePath + "\n";
834
+ req += "SOAPAction: " + sob.SoapAction + "\n";
835
+ req += "Content-Type: text/xml; charset=utf-8\n";
836
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
837
+ req += "Host: " + GetLiteral ("string") + "\n\n";
838
+ }
839
+ else
840
+ {
841
+ req += "HTTP/1.0 200 OK\n";
842
+ req += "Content-Type: text/xml; charset=utf-8\n";
843
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
844
+ }
845
+
846
+ req += GenerateSoapMessage (obin, oper, msg);
847
+ return req;
848
+ }
849
+
850
+ public string GenerateHttpGetMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
851
+ {
852
+ string req = "";
853
+
854
+ if (msg is OperationInput)
855
+ {
856
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
857
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
858
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location + "?" + BuildQueryString (msg);
859
+ req += "GET " + location + "\n";
860
+ req += "Host: " + GetLiteral ("string");
861
+ }
862
+ else
863
+ {
864
+ req += "HTTP/1.0 200 OK\n";
865
+ req += "Content-Type: text/xml; charset=utf-8\n";
866
+ req += "Content-Length: " + GetLiteral ("string") + "\n\n";
867
+
868
+ MimeXmlBinding mxb = (MimeXmlBinding) obin.Output.Extensions.Find (typeof(MimeXmlBinding)) as MimeXmlBinding;
869
+ if (mxb == null) return req;
870
+
871
+ Message message = descriptions.GetMessage (msg.Message);
872
+ XmlQualifiedName ename = null;
873
+ foreach (MessagePart part in message.Parts)
874
+ if (part.Name == mxb.Part) ename = part.Element;
875
+
876
+ if (ename == null) return req + GetLiteral("string");
877
+
878
+ StringWriter sw = new StringWriter ();
879
+ XmlTextWriter xtw = new XmlTextWriter (sw);
880
+ xtw.Formatting = Formatting.Indented;
881
+ currentUse = SoapBindingUse.Literal;
882
+ WriteRootElementSample (xtw, ename);
883
+ xtw.Close ();
884
+ req += sw.ToString ();
885
+ }
886
+
887
+ return req;
888
+ }
889
+
890
+ public string GenerateHttpPostMessage (Port port, OperationBinding obin, Operation oper, OperationMessage msg)
891
+ {
892
+ string req = "";
893
+
894
+ if (msg is OperationInput)
895
+ {
896
+ HttpAddressBinding sab = port.Extensions.Find (typeof(HttpAddressBinding)) as HttpAddressBinding;
897
+ HttpOperationBinding sob = obin.Extensions.Find (typeof(HttpOperationBinding)) as HttpOperationBinding;
898
+ string location = new Uri (sab.Location).AbsolutePath + sob.Location;
899
+ req += "POST " + location + "\n";
900
+ req += "Content-Type: application/x-www-form-urlencoded\n";
901
+ req += "Content-Length: " + GetLiteral ("string") + "\n";
902
+ req += "Host: " + GetLiteral ("string") + "\n\n";
903
+ req += BuildQueryString (msg);
904
+ }
905
+ else return GenerateHttpGetMessage (port, obin, oper, msg);
906
+
907
+ return req;
908
+ }
909
+
910
+ string BuildQueryString (OperationMessage opm)
911
+ {
912
+ string s = "";
913
+ Message msg = descriptions.GetMessage (opm.Message);
914
+ foreach (MessagePart part in msg.Parts)
915
+ {
916
+ if (s.Length != 0) s += "&";
917
+ s += part.Name + "=" + GetLiteral (part.Type.Name);
918
+ }
919
+ return s;
920
+ }
921
+
922
+ public string GenerateSoapMessage (OperationBinding obin, Operation oper, OperationMessage msg)
923
+ {
924
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
925
+ SoapBindingStyle style = (sob != null) ? sob.Style : SoapBindingStyle.Document;
926
+
927
+ MessageBinding msgbin = (msg is OperationInput) ? (MessageBinding) obin.Input : (MessageBinding)obin.Output;
928
+ SoapBodyBinding sbb = msgbin.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
929
+ SoapBindingUse bodyUse = (sbb != null) ? sbb.Use : SoapBindingUse.Literal;
930
+
931
+ StringWriter sw = new StringWriter ();
932
+ XmlTextWriter xtw = new XmlTextWriter (sw);
933
+ xtw.Formatting = Formatting.Indented;
934
+
935
+ xtw.WriteStartDocument ();
936
+ xtw.WriteStartElement ("soap", "Envelope", SoapEnvelopeNamespace);
937
+ xtw.WriteAttributeString ("xmlns", "xsi", null, XmlSchema.InstanceNamespace);
938
+ xtw.WriteAttributeString ("xmlns", "xsd", null, XmlSchema.Namespace);
939
+
940
+ if (bodyUse == SoapBindingUse.Encoded)
941
+ {
942
+ xtw.WriteAttributeString ("xmlns", "soapenc", null, SoapEncodingNamespace);
943
+ xtw.WriteAttributeString ("xmlns", "tns", null, msg.Message.Namespace);
944
+ }
945
+
946
+ // Serialize headers
947
+
948
+ bool writtenHeader = false;
949
+ foreach (object ob in msgbin.Extensions)
950
+ {
951
+ SoapHeaderBinding hb = ob as SoapHeaderBinding;
952
+ if (hb == null) continue;
953
+
954
+ if (!writtenHeader) {
955
+ xtw.WriteStartElement ("soap", "Header", SoapEnvelopeNamespace);
956
+ writtenHeader = true;
957
+ }
958
+
959
+ WriteHeader (xtw, hb);
960
+ }
961
+
962
+ if (writtenHeader)
963
+ xtw.WriteEndElement ();
964
+
965
+ // Serialize body
966
+ xtw.WriteStartElement ("soap", "Body", SoapEnvelopeNamespace);
967
+
968
+ currentUse = bodyUse;
969
+ WriteBody (xtw, oper, msg, sbb, style);
970
+
971
+ xtw.WriteEndElement ();
972
+ xtw.WriteEndElement ();
973
+ xtw.Close ();
974
+ return sw.ToString ();
975
+ }
976
+
977
+ void WriteHeader (XmlTextWriter xtw, SoapHeaderBinding header)
978
+ {
979
+ Message msg = descriptions.GetMessage (header.Message);
980
+ if (msg == null) throw new InvalidOperationException ("Message " + header.Message + " not found");
981
+ MessagePart part = msg.Parts [header.Part];
982
+ if (part == null) throw new InvalidOperationException ("Message part " + header.Part + " not found in message " + header.Message);
983
+
984
+ currentUse = header.Use;
985
+
986
+ if (currentUse == SoapBindingUse.Literal)
987
+ WriteRootElementSample (xtw, part.Element);
988
+ else
989
+ WriteTypeSample (xtw, part.Type);
990
+ }
991
+
992
+ void WriteBody (XmlTextWriter xtw, Operation oper, OperationMessage opm, SoapBodyBinding sbb, SoapBindingStyle style)
993
+ {
994
+ Message msg = descriptions.GetMessage (opm.Message);
995
+ if (msg.Parts.Count > 0 && msg.Parts[0].Name == "parameters")
996
+ {
997
+ MessagePart part = msg.Parts[0];
998
+ if (part.Element == XmlQualifiedName.Empty)
999
+ WriteTypeSample (xtw, part.Type);
1000
+ else
1001
+ WriteRootElementSample (xtw, part.Element);
1002
+ }
1003
+ else
1004
+ {
1005
+ string elemName = oper.Name;
1006
+ string ns = "";
1007
+ if (opm is OperationOutput) elemName += "Response";
1008
+
1009
+ if (style == SoapBindingStyle.Rpc) {
1010
+ xtw.WriteStartElement (elemName, sbb.Namespace);
1011
+ ns = sbb.Namespace;
1012
+ }
1013
+
1014
+ foreach (MessagePart part in msg.Parts)
1015
+ {
1016
+ if (part.Element == XmlQualifiedName.Empty)
1017
+ {
1018
+ XmlSchemaElement elem = new XmlSchemaElement ();
1019
+ elem.SchemaTypeName = part.Type;
1020
+ elem.Name = part.Name;
1021
+ WriteElementSample (xtw, ns, elem);
1022
+ }
1023
+ else
1024
+ WriteRootElementSample (xtw, part.Element);
1025
+ }
1026
+
1027
+ if (style == SoapBindingStyle.Rpc)
1028
+ xtw.WriteEndElement ();
1029
+ }
1030
+ WriteQueuedTypeSamples (xtw);
1031
+ }
1032
+
1033
+ void WriteRootElementSample (XmlTextWriter xtw, XmlQualifiedName qname)
1034
+ {
1035
+ XmlSchemaElement elem = (XmlSchemaElement) schemas.Find (qname, typeof(XmlSchemaElement));
1036
+ if (elem == null) throw new InvalidOperationException ("Element not found: " + qname);
1037
+ WriteElementSample (xtw, qname.Namespace, elem);
1038
+ }
1039
+
1040
+ void WriteElementSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1041
+ {
1042
+ bool sharedAnnType = false;
1043
+ XmlQualifiedName root;
1044
+
1045
+ if (!elem.RefName.IsEmpty) {
1046
+ XmlSchemaElement refElem = FindRefElement (elem);
1047
+ if (refElem == null) throw new InvalidOperationException ("Global element not found: " + elem.RefName);
1048
+ root = elem.RefName;
1049
+ elem = refElem;
1050
+ sharedAnnType = true;
1051
+ }
1052
+ else
1053
+ root = new XmlQualifiedName (elem.Name, ns);
1054
+
1055
+ if (!elem.SchemaTypeName.IsEmpty)
1056
+ {
1057
+ XmlSchemaComplexType st = FindComplexTyype (elem.SchemaTypeName);
1058
+ if (st != null)
1059
+ WriteComplexTypeSample (xtw, st, root);
1060
+ else
1061
+ {
1062
+ xtw.WriteStartElement (root.Name, root.Namespace);
1063
+ if (currentUse == SoapBindingUse.Encoded)
1064
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, elem.SchemaTypeName));
1065
+ xtw.WriteString (GetLiteral (FindBuiltInType (elem.SchemaTypeName)));
1066
+ xtw.WriteEndElement ();
1067
+ }
1068
+ }
1069
+ else if (elem.SchemaType == null)
1070
+ {
1071
+ xtw.WriteStartElement ("any");
1072
+ xtw.WriteEndElement ();
1073
+ }
1074
+ else
1075
+ WriteComplexTypeSample (xtw, (XmlSchemaComplexType) elem.SchemaType, root);
1076
+ }
1077
+
1078
+ void WriteTypeSample (XmlTextWriter xtw, XmlQualifiedName qname)
1079
+ {
1080
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1081
+ if (ctype != null) {
1082
+ WriteComplexTypeSample (xtw, ctype, qname);
1083
+ return;
1084
+ }
1085
+
1086
+ XmlSchemaSimpleType stype = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1087
+ if (stype != null) {
1088
+ WriteSimpleTypeSample (xtw, stype);
1089
+ return;
1090
+ }
1091
+
1092
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1093
+ throw new InvalidOperationException ("Type not found: " + qname);
1094
+ }
1095
+
1096
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName)
1097
+ {
1098
+ WriteComplexTypeSample (xtw, stype, rootName, -1);
1099
+ }
1100
+
1101
+ void WriteComplexTypeSample (XmlTextWriter xtw, XmlSchemaComplexType stype, XmlQualifiedName rootName, int id)
1102
+ {
1103
+ string ns = rootName.Namespace;
1104
+
1105
+ if (rootName.Name.IndexOf ("[]") != -1) rootName = arrayType;
1106
+
1107
+ if (currentUse == SoapBindingUse.Encoded) {
1108
+ string pref = xtw.LookupPrefix (rootName.Namespace);
1109
+ if (pref == null) pref = "q1";
1110
+ xtw.WriteStartElement (pref, rootName.Name, rootName.Namespace);
1111
+ ns = "";
1112
+ }
1113
+ else
1114
+ xtw.WriteStartElement (rootName.Name, rootName.Namespace);
1115
+
1116
+ if (id != -1)
1117
+ {
1118
+ xtw.WriteAttributeString ("id", "id" + id);
1119
+ if (rootName != arrayType)
1120
+ xtw.WriteAttributeString ("type", XmlSchema.InstanceNamespace, GetQualifiedNameString (xtw, rootName));
1121
+ }
1122
+
1123
+ WriteComplexTypeAttributes (xtw, stype);
1124
+ WriteComplexTypeElements (xtw, ns, stype);
1125
+
1126
+ xtw.WriteEndElement ();
1127
+ }
1128
+
1129
+ void WriteComplexTypeAttributes (XmlTextWriter xtw, XmlSchemaComplexType stype)
1130
+ {
1131
+ WriteAttributes (xtw, stype.Attributes, stype.AnyAttribute);
1132
+ }
1133
+
1134
+ Dictionary<XmlSchemaComplexType,int> recursed_types = new Dictionary<XmlSchemaComplexType,int> ();
1135
+ void WriteComplexTypeElements (XmlTextWriter xtw, string ns, XmlSchemaComplexType stype)
1136
+ {
1137
+ int prev = 0;
1138
+ if (recursed_types.ContainsKey (stype))
1139
+ prev = recursed_types [stype];
1140
+
1141
+ if (prev > 1)
1142
+ return;
1143
+ recursed_types [stype] = ++prev;
1144
+
1145
+ if (stype.Particle != null)
1146
+ WriteParticleComplexContent (xtw, ns, stype.Particle);
1147
+ else
1148
+ {
1149
+ if (stype.ContentModel is XmlSchemaSimpleContent)
1150
+ WriteSimpleContent (xtw, (XmlSchemaSimpleContent)stype.ContentModel);
1151
+ else if (stype.ContentModel is XmlSchemaComplexContent)
1152
+ WriteComplexContent (xtw, ns, (XmlSchemaComplexContent)stype.ContentModel);
1153
+ }
1154
+ prev = recursed_types [stype];
1155
+ recursed_types [stype] = --prev;
1156
+ }
1157
+
1158
+ void WriteAttributes (XmlTextWriter xtw, XmlSchemaObjectCollection atts, XmlSchemaAnyAttribute anyat)
1159
+ {
1160
+ foreach (XmlSchemaObject at in atts)
1161
+ {
1162
+ if (at is XmlSchemaAttribute)
1163
+ {
1164
+ string ns;
1165
+ XmlSchemaAttribute attr = (XmlSchemaAttribute)at;
1166
+ XmlSchemaAttribute refAttr = attr;
1167
+
1168
+ // refAttr.Form; TODO
1169
+
1170
+ if (!attr.RefName.IsEmpty) {
1171
+ refAttr = FindRefAttribute (attr.RefName);
1172
+ if (refAttr == null) throw new InvalidOperationException ("Global attribute not found: " + attr.RefName);
1173
+ }
1174
+
1175
+ string val;
1176
+ if (!refAttr.SchemaTypeName.IsEmpty) val = FindBuiltInType (refAttr.SchemaTypeName);
1177
+ else val = FindBuiltInType ((XmlSchemaSimpleType) refAttr.SchemaType);
1178
+
1179
+ xtw.WriteAttributeString (refAttr.Name, val);
1180
+ }
1181
+ else if (at is XmlSchemaAttributeGroupRef)
1182
+ {
1183
+ XmlSchemaAttributeGroupRef gref = (XmlSchemaAttributeGroupRef)at;
1184
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1185
+ WriteAttributes (xtw, grp.Attributes, grp.AnyAttribute);
1186
+ }
1187
+ }
1188
+
1189
+ if (anyat != null)
1190
+ xtw.WriteAttributeString ("custom-attribute","value");
1191
+ }
1192
+
1193
+ void WriteParticleComplexContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle)
1194
+ {
1195
+ WriteParticleContent (xtw, ns, particle, false);
1196
+ }
1197
+
1198
+ void WriteParticleContent (XmlTextWriter xtw, string ns, XmlSchemaParticle particle, bool multiValue)
1199
+ {
1200
+ if (particle is XmlSchemaGroupRef)
1201
+ particle = GetRefGroupParticle ((XmlSchemaGroupRef)particle);
1202
+
1203
+ if (particle.MaxOccurs > 1) multiValue = true;
1204
+
1205
+ if (particle is XmlSchemaSequence) {
1206
+ WriteSequenceContent (xtw, ns, ((XmlSchemaSequence)particle).Items, multiValue);
1207
+ }
1208
+ else if (particle is XmlSchemaChoice) {
1209
+ if (((XmlSchemaChoice)particle).Items.Count == 1)
1210
+ WriteSequenceContent (xtw, ns, ((XmlSchemaChoice)particle).Items, multiValue);
1211
+ else
1212
+ WriteChoiceContent (xtw, ns, (XmlSchemaChoice)particle, multiValue);
1213
+ }
1214
+ else if (particle is XmlSchemaAll) {
1215
+ WriteSequenceContent (xtw, ns, ((XmlSchemaAll)particle).Items, multiValue);
1216
+ }
1217
+ }
1218
+
1219
+ void WriteSequenceContent (XmlTextWriter xtw, string ns, XmlSchemaObjectCollection items, bool multiValue)
1220
+ {
1221
+ foreach (XmlSchemaObject item in items)
1222
+ WriteContentItem (xtw, ns, item, multiValue);
1223
+ }
1224
+
1225
+ void WriteContentItem (XmlTextWriter xtw, string ns, XmlSchemaObject item, bool multiValue)
1226
+ {
1227
+ if (item is XmlSchemaGroupRef)
1228
+ item = GetRefGroupParticle ((XmlSchemaGroupRef)item);
1229
+
1230
+ if (item is XmlSchemaElement)
1231
+ {
1232
+ XmlSchemaElement elem = (XmlSchemaElement) item;
1233
+ XmlSchemaElement refElem;
1234
+ if (!elem.RefName.IsEmpty) refElem = FindRefElement (elem);
1235
+ else refElem = elem;
1236
+
1237
+ int num = (elem.MaxOccurs == 1 && !multiValue) ? 1 : 2;
1238
+ for (int n=0; n<num; n++)
1239
+ {
1240
+ if (currentUse == SoapBindingUse.Literal)
1241
+ WriteElementSample (xtw, ns, refElem);
1242
+ else
1243
+ WriteRefTypeSample (xtw, ns, refElem);
1244
+ }
1245
+ }
1246
+ else if (item is XmlSchemaAny)
1247
+ {
1248
+ xtw.WriteString (GetLiteral ("xml"));
1249
+ }
1250
+ else if (item is XmlSchemaParticle) {
1251
+ WriteParticleContent (xtw, ns, (XmlSchemaParticle)item, multiValue);
1252
+ }
1253
+ }
1254
+
1255
+ void WriteChoiceContent (XmlTextWriter xtw, string ns, XmlSchemaChoice choice, bool multiValue)
1256
+ {
1257
+ foreach (XmlSchemaObject item in choice.Items)
1258
+ WriteContentItem (xtw, ns, item, multiValue);
1259
+ }
1260
+
1261
+ void WriteSimpleContent (XmlTextWriter xtw, XmlSchemaSimpleContent content)
1262
+ {
1263
+ XmlSchemaSimpleContentExtension ext = content.Content as XmlSchemaSimpleContentExtension;
1264
+ if (ext != null)
1265
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1266
+
1267
+ XmlQualifiedName qname = GetContentBaseType (content.Content);
1268
+ xtw.WriteString (GetLiteral (FindBuiltInType (qname)));
1269
+ }
1270
+
1271
+ string FindBuiltInType (XmlQualifiedName qname)
1272
+ {
1273
+ if (qname.Namespace == XmlSchema.Namespace)
1274
+ return qname.Name;
1275
+
1276
+ XmlSchemaComplexType ct = FindComplexTyype (qname);
1277
+ if (ct != null)
1278
+ {
1279
+ XmlSchemaSimpleContent sc = ct.ContentModel as XmlSchemaSimpleContent;
1280
+ if (sc == null) throw new InvalidOperationException ("Invalid schema");
1281
+ return FindBuiltInType (GetContentBaseType (sc.Content));
1282
+ }
1283
+
1284
+ XmlSchemaSimpleType st = (XmlSchemaSimpleType) schemas.Find (qname, typeof(XmlSchemaSimpleType));
1285
+ if (st != null)
1286
+ return FindBuiltInType (st);
1287
+
1288
+ throw new InvalidOperationException ("Definition of type " + qname + " not found");
1289
+ }
1290
+
1291
+ string FindBuiltInType (XmlSchemaSimpleType st)
1292
+ {
1293
+ if (st.Content is XmlSchemaSimpleTypeRestriction) {
1294
+ return FindBuiltInType (GetContentBaseType (st.Content));
1295
+ }
1296
+ else if (st.Content is XmlSchemaSimpleTypeList) {
1297
+ string s = FindBuiltInType (GetContentBaseType (st.Content));
1298
+ return s + " " + s + " ...";
1299
+ }
1300
+ else if (st.Content is XmlSchemaSimpleTypeUnion)
1301
+ {
1302
+ //Check if all types of the union are equal. If not, then will use anyType.
1303
+ XmlSchemaSimpleTypeUnion uni = (XmlSchemaSimpleTypeUnion) st.Content;
1304
+ string utype = null;
1305
+
1306
+ // Anonymous types are unique
1307
+ if (uni.BaseTypes.Count != 0 && uni.MemberTypes.Length != 0)
1308
+ return "string";
1309
+
1310
+ foreach (XmlQualifiedName mt in uni.MemberTypes)
1311
+ {
1312
+ string qn = FindBuiltInType (mt);
1313
+ if (utype != null && qn != utype) return "string";
1314
+ else utype = qn;
1315
+ }
1316
+ return utype;
1317
+ }
1318
+ else
1319
+ return "string";
1320
+ }
1321
+
1322
+
1323
+ XmlQualifiedName GetContentBaseType (XmlSchemaObject ob)
1324
+ {
1325
+ if (ob is XmlSchemaSimpleContentExtension)
1326
+ return ((XmlSchemaSimpleContentExtension)ob).BaseTypeName;
1327
+ else if (ob is XmlSchemaSimpleContentRestriction)
1328
+ return ((XmlSchemaSimpleContentRestriction)ob).BaseTypeName;
1329
+ else if (ob is XmlSchemaSimpleTypeRestriction)
1330
+ return ((XmlSchemaSimpleTypeRestriction)ob).BaseTypeName;
1331
+ else if (ob is XmlSchemaSimpleTypeList)
1332
+ return ((XmlSchemaSimpleTypeList)ob).ItemTypeName;
1333
+ else
1334
+ return null;
1335
+ }
1336
+
1337
+ void WriteComplexContent (XmlTextWriter xtw, string ns, XmlSchemaComplexContent content)
1338
+ {
1339
+ XmlQualifiedName qname;
1340
+
1341
+ XmlSchemaComplexContentExtension ext = content.Content as XmlSchemaComplexContentExtension;
1342
+ if (ext != null) qname = ext.BaseTypeName;
1343
+ else {
1344
+ XmlSchemaComplexContentRestriction rest = (XmlSchemaComplexContentRestriction)content.Content;
1345
+ qname = rest.BaseTypeName;
1346
+ if (qname == arrayType) {
1347
+ ParseArrayType (rest, out qname);
1348
+ XmlSchemaElement elem = new XmlSchemaElement ();
1349
+ elem.Name = "Item";
1350
+ elem.SchemaTypeName = qname;
1351
+
1352
+ xtw.WriteAttributeString ("arrayType", SoapEncodingNamespace, qname.Name + "[2]");
1353
+ WriteContentItem (xtw, ns, elem, true);
1354
+ return;
1355
+ }
1356
+ }
1357
+
1358
+ // Add base map members to this map
1359
+ XmlSchemaComplexType ctype = FindComplexTyype (qname);
1360
+ WriteComplexTypeAttributes (xtw, ctype);
1361
+
1362
+ if (ext != null) {
1363
+ // Add the members of this map
1364
+ WriteAttributes (xtw, ext.Attributes, ext.AnyAttribute);
1365
+ if (ext.Particle != null)
1366
+ WriteParticleComplexContent (xtw, ns, ext.Particle);
1367
+ }
1368
+
1369
+ WriteComplexTypeElements (xtw, ns, ctype);
1370
+ }
1371
+
1372
+ void ParseArrayType (XmlSchemaComplexContentRestriction rest, out XmlQualifiedName qtype)
1373
+ {
1374
+ XmlSchemaAttribute arrayTypeAt = FindArrayAttribute (rest.Attributes);
1375
+ XmlAttribute[] uatts = arrayTypeAt.UnhandledAttributes;
1376
+ if (uatts == null || uatts.Length == 0) throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1377
+
1378
+ XmlAttribute xat = null;
1379
+ foreach (XmlAttribute at in uatts)
1380
+ if (at.LocalName == "arrayType" && at.NamespaceURI == WsdlNamespace)
1381
+ { xat = at; break; }
1382
+
1383
+ if (xat == null)
1384
+ throw new InvalidOperationException ("arrayType attribute not specified in array declaration");
1385
+
1386
+ string arrayType = xat.Value;
1387
+ string type, ns;
1388
+ int i = arrayType.LastIndexOf (":");
1389
+ if (i == -1) ns = "";
1390
+ else ns = arrayType.Substring (0,i);
1391
+
1392
+ int j = arrayType.IndexOf ("[", i+1);
1393
+ if (j == -1) throw new InvalidOperationException ("Cannot parse WSDL array type: " + arrayType);
1394
+ type = arrayType.Substring (i+1);
1395
+ type = type.Substring (0, type.Length-2);
1396
+
1397
+ qtype = new XmlQualifiedName (type, ns);
1398
+ }
1399
+
1400
+ XmlSchemaAttribute FindArrayAttribute (XmlSchemaObjectCollection atts)
1401
+ {
1402
+ foreach (object ob in atts)
1403
+ {
1404
+ XmlSchemaAttribute att = ob as XmlSchemaAttribute;
1405
+ if (att != null && att.RefName == arrayTypeRefName) return att;
1406
+
1407
+ XmlSchemaAttributeGroupRef gref = ob as XmlSchemaAttributeGroupRef;
1408
+ if (gref != null)
1409
+ {
1410
+ XmlSchemaAttributeGroup grp = (XmlSchemaAttributeGroup) schemas.Find (gref.RefName, typeof(XmlSchemaAttributeGroup));
1411
+ att = FindArrayAttribute (grp.Attributes);
1412
+ if (att != null) return att;
1413
+ }
1414
+ }
1415
+ return null;
1416
+ }
1417
+
1418
+ void WriteSimpleTypeSample (XmlTextWriter xtw, XmlSchemaSimpleType stype)
1419
+ {
1420
+ xtw.WriteString (GetLiteral (FindBuiltInType (stype)));
1421
+ }
1422
+
1423
+ XmlSchemaParticle GetRefGroupParticle (XmlSchemaGroupRef refGroup)
1424
+ {
1425
+ XmlSchemaGroup grp = (XmlSchemaGroup) schemas.Find (refGroup.RefName, typeof (XmlSchemaGroup));
1426
+ return grp.Particle;
1427
+ }
1428
+
1429
+ XmlSchemaElement FindRefElement (XmlSchemaElement elem)
1430
+ {
1431
+ if (elem.RefName.Namespace == XmlSchema.Namespace)
1432
+ {
1433
+ if (anyElement != null) return anyElement;
1434
+ anyElement = new XmlSchemaElement ();
1435
+ anyElement.Name = "any";
1436
+ anyElement.SchemaTypeName = anyType;
1437
+ return anyElement;
1438
+ }
1439
+ return (XmlSchemaElement) schemas.Find (elem.RefName, typeof(XmlSchemaElement));
1440
+ }
1441
+
1442
+ XmlSchemaAttribute FindRefAttribute (XmlQualifiedName refName)
1443
+ {
1444
+ if (refName.Namespace == XmlSchema.Namespace)
1445
+ {
1446
+ XmlSchemaAttribute at = new XmlSchemaAttribute ();
1447
+ at.Name = refName.Name;
1448
+ at.SchemaTypeName = new XmlQualifiedName ("string",XmlSchema.Namespace);
1449
+ return at;
1450
+ }
1451
+ return (XmlSchemaAttribute) schemas.Find (refName, typeof(XmlSchemaAttribute));
1452
+ }
1453
+
1454
+ void WriteRefTypeSample (XmlTextWriter xtw, string ns, XmlSchemaElement elem)
1455
+ {
1456
+ if (elem.SchemaTypeName.Namespace == XmlSchema.Namespace || schemas.Find (elem.SchemaTypeName, typeof(XmlSchemaSimpleType)) != null)
1457
+ WriteElementSample (xtw, ns, elem);
1458
+ else
1459
+ {
1460
+ xtw.WriteStartElement (elem.Name, ns);
1461
+ xtw.WriteAttributeString ("href", "#id" + (queue.Count+1));
1462
+ xtw.WriteEndElement ();
1463
+ queue.Add (new EncodedType (ns, elem));
1464
+ }
1465
+ }
1466
+
1467
+ void WriteQueuedTypeSamples (XmlTextWriter xtw)
1468
+ {
1469
+ for (int n=0; n<queue.Count; n++)
1470
+ {
1471
+ EncodedType ec = (EncodedType) queue[n];
1472
+ XmlSchemaComplexType st = FindComplexTyype (ec.Element.SchemaTypeName);
1473
+ WriteComplexTypeSample (xtw, st, ec.Element.SchemaTypeName, n+1);
1474
+ }
1475
+ }
1476
+
1477
+ XmlSchemaComplexType FindComplexTyype (XmlQualifiedName qname)
1478
+ {
1479
+ if (qname.Name.IndexOf ("[]") != -1)
1480
+ {
1481
+ XmlSchemaComplexType stype = new XmlSchemaComplexType ();
1482
+ stype.ContentModel = new XmlSchemaComplexContent ();
1483
+
1484
+ XmlSchemaComplexContentRestriction res = new XmlSchemaComplexContentRestriction ();
1485
+ stype.ContentModel.Content = res;
1486
+ res.BaseTypeName = arrayType;
1487
+
1488
+ XmlSchemaAttribute att = new XmlSchemaAttribute ();
1489
+ att.RefName = arrayTypeRefName;
1490
+ res.Attributes.Add (att);
1491
+
1492
+ XmlAttribute xat = document.CreateAttribute ("arrayType", WsdlNamespace);
1493
+ xat.Value = qname.Namespace + ":" + qname.Name;
1494
+ att.UnhandledAttributes = new XmlAttribute[] {xat};
1495
+ return stype;
1496
+ }
1497
+
1498
+ return (XmlSchemaComplexType) schemas.Find (qname, typeof(XmlSchemaComplexType));
1499
+ }
1500
+
1501
+ string GetQualifiedNameString (XmlTextWriter xtw, XmlQualifiedName qname)
1502
+ {
1503
+ string pref = xtw.LookupPrefix (qname.Namespace);
1504
+ if (pref != null) return pref + ":" + qname.Name;
1505
+
1506
+ xtw.WriteAttributeString ("xmlns", "q1", null, qname.Namespace);
1507
+ return "q1:" + qname.Name;
1508
+ }
1509
+
1510
+ protected virtual string GetLiteral (string s)
1511
+ {
1512
+ return s;
1513
+ }
1514
+
1515
+ void GetOperationFormat (OperationBinding obin, out SoapBindingStyle style, out SoapBindingUse use)
1516
+ {
1517
+ style = SoapBindingStyle.Document;
1518
+ use = SoapBindingUse.Literal;
1519
+ SoapOperationBinding sob = obin.Extensions.Find (typeof(SoapOperationBinding)) as SoapOperationBinding;
1520
+ if (sob != null) {
1521
+ style = sob.Style;
1522
+ SoapBodyBinding sbb = obin.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
1523
+ if (sbb != null)
1524
+ use = sbb.Use;
1525
+ }
1526
+ }
1527
+ }
1528
+
1529
+
1530
+
1531
+
1532
+
1533
+ </script>
1534
+
1535
+ <head runat="server">
1536
+ <%
1537
+ Response.Write ("<link rel=\"alternate\" type=\"text/xml\" href=\"" + Request.FilePath + "?disco\"/>");
1538
+ %>
1539
+ <title><%=WebServiceName%> Web Service</title>
1540
+ <style type="text/css">
1541
+ BODY { font-family: Arial; margin-left: 20px; margin-top: 20px; font-size: x-small}
1542
+ TABLE { font-size: x-small }
1543
+ .title { color:dimgray; font-family: Arial; font-size:20pt; font-weight:900}
1544
+ .operationTitle { color:dimgray; font-family: Arial; font-size:15pt; font-weight:900}
1545
+ .method { font-size: x-small }
1546
+ .bindingLabel { font-size: x-small; font-weight:bold; color:darkgray; line-height:8pt; display:block; margin-bottom:3px }
1547
+ .label { font-size: small; font-weight:bold; color:darkgray }
1548
+ .paramTable { font-size: x-small }
1549
+ .paramTable TR { background-color: gainsboro }
1550
+ .paramFormTable { font-size: x-small; padding: 10px; background-color: gainsboro }
1551
+ .paramFormTable TR { background-color: gainsboro }
1552
+ .paramInput { border: solid 1px gray }
1553
+ .button {border: solid 1px gray }
1554
+ .smallSeparator { height:3px; overflow:hidden }
1555
+ .panel { background-color:whitesmoke; border: solid 1px silver; border-top: solid 1px silver }
1556
+ .codePanel { background-color: white; font-size:x-small; padding:7px; border:solid 1px silver}
1557
+ .code-xml { font-size:10pt; font-family:courier }
1558
+ .code-cs { font-size:10pt; font-family:courier }
1559
+ .code-vb { font-size:10pt; font-family:courier }
1560
+ .tabLabelOn { font-weight:bold }
1561
+ .tabLabelOff {color: darkgray }
1562
+ .literal-placeholder {color: darkblue; font-weight:bold}
1563
+ A:link { color: black; }
1564
+ A:visited { color: black; }
1565
+ A:active { color: black; }
1566
+ A:hover { color: blue }
1567
+ </style>
1568
+
1569
+ <script language="javascript" type="text/javascript">
1570
+ var req;
1571
+ function getXML (command, url, qs) {
1572
+ if (url == "" || url.substring (0, 4) != "http")
1573
+ return;
1574
+
1575
+ var post_data = null;
1576
+ req = getReq ();
1577
+ req.onreadystatechange = stateChange;
1578
+ if (command == "GET") {
1579
+ url = url + "?" + qs;
1580
+ } else {
1581
+ post_data = qs;
1582
+ }
1583
+ req.open (command, url, true);
1584
+ if (command == "POST")
1585
+ req.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
1586
+ req.send (post_data);
1587
+ }
1588
+
1589
+ function stateChange () {
1590
+ if (req.readyState == 4) {
1591
+ var node = document.getElementById("testresult_div");
1592
+ var text = "";
1593
+ if (req.status == 200) {
1594
+ node.innerHTML = "<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
1595
+ } else {
1596
+ var ht = "<b style='color: red'>" + formatXml (req.status + " - " + req.statusText) + "</b>";
1597
+ if (req.responseText != "")
1598
+ ht = ht + "\n<div class='code-xml'>" + formatXml (req.responseText) + "</div>";
1599
+ node.innerHTML = ht;
1600
+
1601
+ }
1602
+ }
1603
+ }
1604
+
1605
+ function formatXml (text)
1606
+ {
1607
+ var re = / /g;
1608
+ text = text.replace (re, "&nbsp;");
1609
+
1610
+ re = /\t/g;
1611
+ text = text.replace (re, "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
1612
+
1613
+ re = /\<\s*(\/?)\s*(.*?)\s*(\/?)\s*\>/g;
1614
+ text = text.replace (re,"{blue:&lt;$1}{maroon:$2}{blue:$3&gt;}");
1615
+
1616
+ re = /{(\w*):(.*?)}/g;
1617
+ text = text.replace (re,"<span style='color:$1'>$2</span>");
1618
+
1619
+ re = /"(.*?)"/g;
1620
+ text = text.replace (re,"\"<span style='color:purple'>$1</span>\"");
1621
+
1622
+ re = /\r\n|\r|\n/g;
1623
+ text = text.replace (re, "<br/>");
1624
+
1625
+ return text;
1626
+ }
1627
+
1628
+ function getReq () {
1629
+ if (window.XMLHttpRequest) {
1630
+ return new XMLHttpRequest(); // Firefox, Safari, ...
1631
+ } else if (window.ActiveXObject) {
1632
+ return new ActiveXObject("Microsoft.XMLHTTP");
1633
+ }
1634
+ }
1635
+
1636
+ function clearForm ()
1637
+ {
1638
+ document.getElementById("testFormResult").style.display="none";
1639
+ }
1640
+ </script>
1641
+
1642
+ </head>
1643
+
1644
+ <body>
1645
+ <div class="title" style="margin-left:20px">
1646
+ <span class="label">Web Service</span><br>
1647
+ <%=WebServiceName%>
1648
+ </div>
1649
+
1650
+ <!--
1651
+ **********************************************************
1652
+ Left panel
1653
+ -->
1654
+
1655
+ <table border="0" width="100%" cellpadding="15px" cellspacing="15px">
1656
+ <tr valign="top"><td width="150px" class="panel">
1657
+ <div style="width:150px"></div>
1658
+ <a class="method" href='<%=PageName%>'>Overview</a><br>
1659
+ <div class="smallSeparator"></div>
1660
+ <a class="method" href='<%=PageName + "?" + GetPageContext("wsdl")%>'>Service Description</a>
1661
+ <div class="smallSeparator"></div>
1662
+ <a class="method" href='<%=PageName + "?" + GetPageContext("proxy")%>'>Client proxy</a>
1663
+ <br><br>
1664
+ <asp:repeater id="BindingsRepeater" runat=server>
1665
+ <itemtemplate name="itemtemplate">
1666
+ <span class="bindingLabel"><%#FormatBindingName(DataBinder.Eval(Container.DataItem, "Name").ToString())%></span>
1667
+ <asp:repeater id="OperationsRepeater" runat=server datasource='<%# ((Binding)Container.DataItem).Operations %>'>
1668
+ <itemtemplate>
1669
+ <a class="method" href="<%=PageName%>?<%=GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
1670
+ <div class="smallSeparator"></div>
1671
+ </itemtemplate>
1672
+ </asp:repeater>
1673
+ <br>
1674
+ </itemtemplate>
1675
+ </asp:repeater>
1676
+
1677
+ </td><td class="panel">
1678
+
1679
+ <% if (CurrentPage == "main") {%>
1680
+
1681
+ <!--
1682
+ **********************************************************
1683
+ Web service overview
1684
+ -->
1685
+
1686
+ <p class="label">Web Service Overview</p>
1687
+ <%=WebServiceDescription%>
1688
+ <br/><br/>
1689
+ <% if (ProfileViolations != null && ProfileViolations.Count > 0) { %>
1690
+ <p class="label">Basic Profile Conformance</p>
1691
+ This web service does not conform to WS-I Basic Profile v1.1
1692
+ <%
1693
+ Response.Write ("<ul>");
1694
+ foreach (BasicProfileViolation vio in ProfileViolations) {
1695
+ Response.Write ("<li><b>" + vio.NormativeStatement + "</b>: " + vio.Details);
1696
+ Response.Write ("<ul>");
1697
+ foreach (string ele in vio.Elements)
1698
+ Response.Write ("<li>" + ele + "</li>");
1699
+ Response.Write ("</ul>");
1700
+ Response.Write ("</li>");
1701
+ }
1702
+ Response.Write ("</ul>");
1703
+ }%>
1704
+
1705
+ <%} if (DefaultBinding == null) {%>
1706
+ This service does not contain any public web method.
1707
+ <%} else if (CurrentPage == "op") {%>
1708
+
1709
+ <!--
1710
+ **********************************************************
1711
+ Operation description
1712
+ -->
1713
+
1714
+ <span class="operationTitle"><%=CurrentOperationName%></span>
1715
+ <br><br>
1716
+ <% WriteTabs (); %>
1717
+ <br><br><br>
1718
+
1719
+ <% if (CurrentTab == "main") { %>
1720
+ <span class="label">Input Parameters</span>
1721
+ <div class="smallSeparator"></div>
1722
+ <% if (InParams.Count == 0) { %>
1723
+ No input parameters<br>
1724
+ <% } else { %>
1725
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1726
+ <asp:repeater id="InputParamsRepeater" runat=server>
1727
+ <itemtemplate>
1728
+ <tr>
1729
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1730
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1731
+ </tr>
1732
+ </itemtemplate>
1733
+ </asp:repeater>
1734
+ </table>
1735
+ <% } %>
1736
+ <br>
1737
+
1738
+ <% if (OutParams.Count > 0) { %>
1739
+ <span class="label">Output Parameters</span>
1740
+ <div class="smallSeparator"></div>
1741
+ <table class="paramTable" cellspacing="1" cellpadding="5">
1742
+ <asp:repeater id="OutputParamsRepeater" runat=server>
1743
+ <itemtemplate>
1744
+ <tr>
1745
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Name")%></td>
1746
+ <td width="150"><%#DataBinder.Eval(Container.DataItem, "Type")%></td>
1747
+ </tr>
1748
+ </itemtemplate>
1749
+ </asp:repeater>
1750
+ </table>
1751
+ <br>
1752
+ <% } %>
1753
+
1754
+ <span class="label">Remarks</span>
1755
+ <div class="smallSeparator"></div>
1756
+ <%=OperationDocumentation%>
1757
+ <br><br>
1758
+ <span class="label">Technical information</span>
1759
+ <div class="smallSeparator"></div>
1760
+ Format: <%=CurrentOperationFormat%>
1761
+ <br>Supported protocols: <%=CurrentOperationProtocols%>
1762
+ <% } %>
1763
+
1764
+ <!--
1765
+ **********************************************************
1766
+ Operation description - Test form
1767
+ -->
1768
+
1769
+ <% if (CurrentTab == "test") {
1770
+ if (CurrentOperationSupportsTest) {%>
1771
+ Enter values for the parameters and click the 'Invoke' button to test this method:<br><br>
1772
+ <form action="<%=PageName%>" method="GET">
1773
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
1774
+ <input type="hidden" name="tab" value="<%=CurrentTab%>">
1775
+ <input type="hidden" name="op" value="<%=CurrentOperationName%>">
1776
+ <input type="hidden" name="bnd" value="<%=CurrentOperationBinding%>">
1777
+ <input type="hidden" name="ext" value="testform">
1778
+ <table class="paramFormTable" cellspacing="0" cellpadding="3">
1779
+ <asp:repeater id="InputFormParamsRepeater" runat=server>
1780
+ <itemtemplate>
1781
+ <tr>
1782
+ <td><%#DataBinder.Eval(Container.DataItem, "Name")%>:&nbsp;</td>
1783
+ <td width="150"><input class="paramInput" type="text" size="20" name="<%#DataBinder.Eval(Container.DataItem, "Name")%>"></td>
1784
+ </tr>
1785
+ </itemtemplate>
1786
+ </asp:repeater>
1787
+ <tr><td></td><td><input class="button" type="submit" value="Invoke">&nbsp;<input class="button" type="button" onclick="clearForm()" value="Clear"></td></tr>
1788
+ </table>
1789
+ </form>
1790
+ <div id="testFormResult" style="display:<%= (HasFormResult?"block":"none") %>">
1791
+ The web service returned the following result:<br/><br/>
1792
+ <div class="codePanel" id="testresult_div">
1793
+ </div>
1794
+ <script language="javascript">
1795
+ getXML ("<%= GetOrPost () %>", "<%= GetTestResultUrl () %>", "<%= GetQS () %>");
1796
+ </script>
1797
+ </div>
1798
+ <% } else {%>
1799
+ The test form is not available for this operation because it has parameters with a complex structure.
1800
+ <% } %>
1801
+ <% } %>
1802
+
1803
+ <!--
1804
+ **********************************************************
1805
+ Operation description - Message Layout
1806
+ -->
1807
+
1808
+ <% if (CurrentTab == "msg") { %>
1809
+
1810
+ The following are sample SOAP requests and responses for each protocol supported by this method:
1811
+ <br/><br/>
1812
+
1813
+ <% if (IsOperationSupported ("Soap")) { %>
1814
+ <span class="label">Soap</span>
1815
+ <br/><br/>
1816
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", true)%></div></div>
1817
+ <br/>
1818
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", false)%></div></div>
1819
+ <br/>
1820
+ <% } %>
1821
+ <% if (IsOperationSupported ("HttpGet")) { %>
1822
+ <span class="label">HTTP Get</span>
1823
+ <br/><br/>
1824
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", true)%></div></div>
1825
+ <br/>
1826
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", false)%></div></div>
1827
+ <br/>
1828
+ <% } %>
1829
+ <% if (IsOperationSupported ("HttpPost")) { %>
1830
+ <span class="label">HTTP Post</span>
1831
+ <br/><br/>
1832
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", true)%></div></div>
1833
+ <br/>
1834
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", false)%></div></div>
1835
+ <br/>
1836
+ <% } %>
1837
+
1838
+ <% } %>
1839
+ <%} else if (CurrentPage == "proxy") {%>
1840
+ <!--
1841
+ **********************************************************
1842
+ Client Proxy
1843
+ -->
1844
+ <form action="<%=PageName%>" name="langForm" method="GET">
1845
+ Select the language for which you want to generate a proxy
1846
+ <input type="hidden" name="page" value="<%=CurrentPage%>">&nbsp;
1847
+ <SELECT name="lang" onchange="langForm.submit()">
1848
+ <%=GetOptionSel("cs",CurrentLanguage)%>C#</option>
1849
+ <%=GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
1850
+ </SELECT>
1851
+ &nbsp;&nbsp;
1852
+ </form>
1853
+ <br>
1854
+ <span class="label"><%=CurrentProxytName%></span>&nbsp;&nbsp;&nbsp;
1855
+ <a href="<%=PageName + "?code=" + CurrentLanguage%>">Download</a>
1856
+ <br><br>
1857
+ <div class="codePanel">
1858
+ <div class="code-<%=CurrentLanguage%>"><%=GetProxyCode ()%></div>
1859
+ </div>
1860
+ <%} else if (CurrentPage == "wsdl") {%>
1861
+ <!--
1862
+ **********************************************************
1863
+ Service description
1864
+ -->
1865
+ <% if (descriptions.Count > 1 || schemas.Count > 1) {%>
1866
+ The description of this web service is composed by several documents. Click on the document you want to see:
1867
+
1868
+ <ul>
1869
+ <%
1870
+ for (int n=0; n<descriptions.Count; n++)
1871
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=wsdl&docind=" + n + "'>WSDL document " + descriptions[n].TargetNamespace + "</a></li>");
1872
+ for (int n=0; n<schemas.Count; n++)
1873
+ Response.Write ("<li><a href='" + PageName + "?" + GetPageContext(null) + "doctype=schema&docind=" + n + "'>Xml Schema " + schemas[n].TargetNamespace + "</a></li>");
1874
+ %>
1875
+ </ul>
1876
+
1877
+ <%} else {%>
1878
+ <%}%>
1879
+ <br>
1880
+ <span class="label"><%=CurrentDocumentName%></span>&nbsp;&nbsp;&nbsp;
1881
+ <a href="<%=PageName + "?" + CurrentDocType + "=" + CurrentDocInd %>">Download</a>
1882
+ <br><br>
1883
+ <div class="codePanel">
1884
+ <div class="code-xml"><%=GenerateDocument ()%></div>
1885
+ </div>
1886
+
1887
+ <%}%>
1888
+
1889
+ <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
1890
+ </td>
1891
+ <td width="20px"></td>
1892
+ </tr>
1893
+
1894
+ </table>
1895
+ </body>
1896
+ </html>
vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/machine.config ADDED
@@ -0,0 +1,273 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <configuration>
4
+
5
+ <configSections>
6
+ <section name="configProtectedData" type="System.Configuration.ProtectedConfigurationSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
7
+ <section name="appSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
8
+ <section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
9
+ <section name="mscorlib" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
10
+ <section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
11
+ <section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
12
+ <section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
13
+ <section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
14
+ <section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
15
+ <section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
16
+ <section name="system.diagnostics" type="System.Diagnostics.DiagnosticsConfigurationHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
17
+ <section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
18
+ <section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
19
+ <section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
20
+ <section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
21
+ <sectionGroup name="system.web" type="System.Web.Configuration.SystemWebSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
22
+ <section name="anonymousIdentification" type="System.Web.Configuration.AnonymousIdentificationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
23
+ <section name="authentication" type="System.Web.Configuration.AuthenticationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
24
+ <section name="authorization" type="System.Web.Configuration.AuthorizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
25
+ <section name="browserCaps" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
26
+ <section name="clientTarget" type="System.Web.Configuration.ClientTargetSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
27
+ <section name="compilation" type="System.Web.Configuration.CompilationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
28
+ <section name="customErrors" type="System.Web.Configuration.CustomErrorsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
29
+ <section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" />
30
+ <section name="globalization" type="System.Web.Configuration.GlobalizationSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
31
+ <section name="healthMonitoring" type="System.Web.Configuration.HealthMonitoringSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
32
+ <section name="hostingEnvironment" type="System.Web.Configuration.HostingEnvironmentSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
33
+ <section name="httpCookies" type="System.Web.Configuration.HttpCookiesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
34
+ <section name="httpHandlers" type="System.Web.Configuration.HttpHandlersSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
35
+ <section name="httpModules" type="System.Web.Configuration.HttpModulesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
36
+ <section name="httpRuntime" type="System.Web.Configuration.HttpRuntimeSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
37
+ <section name="identity" type="System.Web.Configuration.IdentitySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
38
+ <section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
39
+ <section name="membership" type="System.Web.Configuration.MembershipSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
40
+ <section name="mobileControls" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
41
+ <section name="deviceFilters" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
42
+ <section name="pages" type="System.Web.Configuration.PagesSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
43
+ <section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
44
+ <section name="profile" type="System.Web.Configuration.ProfileSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
45
+ <section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
46
+ <section name="securityPolicy" type="System.Web.Configuration.SecurityPolicySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
47
+ <section name="sessionPageState" type="System.Web.Configuration.SessionPageStateSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
48
+ <section name="sessionState" type="System.Web.Configuration.SessionStateSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
49
+ <section name="siteMap" type="System.Web.Configuration.SiteMapSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
50
+ <section name="trace" type="System.Web.Configuration.TraceSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
51
+ <section name="trust" type="System.Web.Configuration.TrustSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" />
52
+ <section name="urlMappings" type="System.Web.Configuration.UrlMappingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
53
+ <section name="webControls" type="System.Web.Configuration.WebControlsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
54
+ <section name="webParts" type="System.Web.Configuration.WebPartsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
55
+ <section name="webServices" type="System.Web.Services.Configuration.WebServicesSection, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
56
+ <section name="xhtmlConformance" type="System.Web.Configuration.XhtmlConformanceSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
57
+ <sectionGroup name="caching" type="System.Web.Configuration.SystemWebCachingSectionGroup, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
58
+ <section name="cache" type="System.Web.Configuration.CacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
59
+ <section name="outputCache" type="System.Web.Configuration.OutputCacheSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
60
+ <section name="outputCacheSettings" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
61
+ <section name="sqlCacheDependency" type="System.Web.Configuration.OutputCacheSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
62
+ </sectionGroup>
63
+ <section name="monoSettings" type="System.Web.Configuration.MonoSettingsSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
64
+ </sectionGroup>
65
+ <sectionGroup name="system.net" type="System.Net.Configuration.NetSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
66
+ <section name="authenticationModules" type="System.Net.Configuration.AuthenticationModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
67
+ <section name="connectionManagement" type="System.Net.Configuration.ConnectionManagementSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
68
+ <section name="defaultProxy" type="System.Net.Configuration.DefaultProxySection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
69
+ <sectionGroup name="mailSettings" type="System.Net.Configuration.MailSettingsSectionGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
70
+ <section name="smtp" type="System.Net.Configuration.SmtpSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
71
+ </sectionGroup>
72
+ <section name="requestCaching" type="System.Net.Configuration.RequestCachingSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
73
+ <section name="settings" type="System.Net.Configuration.SettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
74
+ <section name="webRequestModules" type="System.Net.Configuration.WebRequestModulesSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
75
+ </sectionGroup>
76
+ <section name="system.drawing" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
77
+ <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
78
+ <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
79
+ <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
80
+ <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
81
+ <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
82
+ <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
83
+ <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
84
+ <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
85
+ <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
86
+ </sectionGroup>
87
+ <section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
88
+ <section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
89
+ </configSections>
90
+
91
+ <connectionStrings>
92
+ <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
93
+ <add name="LocalSqliteServer" connectionString="Data Source=|DataDirectory|/aspnetdb.sqlite;version=3" providerName="Mono.Data.Sqlite"/>
94
+ </connectionStrings>
95
+
96
+ <configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
97
+ <providers>
98
+ <add name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
99
+ description="" keyContainerName="MonoFrameworkConfigurationKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
100
+ <add name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
101
+ description="" useMachineProtection="true" keyEntropy="" />
102
+ </providers>
103
+ </configProtectedData>
104
+
105
+ <system.net>
106
+ <authenticationModules>
107
+ <add type="System.Net.BasicClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
108
+ <add type="System.Net.DigestClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
109
+ <add type="System.Net.NtlmClient, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
110
+ </authenticationModules>
111
+ <webRequestModules>
112
+ <add prefix="http" type="System.Net.HttpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
113
+ <add prefix="https" type="System.Net.HttpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
114
+ <add prefix="file" type="System.Net.FileWebRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
115
+ <add prefix="ftp" type="System.Net.FtpRequestCreator, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
116
+ </webRequestModules>
117
+ <settings>
118
+ <ipv6 enabled="true"/>
119
+ </settings>
120
+ </system.net>
121
+
122
+ <system.runtime.remoting>
123
+ <application>
124
+ <channels>
125
+ <channel ref="http client" displayName="http client (delay loaded)" delayLoadAsClientChannel="true" />
126
+ <channel ref="tcp client" displayName="tcp client (delay loaded)" delayLoadAsClientChannel="true" />
127
+ <channel ref="ipc client" displayName="ipc client (delay loaded)" delayLoadAsClientChannel="true" />
128
+ </channels>
129
+ </application>
130
+ <channels>
131
+ <channel id="http" type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
132
+ <channel id="http client" type="System.Runtime.Remoting.Channels.Http.HttpClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
133
+ <channel id="http server" type="System.Runtime.Remoting.Channels.Http.HttpServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
134
+ <channel id="tcp" type="System.Runtime.Remoting.Channels.Tcp.TcpChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
135
+ <channel id="tcp client" type="System.Runtime.Remoting.Channels.Tcp.TcpClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
136
+ <channel id="tcp server" type="System.Runtime.Remoting.Channels.Tcp.TcpServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
137
+ <channel id="ipc" type="System.Runtime.Remoting.Channels.Ipc.IpcChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
138
+ <channel id="ipc client" type="System.Runtime.Remoting.Channels.Ipc.IpcClientChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
139
+ <channel id="ipc server" type="System.Runtime.Remoting.Channels.Ipc.IpcServerChannel, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
140
+ </channels>
141
+ <channelSinkProviders>
142
+ <clientProviders>
143
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapClientFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
144
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
145
+ </clientProviders>
146
+ <serverProviders>
147
+ <formatter id="soap" type="System.Runtime.Remoting.Channels.SoapServerFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
148
+ <formatter id="binary" type="System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
149
+ <provider id="wsdl" type="System.Runtime.Remoting.MetadataServices.SdlChannelSinkProvider, System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
150
+ </serverProviders>
151
+ </channelSinkProviders>
152
+ </system.runtime.remoting>
153
+
154
+ <appSettings>
155
+ <!--<add key="yourkey" value="your value" /> -->
156
+ <!--<remove key="a key defined higher in the hierarchy" /> -->
157
+ <!--<clear/> Removes all defined settings -->
158
+ </appSettings>
159
+ <system.diagnostics>
160
+ <trace autoflush="false" indentsize="4" />
161
+ </system.diagnostics>
162
+ <system.drawing>
163
+ </system.drawing>
164
+
165
+ <system.data>
166
+ <DbProviderFactories>
167
+ <add name="Mono Sqlite Data Provider" invariant="Mono.Data.SqliteClient"
168
+ description="Mono Framework Data Provider for SQLite (old version)"
169
+ type="Mono.Data.SqliteClient.SqliteFactory, Mono.Data.SqliteClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
170
+ <add name="Mono Sqlite Provider" invariant="Mono.Data.Sqlite"
171
+ description="Mono Framework Data Provider for SQLite (new version)"
172
+ type="Mono.Data.Sqlite.SqliteFactory, Mono.Data.Sqlite, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
173
+ <add name="Odbc Data Provider" invariant="System.Data.Odbc"
174
+ description=".Net Framework Data Provider for Odbc"
175
+ type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
176
+ <add name="OleDb Data Provider" invariant="System.Data.OleDb"
177
+ description=".Net Framework Data Provider for OleDb"
178
+ type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
179
+ <add name="OracleClient Data Provider" invariant="System.Data.OracleClient"
180
+ description=".Net Framework Data Provider for Oracle"
181
+ type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
182
+ <add name="SqlClient Data Provider" invariant="System.Data.SqlClient"
183
+ description=".Net Framework Data Provider for SqlServer"
184
+ type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
185
+ <add name="Sybase Data Provider" invariant="Mono.Data.SybaseClient"
186
+ description=".Net Framework Data Provider for Sybase"
187
+ type="Mono.Data.SybaseClient.SybaseClientFactory, Mono.Data.SybaseClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"/>
188
+ </DbProviderFactories>
189
+ </system.data>
190
+
191
+ <mscorlib>
192
+ <cryptographySettings>
193
+ <cryptoNameMapping>
194
+ <cryptoClasses>
195
+ <cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
196
+ </cryptoClasses>
197
+ <nameEntry name="MD2" class="monoMD2" />
198
+ </cryptoNameMapping>
199
+ <oidMap>
200
+ <oidEntry OID="1.2.840.113549.2.2" name="MD2" />
201
+ <oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
202
+ </oidMap>
203
+ </cryptographySettings>
204
+ </mscorlib>
205
+
206
+ <strongNames>
207
+ <pubTokenMapping>
208
+ <!-- ECMA key -->
209
+ <map Token="b77a5c561934e089" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
210
+ <!-- Microsoft (final) key -->
211
+ <map Token="b03f5f7f11d50a3a" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
212
+ <!-- Microsoft (Web Service Enhancement) key -->
213
+ <map Token="31bf3856ad364e35" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
214
+ <!-- IBM (DB2 Data Provider) key -->
215
+ <map Token="7c307b91aa13d208" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
216
+ <!-- Silverlight 2.0 key -->
217
+ <map Token="7cec85d7bea7798e" PublicKey="002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df" />
218
+ </pubTokenMapping>
219
+ </strongNames>
220
+
221
+ <system.web>
222
+ <webServices>
223
+ <protocols>
224
+ <add name="HttpSoap"/>
225
+ <add name="HttpSoap12"/>
226
+ <add name="HttpPost"/>
227
+ <add name="HttpGet"/>
228
+ <add name="Documentation"/>
229
+ </protocols>
230
+ <conformanceWarnings>
231
+ <add name="BasicProfile1_1"/>
232
+ </conformanceWarnings>
233
+ <wsdlHelpGenerator href="DefaultWsdlHelpGenerator.aspx" />
234
+ </webServices>
235
+
236
+ <membership>
237
+ <providers>
238
+ <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
239
+ <!-- <add name="AspNetSqlMembershipProvider" type="Mainsoft.Web.Security.GenericMembershipProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
240
+ </providers>
241
+ </membership>
242
+
243
+ <roleManager>
244
+ <providers>
245
+ <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" applicationName="/" connectionStringName="LocalSqlServer" />
246
+ <!-- <add name="AspNetSqlRoleProvider" type="Mainsoft.Web.Security.GenericRoleProvider, Mainsoft.Web.Security" applicationName="/" connectionStringName="LocalSqlServer" /> -->
247
+ </providers>
248
+ </roleManager>
249
+
250
+ <profile>
251
+ <providers>
252
+ <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
253
+ </providers>
254
+ </profile>
255
+ </system.web>
256
+
257
+ <system.serviceModel>
258
+ <extensions>
259
+ <behaviorExtensions>
260
+ <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
261
+ <add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
262
+ </behaviorExtensions>
263
+ <bindingElementExtensions>
264
+ <add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
265
+ </bindingElementExtensions>
266
+ <bindingExtensions>
267
+ <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
268
+ </bindingExtensions>
269
+ </extensions>
270
+ </system.serviceModel>
271
+ </configuration>
272
+
273
+
vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/settings.map ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <settingsMap>
3
+ <map sectionType="System.Web.Configuration.MembershipSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
4
+ mapperType="Mono.Web.Util.MembershipSectionMapper, Mono.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"
5
+ platform="Unix">
6
+
7
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
8
+ any expression understood by the mapper to designate the section region to modify.
9
+ -->
10
+ <what value="providers">
11
+ <!-- 'what' can contain any number of occurrences of any three elements:
12
+ replace - replace the designated region
13
+ add - add a new entry to the region
14
+ clear - clear the region
15
+ remove - remove the designatedregion
16
+
17
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
18
+ mapper to peruse.
19
+ -->
20
+ <replace name="AspNetSqlMembershipProvider"
21
+ type="System.Web.Security.SqliteMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
22
+ connectionStringName="LocalSqliteServer" />
23
+ </what>
24
+ </map>
25
+
26
+ <map sectionType="System.Web.Configuration.RoleManagerSection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
27
+ mapperType="Mono.Web.Util.RoleManagerSectionMapper, Mono.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756"
28
+ platform="Unix">
29
+
30
+ <!-- The 'what' tag specifies which region of the section to modify. The 'value' attribute value is mapper-specific and is not defined here. It can be
31
+ any expression understood by the mapper to designate the section region to modify.
32
+ -->
33
+ <what value="providers">
34
+ <!-- 'what' can contain any number of occurrences of any three elements:
35
+ replace - replace the designated region
36
+ add - add a new entry to the region
37
+ clear - clear the region
38
+ remove - remove the designatedregion
39
+
40
+ The attributes to any of the above are freeform and are not processed by the mapper manager. They are stored verbatim for the
41
+ mapper to peruse.
42
+ -->
43
+ <replace name="AspNetSqlRoleProvider"
44
+ type="System.Web.Security.SqliteRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
45
+ connectionStringName="LocalSqliteServer" />
46
+ </what>
47
+ </map>
48
+ </settingsMap>
vae/com3d/CM3D2x86_Data/Mono/etc/mono/2.0/web.config ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+
3
+ <configuration>
4
+
5
+ <system.web>
6
+ <monoSettings>
7
+ <compilersCompatibility>
8
+ <compiler language="c#;cs;csharp" extension=".cs" compilerOptions="/nowarn:0169"
9
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
10
+ </compilersCompatibility>
11
+ </monoSettings>
12
+
13
+ <authorization>
14
+ <allow users="*" />
15
+ </authorization>
16
+ <httpHandlers>
17
+ <add verb="*" path="Trace.axd" type="System.Web.Handlers.TraceHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
18
+ <add verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
19
+ <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
20
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Services.Protocols.WebServiceHandlerFactory, System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
21
+ <add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
22
+ <add verb="GET" path="WebResource.axd" type="System.Web.Handlers.AssemblyResourceLoader, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
23
+ <add verb="*" path="*.master" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
24
+ <add verb="*" path="*.resources" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
25
+ <add verb="*" path="*.skin" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
26
+ <add verb="*" path="*.browser" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
27
+ <add verb="*" path="*.sitemap" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
28
+ <add verb="*" path="*.webinfo" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
29
+ <add verb="*" path="*.resx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
30
+ <add verb="*" path="*.asax" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
31
+ <add verb="*" path="*.ascx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
32
+ <add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
33
+ <add verb="*" path="*.Config" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
34
+ <add verb="*" path="*.cs" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
35
+ <add verb="*" path="*.vb" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
36
+ <add verb="*" path="*.csproj" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
37
+ <add verb="*" path="*.vbproj" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
38
+ <add verb="*" path="*.licx" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
39
+ <add verb="*" path="*.dll" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
40
+ <add verb="*" path="*.rem" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
41
+ <add verb="*" path="*.soap" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false" />
42
+ <add verb="*" path="*.svc" type="System.ServiceModel.Channels.SvcHttpHandlerFactory, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
43
+ <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
44
+ <add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
45
+ </httpHandlers>
46
+ <httpModules>
47
+ <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
48
+ <add name="OutputCache" type="System.Web.Caching.OutputCacheModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
49
+ <add name="RoleManager" type="System.Web.Security.RoleManagerModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
50
+ <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
51
+ <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
52
+ </httpModules>
53
+ <authentication mode="Forms">
54
+ <forms name=".MONOAUTH" loginUrl="login.aspx" protection="All" timeout="30" path="/">
55
+ <credentials passwordFormat="Clear">
56
+ <!--<user name="gonzalo" password="gonz"/>-->
57
+ </credentials>
58
+ </forms>
59
+ </authentication>
60
+ <machineKey validationKey="AutoGenerate" decryptionKey="AutoGenerate" validation="SHA1" />
61
+ <globalization requestEncoding="utf-8"
62
+ responseEncoding="utf-8"
63
+ fileEncoding="utf-8"/>
64
+ <!--
65
+ culture="en-US"
66
+ uiculture="en-US" />
67
+ -->
68
+ <sessionState mode="InProc" />
69
+ <pages>
70
+ <namespaces>
71
+ <add namespace="System" />
72
+ <add namespace="System.Collections" />
73
+ <add namespace="System.Collections.Specialized" />
74
+ <add namespace="System.Configuration" />
75
+ <add namespace="System.Text" />
76
+ <add namespace="System.Text.RegularExpressions" />
77
+ <add namespace="System.Web" />
78
+ <add namespace="System.Web.Caching" />
79
+ <add namespace="System.Web.SessionState" />
80
+ <add namespace="System.Web.Security" />
81
+ <add namespace="System.Web.Profile" />
82
+ <add namespace="System.Web.UI" />
83
+ <add namespace="System.Web.UI.WebControls" />
84
+ <!-- <add namespace="System.Web.UI.WebControls.WebParts" /> -->
85
+ <add namespace="System.Web.UI.HtmlControls" />
86
+ </namespaces>
87
+ </pages>
88
+ <webControls clientScriptsLocation="/web_scripts" />
89
+ <compilation debug="false" defaultLanguage="c#" explicit="true" strict="false" >
90
+ <assemblies>
91
+ <!--<add assembly="mscorlib" /> -->
92
+ <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
93
+ <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
94
+ <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
95
+ <add assembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
96
+ <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
97
+ <add assembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
98
+ <add assembly="System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"/>
99
+ <add assembly="System.IdentityModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"/>
100
+ <add assembly="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
101
+ <add assembly="System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
102
+ <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
103
+ <add assembly="*" /> <!-- Add assemblies in bin directory -->
104
+ </assemblies>
105
+ <expressionBuilders>
106
+ <add expressionPrefix="Resources"
107
+ type="System.Web.Compilation.ResourceExpressionBuilder, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
108
+ <add expressionPrefix="ConnectionStrings"
109
+ type="System.Web.Compilation.ConnectionStringsExpressionBuilder, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
110
+ <add expressionPrefix="AppSettings"
111
+ type="System.Web.Compilation.AppSettingsExpressionBuilder, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
112
+ </expressionBuilders>
113
+ <buildProviders>
114
+ <add extension=".aspx" type="System.Web.Compilation.PageBuildProvider" />
115
+ <add extension=".ascx" type="System.Web.Compilation.UserControlBuildProvider" />
116
+ <add extension=".master" type="System.Web.Compilation.MasterPageBuildProvider" />
117
+ <add extension=".asmx" type="System.Web.Compilation.WebServiceBuildProvider" />
118
+ <add extension=".ashx" type="System.Web.Compilation.WebHandlerBuildProvider" />
119
+ <add extension=".soap" type="System.Web.Compilation.WebServiceBuildProvider" />
120
+ <add extension=".resx" type="System.Web.Compilation.ResXBuildProvider" />
121
+ <add extension=".resources" type="System.Web.Compilation.ResourcesBuildProvider" />
122
+ <add extension=".wsdl" type="System.Web.Compilation.WsdlBuildProvider" />
123
+ <add extension=".xsd" type="System.Web.Compilation.XsdBuildProvider" />
124
+ <add extension=".js" type="System.Web.Compilation.ForceCopyBuildProvider" />
125
+ <add extension=".lic" type="System.Web.Compilation.IgnoreFileBuildProvider" />
126
+ <add extension=".licx" type="System.Web.Compilation.IgnoreFileBuildProvider" />
127
+ <add extension=".exclude" type="System.Web.Compilation.IgnoreFileBuildProvider" />
128
+ <add extension=".refresh" type="System.Web.Compilation.IgnoreFileBuildProvider" />
129
+ </buildProviders>
130
+ </compilation>
131
+ <httpRuntime executionTimeout="110"
132
+ maxRequestLength="4096"
133
+ useFullyQualifiedRedirectUrl="false"
134
+ minFreeThreads="8"
135
+ minLocalRequestFreeThreads="4"
136
+ appRequestQueueLimit="5000" />
137
+ <clientTarget>
138
+ <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
139
+ <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
140
+ <add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
141
+ <add alias="downlevel" userAgent="Unknown" />
142
+ </clientTarget>
143
+
144
+ <siteMap>
145
+ <providers>
146
+ <add name="AspNetXmlSiteMapProvider"
147
+ description="Default site map provider that reads in .sitemap xml files."
148
+ type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
149
+ siteMapFile="Web.sitemap" />
150
+ </providers>
151
+ </siteMap>
152
+ </system.web>
153
+
154
+ </configuration>
vae/com3d/CM3D2x86_Data/Mono/etc/mono/browscap.ini ADDED
The diff for this file is too large to render. See raw diff
 
vae/com3d/CM3D2x86_Data/Mono/etc/mono/config ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <configuration>
2
+ <dllmap dll="i:cygwin1.dll" target="libc.dylib" os="!windows" />
3
+ <dllmap dll="libc" target="libc.dylib" os="!windows"/>
4
+ <dllmap dll="intl" target="libintl.dylib" os="!windows"/>
5
+ <dllmap dll="intl" name="bind_textdomain_codeset" target="libc.dylib" os="solaris"/>
6
+ <dllmap dll="libintl" name="bind_textdomain_codeset" target="libc.dylib" os="solaris"/>
7
+ <dllmap dll="libintl" target="libintl.dylib" os="!windows"/>
8
+ <dllmap dll="i:libxslt.dll" target="libxslt.dylib" os="!windows"/>
9
+ <dllmap dll="i:odbc32.dll" target="libodbc.dylib" os="!windows"/>
10
+ <dllmap dll="i:odbc32.dll" target="libiodbc.dylib" os="osx"/>
11
+ <dllmap dll="oci" target="libclntsh.dylib" os="!windows"/>
12
+ <dllmap dll="db2cli" target="libdb2_36.dylib" os="!windows"/>
13
+ <dllmap dll="MonoPosixHelper" target="libMonoPosixHelper.dylib" os="!windows" />
14
+ <dllmap dll="i:msvcrt" target="libc.dylib" os="!windows"/>
15
+ <dllmap dll="i:msvcrt.dll" target="libc.dylib" os="!windows"/>
16
+ <dllmap dll="sqlite" target="libsqlite.0.dylib" os="!windows"/>
17
+ <dllmap dll="sqlite3" target="libsqlite3.0.dylib" os="!windows"/>
18
+ <dllmap dll="libX11" target="libX11.dylib" os="!windows" />
19
+ <dllmap dll="libcairo-2.dll" target="libcairo.so.2" os="!windows"/>
20
+ <dllmap dll="libcups" target="libcups.so.2" os="!windows"/>
21
+ <dllmap dll="i:kernel32.dll">
22
+ <dllentry dll="__Internal" name="CopyMemory" target="mono_win32_compat_CopyMemory"/>
23
+ <dllentry dll="__Internal" name="FillMemory" target="mono_win32_compat_FillMemory"/>
24
+ <dllentry dll="__Internal" name="MoveMemory" target="mono_win32_compat_MoveMemory"/>
25
+ <dllentry dll="__Internal" name="ZeroMemory" target="mono_win32_compat_ZeroMemory"/>
26
+ </dllmap>
27
+ </configuration>
vae/com3d/CM3D2x86_Data/Mono/etc/mono/mconfig/config.xml ADDED
@@ -0,0 +1,616 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <mconfig>
3
+ <configuration>
4
+ <handlers>
5
+ <handler section="feature"
6
+ type="Mono.MonoConfig.FeatureNodeHandler, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null"
7
+ storageType="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Mono.MonoConfig.FeatureNode, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
8
+ <handler section="configBlock"
9
+ type="Mono.MonoConfig.ConfigBlockNodeHandler, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null"
10
+ storageType="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Mono.MonoConfig.ConfigBlockBlock, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
11
+ <handler section="default"
12
+ type="Mono.MonoConfig.DefaultNodeHandler, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null"
13
+ storageType="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Mono.MonoConfig.DefaultNode, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
14
+ <handler section="defaultConfigFile"
15
+ type="Mono.MonoConfig.DefaultConfigFileNodeHandler, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null"
16
+ storageType="System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Mono.MonoConfig.DefaultConfigFile, mconfig, Version=0.1.0.0, Culture=neutral, PublicKeyToken=null]], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
17
+ </handlers>
18
+ </configuration>
19
+
20
+ <feature name="AJAX" target="web">
21
+ <description><![CDATA[
22
+ Adds entries to your Web.config file which are required by any .NET 3.5 AJAX.NET application.
23
+ ]]></description>
24
+ <blocks>
25
+ <block name="AJAX config sections"/>
26
+ <block name="AJAX controls registration"/>
27
+ <block name="AJAX compilation"/>
28
+ <block name="AJAX HTTP handlers"/>
29
+ <block name="AJAX HTTP modules"/>
30
+ <block name="AJAX CodeDOM 3.5 settings"/>
31
+ <block name="AJAX runtime settings"/>
32
+ <block name="AJAX system.webServer"/>
33
+ <block name="" />
34
+ </blocks>
35
+ </feature>
36
+
37
+ <feature name="AJAX1" target="web">
38
+ <description><![CDATA[
39
+ Adds entries to your Web.config file which are required by any AJAX.NET 1.0 application.
40
+ ]]></description>
41
+ <blocks>
42
+ <block name="AJAX1 config sections"/>
43
+ <block name="AJAX1 controls registration"/>
44
+ <block name="AJAX1 compilation"/>
45
+ <block name="AJAX1 HTTP handlers"/>
46
+ <block name="AJAX1 HTTP modules"/>
47
+ <block name="AJAX1 system.web.extensions"/>
48
+ <block name="AJAX1 system.webServer"/>
49
+ <block name="" />
50
+ </blocks>
51
+ </feature>
52
+
53
+ <feature name="DynamicData" target="web">
54
+ <description><![CDATA[
55
+ Adds entries to your Web.config file which are required by any ASP.NET DynamicData application.
56
+ ]]></description>
57
+ <blocks>
58
+ <block name="AJAX config sections"/>
59
+ <block name="AJAX controls registration"/>
60
+ <block name="AJAX compilation"/>
61
+ <block name="AJAX HTTP handlers"/>
62
+ <block name="AJAX HTTP modules"/>
63
+ <block name="AJAX system.web.extensions"/>
64
+ <block name="AJAX system.webServer"/>
65
+
66
+ <block name="DynamicData controls registration" />
67
+ <block name="DynamicData compilation" />
68
+ <block name="DynamicData HTTP modules" />
69
+ </blocks>
70
+ </feature>
71
+
72
+ <feature name="SettingsMapProtection" target="web">
73
+ <description><![CDATA[
74
+ Adds an entry to your config file which will prevent download of the 'settings.map' file. The
75
+ file is used by the settings mapping manager to modify configuration settings depending on the operating
76
+ system under which your application runs. Add this feature only if you have your own custom 'settings.map'
77
+ file in the top-level directory of your ASP.NET application.
78
+ ]]></description>
79
+ <blocks>
80
+ <block name="SettingsMap Handler"/>
81
+ </blocks>
82
+ </feature>
83
+
84
+ <!-- configuration blocks required by the features -->
85
+ <configBlock name="SettingsMap Handler">
86
+ <requires>
87
+ <section name="configuration">
88
+ <section name="system.web">
89
+ <section name="httpHandlers" defaultBlockName="system.web.httpHandlers"/>
90
+ </section>
91
+ </section>
92
+ </requires>
93
+
94
+ <contents>
95
+ <![CDATA[
96
+ <add verb="*" path="settings.map" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
97
+ ]]>
98
+ </contents>
99
+ </configBlock>
100
+
101
+ <!-- AJAX.NET 3.5 start -->
102
+ <configBlock name="AJAX config sections">
103
+ <requires>
104
+ <section name="configuration">
105
+ <section name="configSections" attachPoint="true"/>
106
+ </section>
107
+ </requires>
108
+
109
+ <contents>
110
+ <![CDATA[
111
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
112
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
113
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
114
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
115
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
116
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
117
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
118
+ <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
119
+ </sectionGroup>
120
+ </sectionGroup>
121
+ </sectionGroup>
122
+ ]]>
123
+ </contents>
124
+ </configBlock>
125
+
126
+ <configBlock name="AJAX controls registration">
127
+ <requires>
128
+ <section name="configuration">
129
+ <section name="system.web">
130
+ <section name="pages" defaultBlockName="system.web.pages">
131
+ <section name="controls" defaultBlockName="system.web.pages.controls"/>
132
+ </section>
133
+ </section>
134
+ </section>
135
+ </requires>
136
+
137
+ <contents>
138
+ <![CDATA[
139
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
140
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
141
+ ]]>
142
+ </contents>
143
+ </configBlock>
144
+
145
+ <configBlock name="AJAX compilation">
146
+ <requires>
147
+ <section name="configuration">
148
+ <section name="system.web">
149
+ <section name="compilation" defaultBlockName="system.web.compilation">
150
+ <section name="assemblies" defaultBlockName="system.web.compilation.assemblies"/>
151
+ </section>
152
+ </section>
153
+ </section>
154
+ </requires>
155
+
156
+ <contents>
157
+ <![CDATA[
158
+ <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
159
+ <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
160
+ <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
161
+ <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
162
+
163
+ ]]>
164
+ </contents>
165
+ </configBlock>
166
+
167
+ <configBlock name="AJAX HTTP handlers">
168
+ <requires>
169
+ <section name="configuration">
170
+ <section name="system.web">
171
+ <section name="httpHandlers" defaultBlockName="system.web.httpHandlers"/>
172
+ </section>
173
+ </section>
174
+ </requires>
175
+
176
+ <contents>
177
+ <![CDATA[
178
+ <remove verb="*" path="*.asmx"/>
179
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
180
+ <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
181
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
182
+ ]]>
183
+ </contents>
184
+ </configBlock>
185
+
186
+ <configBlock name="AJAX HTTP modules">
187
+ <requires>
188
+ <section name="configuration">
189
+ <section name="system.web">
190
+ <section name="httpModules" defaultBlockName="system.web.httpModules"/>
191
+ </section>
192
+ </section>
193
+ </requires>
194
+
195
+ <contents>
196
+ <![CDATA[
197
+ <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
198
+ ]]>
199
+ </contents>
200
+ </configBlock>
201
+
202
+ <configBlock name="AJAX CodeDOM 3.5 settings">
203
+ <requires>
204
+ <section name="configuration">
205
+ <section name="system.codedom">
206
+ <section name="compilers" defaultBlockName="system.codedom.compilers"/>
207
+ </section>
208
+ </section>
209
+ </requires>
210
+
211
+ <contents>
212
+ <![CDATA[
213
+ <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
214
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
215
+ <providerOption name="CompilerVersion" value="v3.5"/>
216
+ <providerOption name="WarnAsError" value="false"/>
217
+ </compiler>
218
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4"
219
+ type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
220
+ <providerOption name="CompilerVersion" value="v3.5"/>
221
+ <providerOption name="OptionInfer" value="true"/>
222
+ <providerOption name="WarnAsError" value="false"/>
223
+ </compiler>
224
+ ]]>
225
+ </contents>
226
+ </configBlock>
227
+
228
+ <configBlock name="AJAX runtime settings">
229
+ <requires>
230
+ <section name="configuration">
231
+ <section name="runtime"/>
232
+ </section>
233
+ </requires>
234
+
235
+ <contents>
236
+ <![CDATA[
237
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
238
+ <dependentAssembly>
239
+ <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
240
+ <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
241
+ </dependentAssembly>
242
+ <dependentAssembly>
243
+ <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
244
+ <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
245
+ </dependentAssembly>
246
+ </assemblyBinding>
247
+ ]]>
248
+ </contents>
249
+ </configBlock>
250
+
251
+ <configBlock name="AJAX system.webServer">
252
+ <requires>
253
+ <section name="configuration">
254
+ <section name="system.webServer"/>
255
+ </section>
256
+ </requires>
257
+
258
+ <contents>
259
+ <![CDATA[
260
+ <validation validateIntegratedModeConfiguration="false"/>
261
+ <modules>
262
+ <remove name="ScriptModule" />
263
+ <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
264
+ </modules>
265
+ <handlers>
266
+ <remove name="WebServiceHandlerFactory-Integrated"/>
267
+ <remove name="ScriptHandlerFactory" />
268
+ <remove name="ScriptHandlerFactoryAppServices" />
269
+ <remove name="ScriptResource" />
270
+ <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
271
+ type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
272
+ <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
273
+ type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
274
+ <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
275
+ </handlers>
276
+ ]]>
277
+ </contents>
278
+ </configBlock>
279
+ <!-- AJAX.NET 3.5 end -->
280
+
281
+ <!-- AJAX.NET 1.0 start -->
282
+ <configBlock name="AJAX1 config sections">
283
+ <requires>
284
+ <section name="configuration">
285
+ <section name="configSections" attachPoint="true"/>
286
+ </section>
287
+ </requires>
288
+
289
+ <contents>
290
+ <![CDATA[
291
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
292
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
293
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
294
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
295
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
296
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
297
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
298
+ </sectionGroup>
299
+ </sectionGroup>
300
+ </sectionGroup>
301
+ ]]>
302
+ </contents>
303
+ </configBlock>
304
+
305
+ <configBlock name="AJAX1 controls registration">
306
+ <requires>
307
+ <section name="configuration">
308
+ <section name="system.web">
309
+ <section name="pages" defaultBlockName="system.web.pages">
310
+ <section name="controls" defaultBlockName="system.web.pages.controls"/>
311
+ </section>
312
+ </section>
313
+ </section>
314
+ </requires>
315
+
316
+ <contents>
317
+ <![CDATA[
318
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
319
+ ]]>
320
+ </contents>
321
+ </configBlock>
322
+
323
+ <configBlock name="AJAX1 compilation">
324
+ <requires>
325
+ <section name="configuration">
326
+ <section name="system.web">
327
+ <section name="compilation" defaultBlockName="system.web.compilation">
328
+ <section name="assemblies" defaultBlockName="system.web.compilation.assemblies"/>
329
+ </section>
330
+ </section>
331
+ </section>
332
+ </requires>
333
+
334
+ <contents>
335
+ <![CDATA[
336
+ <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
337
+ ]]>
338
+ </contents>
339
+ </configBlock>
340
+
341
+ <configBlock name="AJAX1 HTTP handlers">
342
+ <requires>
343
+ <section name="configuration">
344
+ <section name="system.web">
345
+ <section name="httpHandlers" defaultBlockName="system.web.httpHandlers"/>
346
+ </section>
347
+ </section>
348
+ </requires>
349
+
350
+ <contents>
351
+ <![CDATA[
352
+ <remove verb="*" path="*.asmx"/>
353
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
354
+ <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
355
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
356
+ ]]>
357
+ </contents>
358
+ </configBlock>
359
+
360
+ <configBlock name="AJAX1 HTTP modules">
361
+ <requires>
362
+ <section name="configuration">
363
+ <section name="system.web">
364
+ <section name="httpModules" defaultBlockName="system.web.httpModules"/>
365
+ </section>
366
+ </section>
367
+ </requires>
368
+
369
+ <contents>
370
+ <![CDATA[
371
+ <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
372
+ ]]>
373
+ </contents>
374
+ </configBlock>
375
+
376
+ <configBlock name="AJAX1 system.web.extensions">
377
+ <requires>
378
+ <section name="configuration">
379
+ <section name="system.web.extensions"/>
380
+ </section>
381
+ </requires>
382
+
383
+ <contents>
384
+ <![CDATA[
385
+ <scripting>
386
+ <webServices>
387
+ <!-- Uncomment this line to customize maxJsonLength and add a custom converter -->
388
+ <!--
389
+ <jsonSerialization maxJsonLength="500">
390
+ <converters>
391
+ <add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>
392
+ </converters>
393
+ </jsonSerialization>
394
+ -->
395
+ <!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
396
+ <!--
397
+ <authenticationService enabled="true" requireSSL = "true|false"/>
398
+ -->
399
+
400
+ <!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved
401
+ and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and
402
+ writeAccessProperties attributes. -->
403
+ <!--
404
+ <profileService enabled="true"
405
+ readAccessProperties="propertyname1,propertyname2"
406
+ writeAccessProperties="propertyname1,propertyname2" />
407
+ -->
408
+ </webServices>
409
+ <!--
410
+ <scriptResourceHandler enableCompression="true" enableCaching="true" />
411
+ -->
412
+ </scripting>
413
+ ]]>
414
+ </contents>
415
+ </configBlock>
416
+
417
+ <configBlock name="AJAX1 system.webServer">
418
+ <requires>
419
+ <section name="configuration">
420
+ <section name="system.webServer"/>
421
+ </section>
422
+ </requires>
423
+
424
+ <contents>
425
+ <![CDATA[
426
+ <validation validateIntegratedModeConfiguration="false"/>
427
+ <modules>
428
+ <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
429
+ </modules>
430
+ <handlers>
431
+ <remove name="WebServiceHandlerFactory-Integrated" />
432
+ <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
433
+ type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
434
+ <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
435
+ type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
436
+ <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
437
+ </handlers>
438
+ ]]>
439
+ </contents>
440
+ </configBlock>
441
+ <!-- AJAX.NET 1.0 end -->
442
+
443
+ <configBlock name="DynamicData controls registration">
444
+ <requires>
445
+ <section name="configuration">
446
+ <section name="system.web">
447
+ <section name="pages" defaultBlockName="system.web.pages">
448
+ <section name="controls" defaultBlockName="system.web.pages.controls"/>
449
+ </section>
450
+ </section>
451
+ </section>
452
+ </requires>
453
+
454
+ <contents>
455
+ <![CDATA[
456
+ <add tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
457
+ ]]>
458
+ </contents>
459
+ </configBlock>
460
+
461
+ <configBlock name="DynamicData compilation">
462
+ <requires>
463
+ <section name="configuration">
464
+ <section name="system.web">
465
+ <section name="compilation" defaultBlockName="system.web.compilation">
466
+ <section name="assemblies" defaultBlockName="system.web.compilation.assemblies"/>
467
+ </section>
468
+ </section>
469
+ </section>
470
+ </requires>
471
+
472
+ <contents>
473
+ <![CDATA[
474
+ <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
475
+ <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
476
+ <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
477
+ <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
478
+ <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
479
+ <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
480
+ <add assembly="System.ComponentModel.DataAnnotations, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
481
+ <add assembly="System.Web.DynamicData, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
482
+ ]]>
483
+ </contents>
484
+ </configBlock>
485
+
486
+ <configBlock name="DynamicData HTTP modules">
487
+ <requires>
488
+ <section name="configuration">
489
+ <section name="system.web">
490
+ <section name="httpModules" defaultBlockName="system.web.httpModules"/>
491
+ </section>
492
+ </section>
493
+ </requires>
494
+
495
+ <contents>
496
+ <![CDATA[
497
+ <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
498
+ ]]>
499
+ </contents>
500
+ </configBlock>
501
+
502
+ <!-- default contents for missing sections -->
503
+ <default section="configuration" target="any">
504
+ <![CDATA[
505
+ <configuration>
506
+ </configuration>
507
+ ]]>
508
+ </default>
509
+
510
+ <default section="configSections" target="any">
511
+ <![CDATA[
512
+ <configSections>
513
+ </configSections>
514
+ ]]>
515
+ </default>
516
+
517
+ <default section="system.web" target="web">
518
+ <![CDATA[
519
+ <system.web>
520
+ </system.web>
521
+ ]]>
522
+ </default>
523
+
524
+ <default section="system.web.pages" target="web">
525
+ <![CDATA[
526
+ <pages>
527
+ </pages>
528
+ ]]>
529
+ </default>
530
+
531
+ <default section="system.web.pages.controls" target="web">
532
+ <![CDATA[
533
+ <controls>
534
+ </controls>
535
+ ]]>
536
+ </default>
537
+
538
+ <default section="system.web.compilation" target="web">
539
+ <![CDATA[
540
+ <compilation debug="true">
541
+ </compilation>
542
+ ]]>
543
+ </default>
544
+
545
+ <default section="system.web.compilation.assemblies" target="web">
546
+ <![CDATA[
547
+ <assemblies>
548
+ </assemblies>
549
+ ]]>
550
+ </default>
551
+
552
+ <default section="system.web.httpHandlers" target="web">
553
+ <![CDATA[
554
+ <httpHandlers>
555
+ </httpHandlers>
556
+ ]]>
557
+ </default>
558
+
559
+ <default section="system.web.httpModules" target="web">
560
+ <![CDATA[
561
+ <httpModules>
562
+ </httpModules>
563
+ ]]>
564
+ </default>
565
+
566
+ <default section="system.web.extensions" target="web">
567
+ <![CDATA[
568
+ <system.web.extensions>
569
+ </system.web.extensions>
570
+ ]]>
571
+ </default>
572
+
573
+ <default section="system.webServer" target="web">
574
+ <![CDATA[
575
+ <system.webServer>
576
+ </system.webServer>
577
+ ]]>
578
+ </default>
579
+
580
+ <default section="system.web.customErrors" target="web">
581
+ <![CDATA[
582
+ <customErrors mode="RemoteOnly"/>
583
+ ]]>
584
+ </default>
585
+
586
+ <default section="system.codedom" target="any">
587
+ <![CDATA[
588
+ <system.codedom>
589
+ </system.codedom>
590
+ ]]>
591
+ </default>
592
+
593
+ <default section="system.codedom.compilers" target="any">
594
+ <![CDATA[
595
+ <compilers>
596
+ </compilers>
597
+ ]]>
598
+ </default>
599
+
600
+ <default section="runtime" target="any">
601
+ <![CDATA[
602
+ <runtime>
603
+ </runtime>
604
+ ]]>
605
+ </default>
606
+
607
+ <!-- default config file definitions -->
608
+ <defaultConfigFile name="web.config" fileName="Web.config" target="web">
609
+ <section name="configuration">
610
+ <section name="system.web">
611
+ <section name="compilation" defaultBlockName="system.web.compilation"/>
612
+ <section name="customErrors" defaultBlockName="system.web.customErrors"/>
613
+ </section>
614
+ </section>
615
+ </defaultConfigFile>
616
+ </mconfig>
vae/com3d/CM3D2x86_Data/Mono/mono.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f027f30507423c268e338994f993f146113252fa1b93339e741a0584423f6dc4
3
+ size 2114008
vae/com3d/CM3D2x86_Data/Plugins/AVProVideo.dll ADDED
Binary file (659 kB). View file
 
vae/com3d/CM3D2x86_Data/Plugins/FoveClient.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cc91dd984fe4d6831060b815751f2c2511310a2f802fb10468d308975ddb1d72
3
+ size 1849384
vae/com3d/CM3D2x86_Data/Plugins/LeapC.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:db87bc85b1060371d8b70f80e31b6e1c1d6aac72d863a1bef73784e1effeeafa
3
+ size 2157568
vae/com3d/CM3D2x86_Data/Plugins/OVRGamepad.dll ADDED
Binary file (10.8 kB). View file
 
vae/com3d/CM3D2x86_Data/Plugins/OVRPlugin.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aad0a55225b34b388d51b6978d13b1285de79f642e8719d60a85683d7aa4d5a1
3
+ size 1956264
vae/com3d/CM3D2x86_Data/Plugins/cm3d2_x86.dll ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:28d4fe87ef0de87f706a62124180fe940de36b99ccaf0d9fb7acd99a0c340750
3
+ size 1332224