+++ /dev/null
-*.csproj.user
-*.dll
-*.mdb
-*.pdb
-*.sln
-*.suo
-.makefrag
-.response
-TestResult.xml
-bin
-library-deps.stamp
-obj
+++ /dev/null
-//
-// AssemblyInfo.cs
-//
-// Author:
-// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
-//
-// (C) 2003 Ximian, Inc. http://www.ximian.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Reflection;
-using System.Resources;
-using System.Security;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about the System.Web.Services assembly
-
-#if (NET_1_0)
- [assembly: AssemblyVersion("1.0.3300.0")]
- [assembly: SatelliteContractVersion("1.0.3300.0")]
-#elif (NET_2_0)
- [assembly: AssemblyVersion ("2.0.3600.0")]
- [assembly: SatelliteContractVersion ("2.0.3600.0")]
-#elif (NET_1_1)
- [assembly: AssemblyVersion("1.0.5000.0")]
- [assembly: SatelliteContractVersion("1.0.5000.0")]
-#endif
-
-[assembly: AssemblyTitle("System.Web.Services.dll")]
-[assembly: AssemblyDescription("System.Web.Services.dll")]
-[assembly: AssemblyConfiguration("Development version")]
-[assembly: AssemblyCompany("MONO development team")]
-[assembly: AssemblyProduct("MONO CLI")]
-[assembly: AssemblyCopyright("(c) 2003 Various Authors")]
-[assembly: AssemblyTrademark("")]
-
-[assembly: CLSCompliant(true)]
-[assembly: AssemblyDefaultAlias("System.Web.Services.dll")]
-[assembly: AssemblyInformationalVersion("0.0.0.1")]
-[assembly: NeutralResourcesLanguage("en-US")]
-
-[assembly: ComVisible(false)]
-[assembly: AllowPartiallyTrustedCallers]
-
-[assembly: AssemblyDelaySign(true)]
-[assembly: AssemblyKeyFile("../msfinal.pub")]
+++ /dev/null
-2003-07-21 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
-
- * AssemblyInfo.cs: Added
- * ChangeLog: Added
- * Locale.cs: Added
\ No newline at end of file
+++ /dev/null
-//
-// Locale.cs
-//
-// Author:
-// Miguel de Icaza (miguel@ximian.com)
-// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
-//
-// (C) 2001 - 2003 Ximian, Inc (http://www.ximian.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-internal sealed class Locale {
-
- private Locale ()
- {
- }
-
- /// <summary>
- /// Returns the translated message for the current locale
- /// </summary>
- public static string GetText (string msg)
- {
- return msg;
- }
-}
+++ /dev/null
-2004-07-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added new files:
- System.Web.Services.Description/BasicProfileChecker.cs
- System.Web.Services.Description/ConformanceChecker.cs
-
-2004-07-13 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added new files:
- System.Web.Services.Description/BasicProfileViolation.cs
- System.Web.Services.Description/BasicProfileViolationCollection.cs
- System.Web.Services.Description/NamedItem.cs
- System.Web.Services.Description/Soap12AddressBinding.cs
- System.Web.Services.Description/Soap12Binding.cs
- System.Web.Services.Description/Soap12BodyBinding.cs
- System.Web.Services.Description/Soap12FaultBinding.cs
- System.Web.Services.Description/Soap12HeaderBinding.cs
- System.Web.Services.Description/Soap12OperationBinding.cs
- System.Web.Services.Description/WebReference.cs
- System.Web.Services.Description/WebReferenceCollection.cs
- System.Web.Services.Description/WebServicesInteroperability.cs
-
-2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added 2.0 files:
- System.Web.Services/WsiClaims.cs
- System.Web.Services.Protocols/InvokeCompletedEventArgs.cs
- System.Web.Services.Protocols/InvokeCompletedEventHandler.cs
- System.Web.Services.Protocols/Soap12FaultCodes.cs
- System.Web.Services.Protocols/SoapFaultSubcode.cs
- System.Web.Services.Protocols/SoapProtocolVersion.cs
-
-2004-02-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added System.Web.Services.Protocols/Fault.cs.
-
-2003-10-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DiscoveryDocumentSerializer.cs: New file.
-
-2003-10-06 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added
- System.Web.Services.Description/HttpGetProtocolImporter.cs
- System.Web.Services.Description/HttpPostProtocolImporter.cs
- System.Web.Services.Description/HttpSimpleProtocolImporter.cs
-
-2003-10-04 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added
- System.Web.Services.Description/HttpGetProtocolReflector.cs
- System.Web.Services.Description/HttpPostProtocolReflector.cs
- System.Web.Services.Description/HttpSimpleProtocolReflector.cs
-
-2003-09-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added
- System.Web.Services.Protocols/HttpGetTypeStubInfo.cs,
- System.Web.Services.Protocols/HttpGetWebServiceHandler.cs,
- System.Web.Services.Protocols/HttpPostTypeStubInfo.cs,
- System.Web.Services.Protocols/HttpPostWebServiceHandler.cs,
- System.Web.Services.Protocols/HttpSimpleTypeStubInfo.cs,
- System.Web.Services.Protocols/HttpSimpleWebServiceHandler.cs,
- System.Web.Services.Protocols/TypeStubManager.cs
-
-2003-09-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added SoapHttpTransportImporter.cs.
-
-2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services_test.dll.sources: Added BindingCollectionTest.cs
- ChangeLog DocumentableItemTest.cs OperationCollectionTest.cs
- OperationMessageCollectionTest.cs OperationMessageTest.cs
- PortTypeCollectionTest.cs PortTypeTest.cs ServiceCollectionTest.cs
- ServiceDescriptionCollectionTest.cs
- SoapBodyBindingTest.cs SoapOperationBindingTest.cs TypesTest.cs
- New test files by Erik LeBel.
-
-2003-08-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added ExtensionManager.cs,
- ServiceDescriptionSerializerBase.cs
-
-2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * System.Web.Services.dll.sources: Added System.Web.Services.Protocols.SoapDocumentationHandler
-
-2003-07-21 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
-
- * System.Web.Services.dll.sources: Added Assembly/AssemblyInfo.cs, Assembly/Locale.cs
-
-2003-07-04 Lluis Sanchez Gual <lluis@ximian.com>
-
- * list: added System.Web.Services.Protocols.HttpSoapWebServiceHandler.cs and
- System.Web.Services.Protocols.WebServiceHelper.cs.
-
-2003-02-25 Dave Bettin <dave@opendotnet.com>
- * Test: Modified test cases to conform to nunit2 guidelines
-
-2002-08-24 Tim Coleman <tim@timcoleman.com>
- * list:
- New files added to build.
-
-2002-08-23 Tim Coleman <tim@timcoleman.com>
- * list:
- New files added to build.
-
-2002-08-07 Tim Coleman <tim@timcoleman.com>
- * System.Web.Services.build:
- Added "test" target to build.
- Added "clean" target to build.
- * Test:
- New test suites added.
-
-2002-08-06 Tim Coleman <tim@timcoleman.com>
- * list: Added System.Web.Services.Protocols/ServerProtocol.cs
-
-2002-07-29 Dave Bettin <javabettin@yahoo.com>
- * list: added new Discovery classes
- * System.Web.Services.Discovery: added stubs
- * .cvsignore: added
- * Mono.System.Web.Services: added VS.net project for assembly
-
-2002-07-25 Tim Coleman <tim@timcoleman.com>
- * list: add new classes
-
-2002-07-24 Tim Coleman <tim@timcoleman.com>
- * list:
- Added System.Web.Services.Description/SoapProtocolReflector.cs
-
-2002-07-22 Tim Coleman <tim@timcoleman.com>
- * makefile.gnu:
- * list:
- Modifications to make this library buildable on
- linux.
-
-
-2002-07-22 Tim Coleman <tim@timcoleman.com>
- * list: Added new files from System.Web.Services.Protocols
- and System.Web.Services.Configuration
-
-2002-07-19 Tim Coleman <tim@timcoleman.com>
- * list: Added
-
-2002-07-19 Tim Coleman <tim@timcoleman.com>
- * System.Web.Services.build: added
- * System.Web.Services:
- * System.Web.Services.Configuration:
- * System.Web.Services.Description:
- * System.Web.Services.Discovery:
- * System.Web.Services.Protocols:
- New directories added
+++ /dev/null
-thisdir = class/System.Web.Services
-SUBDIRS =
-include ../../build/rules.make
-
-LIBRARY = System.Web.Services.dll
-LIB_MCS_FLAGS = \
- /nowarn:649 /nowarn:169 \
- /r:$(corlib) \
- /r:System.dll \
- /r:System.EnterpriseServices.dll \
- /r:System.Xml.dll \
- /r:System.Web.dll
-TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:618
-
-include ../../build/library.make
+++ /dev/null
-<VisualStudioProject>\r
- <CSHARP\r
- ProjectType = "Local"\r
- ProductVersion = "7.10.2292"\r
- SchemaVersion = "2.0"\r
- ProjectGuid = "{1E24995F-861C-4FCB-BE59-C7B518F02F64}"\r
- >\r
- <Build>\r
- <Settings\r
- ApplicationIcon = ""\r
- AssemblyKeyContainerName = ""\r
- AssemblyName = "System.Web.Services"\r
- AssemblyOriginatorKeyFile = ""\r
- DefaultClientScript = "JScript"\r
- DefaultHTMLPageLayout = "Grid"\r
- DefaultTargetSchema = "IE50"\r
- DelaySign = "false"\r
- OutputType = "Library"\r
- PreBuildEvent = ""\r
- PostBuildEvent = ""\r
- RootNamespace = "System.Web.Servces"\r
- RunPostBuildEvent = "OnBuildSuccess"\r
- StartupObject = ""\r
- >\r
- <Config\r
- Name = "Debug"\r
- AllowUnsafeBlocks = "false"\r
- BaseAddress = "285212672"\r
- CheckForOverflowUnderflow = "false"\r
- ConfigurationOverrideFile = ""\r
- DefineConstants = "DEBUG;TRACE"\r
- DocumentationFile = ""\r
- DebugSymbols = "true"\r
- FileAlignment = "4096"\r
- IncrementalBuild = "true"\r
- NoStdLib = "false"\r
- NoWarn = ""\r
- Optimize = "false"\r
- OutputPath = "bin\Debug\"\r
- RegisterForComInterop = "false"\r
- RemoveIntegerChecks = "false"\r
- TreatWarningsAsErrors = "false"\r
- WarningLevel = "4"\r
- />\r
- <Config\r
- Name = "Release"\r
- AllowUnsafeBlocks = "false"\r
- BaseAddress = "285212672"\r
- CheckForOverflowUnderflow = "false"\r
- ConfigurationOverrideFile = ""\r
- DefineConstants = "TRACE"\r
- DocumentationFile = ""\r
- DebugSymbols = "false"\r
- FileAlignment = "4096"\r
- IncrementalBuild = "false"\r
- NoStdLib = "false"\r
- NoWarn = ""\r
- Optimize = "true"\r
- OutputPath = "bin\Release\"\r
- RegisterForComInterop = "false"\r
- RemoveIntegerChecks = "false"\r
- TreatWarningsAsErrors = "false"\r
- WarningLevel = "4"\r
- />\r
- </Settings>\r
- <References>\r
- <Reference\r
- Name = "System.EnterpriseServices"\r
- AssemblyName = "System.EnterpriseServices"\r
- HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.EnterpriseServices.dll"\r
- />\r
- <Reference\r
- Name = "System"\r
- AssemblyName = "System"\r
- HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"\r
- />\r
- <Reference\r
- Name = "System.XML"\r
- AssemblyName = "System.Xml"\r
- HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"\r
- />\r
- <Reference\r
- Name = "System.Web"\r
- AssemblyName = "System.Web"\r
- HintPath = "..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Web.dll"\r
- />\r
- </References>\r
- </Build>\r
- <Files>\r
- <Include>\r
- <File\r
- RelPath = "ChangeLog"\r
- BuildAction = "None"\r
- />\r
- <File\r
- RelPath = "list"\r
- BuildAction = "None"\r
- />\r
- <File\r
- RelPath = "makefile.gnu"\r
- BuildAction = "None"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.build"\r
- BuildAction = "None"\r
- />\r
- <File\r
- RelPath = "System.Web.Services\ChangeLog"\r
- BuildAction = "None"\r
- />\r
- <File\r
- RelPath = "System.Web.Services\TODOAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services\WebMethodAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services\WebService.cs"\r
- SubType = "Component"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services\WebService.resx"\r
- DependentUpon = "WebService.cs"\r
- BuildAction = "EmbeddedResource"\r
- />\r
- <File\r
- RelPath = "System.Web.Services\WebServiceAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services\WebServiceBindingAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services\WebServicesDescriptionAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Configuration\ChangeLog"\r
- BuildAction = "None"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Configuration\XmlFormatExtensionAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Configuration\XmlFormatExtensionPointAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Configuration\XmlFormatExtensionPrefixAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\Binding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\BindingCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ChangeLog"\r
- BuildAction = "None"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\DocumentableItem.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\FaultBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\FaultBindingCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\HttpAddressBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\HttpBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\HttpOperationBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\HttpUrlEncodedBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\HttpUrlReplacementBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\Import.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ImportCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\InputBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\Message.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MessageBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MessageCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MessagePart.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MessagePartCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MimeContentBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MimeMultipartRelatedBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MimePart.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MimePartCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MimeTextBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MimeTextMatch.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MimeTextMatchCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\MimeXmlBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\Operation.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationBindingCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationFault.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationFaultCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationFlow.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationInput.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationMessage.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationMessageCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OperationOutput.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\OutputBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\Port.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\PortCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\PortType.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\PortTypeCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ProtocolImporter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ProtocolReflector.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\Service.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceDescription.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceDescriptionBaseCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceDescriptionCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceDescriptionFormatExtension.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceDescriptionFormatExtensionCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceDescriptionImporter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceDescriptionImportStyle.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceDescriptionImportWarnings.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\ServiceDescriptionReflector.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapAddressBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapBindingStyle.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapBindingUse.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapBodyBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapExtensionImporter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapExtensionReflector.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapFaultBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapHeaderBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapHeaderFaultBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapOperationBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapProtocolImporter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapProtocolReflector.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\SoapTransportImporter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Description\Types.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\ChangeLog"\r
- BuildAction = "None"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\ContractReference.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\ContractSearchPattern.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryClientDocumentCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryClientProtocol.cs"\r
- SubType = "Component"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryClientReferenceCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryClientResult.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryClientResultCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryDocument.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryDocumentLinksPattern.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryDocumentReference.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryDocumentSearchPattern.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryExceptionDictionary.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryReference.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryReferenceCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoveryRequestHandler.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DiscoverySearchPattern.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\DynamicDiscoveryDocument.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\ExcludePathInfo.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\SchemaReference.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\SoapBinding.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Discovery\XmlSchemaSearchPattern.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\AnyReturnReader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\ChangeLog"\r
- BuildAction = "None"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\HtmlFormParameterReader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\HtmlFormParameterWriter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\HttpGetClientProtocol.cs"\r
- SubType = "Component"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\HttpMethodAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\HttpPostClientProtocol.cs"\r
- SubType = "Component"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\HttpServerProtocol.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\HttpSimpleClientProtocol.cs"\r
- SubType = "Component"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\HttpWebClientProtocol.cs"\r
- SubType = "Component"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\LogicalMethodInfo.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\LogicalMethodTypes.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\MatchAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\MimeFormatter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\MimeParameterReader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\MimeParameterWriter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\MimeReturnReader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\MimeReturnWriter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\NopReturnReader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\PatternMatcher.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\ServerProtocol.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapClientMessage.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapClientMethod.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapDocumentMethodAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapDocumentServiceAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapException.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapExtension.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapExtensionAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapHeader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapHeaderAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapHeaderCollection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapHeaderDirection.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapHeaderException.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapHttpClientProtocol.cs"\r
- SubType = "Component"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapMessage.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapMessageStage.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapParameterStyle.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapRpcMethodAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapRpcServiceAttribute.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapServerMessage.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapServerProtocol.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapServiceRoutingStyle.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\SoapUnknownHeader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\TextReturnReader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\UrlEncodedParameterWriter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\UrlParameterReader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\UrlParameterWriter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\ValueCollectionParameterReader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\WebClientAsyncResult.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\WebClientProtocol.cs"\r
- SubType = "Component"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\WebServiceHandler.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\WebServiceHandlerFactory.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\XmlReturnReader.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- <File\r
- RelPath = "System.Web.Services.Protocols\XmlReturnWriter.cs"\r
- SubType = "Code"\r
- BuildAction = "Compile"\r
- />\r
- </Include>\r
- </Files>\r
- </CSHARP>\r
-</VisualStudioProject>\r
-\r
+++ /dev/null
-2004-06-01 Gert Driesen <drieseng@users.sourceforge.net>
-
- * WebServicesConfigurationSectionHandler.cs: removed unused variables
-
-2004-02-05 Alon Gazit <along@mainsoft.com>
-
- * XmlFormatExtensionAttribute.cs:
- * XmlFormatExtensionPointAttribute.cs:
- * XmlFormatExtensionPrefixAttribute.cs: This attribute is inherited by
- derived classes.changed the AttributeUsage attribute.
-
-2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
-
- * XmlFormatExtensionPrefixAttribute.cs: Allow multiple usage.
-
-2003-12-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebServicesConfigurationSectionHandler.cs: Removed TODO.
-
-2003-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * WebServicesConfigurationSectionHandler.cs: keep the file name of the
- configuration file around for wsdlHelpGenerator.
-
-2003-09-25 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebServicesConfigurationSectionHandler.cs: added support for
- soapExtensionReflectorTypes, soapExtensionImporterTypes and
- serviceDescriptionFormatExtensionTypes.
-
-2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * XmlFormatExtensionPointAttribute.cs: Fixed constructor. Member name
- was not set.
-
-2003-07-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * WebServicesConfigurationSectionHandler.cs: added <soapExtensionTypes>
- support.
-
-2003-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * WebServicesConfigurationSectionHandler.cs: support remove/clear for
- <protocols>. Fixed IsSupported.
-
-2003-07-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * WebServicesConfigurationSectionHandler.cs: singleton.
-
-2003-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * WebServicesConfigurationSectionHandler.cs: New file that handles
- system.web/webServices section.
-
-2002-07-21 Tim Coleman <tim@timcoleman.com>
- * ChangeLog:
- * XmlFormatExtensionAttribute.cs:
- * XmlFormatExtensionPointAttribute.cs:
- * XmlFormatExtensionPrefixAttribute.cs:
- New files added
+++ /dev/null
-//
-// System.Web.Services.Configuration.WebServicesConfigurationSectionHandler
-//
-// Authors:
-// Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2003 Ximian, Inc (http://www.ximian.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Collections;
-using System.Configuration;
-using System.Xml;
-
-namespace System.Web.Services.Configuration
-{
- [Flags]
- enum WSProtocol
- {
- HttpSoap = 1,
- HttpPost = 1 << 1,
- HttpGet = 1 << 2,
- Documentation = 1 << 3,
- All = 0x0F
- }
-
- class WSConfig
- {
- static WSConfig instance;
- WSProtocol protocols;
- string wsdlHelpPage;
- string filePath;
- ArrayList extensionTypes = new ArrayList();
- ArrayList extensionImporterTypes = new ArrayList();
- ArrayList extensionReflectorTypes = new ArrayList();
- ArrayList formatExtensionTypes = new ArrayList();
-
- public WSConfig (WSConfig parent, object context)
- {
- if (parent == null)
- return;
-
- protocols = parent.protocols;
- wsdlHelpPage = parent.wsdlHelpPage;
- if (wsdlHelpPage != null)
- filePath = parent.filePath;
- else
- filePath = context as string;
- }
-
- static WSProtocol ParseProtocol (string protoName, out string error)
- {
- WSProtocol proto;
- error = null;
- try {
- proto = (WSProtocol) Enum.Parse (typeof (WSProtocol), protoName);
- } catch {
- error = "Invalid protocol name";
- return 0;
- }
-
- return proto;
- }
-
- // Methods to modify configuration values
- public bool AddProtocol (string protoName, out string error)
- {
- if (protoName == "All") {
- error = "Invalid protocol name";
- return false;
- }
-
- WSProtocol proto = ParseProtocol (protoName, out error);
- if (error != null)
- return false;
-
- protocols |= proto;
- return true;
- }
-
- public bool RemoveProtocol (string protoName, out string error)
- {
- if (protoName == "All") {
- error = "Invalid protocol name";
- return false;
- }
-
- WSProtocol proto = ParseProtocol (protoName, out error);
- if (error != null)
- return false;
-
- protocols &= ~proto;
- return true;
- }
-
- public void ClearProtocol ()
- {
- protocols = 0;
- }
-
- // Methods to query/get configuration
- public static bool IsSupported (WSProtocol proto)
- {
- return ((Instance.protocols & proto) == proto && (proto != 0) && (proto != WSProtocol.All));
- }
-
- // Properties
- public string WsdlHelpPage {
- get { return wsdlHelpPage; }
- set { wsdlHelpPage = value; }
- }
-
- public string ConfigFilePath {
- get { return filePath; }
- set { filePath = value; }
- }
-
- static public WSConfig Instance {
- get {
- //TODO: use HttpContext to get the configuration
- if (instance != null)
- return instance;
-
- lock (typeof (WSConfig)) {
- if (instance != null)
- return instance;
-
- instance = (WSConfig) ConfigurationSettings.GetConfig ("system.web/webServices");
- }
-
- return instance;
- }
- }
-
- public ArrayList ExtensionTypes {
- get { return extensionTypes; }
- }
-
- public ArrayList ExtensionImporterTypes {
- get { return extensionImporterTypes; }
- }
-
- public ArrayList ExtensionReflectorTypes {
- get { return extensionReflectorTypes; }
- }
-
- public ArrayList FormatExtensionTypes {
- get { return formatExtensionTypes; }
- }
-
- }
-
- enum WSExtensionGroup
- {
- High,
- Low
- }
-
- class WSExtensionConfig
- {
- Type type;
- int priority;
- WSExtensionGroup group;
-
- public Exception SetType (string typeName)
- {
- Exception exc = null;
-
- try {
- type = Type.GetType (typeName, true);
- } catch (Exception e) {
- exc = e;
- }
-
- return exc;
- }
-
- public Exception SetPriority (string prio)
- {
- if (prio == null || prio == "")
- return null;
-
- Exception exc = null;
- try {
- priority = Int32.Parse (prio);
- } catch (Exception e) {
- exc = e;
- }
-
- return exc;
- }
-
- public Exception SetGroup (string grp)
- {
- if (grp == null || grp == "")
- return null;
-
- Exception exc = null;
- try {
- group = (WSExtensionGroup) Int32.Parse (grp);
- if (group < WSExtensionGroup.High || group > WSExtensionGroup.Low)
- throw new ArgumentOutOfRangeException ("group", "Must be 0 or 1");
- } catch (Exception e) {
- exc = e;
- }
-
- return exc;
- }
-
- // Getters
- public Type Type {
- get { return type; }
- }
-
- public int Priority {
- get { return priority; }
- }
-
- public WSExtensionGroup Group {
- get { return group; }
- }
- }
-
- class WebServicesConfigurationSectionHandler : IConfigurationSectionHandler
- {
- public object Create (object parent, object context, XmlNode section)
- {
- WSConfig config = new WSConfig (parent as WSConfig, context);
-
- if (section.Attributes != null && section.Attributes.Count != 0)
- ThrowException ("Unrecognized attribute", section);
-
- XmlNodeList nodes = section.ChildNodes;
- foreach (XmlNode child in nodes) {
- XmlNodeType ntype = child.NodeType;
- if (ntype == XmlNodeType.Whitespace || ntype == XmlNodeType.Comment)
- continue;
-
- if (ntype != XmlNodeType.Element)
- ThrowException ("Only elements allowed", child);
-
- string name = child.Name;
- if (name == "protocols") {
- ConfigProtocols (child, config);
- continue;
- }
-
- if (name == "soapExtensionTypes") {
- ConfigSoapExtensionTypes (child, config.ExtensionTypes);
- continue;
- }
-
- if (name == "soapExtensionReflectorTypes") {
- ConfigSoapExtensionTypes (child, config.ExtensionReflectorTypes);
- continue;
- }
-
- if (name == "soapExtensionImporterTypes") {
- ConfigSoapExtensionTypes (child, config.ExtensionImporterTypes);
- continue;
- }
-
- if (name == "serviceDescriptionFormatExtensionTypes") {
- ConfigFormatExtensionTypes (child, config);
- continue;
- }
-
- if (name == "wsdlHelpGenerator") {
- string href = AttValue ("href", child, false);
- if (child.Attributes != null && child.Attributes.Count != 0)
- HandlersUtil.ThrowException ("Unrecognized attribute", child);
-
- config.ConfigFilePath = context as string;
- config.WsdlHelpPage = href;
- continue;
- }
-
- ThrowException ("Unexpected element", child);
- }
-
- return config;
- }
-
- static void ConfigProtocols (XmlNode section, WSConfig config)
- {
- if (section.Attributes != null && section.Attributes.Count != 0)
- ThrowException ("Unrecognized attribute", section);
-
- XmlNodeList nodes = section.ChildNodes;
- foreach (XmlNode child in nodes) {
- XmlNodeType ntype = child.NodeType;
- if (ntype == XmlNodeType.Whitespace || ntype == XmlNodeType.Comment)
- continue;
-
- if (ntype != XmlNodeType.Element)
- ThrowException ("Only elements allowed", child);
-
- string name = child.Name;
- string error;
- if (name == "add") {
- string protoName = AttValue ("name", child, false);
- if (child.Attributes != null && child.Attributes.Count != 0)
- HandlersUtil.ThrowException ("Unrecognized attribute", child);
-
- if (!config.AddProtocol (protoName, out error))
- ThrowException (error, child);
-
- continue;
- }
-
- if (name == "remove") {
- string protoName = AttValue ("name", child, false);
- if (child.Attributes != null && child.Attributes.Count != 0)
- HandlersUtil.ThrowException ("Unrecognized attribute", child);
-
- if (!config.RemoveProtocol (protoName, out error))
- ThrowException (error, child);
-
- continue;
- }
-
- if (name == "clear") {
- if (child.Attributes != null && child.Attributes.Count != 0)
- HandlersUtil.ThrowException ("Unrecognized attribute", child);
-
- config.ClearProtocol ();
- continue;
- }
-
- ThrowException ("Unexpected element", child);
- }
- }
-
- static void ConfigSoapExtensionTypes (XmlNode section, ArrayList extensions)
- {
- if (section.Attributes != null && section.Attributes.Count != 0)
- ThrowException ("Unrecognized attribute", section);
-
- XmlNodeList nodes = section.ChildNodes;
- foreach (XmlNode child in nodes) {
- XmlNodeType ntype = child.NodeType;
- if (ntype == XmlNodeType.Whitespace || ntype == XmlNodeType.Comment)
- continue;
-
- if (ntype != XmlNodeType.Element)
- ThrowException ("Only elements allowed", child);
-
- string name = child.Name;
- if (name == "add") {
- string seType = AttValue ("type", child, false);
- string priority = AttValue ("priority", child);
- string group = AttValue ("group", child);
- if (child.Attributes != null && child.Attributes.Count != 0)
- HandlersUtil.ThrowException ("Unrecognized attribute", child);
-
- WSExtensionConfig wse = new WSExtensionConfig ();
- Exception e = wse.SetType (seType);
- if (e != null)
- ThrowException (e.Message, child);
-
- e = wse.SetPriority (priority);
- if (e != null)
- ThrowException (e.Message, child);
-
- e = wse.SetGroup (group);
- if (e != null)
- ThrowException (e.Message, child);
-
- extensions.Add (wse);
- continue;
- }
-
- ThrowException ("Unexpected element", child);
- }
- }
-
- static void ConfigFormatExtensionTypes (XmlNode section, WSConfig config)
- {
- if (section.Attributes != null && section.Attributes.Count != 0)
- ThrowException ("Unrecognized attribute", section);
-
- XmlNodeList nodes = section.ChildNodes;
- foreach (XmlNode child in nodes) {
- XmlNodeType ntype = child.NodeType;
- if (ntype == XmlNodeType.Whitespace || ntype == XmlNodeType.Comment)
- continue;
-
- if (ntype != XmlNodeType.Element)
- ThrowException ("Only elements allowed", child);
-
- string name = child.Name;
- if (name == "add") {
- string typeName = AttValue ("name", child, false);
- if (child.Attributes != null && child.Attributes.Count != 0)
- HandlersUtil.ThrowException ("Unrecognized attribute", child);
-
- try {
- config.FormatExtensionTypes.Add (Type.GetType (typeName, true));
- } catch (Exception e) {
- ThrowException (e.Message, child);
- }
- continue;
- }
-
- ThrowException ("Unexpected element", child);
- }
- }
-
- // To save some typing...
- static string AttValue (string name, XmlNode node, bool optional)
- {
- return HandlersUtil.ExtractAttributeValue (name, node, optional);
- }
-
- static string AttValue (string name, XmlNode node)
- {
- return HandlersUtil.ExtractAttributeValue (name, node, true);
- }
-
- static void ThrowException (string message, XmlNode node)
- {
- HandlersUtil.ThrowException (message, node);
- }
- //
- }
-
- class HandlersUtil
- {
- private HandlersUtil ()
- {
- }
-
- static internal string ExtractAttributeValue (string attKey, XmlNode node)
- {
- return ExtractAttributeValue (attKey, node, false);
- }
-
- static internal string ExtractAttributeValue (string attKey, XmlNode node, bool optional)
- {
- if (node.Attributes == null) {
- if (optional)
- return null;
-
- ThrowException ("Required attribute not found: " + attKey, node);
- }
-
- XmlNode att = node.Attributes.RemoveNamedItem (attKey);
- if (att == null) {
- if (optional)
- return null;
- ThrowException ("Required attribute not found: " + attKey, node);
- }
-
- string value = att.Value;
- if (value == String.Empty) {
- string opt = optional ? "Optional" : "Required";
- ThrowException (opt + " attribute is empty: " + attKey, node);
- }
-
- return value;
- }
-
- static internal void ThrowException (string msg, XmlNode node)
- {
- if (node != null && node.Name != String.Empty)
- msg = msg + " (node name: " + node.Name + ") ";
- throw new ConfigurationException (msg, node);
- }
- }
-
-}
+++ /dev/null
- // \r
-// System.Web.Services.Configuration.XmlFormatExtensionAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Configuration {\r
- [AttributeUsage (AttributeTargets.Class, Inherited = true)]\r
- public sealed class XmlFormatExtensionAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- string elementName;\r
- string ns;\r
- Type[] extensionPoints;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public XmlFormatExtensionAttribute ()\r
- {\r
- }\r
-\r
- public XmlFormatExtensionAttribute (string elementName, string ns, Type extensionPoint1)\r
- : this (elementName, ns, new Type[1] {extensionPoint1})\r
- {\r
- }\r
-\r
- public XmlFormatExtensionAttribute (string elementName, string ns, Type[] extensionPoints)\r
- : this ()\r
- {\r
- this.elementName = elementName;\r
- this.ns = ns;\r
- this.extensionPoints = extensionPoints;\r
- }\r
-\r
- public XmlFormatExtensionAttribute (string elementName, string ns, Type extensionPoint1, Type extensionPoint2)\r
- : this (elementName, ns, new Type[2] {extensionPoint1, extensionPoint2})\r
- {\r
- }\r
-\r
- public XmlFormatExtensionAttribute (string elementName, string ns, Type extensionPoint1, Type extensionPoint2, Type extensionPoint3)\r
- : this (elementName, ns, new Type[3] {extensionPoint1, extensionPoint2, extensionPoint3})\r
- {\r
- }\r
-\r
- public XmlFormatExtensionAttribute (string elementName, string ns, Type extensionPoint1, Type extensionPoint2, Type extensionPoint3, Type extensionPoint4)\r
- : this (elementName, ns, new Type[4] {extensionPoint1, extensionPoint2, extensionPoint3, extensionPoint4})\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public string ElementName {\r
- get { return elementName; }\r
- set { elementName = value; }\r
- }\r
-\r
- public Type[] ExtensionPoints {\r
- get { return extensionPoints; }\r
- set { extensionPoints = value; }\r
- }\r
-\r
- public string Namespace {\r
- get { return ns; }\r
- set { ns = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
- // \r
-// System.Web.Services.Configuration.XmlFormatExtensionPointAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Configuration {\r
- [AttributeUsage (AttributeTargets.Class, Inherited = true)]\r
- public sealed class XmlFormatExtensionPointAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- bool allowElements;\r
- string memberName;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public XmlFormatExtensionPointAttribute (string memberName)\r
- {\r
- this.memberName = memberName;\r
- allowElements = false; // FIXME\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public bool AllowElements {\r
- get { return allowElements; }\r
- set { allowElements = value; }\r
- }\r
-\r
- public string MemberName { \r
- get { return memberName; }\r
- set { memberName = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}
+++ /dev/null
- // \r
-// System.Web.Services.Configuration.XmlFormatExtensionPrefixAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Configuration {\r
- [AttributeUsage (AttributeTargets.Class, AllowMultiple = true, Inherited = true)]\r
- public sealed class XmlFormatExtensionPrefixAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- string prefix;\r
- string ns;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public XmlFormatExtensionPrefixAttribute ()\r
- {\r
- }\r
-\r
- public XmlFormatExtensionPrefixAttribute (string prefix, string ns)\r
- : this ()\r
- {\r
- this.prefix = prefix;\r
- this.ns = ns;\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public string Prefix {\r
- get { return prefix; }\r
- set { prefix = value; }\r
- }\r
-\r
- public string Namespace {\r
- get { return ns; }\r
- set { ns = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Description.BasicProfileChecker.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Xml.Schema;
-using System.Xml;
-using System.Collections;
-
-namespace System.Web.Services.Description
-{
- internal class BasicProfileChecker: ConformanceChecker
- {
- public static BasicProfileChecker Instance = new BasicProfileChecker ();
-
- public override WsiClaims Claims {
- get { return WsiClaims.BP10; }
- }
-
- public override void Check (ConformanceCheckContext ctx, Import value)
- {
- if (value.Location == "" || value.Location == null) {
- ctx.ReportRuleViolation (value, BasicProfileRules.R2007);
- return;
- }
-
- object doc = ctx.GetDocument (value.Location);
- if (doc == null) ctx.ReportError (value, "Document '" + value.Location + "' not found");
-
- if (doc is XmlSchema)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2002);
-
- ServiceDescription imported = doc as ServiceDescription;
- if (imported == null) {
- ctx.ReportRuleViolation (value, BasicProfileRules.R2001);
- return;
- }
-
- // TODO: rule R2003
-
- if (imported.TargetNamespace != value.Namespace)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2005);
- }
-
- public override void Check (ConformanceCheckContext ctx, ServiceDescription value)
- {
-
- }
-
- public override void Check (ConformanceCheckContext ctx, ServiceDescriptionFormatExtension value)
- {
- if (value.Required)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2026);
- }
-
- public override void Check (ConformanceCheckContext ctx, MessagePart value)
- {
- CheckWsdlQName (ctx, value, value.Type);
- CheckWsdlQName (ctx, value, value.Element);
-
- if (value.DefinedByElement && value.Element.Namespace == XmlSchema.Namespace)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2206);
- }
-
- public override void Check (ConformanceCheckContext ctx, Types value)
- {
- }
-
- public override void Check (ConformanceCheckContext ctx, Message value)
- {
- // TODO: R2113
- }
-
- public override void Check (ConformanceCheckContext ctx, Binding value)
- {
- SoapBinding sb = (SoapBinding) value.Extensions.Find (typeof(SoapBinding));
- if (sb == null || sb.Transport == null || sb.Transport == "") {
- ctx.ReportRuleViolation (value, BasicProfileRules.R2701);
- return;
- }
-
- if (sb.Transport != "http://schemas.xmlsoap.org/soap/http")
- ctx.ReportRuleViolation (value, BasicProfileRules.R2702);
-
- LiteralType type = GetLiteralBindingType (value);
- if (type == LiteralType.NotLiteral)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2706);
- else if (type == LiteralType.Inconsistent)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2705);
-
- // Collect all parts referenced from this type
-
- Hashtable parts = new Hashtable ();
- PortType port = ctx.Services.GetPortType (value.Type);
- foreach (Operation op in port.Operations) {
- foreach (OperationMessage om in op.Messages) {
- Message msg = ctx.Services.GetMessage (om.Message);
- foreach (MessagePart part in msg.Parts)
- parts.Add (part,part);
- }
- }
-
- foreach (OperationBinding ob in value.Operations) {
- if (ob.Input != null) CheckMessageBinding (ctx, parts, ob.Input);
- if (ob.Output != null) CheckMessageBinding (ctx, parts, ob.Output);
- foreach (FaultBinding fb in ob.Faults)
- CheckMessageBinding (ctx, parts, fb);
- }
-
- if (parts.Count > 0)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2209);
- }
-
- public override void Check (ConformanceCheckContext ctx, OperationBinding ob)
- {
- }
-
- void CheckMessageBinding (ConformanceCheckContext ctx, Hashtable portParts, MessageBinding value)
- {
- SoapBodyBinding sbb = (SoapBodyBinding) value.Extensions.Find (typeof(SoapBodyBinding));
- Message msg = FindMessage (ctx, value);
- LiteralType bt = GetLiteralBindingType (value.OperationBinding.Binding);
-
- if (sbb != null)
- {
- if (bt == LiteralType.Document)
- {
- if (sbb.Parts != null && sbb.Parts.Length > 1)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2201);
-
- if (sbb.Parts == null) {
- if (msg.Parts != null && msg.Parts.Count > 1)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2210);
- if (msg.Parts.Count == 1)
- portParts.Remove (msg.Parts[0]);
- }
- else {
- if (sbb.Parts.Length == 0 && msg.Parts.Count == 1) {
- portParts.Remove (msg.Parts[0]);
- } else {
- foreach (string part in sbb.Parts) {
- MessagePart mp = msg.FindPartByName (part);
- portParts.Remove (mp);
- if (!mp.DefinedByElement)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2204);
- }
- }
- }
- }
- else if (bt == LiteralType.Rpc)
- {
- if (sbb.Parts != null) {
- foreach (string part in sbb.Parts) {
- MessagePart mp = msg.FindPartByName (part);
- portParts.Remove (mp);
- if (!mp.DefinedByType)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2203);
- }
- }
- }
- }
-
- SoapHeaderBinding shb = (SoapHeaderBinding) value.Extensions.Find (typeof(SoapHeaderBinding));
- if (shb != null) {
- Message hm = ctx.Services.GetMessage (shb.Message);
- MessagePart mp = hm.FindPartByName (shb.Part);
- portParts.Remove (mp);
- if (mp != null && !mp.DefinedByElement)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2205);
- }
-
- SoapHeaderFaultBinding shfb = (SoapHeaderFaultBinding) value.Extensions.Find (typeof(SoapHeaderFaultBinding));
- if (shfb != null) {
- Message hm = ctx.Services.GetMessage (shfb.Message);
- MessagePart mp = hm.FindPartByName (shfb.Part);
- portParts.Remove (mp);
- if (mp != null && !mp.DefinedByElement)
- ctx.ReportRuleViolation (value, BasicProfileRules.R2205);
- }
-
- // TODO: SoapFaultBinding ??
- }
-
- Message FindMessage (ConformanceCheckContext ctx, MessageBinding mb)
- {
- PortType pt = ctx.Services.GetPortType (mb.OperationBinding.Binding.Type);
- foreach (Operation op in pt.Operations)
- if (op.IsBoundBy (mb.OperationBinding)) {
- OperationMessage om;
- if (mb is InputBinding) om = op.Messages.Input;
- else if (mb is OutputBinding) om = op.Messages.Output;
- else if (mb is FaultBinding) om = op.Messages.Fault;
- else return null;
- return ctx.Services.GetMessage (om.Message);
- }
- return null;
- }
-
- public override void Check (ConformanceCheckContext ctx, Operation value) { }
- public override void Check (ConformanceCheckContext ctx, OperationMessage value) { }
- public override void Check (ConformanceCheckContext ctx, Port value) { }
- public override void Check (ConformanceCheckContext ctx, PortType value) { }
- public override void Check (ConformanceCheckContext ctx, Service value) { }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchema s)
- {
- if (s.TargetNamespace == null || s.TargetNamespace == "") {
- foreach (XmlSchemaObject ob in s.Items)
- if (!(ob is XmlSchemaImport) && !(ob is XmlSchemaAnnotation)) {
- ctx.ReportRuleViolation (s, BasicProfileRules.R2105);
- break;
- }
- }
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaImport value)
- {
- XmlSchema doc = ctx.GetDocument (value.SchemaLocation) as XmlSchema;
- if (doc == null) ctx.ReportError (value, "Schema '" + value.SchemaLocation + "' not found");
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaAttribute value)
- {
- CheckSchemaQName (ctx, value, value.RefName);
- CheckSchemaQName (ctx, value, value.SchemaTypeName);
-
- XmlAttribute[] uatts = value.UnhandledAttributes;
- if (uatts != null) {
- foreach (XmlAttribute at in uatts)
- if (at.LocalName == "arrayType" && at.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/")
- ctx.ReportRuleViolation (value, BasicProfileRules.R2111);
- }
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaAttributeGroupRef value)
- {
- CheckSchemaQName (ctx, value, value.RefName);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaComplexContentExtension value)
- {
- CheckSchemaQName (ctx, value, value.BaseTypeName);
- if (value.BaseTypeName.Namespace == "http://schemas.xmlsoap.org/soap/encoding/" && value.BaseTypeName.Name == "Array")
- ctx.ReportRuleViolation (value, BasicProfileRules.R2110);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaComplexContentRestriction value)
- {
- CheckSchemaQName (ctx, value, value.BaseTypeName);
- if (value.BaseTypeName.Namespace == "http://schemas.xmlsoap.org/soap/encoding/" && value.BaseTypeName.Name == "Array")
- ctx.ReportRuleViolation (value, BasicProfileRules.R2110);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaElement value)
- {
- CheckSchemaQName (ctx, value, value.RefName);
- CheckSchemaQName (ctx, value, value.SubstitutionGroup);
- CheckSchemaQName (ctx, value, value.SchemaTypeName);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaGroupRef value)
- {
- CheckSchemaQName (ctx, value, value.RefName);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaKeyref value)
- {
- CheckSchemaQName (ctx, value, value.Refer);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaSimpleContentExtension value)
- {
- CheckSchemaQName (ctx, value, value.BaseTypeName);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaSimpleContentRestriction value)
- {
- CheckSchemaQName (ctx, value, value.BaseTypeName);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaSimpleTypeList value)
- {
- CheckSchemaQName (ctx, value, value.ItemTypeName);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaSimpleTypeRestriction value)
- {
- CheckSchemaQName (ctx, value, value.BaseTypeName);
- }
-
- public override void Check (ConformanceCheckContext ctx, XmlSchemaSimpleTypeUnion value)
- {
- foreach (XmlQualifiedName name in value.MemberTypes)
- CheckSchemaQName (ctx, value, name);
- }
-
- // Helper methods
-
- void CheckWsdlQName (ConformanceCheckContext ctx, object element, XmlQualifiedName name)
- {
- if (name == null || name == XmlQualifiedName.Empty) return;
- if (name.Namespace == "" || name.Namespace == XmlSchema.Namespace) return;
-
- if (ctx.ServiceDescription.Types != null && ctx.ServiceDescription.Types.Schemas != null)
- {
- foreach (XmlSchema s in ctx.ServiceDescription.Types.Schemas)
- {
- if (s.TargetNamespace == name.Namespace) return;
- foreach (XmlSchemaObject i in s.Includes)
- if ((i is XmlSchemaImport) && ((XmlSchemaImport)i).Namespace == name.Namespace) return;
- }
- }
- ctx.ReportRuleViolation (element, BasicProfileRules.R2101);
- }
-
- void CheckSchemaQName (ConformanceCheckContext ctx, object element, XmlQualifiedName name)
- {
- if (name == null || name == XmlQualifiedName.Empty) return;
- if (name.Namespace == "" || name.Namespace == XmlSchema.Namespace) return;
- if (ctx.CurrentSchema.TargetNamespace == name.Namespace) return;
-
- foreach (XmlSchemaObject i in ctx.CurrentSchema.Includes)
- if ((i is XmlSchemaImport) && ((XmlSchemaImport)i).Namespace == name.Namespace) return;
-
- ctx.ReportRuleViolation (element, BasicProfileRules.R2102);
- }
-
- LiteralType GetLiteralBindingType (Binding b)
- {
- SoapBinding sb = (SoapBinding) b.Extensions.Find (typeof(SoapBinding));
- SoapBindingStyle style = (sb != null) ? sb.Style : SoapBindingStyle.Document;
- if (style == SoapBindingStyle.Default) style = SoapBindingStyle.Document;
-
- foreach (OperationBinding ob in b.Operations) {
- SoapOperationBinding sob = (SoapOperationBinding) ob.Extensions.Find (typeof(SoapOperationBinding));
- if (sob.Style != SoapBindingStyle.Default && sob.Style != style)
- return LiteralType.Inconsistent;
- if (ob.Input != null) {
- SoapBodyBinding sbb = (SoapBodyBinding) ob.Input.Extensions.Find (typeof(SoapBodyBinding));
- if (sbb != null && sbb.Use != SoapBindingUse.Literal) return LiteralType.NotLiteral;
- SoapFaultBinding sfb = (SoapFaultBinding) ob.Input.Extensions.Find (typeof(SoapFaultBinding));
- if (sfb != null && sfb.Use != SoapBindingUse.Literal) return LiteralType.NotLiteral;
- SoapHeaderBinding shb = (SoapHeaderBinding) ob.Input.Extensions.Find (typeof(SoapHeaderBinding));
- if (shb != null && shb.Use != SoapBindingUse.Literal) return LiteralType.NotLiteral;
- SoapHeaderFaultBinding shfb = (SoapHeaderFaultBinding) ob.Input.Extensions.Find (typeof(SoapHeaderFaultBinding));
- if (shfb != null && shfb.Use != SoapBindingUse.Literal) return LiteralType.NotLiteral;
- }
- if (ob.Output != null) {
- SoapBodyBinding sbb = (SoapBodyBinding) ob.Output.Extensions.Find (typeof(SoapBodyBinding));
- if (sbb != null && sbb.Use != SoapBindingUse.Literal) return LiteralType.NotLiteral;
- SoapFaultBinding sfb = (SoapFaultBinding) ob.Input.Extensions.Find (typeof(SoapFaultBinding));
- if (sfb != null && sfb.Use != SoapBindingUse.Literal) return LiteralType.NotLiteral;
- SoapHeaderBinding shb = (SoapHeaderBinding) ob.Input.Extensions.Find (typeof(SoapHeaderBinding));
- if (shb != null && shb.Use != SoapBindingUse.Literal) return LiteralType.NotLiteral;
- SoapHeaderFaultBinding shfb = (SoapHeaderFaultBinding) ob.Input.Extensions.Find (typeof(SoapHeaderFaultBinding));
- if (shfb != null && shfb.Use != SoapBindingUse.Literal) return LiteralType.NotLiteral;
- }
- }
- if (style == SoapBindingStyle.Document) return LiteralType.Document;
- else return LiteralType.Rpc;
- }
-
- enum LiteralType {
- NotLiteral,
- Inconsistent,
- Rpc,
- Document
- }
- }
-
- internal class BasicProfileRules
- {
-
- // 3.2 Conformance of Services, Consumers and Registries
-
- // Can't check: R0001
-
- // 3.3 Conformance Annotation in Descriptions
-
- // Can't check: R0002, R0003
-
- // 3.4 Conformance Annotation in Messages
-
- // Can't check: R0004, R0005, R0006, R0007
-
- // 3.5 Conformance Annotation in Registry Data
-
- // UDDI related: R3020, R3030, R3021, R3005, R3004.
-
- // 4.1 XML Representation of SOAP Messages
-
- // Rules not related to service description
-
- // 4.2 SOAP Processing Model
-
- // Rules not related to service description
-
- // 4.3 Use of SOAP in HTTP
-
- // Rules not related to service description
-
- // 5.1 Document structure
-
- public static readonly ConformanceRule R2001 = new ConformanceRule (
- "R2001",
- "A DESCRIPTION MUST only use the WSDL \"import\" statement to import another WSDL description",
- "");
-
- public static readonly ConformanceRule R2002 = new ConformanceRule (
- "R2002",
- "To import XML Schema Definitions, a DESCRIPTION MUST use the XML Schema \"import\" statement",
- "");
-
- public static readonly ConformanceRule R2007 = new ConformanceRule (
- "R2007",
- "A DESCRIPTION MUST specify a non-empty location attribute on the wsdl:import element",
- "");
-
- public static readonly ConformanceRule R2005 = new ConformanceRule (
- "R2005",
- "The targetNamespace attribute on the wsdl:definitions element of a description that is being imported MUST have same the value as the namespace attribute on the wsdl:import element in the importing DESCRIPTION",
- "");
-
- public static readonly ConformanceRule R2026 = new ConformanceRule (
- "R2026",
- "A DESCRIPTION SHOULD NOT include extension elements with a wsdl:required attribute value of \"true\" on any WSDL construct (wsdl:binding, wsdl:portType, wsdl:message, wsdl:types or wsdl:import) that claims conformance to the Profile",
- "");
-
- // 5.2 Types
-
- public static readonly ConformanceRule R2101 = new ConformanceRule (
- "R2101",
- "A DESCRIPTION MUST NOT use QName references to elements in namespaces that have been neither imported, nor defined in the referring WSDL document",
- "");
-
- public static readonly ConformanceRule R2102 = new ConformanceRule (
- "R2102",
- "A QName reference to a Schema component in a DESCRIPTION MUST use the namespace defined in the targetNamespace attribute on the xsd:schema element, or to a namespace defined in the namespace attribute on an xsd:import element within the xsd:schema element",
- "");
-
- public static readonly ConformanceRule R2105 = new ConformanceRule (
- "R2105",
- "All xsd:schema elements contained in a wsdl:types element of a DESCRIPTION MUST have a targetNamespace attribute with a valid and non-null value, UNLESS the xsd:schema element has xsd:import and/or xsd:annotation as its only child element(s)",
- "");
-
- public static readonly ConformanceRule R2110 = new ConformanceRule (
- "R2110",
- "In a DESCRIPTION, array declarations MUST NOT extend or restrict the soapenc:Array type",
- "");
-
- public static readonly ConformanceRule R2111 = new ConformanceRule (
- "R2111",
- "In a DESCRIPTION, array declarations MUST NOT use wsdl:arrayType attribute in the type declaration",
- "");
-
- // R2112: Suggestion.
- // R2113: Not related to servide description
- // R2114: Suggestion.
-
- // 5.3 Messages
-
- public static readonly ConformanceRule R2201 = new ConformanceRule (
- "R2201",
- "A document-literal binding in a DESCRIPTION MUST, in each of its soapbind:body element(s), have at most one part listed in the parts attribute, if the parts attribute is specified",
- "");
-
- public static readonly ConformanceRule R2210 = new ConformanceRule (
- "R2210",
- "If a document-literal binding in a DESCRIPTION does not specify the parts attribute on a soapbind:body element, the corresponding abstract wsdl:message MUST define zero or one wsdl:parts",
- "");
-
- public static readonly ConformanceRule R2203 = new ConformanceRule (
- "R2203",
- "An rpc-literal binding in a DESCRIPTION MUST refer, in its soapbind:body element(s), only to wsdl:part element(s) that have been defined using the type attribute",
- "");
-
- public static readonly ConformanceRule R2204 = new ConformanceRule (
- "R2204",
- "A document-literal binding in a DESCRIPTION MUST refer, in each of its soapbind:body element(s), only to wsdl:part element(s) that have been defined using the element attribute",
- "");
-
- public static readonly ConformanceRule R2205 = new ConformanceRule (
- "R2205",
- "A wsdl:binding in a DESCRIPTION MUST refer, in each of its soapbind:header, soapbind:headerfault and soapbind:fault elements, only to wsdl:part element(s) that have been defined using the element attribute",
- "");
-
- public static readonly ConformanceRule R2209 = new ConformanceRule (
- "R2209",
- "A wsdl:binding in a DESCRIPTION SHOULD bind every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault",
- "");
-
- public static readonly ConformanceRule R2206 = new ConformanceRule (
- "R2206",
- "A wsdl:message in a DESCRIPTION containing a wsdl:part that uses the element attribute MUST refer, in that attribute, to a global element declaration",
- "");
-
- // R2211: Related to message structure
- // R2202: Suggestion.
- // R2207: Optional
- // R2208: Optional
-
- // 5.4 Port Types
-
- // TODO
-
- // 5.5 Bindings
-
- // TODO
-
- // 5.6 SOAP Binding
-
- public static readonly ConformanceRule R2701 = new ConformanceRule (
- "R2701",
- "The wsdl:binding element in a DESCRIPTION MUST be constructed so that its soapbind:binding child element specifies the transport attribute",
- "");
-
- public static readonly ConformanceRule R2702 = new ConformanceRule (
- "R2702",
- "A wsdl:binding element in a DESCRIPTION MUST specify the HTTP transport protocol with SOAP binding. Specifically, the transport attribute of its soapbind:binding child MUST have the value \"http://schemas.xmlsoap.org/soap/http\"",
- "");
-
- public static readonly ConformanceRule R2705 = new ConformanceRule (
- "R2705",
- "A wsdl:binding in a DESCRIPTION MUST use either be a rpc-literal binding or a document-literal binding",
- "");
-
- public static readonly ConformanceRule R2706 = new ConformanceRule (
- "R2706",
- "A wsdl:binding in a DESCRIPTION MUST use the value of \"literal\" for the use attribute in all soapbind:body, soapbind:fault, soapbind:header and soapbind:headerfault elements",
- "");
-
- // R2707: Interpretation rule: A wsdl:binding in a DESCRIPTION that contains one or more soapbind:body, soapbind:fault, soapbind:header or soapbind:headerfault elements that do not specify the use attribute MUST be interpreted as though the value "literal" had been specified in each case
- // R2709: Suggestion.
-
- // TODO
- }
-
- /*
- The following rules cannot be checked:
- R2002, R2003, R4004, R4003, R2022, R2023, R2004, R2010, R2011
- There is no access to the unerlying xml
-
- The following are suggestions:
- R2008, R2112
-
- The following are optional
- R4002, R2020, R2021, R2024, R2114
-
- Can't be checked:
- R2025
-
- Process related
- R2027
-
- TODO: section 5.3
- */
-}
-
-#endif
+++ /dev/null
-//
-// System.Web.Services.Description.BasicProfileViolation.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Collections.Specialized;
-using System.Web.Services;
-
-namespace System.Web.Services.Description
-{
- public class BasicProfileViolation
- {
- WsiClaims _claims;
- StringCollection _elements;
- ConformanceRule _rule;
-
- internal BasicProfileViolation (WsiClaims claims, ConformanceRule rule)
- {
- _claims = claims;
- _rule = rule;
- _elements = new StringCollection ();
- }
-
- public WsiClaims Claims {
- get { return _claims; }
- }
-
- public string Details {
- get { return _rule.Details; }
- }
-
- public StringCollection Elements {
- get { return _elements; }
- }
-
- public string NormativeStatement {
- get { return _rule.NormativeStatement ; }
- }
-
- public string Recommendation {
- get { return _rule.Recommendation; }
- }
-
- public override string ToString ()
- {
- string res = NormativeStatement + ": " + Details;
- foreach (string s in Elements)
- res += "\n - " + s;
- return res;
- }
- }
-}
-
-#endif
+++ /dev/null
-//
-// System.Web.Services.Description.BasicProfileViolationCollection.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Collections;
-
-namespace System.Web.Services.Description
-{
- public class BasicProfileViolationCollection: CollectionBase
- {
- public BasicProfileViolationCollection ()
- {
- }
-
- public BasicProfileViolation this [int index] {
- get { return (BasicProfileViolation) List [index]; }
- set { List [index] = value; }
- }
-
- public int Add (BasicProfileViolation violation)
- {
- return List.Add (violation);
- }
-
- public bool Contains (BasicProfileViolation violation)
- {
- return List.Contains (violation);
- }
-
- public void CopyTo (BasicProfileViolation[] array, int index)
- {
- List.CopyTo (array, index);
- }
-
- public int IndexOf (BasicProfileViolation violation)
- {
- return List.IndexOf (violation);
- }
-
- public void Insert (int index, BasicProfileViolation violation)
- {
- List.Insert (index, violation);
- }
-
- public void Remove (BasicProfileViolation violation)
- {
- List.Remove (violation);
- }
-
- public override string ToString()
- {
- string s = "";
- foreach (BasicProfileViolation violation in List)
- s += violation.ToString () + "\n";
- return s;
- }
- }
-}
-
-#endif
+++ /dev/null
-// \r
-// System.Web.Services.Description.Binding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description \r
-{\r
- [XmlFormatExtensionPoint ("Extensions")]\r
- public sealed class Binding :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
-\r
- #region Fields\r
-\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- OperationBindingCollection operations;\r
- ServiceDescription serviceDescription;\r
- XmlQualifiedName type;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public Binding ()\r
- {\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
-#if !NET_2_0\r
- name = String.Empty;\r
-#endif\r
- operations = new OperationBindingCollection (this);\r
- serviceDescription = null;\r
- type = XmlQualifiedName.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public ServiceDescriptionFormatExtensionCollection Extensions { \r
- get { return extensions; }\r
- }\r
-\r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NCName")] \r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
- [XmlElement ("operation")]\r
- public OperationBindingCollection Operations {\r
- get { return operations; }\r
- }\r
-\r
- public ServiceDescription ServiceDescription {\r
- get { return serviceDescription; }\r
- }\r
-\r
- [XmlAttribute ("type")] \r
- public XmlQualifiedName Type {\r
- get { return type; }\r
- set { type = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (ServiceDescription serviceDescription)\r
- {\r
- this.serviceDescription = serviceDescription;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.BindingCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class BindingCollection : ServiceDescriptionBaseCollection {\r
- \r
- #region Fields\r
-\r
- ServiceDescription serviceDescription;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- internal BindingCollection (ServiceDescription serviceDescription) \r
- : base (serviceDescription)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public Binding this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
- return (Binding) List[index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- public Binding this [string name] {\r
- get { return (Binding) Table[name]; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (Binding binding) \r
- {\r
- Insert (Count, binding);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (Binding binding)\r
- {\r
- return List.Contains (binding);\r
- }\r
-\r
- public void CopyTo (Binding[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- protected override string GetKey (object value) \r
- {\r
- if (!(value is Binding))\r
- throw new InvalidCastException ();\r
- return ((Binding) value).Name;\r
- }\r
-\r
- public int IndexOf (Binding binding)\r
- {\r
- return List.IndexOf (binding);\r
- }\r
-\r
- public void Insert (int index, Binding binding)\r
- {\r
- List.Insert (index, binding);\r
- }\r
- \r
- public void Remove (Binding binding)\r
- {\r
- List.Remove (binding);\r
- }\r
- \r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((Binding) value).SetParent ((ServiceDescription) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-2005-04-11 Lluis Sanchez Gual <lluis@novell.com>
-
- * ServiceDescriptionCollection.cs: Notify the parent importer
- when a service description is added.
- * ServiceDescriptionImporter.cs: Register wsdl docs added to the
- collection.
-
-2005-02-07 Lluis Sanchez Gual <lluis@novell.com>
-
- * HttpSimpleProtocolImporter.cs: Fixed warning.
-
-2004-11-08 Lluis Sanchez Gual <lluis@novell.com>
-
- * HttpPostProtocolReflector.cs: Avoid generating an empty part attribute.
- This was causing problems when importing the wsdl from MS Visual Studio.
-
-2004-10-26 Lluis Sanchez Gual <lluis@novell.com>
-
- * ProtocolImporter.cs, HttpSimpleProtocolImporter.cs,
- SoapProtocolImporter.cs: When appsettingurlkey is provided, generate
- code that reads the url from the config file, instead of doing it at
- the moment of generation. This fixes bug #68795.
-
-2004-10-01 Lluis Sanchez Gual <lluis@novell.com>
-
- * HttpSimpleProtocolImporter.cs: Fix import of arrays of primitive types.
-
-2004-09-13 Lluis Sanchez Gual <lluis@novell.com>
-
- * ServiceDescriptionReflector.cs: Don't generate empty schemas.
-
-2004-09-03 Lluis Sanchez Gual <lluis@novell.com>
-
- * ProtocolImporter.cs: Fixing the fix. The generated class must always
- be added.
-
-2004-09-01 Lluis Sanchez Gual <lluis@novell.com>
-
- * BasicProfileChecker.cs: Some small fixes.
- * FaultBinding.cs: Removed useless code.
- * HttpSimpleProtocolImporter.cs, SoapProtocolImporter.cs: Take into account
- that now we may be generating code for a binding which is not referenced
- by any port. In this case Port is null.
- * MessageBinding.cs: Properly set the parent operation binding.
- * OperationBinding.cs: When adding messages, set its parent property.
- * ProtocolImporter.cs: Support generation of proxies for wsdl documents
- that do not have any Service entry. In this case, it now generates
- a proxy for every binding.
-
-2004-08-24 Lluis Sanchez Gual <lluis@ximian.com>
-
- * BasicProfileChecker.cs: Implemented more rules.
- * ConformanceChecker.cs: Added service list property in
- ConformanceCheckContext.
- * MessagePart.cs: Added some convenient internal properties.
- * OperationMessageCollection.cs: Added property for getting the fault
- message.
- * ServiceDescriptionFormatExtensionCollection.cs: The find method now
- can return subclasses of the provided class.
- * WebServicesInteroperability.cs: Set the context schema when processing
- a schema.
-
-2004-07-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * BasicProfileChecker.cs, ConformanceChecker.cs,
- WebServicesInteroperability.cs: Fixed build errors. I commited before
- it was ready :-(.
-
-2004-07-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * BasicProfileChecker.cs: Added checks for R2101, R2102, R2105, R2110, R2111
- * ConformanceChecker.cs: Added check methods for schema objects.
- * WebServicesInteroperability.cs: Added checks for schema objects.
-
-2004-07-26 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolImporter.cs: Implemented internal method to support
- the new asyc model.
- * ProtocolImporter.cs: Generate code for the new async model.
- Added support for generating server skeletons in addition to client
- proxies.
- * ServiceDescriptionImporter.cs: Removed unneded check.
- * SoapProtocolImporter.cs: Added support for generating server skeletons in
- addition to client proxies.
-
-2004-07-23 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ServiceDescriptionImporter.cs: Fixed bug when getting documents from a
- reference.
- * SoapProtocolImporter.cs: Create code exportes using the corrent generation
- options. Added final attribute to the generated methods (so generated
- methods are not virtual any more).
- * WebServicesInteroperability.cs: Fixed bug when getting documents from a
- reference. Added check for Import elements.
-
-2004-07-22 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ProtocolImporter.cs: Added some internal properties needed for 2.0
- features.
- * ServiceDescriptionImporter.cs: Implemented some 2.0 methods.
- * SoapProtocolImporter.cs: Create xml importers using the correct
- ImportContext and generation options.
- * WebReference.cs: It is now internal for 1.1 profile. Implemented some
- properties.
- * CodeGenerationOptions.cs: Made internal in 1.1 profile.
- * ImportContext.cs: Implemented.
- * XmlSchemaImporter.cs: Implemented some 2.0 constructors.
-
-2004-07-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ConformanceChecker.cs, BasicProfileChecker.cs: New files that implement
- the basic infrastructure for basic profile conformance checking.
- * BasicProfileViolation.cs: Take normative information from the rule object.
- * BasicProfileViolationCollection.cs: Added Add method.
- * ServiceDescriptionFormatExtension.cs: Little fix.
- * WebServicesInteroperability.cs: Implemented basic support for conformance
- checking.
-
-2004-07-13 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Binding.cs, Message.cs, MessageBinding.cs, MessagePart.cs, Operation.cs,
- OperationBinding.cs, OperationMessage.cs, Port.cs, PortType.cs,
- Service.cs, ServiceDescription.cs,
- Name property moved to NamedItem in 2.0.
- * DocumentableItem.cs, ServiceDescriptionFormatExtension.cs,
- ServiceDescriptionImportWarnings.cs, ServiceDescriptionImporter.cs,
- SoapFaultBinding.cs: Added 2.0 api.
- * BasicProfileViolation.cs, BasicProfileViolationCollection.cs,
- NamedItem.cs, Soap12AddressBinding.cs, Soap12Binding.cs,
- Soap12BodyBinding.cs, Soap12FaultBinding.cs, Soap12HeaderBinding.cs,
- Soap12OperationBinding.cs, WebReference.cs, WebReferenceCollection.cs,
- WebServicesInteroperability.cs: Mostly implemented new 2.0 classes.
-
-2004-07-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapProtocolReflector.cs: Don't generate wsdl for unknown header
- attributes.
-
-2004-06-25 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolImporter.cs: Added null check. The XmlTypeMapping for
- the return type will be null if the method returns void.
-
-2004-06-22 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolImporter.cs: Import return types as XmlTypeMapping,
- not as XmlMemberMapping. This allows the use of the correct AddMetadata
- method for generating attributes.
-
-2004-06-11 Gert Driesen <drieseng@users.sourceforge.net>
-
- * SoapProtocolImporter.cs: Added stub for missing IsSoapEncodingPresent
- method
- * MimeContentBinding.cs: removed extra Default attribute from Part
-
-2004-06-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolImporter.cs: Add needed XmlInclude attributes to the
- generated class. Generate the correct data type for input parameters.
- * SoapProtocolImporter.cs: Like in MS.NET, take the first output parameter
- as the return value of the method. When generating a header variable,
- use the type name as the base for the variable name, not the part name.
-
-2004-06-02 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolImporter.cs: Fixed case of generated methods to match
- MS behavior. Always use import input parameters as System.String.
- * ProtocolImporter.cs: Remove _x0020_ from type names.
- * SoapProtocolImporter.cs: Fixed case of generated methods to match
- MS behavior.
-
-2004-06-01 Gert Driesen <drieseng@users.sourceforge.net>
-
- * Binding.cs: removed extra XmlIgnore attribute on ServiceDescription
- * Import.cs: removed extra XmlIgnore attribute on ServiceDescription
- * Message.cs: removed extra XmlIgnore attribute on ServiceDescription
- * MessageBinding.cs: removed extra DefaultValue attribute from Name,
- removed extra XmlIgnoreAttribute from OperationBinding
- * MessagePart.cs: removed extra XmlIgnore attribute on Message
- * MimeContentBinding.cs: removed extra DefaultValue attribute on Part
- * Operation.cs: removed extra XmlIgnore attribute on PortType
- * OperationBinding.cs: removed extra XmlIgnore attribute on Binding
- * OperationMessage.cs: removed extra XmlIgnore attribute on Operation
- * Port.cs: removed extra XmlIgnore attribute on Service
- * PortType.cs: removed extra XmlIgnore on ServiceDescription
- * Service.cs: removed extra XmlIgnore on ServiceDescription
- * ServiceDescriptionFormatExtension.cs: removed extra XmlIgnore
- attribute on Parent
- * SoapHeaderBinding.cs: added XmlElement attribute on Fault
- * HttpSimpleProtocolImporter.cs: removed unused variable
- * ServiceDescriptionImporter.cs: removed unused variable
- * SoapProtocolImporter.cs: removed unused variable
-
-2004-05-25 Lluis Sanchez Gual <lluis@ximian.com>
-
- * BindingCollection.cs: Fixed this[string] property.
-
-2004-05-24 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ProtocolImporter.cs: issue a warning if no services have been found.
-
-2004-03-02 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapBinding.cs: Added missing attributes. The class is not sealed.
- * SoapBodyBinding.cs: Removed unneeded attributes.
-
-2004-03-02 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ProtocolImporter.cs: Little fix in schema classification.
-
-2004-02-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ExtensionManager.cs: Create all serializers for soap extensions at once.
- * HttpSimpleProtocolImporter.cs: Assign the correct set of schemas to the
- schema importers (do not mix literal schemas with encoded schemas).
- * ProtocolImporter.cs: Added LiteralSchemas and EncodedSchemas properties.
- Separation between literal and encoded schemas is needed to avoid importing
- for example a literal schema as encoded. Also implemented ClasifySchemas,
- which separates literal from encoded schemas. I really don't like doing it
- in this way, but I haven't found another way.
- * SoapProtocolImporter.cs: Add type include attributes to the generated
- proxy classes.
-
-2004-02-11 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapProtocolReflector.cs: Fixed bug #53247. Element name asigned to the
- message part (in literal+bare format) was incorrect.
-
-2004-01-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapProtocolImporter.cs, SoapProtocolReflector.cs: Support methods with
- "any" as return type. In this case, the part of the return message contains
- a reference to the type that describes the "any" element.
-
-2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ExtensionManager.cs: Support more than one XmlFormatExtensionPrefixAttribute
- un one soap extension.
- * HttpSimpleProtocolImporter.cs: Made class internal.
- * HttpSimpleProtocolReflector.cs.cs: ReflectMethodBinding(): GET and POST
- do not use method bindings. Return null.
- * ProtocolReflector.cs: Several fixes: do not generate binding if it doesn't
- have any operation, avoid port and binding name colisions, and other minor
- fixes.
- * ServiceDescription.cs: Collect the namespaces to be added to the root
- element of a serializaed wsdl document from the soap extensions.
- * ServiceDescriptionSerializerBase.cs: Made classes internal.
- * SoapAddressBinding.cs, SoapFaultBinding.cs, SoapOperationBinding.cs,
- SoapProtocolImporter.cs: Class should not be sealed.
- * SoapBodyBinding.cs: Set the correct class attributes.
- * SoapHeaderBinding.cs: Class should not be sealed. Added missing method.
- * SoapHeaderFaultBinding.cs: Fixed class attributes.
-
-2004-01-21 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolImporter.cs: pass the web service class list to the xml
- importers to make sure that no data classes are created with the same
- name as the web service.
- * ProtocolImporter.cs: Use port name as class name only if there is more
- than one port using the same protocol. This fixes big #52742.
-
-2004-01-19 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolReflector.cs, SoapProtocolReflector.cs:
- Use GetWebServiceLiteralNamespace instead of WebServiceLiteralNamespace.
- * ProtocolReflector.cs: Port names must be unique in a service description.
- This fixes bug #53019.
- * ProtocolImporter.cs: Little fix.
-
-2004-01-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ProtocolImporter.cs, SoapProtocolImporter.cs: Added support for OneWay
- operations (those don't have output message).
- * SoapProtocolReflector.cs: Set the correct element name and
- namespace for headers (those are not managed like other data classes).
-
-2004-01-13 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ProtocolReflector.cs: in the case a new ServiceDescription is created,
- the name of the BindingInfo was not copied into the new ServiceDescriptor.
- Patch by Yaacov Akiba Slama.
-
-2003-12-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolImporter.cs: In ImportOutMembersMapping(), support part
- without element name (use anyType in this case).
- In GetOutMimeFormatter(), support MimeContentBinding.
- * ProtocolImporter.cs, SoapProtocolImporter.cs: Improved error and warning
- handling. Minor fixes.
-
-2003-11-11 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ServiceDescription.cs, SoapBinding.cs, SoapHeaderBinding.cs,
- SoapHeaderFaultBinding.cs: Removed some TODOs and FIXMEs.
-
-2003-10-20 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ServiceDescription.cs: Fixed implementation of CanRead.
-
-2003-10-15 Lluis Sanchez Gual <lluis@ximian.com>
-
- * MessageBinding.cs: Name property should be null by default.
- * ProtocolImporter.cs: Take into account the previous change.
-
-2003-10-15 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolReflector.cs, ProtocolReflector.cs:
- Fixed naming of messages.
- * ProtocolImporter.cs: It now iterates through all bindings. It creates
- a namespace for all bindings.
- * ServiceDescriptionImporter.cs: Some code moved to ProtocolImporter.
- * SoapProtocolImporter.cs: Improved support for RPC format. It now is working.
-
-2003-10-13 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleProtocolReflector.cs, SoapProtocolReflector.cs:
- Get the namespace for literal types from LogicalTypeInfo, since it may not
- be the same as the service namespace.
- * ProtocolReflector.cs: Access LogicalTypeInfo to get WS info common to
- all protocols.
- * ServiceDescription.cs: Added soap/encoded namespace.
- * SoapProtocolImporter.cs: Added some bits of RPC format support.
-
-2003-10-06 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ProtocolImporter.cs: Moved some code to ServiceDescriptionImporter.
- WebServiceBindingAttribute addition moved to SoapProtocolImporter.
- Moved GetServiceUrl here (from SoapProtocolImporter).
- * ServiceDescriptionImporter.cs: Added support for HttpGet and HttpPost
- importers.
- * SoapProtocolImporter.cs: Minor fixes.
- * HttpSimpleProtocolImporter.cs, HttpGetProtocolImporter.cs,
- HttpPostProtocolImporter.cs: new files that implement HttpGet and HttpPost
- importers.
-
-2003-10-04 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ProtocolReflector.cs: The ReflectionImporter property now creates a
- reflector if the TypeStubInfo does not provide one.
- Do not create XmlSchemaExporter. Take it from the service reflector, sine
- it must be reused for all protocol reflectors. Moved some code to
- SoapProtocolReflector, since it cannot be reused for all reflectors.
- * ServiceDescriptionReflector.cs: Reflect the type for all available
- protocols.
- * SoapProtocolReflector.cs: Moved here some code from ProtoclReflector.
- * HttpGetProtocolReflector.cs, HttpPostProtocolReflector.cs,
- HttpSimpleProtocolReflector.cs: new files.
-
-2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ProtocolReflector.cs: Adapted to the changes in TypeStubInfo. Moved some
- common code to ServiceDescriptionReflector.
- * ServiceDescriptionReflector.cs: Moved some code from ProtocolReflector.cs
-
-2003-09-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ExtensionManager.cs: Read extension types from the configuration file.
- Added methods for getting extension importers and reflectors.
- * ProtocolImporter.cs: Implemented.
- * ProtocolReflector.cs: Implemented.
- * ServiceDescriptionCollection.cs: Fixed some methods for finding wsdl
- elements.
- * ServiceDescriptionImporter.cs: moved most of the code to ProtocolImporter.
- * ServiceDescriptionReflector.cs: moved most of the code to
- ProtocolReflector and SoapProtocolReflector.
- * SoapProtocolImporter.cs: Implemented.
- * SoapProtocolReflector.cs: Implemented.
- * SoapTransportImporter.cs: Implemented.
- * SoapHttpTransportImporter.cs: Implemented.
- * wsdl.genxs: Added.
-
-2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DocumentableItem.cs MimeContentBinding.cs OperationMessage.cs
- OperationMessageCollection.cs PortCollection.cs PortType.cs
- PortTypeCollection.cs ServiceCollection.cs ServiceDescriptionCollection.cs
- SoapBodyBinding.cs SoapOperationBinding.cs: Several fixes by Erik LeBel
- * ServiceDescriptionImporter.cs:
- * ServiceDescriptionSerializerBase.cs: regenerated after the changes in
- the service description changes.
- * ServiceDescriptionReflector.cs: Fixed generation of message parts in
- bare format.
-
-2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ServiceDescriptionImporter.cs, ServiceDescriptionReflector.cs: Added
- first bits of encoded format support.
-
-2003-09-04 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ServiceDescription.cs: minor fixes.
- * ServiceDescriptionImporter.cs: initial implementation.
- * ServiceDescriptionReflector.cs: Added support for bare parameter style.
- Added support for encoded format.
-
-2003-09-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ExtensionManager.cs: Added
- * ServiceDescriptionSerializerBase.cs. Added
- * ServiceDescription.cs: Reenabled suspport for serialization.
- * ServiceDescriptionReflector.cs: Import type and method documentation.
-
-2003-08-29 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ServiceDescription.cs: Disabled suspport for serialization, until I found
- an easy way of generate serialization readers and writers.
-
-2003-08-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * MessageBinding.cs: Added default value attribute for Name property.
- * OperationMessage.cs: Added default value attribute for Name property.
- * ServiceDescription.cs: Changed order of some properties, so they are
- serialized in the right order.
- Added GetNamespaceList(), which returns the namespaces to add when serializing
- the document.
- Implemented classes ServiceDescriptionSerializer and ServiceDescriptionWriter,
- that extends the XmlSerializer by adding suport for XmlFormatExtensions.
- * ServiceDescriptionReflector.cs: Basic implementation (no support for
- extensions yet).
- * SoapBinding.cs: Fixed namespace name.
- * SoapBodyBinding.cs: Added null check in PartsString property.
- * SoapOperationBinding.cs: Fixed namespace name.
-
-2003-07-22 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Binding.cs, Import.cs, Message.cs, MessageBinding.cs, MessagePart.cs,
- Operation.cs, OperationBinding.cs, OperationMessage.cs, Port.cs,
- PortType.cs, Service.cs: Added XmlIgnore attributes to properties
- referencing parent objects.
- * OperationMessageCollection.cs: Fixed wrong OnInsert method
- * ServiceDescription.cs: Removed unneeded methods in
- ServiceDescriptionSerializer.
-
-2002-08-20 Tim Coleman <tim@timcoleman.com>
- * ServiceDescription.cs:
- Add ServiceDescription.ServiceDescriptionSerializer
- class.
- * ServiceDescriptionFormatExtensionCollection.cs:
- Remove reference to "parent".
-
-2002-08-19 Tim Coleman <tim@timcoleman.com>
- * BindingCollection.cs:
- Use base constructor, remove SetParent call
- * FaultBindingCollection.cs:
- * ImportCollection.cs:
- * MessageCollection.cs:
- * MessagePartCollection.cs:
- * OperationBindingCollection.cs:
- * OperationCollection.cs:
- * OperationFaultCollection.cs:
- * PortCollection.cs:
- * PortTypeCollection.cs:
- * ServiceCollection.cs:
- * ServiceDescriptionFormatExtensionCollection.cs:
- Use base constructor
- * ServiceDescriptionCollection.cs:
- Use base constructor, Remove SetParent method
- * ServiceDescriptionBaseCollection.cs:
- Make parent object private as according to
- class status page.
- * OperationMessageCollection.cs:
- Use base constructor
- Remove excess break's to avoid compiler warning
- Remove TODO attribute (confirmed default retval)
-
-2002-08-15 Tim Coleman <tim@timcoleman.com>
- * FaultBindingCollection.cs:
- * ImportCollection.cs:
- * MessageCollection.cs:
- * MessagePartCollection.cs:
- * OperationBindingCollection.cs:
- * OperationCollection.cs:
- * OperationFaultCollection.cs:
- * OperationMessageCollection.cs:
- * PortCollection.cs:
- * PortTypeCollection.cs:
- * ServiceCollection.cs:
- * ServiceDescriptionFormatExtensionCollection.cs:
- Use parent from ServiceDescriptionBaseCollection
- * ServiceDescriptionCollection.cs:
- Use parent from ServiceDescriptionBaseCollection
- Implement SetParent () method
- * ServiceDescriptionBaseCollection.cs:
- Add "parent" object.
- Add SetParent call to OnSet() and OnInsert ()
-
-2002-08-12 Tim Coleman <tim@timcoleman.com>
- * Operation.cs:
- Fix ParameterOrderString in case ParameterOrder is
- null.
- * BindingCollection.cs:
- Remove Table handling on insert/delete/indexer
- because it is handled in base class.
- * ServiceDescriptionBaseCollection.cs:
- Only add an element to the hashtable if its GetKey ()
- method does not return null.
-
-2002-08-09 Tim Coleman <tim@timcoleman.com>
- * BindingCollection.cs:
- * ServiceDescriptionCollection.cs:
- Implement Set indexer
- * FaultBindingCollection.cs:
- * MessageCollection.cs:
- * MessagePartCollection.cs:
- * OperationFaultCollection.cs:
- * PortCollection.cs:
- * PortTypeCollection.cs:
- * ServiceCollection.cs:
- Implement Set indexer, code cleanup
- * Message.cs:
- Implement FindPartByName ()
- * OperationMessageCollection.cs:
- Alter OnSet () method
- * ServiceDescriptionBaseCollection.cs:
- Implement some methods.
- * ServiceDescriptionFormatExtensionCollection.cs:
- Implement Find (), FindAll (), OnValidate () methods
-
-
-2002-08-06 Tim Coleman <tim@timcoleman.com>
- * ServiceDescription.cs:
- Add namespace definitions when serializing.
- * HttpBinding.cs:
- Change namespace definition (wsdl was spelt wsld)
-
-2002-08-06 Tim Coleman <tim@timcoleman.com>
- * ServiceDescription.cs:
- Change the XmlElement name from "type" to "types" for
- the Types object
-
-2002-08-06 Tim Coleman <tim@timcoleman.com>
- * ServerProtocol.cs:
- Add new class as implied by class statuc page.
- SoapServerProtocol is derived from this.
- * SoapServerProtocol.cs:
- Change base class to ServerProtocol.
- * SoapClientMethod.cs:
- This class should not be sealed.
-
-2002-08-03 Tim Coleman <tim@timcoleman.com>
- * SoapProtocolReflector.cs:
- Removed SoapBinding property and made the class
- not sealed to agree with class reference page.
-
-2002-08-03 Tim Coleman <tim@timcoleman.com>
- * ServiceDescriptionBaseCollection.cs:
- Removed some NotImplementedException()'s so that
- it runs.
-
-2002-07-26 Tim Coleman <tim@timcoleman.com>
- * ServiceDescription.cs:
- Changed the creation of the XmlSerializer after
- consulting the System.Xml.Serialization namespace
- and trying to serialize a document. Now works somewhat!
-
-2002-07-25 Tim Coleman <tim@timcoleman.com>
- * OperationMessageCollection.cs:
- Some implementation of this class after consulting a
- WSDL reference. Now validates the inputs.
-
-2002-07-24 Tim Coleman <tim@timcoleman.com>
- * ProtocolImporter.cs:
- * ProtocolReflector.cs:
- Some implementation of these classes. MonoTODO's begone!
- * SoapProtocolImporter.cs:
- Changed description to literal string "Soap"
- * SoapProtocolReflector.cs:
- Added a new class based on guesswork and conjecture.
-
-2002-07-24 Tim Coleman <tim@timcoleman.com>
- * ServiceDescription.cs:
- Implement Read/Write methods for serialization/
- deserialization.
-
-2002-07-23 Tim Coleman <tim@timcoleman.com>
- * ServiceDescription.cs:
- Add XmlIgnore attribute to ServiceDescriptions property
- * OperationFlow.cs:
- * ServiceDescriptionImportWarnings.cs:
- Explicitly set values in enumeration to match
- .NET.
-
-2002-07-22 Tim Coleman <tim@timcoleman.com>
- * Binding.cs:
- * BindingCollection.cs:
- * DocumentableItem.cs:
- * FaultBinding.cs:
- * FaultBindingCollection.cs:
- * HttpAddressBinding.cs:
- * HttpBinding.cs:
- * HttpOperationBinding.cs:
- * HttpUrlEncodedBinding.cs:
- * HttpUrlReplacementBinding.cs:
- * Import.cs:
- * ImportCollection.cs:
- * InputBinding.cs:
- * Message.cs:
- * MessageBinding.cs:
- * MessageCollection.cs:
- * MessagePart.cs:
- * MessagePartCollection.cs:
- * MimeContentBinding.cs:
- * MimeMultipartRelatedBinding.cs:
- * MimePart.cs:
- * MimePartCollection.cs:
- * MimeTextBinding.cs:
- * MimeTextMatch.cs:
- * MimeTextMatchCollection.cs:
- * MimeXmlBinding.cs:
- * Operation.cs:
- * OperationBinding.cs:
- * OperationBindingCollection.cs:
- * OperationCollection.cs:
- * OperationFaultCollection.cs:
- * OperationFlow.cs:
- * OperationMessage.cs:
- * OperationMessageCollection.cs:
- * OutputBinding.cs:
- * Port.cs:
- * PortCollection.cs:
- * PortType.cs:
- * PortTypeCollection.cs:
- * ProtocolImporter.cs:
- * Service.cs:
- * ServiceCollection.cs:
- * ServiceDescription.cs:
- * ServiceDescriptionBaseCollection.cs:
- * ServiceDescriptionCollection.cs:
- * ServiceDescriptionFormatExtension.cs:
- * ServiceDescriptionFormatExtensionCollection.cs:
- * ServiceDescriptionImportWarnings.cs:
- * SoapAddressBinding.cs:
- * SoapBinding.cs:
- * SoapBindingStyle.cs:
- * SoapBindingUse.cs:
- * SoapBodyBinding.cs:
- * SoapExtensionImporter.cs:
- * SoapExtensionReflector.cs:
- * SoapFaultBinding.cs:
- * SoapHeaderBinding.cs:
- * SoapHeaderFaultBinding.cs:
- * SoapOperationBinding.cs:
- * SoapTransportImporter.cs:
- * Types.cs:
- 1. Add missing attributes as determined by reflection
- 2. Fix protection levels where appropriate
- 3. Add missing items where appropriate
- Basically, this was a change to remove all the X's from
- the project status page for this namespace :)
-
-2002-07-19 Tim Coleman <tim@timcoleman.com>
- * Binding.cs:
- * BindingCollection.cs:
- * ChangeLog:
- * DocumentableItem.cs:
- * FaultBinding.cs:
- * FaultBindingCollection.cs:
- * HttpAddressBinding.cs:
- * HttpBinding.cs:
- * HttpOperationBinding.cs:
- * HttpUrlEncodedBinding.cs:
- * HttpUrlReplacementBinding.cs:
- * Import.cs:
- * ImportCollection.cs:
- * InputBinding.cs:
- * Message.cs:
- * MessageBinding.cs:
- * MessageCollection.cs:
- * MessagePart.cs:
- * MessagePartCollection.cs:
- * MimeContentBinding.cs:
- * MimeMultipartRelatedBinding.cs:
- * MimePart.cs:
- * MimePartCollection.cs:
- * MimeTextBinding.cs:
- * MimeTextMatch.cs:
- * MimeTextMatchCollection.cs:
- * MimeXmlBinding.cs:
- * Operation.cs:
- * OperationBinding.cs:
- * OperationBindingCollection.cs:
- * OperationCollection.cs:
- * OperationFault.cs:
- * OperationFaultCollection.cs:
- * OperationFlow.cs:
- * OperationInput.cs:
- * OperationMessage.cs:
- * OperationMessageCollection.cs:
- * OperationOutput.cs:
- * OutputBinding.cs:
- * Port.cs:
- * PortCollection.cs:
- * PortType.cs:
- * PortTypeCollection.cs:
- * ProtocolImporter.cs:
- * ProtocolReflector.cs:
- * Service.cs:
- * ServiceCollection.cs:
- * ServiceDescription.cs:
- * ServiceDescriptionBaseCollection.cs:
- * ServiceDescriptionCollection.cs:
- * ServiceDescriptionFormatExtension.cs:
- * ServiceDescriptionFormatExtensionCollection.cs:
- * ServiceDescriptionImportStyle.cs:
- * ServiceDescriptionImportWarnings.cs:
- * ServiceDescriptionImporter.cs:
- * ServiceDescriptionReflector.cs:
- * SoapAddressBinding.cs:
- * SoapBinding.cs:
- * SoapBindingStyle.cs:
- * SoapBindingUse.cs:
- * SoapBodyBinding.cs:
- * SoapExtensionImporter.cs:
- * SoapExtensionReflector.cs:
- * SoapFaultBinding.cs:
- * SoapHeaderBinding.cs:
- * SoapHeaderFaultBinding.cs:
- * SoapOperationBinding.cs:
- * SoapProtocolImporter.cs:
- * SoapTransportImporter.cs:
- * Types.cs:
- Initial implementation
+++ /dev/null
-//
-// System.Web.Services.Description.ConformanceChecker.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Xml.Schema;
-using System.Xml.Serialization;
-
-namespace System.Web.Services.Description
-{
- internal abstract class ConformanceChecker
- {
- public abstract WsiClaims Claims { get; }
-
- public virtual void Check (ConformanceCheckContext ctx, Binding value) { }
- public virtual void Check (ConformanceCheckContext ctx, MessageBinding value) { }
- public virtual void Check (ConformanceCheckContext ctx, Import value) { }
- public virtual void Check (ConformanceCheckContext ctx, Message value) { }
- public virtual void Check (ConformanceCheckContext ctx, MessagePart value) { }
- public virtual void Check (ConformanceCheckContext ctx, Operation value) { }
- public virtual void Check (ConformanceCheckContext ctx, OperationBinding value) { }
- public virtual void Check (ConformanceCheckContext ctx, OperationMessage value) { }
- public virtual void Check (ConformanceCheckContext ctx, Port value) { }
- public virtual void Check (ConformanceCheckContext ctx, PortType value) { }
- public virtual void Check (ConformanceCheckContext ctx, Service value) { }
- public virtual void Check (ConformanceCheckContext ctx, ServiceDescription value) { }
- public virtual void Check (ConformanceCheckContext ctx, Types value) { }
- public virtual void Check (ConformanceCheckContext ctx, ServiceDescriptionFormatExtension value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaObject value) {}
-
- public virtual void Check (ConformanceCheckContext ctx, XmlSchema s) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaImport value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaAll value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaAnnotation value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaAttribute value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaAttributeGroup value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaAttributeGroupRef value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaComplexContentExtension value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaChoice value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaComplexContent value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaComplexContentRestriction value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaComplexType value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaElement value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaGroup value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaGroupRef value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaIdentityConstraint value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaKeyref value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaRedefine value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaSequence value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaSimpleContent value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaSimpleContentExtension value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaSimpleContentRestriction value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaSimpleType value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaSimpleTypeList value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaSimpleTypeRestriction value) {}
- public virtual void Check (ConformanceCheckContext ctx, XmlSchemaSimpleTypeUnion value) {}
- }
-
- internal class ConformanceRule
- {
- public string NormativeStatement;
- public string Details;
- public string Recommendation;
-
- public ConformanceRule (string name, string desc, string rec)
- {
- NormativeStatement = name;
- Details = desc;
- Recommendation = rec;
- }
- }
-
- internal class ConformanceCheckContext
- {
- BasicProfileViolationCollection violations;
- ServiceDescriptionCollection collection;
- WebReference webReference;
- ConformanceChecker checker;
- public ServiceDescription ServiceDescription;
- public XmlSchema CurrentSchema;
- XmlSchemas schemas = new XmlSchemas ();
- ServiceDescriptionCollection services;
-
- public ConformanceCheckContext (ServiceDescriptionCollection collection, BasicProfileViolationCollection violations)
- {
- this.collection = collection;
- this.violations = violations;
- foreach (ServiceDescription sd in collection) {
- if (sd.Types != null && sd.Types.Schemas != null)
- schemas.Add (sd.Types.Schemas);
- }
- services = collection;
- }
-
- public ConformanceCheckContext (WebReference webReference, BasicProfileViolationCollection violations)
- {
- this.webReference = webReference;
- this.violations = violations;
- services = new ServiceDescriptionCollection ();
-
- foreach (object doc in webReference.Documents.Values)
- {
- if (doc is XmlSchema)
- schemas.Add ((XmlSchema)doc);
- else if (doc is ServiceDescription) {
- ServiceDescription sd = (ServiceDescription) doc;
- services.Add (sd);
- if (sd.Types != null && sd.Types.Schemas != null)
- schemas.Add (sd.Types.Schemas);
- }
- }
- }
-
- public ConformanceChecker Checker {
- get { return checker; }
- set { checker = value; }
- }
-
- public BasicProfileViolationCollection Violations {
- get { return violations; }
- }
-
- public XmlSchemas Schemas {
- get { return schemas; }
- }
-
- public ServiceDescriptionCollection Services {
- get { return services; }
- }
-
- public object GetDocument (string url)
- {
- if (collection != null)
- return null;
- else
- return webReference.Documents [url];
- }
-
- public void ReportError (object currentObject, string msg)
- {
- throw new InvalidOperationException (msg + " (" + GetDescription (currentObject) + ")");
- }
-
- public void ReportRuleViolation (object currentObject, ConformanceRule rule)
- {
- BasicProfileViolation v = null;
- foreach (BasicProfileViolation bpv in violations) {
- if (bpv.NormativeStatement == rule.NormativeStatement) {
- v = bpv;
- break;
- }
- }
-
- if (v == null) {
- v = new BasicProfileViolation (checker.Claims, rule);
- violations.Add (v);
- }
-
- v.Elements.Add (GetDescription (currentObject));
- }
-
- string GetDescription (object obj)
- {
- if (obj is ServiceDescription) {
- return "Service Description '" + ServiceDescription.TargetNamespace + "'";
- }
- else if (obj is Binding || obj is Message || obj is PortType || obj is Service) {
- return GetNamedItemDescription (obj, ServiceDescription);
- }
- else if (obj is Import) {
- return GetItemDescription (obj, ServiceDescription, ((Import)obj).Location);
- }
- else if (obj is MessageBinding) {
- return GetNamedItemDescription (obj, ((MessageBinding)obj).OperationBinding);
- }
- else if (obj is MessagePart) {
- return GetNamedItemDescription (obj, ((MessagePart)obj).Message);
- }
- else if (obj is Operation) {
- return GetNamedItemDescription (obj, ((Operation)obj).PortType);
- }
- else if (obj is OperationBinding) {
- return GetNamedItemDescription (obj, ((OperationBinding)obj).Binding);
- }
- else if (obj is OperationMessage) {
- return GetNamedItemDescription (obj, ((OperationMessage)obj).Operation);
- }
- else if (obj is Port) {
- return GetNamedItemDescription (obj, ((Port)obj).Service);
- }
- else if (obj is ServiceDescriptionFormatExtension) {
- ServiceDescriptionFormatExtension ext = (ServiceDescriptionFormatExtension) obj;
- return GetItemDescription (ext, ext.Parent, ext.GetType().Name);
- }
- else if (obj is XmlSchema) {
- if (ServiceDescription == null)
- return "Schema '" + ((XmlSchema)obj).TargetNamespace + "'";
- else
- return "Schema '" + ((XmlSchema)obj).TargetNamespace + "', in " + GetDescription (ServiceDescription);
- }
- else if (obj is XmlSchemaObject) {
- return obj.GetType().Name + " in Schema " + GetDescription (CurrentSchema);
- }
- return obj.GetType().Name;
- }
-
- string GetNamedItemDescription (object item, object parent)
- {
- return item.GetType().Name + " '" + ((NamedItem)item).Name + "', in " + GetDescription (parent);
- }
-
- string GetItemDescription (object item, object parent, string name)
- {
- return item.GetType().Name + " '" + name + "' in " + GetDescription (parent);
- }
- }
-}
-
-#endif
+++ /dev/null
-// \r
-// System.Web.Services.Description.DocumentableItem.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Xml.Serialization;\r
-using System.Xml;\r
-\r
-namespace System.Web.Services.Description {\r
- public abstract class DocumentableItem {\r
-\r
- #region Fields\r
-\r
- string documentation;\r
-\r
-#if NET_2_0\r
- XmlElement docElement;\r
-#endif\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- protected DocumentableItem ()\r
- {\r
- documentation = String.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
-#if NET_2_0\r
- [XmlIgnore]\r
- public string Documentation {\r
- get { \r
- return docElement != null ? docElement.InnerText : ""; \r
- }\r
- \r
- set {\r
- if (value == null)\r
- docElement = null;\r
- else {\r
- XmlDocument doc = new XmlDocument ();\r
- docElement = doc.CreateElement ("wsdl", "documentation", "http://schemas.xmlsoap.org/wsdl/");\r
- docElement.InnerText = value;\r
- }\r
- }\r
- }\r
- \r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- [XmlAnyElement (Name="documentation", Namespace="http://schemas.xmlsoap.org/wsdl/")]\r
- public XmlElement DocumentationElement {\r
- get { return docElement; }\r
- set { docElement = value; }\r
- }\r
-#else\r
- [XmlElement ("documentation")]\r
- [DefaultValue ("")]\r
- public string Documentation {\r
- get { return documentation; }\r
- set {\r
- if (value == null)\r
- documentation = String.Empty;\r
- else\r
- documentation = value;\r
- }\r
- }\r
- \r
-#endif\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.ExtensionManager.cs\r
-//\r
-// Author:\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) 2003 Ximian, Inc.\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Reflection;\r
-using System.Collections;\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-using System.Xml;\r
-\r
-namespace System.Web.Services.Description \r
-{\r
- internal abstract class ExtensionManager \r
- {\r
- static Hashtable extensionsByName;\r
- static Hashtable extensionsByType;\r
- static ArrayList maps = new ArrayList ();\r
- static ArrayList extensions = new ArrayList ();\r
-\r
- static ExtensionManager ()\r
- {\r
- extensionsByName = new Hashtable ();\r
- extensionsByType = new Hashtable ();\r
-\r
- RegisterExtensionType (typeof (HttpAddressBinding));\r
- RegisterExtensionType (typeof (HttpBinding));\r
- RegisterExtensionType (typeof (HttpOperationBinding));\r
- RegisterExtensionType (typeof (HttpUrlEncodedBinding));\r
- RegisterExtensionType (typeof (HttpUrlReplacementBinding));\r
- RegisterExtensionType (typeof (MimeContentBinding));\r
- RegisterExtensionType (typeof (MimeMultipartRelatedBinding));\r
- RegisterExtensionType (typeof (MimeTextBinding));\r
- RegisterExtensionType (typeof (MimeXmlBinding));\r
- RegisterExtensionType (typeof (SoapAddressBinding));\r
- RegisterExtensionType (typeof (SoapBinding));\r
- RegisterExtensionType (typeof (SoapBodyBinding));\r
- RegisterExtensionType (typeof (SoapFaultBinding));\r
- RegisterExtensionType (typeof (SoapHeaderBinding));\r
-// RegisterExtensionType (typeof (SoapHeaderFaultBinding));\r
- RegisterExtensionType (typeof (SoapOperationBinding));\r
- \r
- foreach (Type type in WSConfig.Instance.FormatExtensionTypes)\r
- RegisterExtensionType (type);\r
- \r
- CreateExtensionSerializers ();\r
- }\r
- \r
- static void RegisterExtensionType (Type type)\r
- {\r
- ExtensionInfo ext = new ExtensionInfo();\r
- ext.Type = type;\r
- \r
- object[] ats = type.GetCustomAttributes (typeof(XmlFormatExtensionPrefixAttribute), true);\r
- \r
- foreach (XmlFormatExtensionPrefixAttribute at in ats)\r
- ext.NamespaceDeclarations.Add (new XmlQualifiedName (at.Prefix, at.Namespace));\r
- \r
- ats = type.GetCustomAttributes (typeof(XmlFormatExtensionAttribute), true);\r
- if (ats.Length > 0)\r
- {\r
- XmlFormatExtensionAttribute at = (XmlFormatExtensionAttribute)ats[0];\r
- ext.ElementName = at.ElementName;\r
- if (at.Namespace != null) ext.Namespace = at.Namespace;\r
- }\r
-\r
- XmlRootAttribute root = new XmlRootAttribute ();\r
- root.ElementName = ext.ElementName;\r
- if (ext.Namespace != null) root.Namespace = ext.Namespace;\r
-\r
- XmlReflectionImporter ri = new XmlReflectionImporter ();\r
- XmlTypeMapping map = ri.ImportTypeMapping (type, root);\r
- \r
- if (ext.ElementName == null) throw new InvalidOperationException ("XmlFormatExtensionAttribute must be applied to type " + type);\r
- extensionsByName.Add (ext.Namespace + " " + ext.ElementName, ext);\r
- extensionsByType.Add (type, ext);\r
- \r
- maps.Add (map);\r
- extensions.Add (ext);\r
- }\r
- \r
- static void CreateExtensionSerializers ()\r
- {\r
- XmlSerializer[] sers = XmlSerializer.FromMappings ((XmlMapping[]) maps.ToArray (typeof(XmlMapping)));\r
- for (int n=0; n<sers.Length; n++)\r
- ((ExtensionInfo)extensions[n]).Serializer = sers[n];\r
- \r
- maps = null;\r
- extensions = null;\r
- }\r
- \r
- public static ExtensionInfo GetFormatExtensionInfo (string elementName, string namesp)\r
- {\r
- return (ExtensionInfo) extensionsByName [namesp + " " + elementName];\r
- }\r
- \r
- public static ExtensionInfo GetFormatExtensionInfo (Type extType)\r
- {\r
- return (ExtensionInfo) extensionsByType [extType];\r
- }\r
- \r
- public static ICollection GetFormatExtensions ()\r
- {\r
- return extensionsByName.Values;\r
- }\r
-\r
- public static ServiceDescriptionFormatExtensionCollection GetExtensionPoint (object ob)\r
- {\r
- Type type = ob.GetType ();\r
- object[] ats = type.GetCustomAttributes (typeof(XmlFormatExtensionPointAttribute), true);\r
- if (ats.Length == 0) return null;\r
-\r
- XmlFormatExtensionPointAttribute at = (XmlFormatExtensionPointAttribute)ats[0];\r
- \r
- PropertyInfo prop = type.GetProperty (at.MemberName);\r
- if (prop != null)\r
- return prop.GetValue (ob, null) as ServiceDescriptionFormatExtensionCollection;\r
- else {\r
- FieldInfo field = type.GetField (at.MemberName);\r
- if (field != null)\r
- return field.GetValue (ob) as ServiceDescriptionFormatExtensionCollection;\r
- else\r
- throw new InvalidOperationException ("XmlFormatExtensionPointAttribute: Member " + at.MemberName + " not found");\r
- }\r
- }\r
- \r
- public static ArrayList BuildExtensionImporters ()\r
- {\r
- return BuildExtensionList (WSConfig.Instance.ExtensionImporterTypes);\r
- }\r
- \r
- public static ArrayList BuildExtensionReflectors ()\r
- {\r
- return BuildExtensionList (WSConfig.Instance.ExtensionReflectorTypes);\r
- }\r
- \r
- public static ArrayList BuildExtensionList (ArrayList exts)\r
- {\r
- ArrayList extensionTypes = new ArrayList ();\r
- \r
- if (exts != null)\r
- {\r
- foreach (WSExtensionConfig econf in exts)\r
- {\r
- bool added = false;\r
- for (int n=0; n<extensionTypes.Count && !added; n++)\r
- {\r
- WSExtensionConfig cureconf = (WSExtensionConfig) extensionTypes [n];\r
- \r
- if ((econf.Group < cureconf.Group) || ((econf.Group == cureconf.Group) && (econf.Priority < cureconf.Priority))) {\r
- extensionTypes.Insert (n, econf);\r
- added = true;\r
- }\r
- }\r
- if (!added) extensionTypes.Add (econf);\r
- }\r
- }\r
-\r
- ArrayList extensions = new ArrayList (extensionTypes.Count);\r
- foreach (WSExtensionConfig econf in extensionTypes)\r
- extensions.Add (Activator.CreateInstance (econf.Type));\r
- \r
- return extensions;\r
- }\r
- }\r
- \r
- internal class ExtensionInfo\r
- {\r
- ArrayList _namespaceDeclarations;\r
- string _namespace;\r
- string _elementName;\r
- Type _type;\r
- XmlSerializer _serializer;\r
-\r
- public ArrayList NamespaceDeclarations\r
- {\r
- get { \r
- if (_namespaceDeclarations == null) _namespaceDeclarations = new ArrayList ();\r
- return _namespaceDeclarations; \r
- }\r
- }\r
- \r
- public string Namespace\r
- {\r
- get { return _namespace; }\r
- set { _namespace = value; }\r
- }\r
- \r
- public string ElementName\r
- {\r
- get { return _elementName; }\r
- set { _elementName = value; }\r
- }\r
- \r
- public Type Type\r
- {\r
- get { return _type; }\r
- set { _type = value; }\r
- }\r
- \r
- public XmlSerializer Serializer\r
- {\r
- get { return _serializer; }\r
- set { _serializer = value; }\r
- } \r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.FaultBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtensionPoint ("Extensions")]\r
- public sealed class FaultBinding : MessageBinding {\r
-\r
- #region Fields\r
-\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public FaultBinding ()\r
- {\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public override ServiceDescriptionFormatExtensionCollection Extensions { \r
- get { return extensions; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.FaultBindingCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class FaultBindingCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
-\r
- internal FaultBindingCollection (OperationBinding operationBinding) \r
- : base (operationBinding)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public FaultBinding this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
- return (FaultBinding) List[index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- public FaultBinding this [string name] {\r
- get { return this [IndexOf ((FaultBinding) Table[name])]; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (FaultBinding bindingOperationFault) \r
- {\r
- Insert (Count, bindingOperationFault);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (FaultBinding bindingOperationFault)\r
- {\r
- return List.Contains (bindingOperationFault);\r
- }\r
-\r
- public void CopyTo (FaultBinding[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- protected override string GetKey (object value) \r
- {\r
- if (!(value is FaultBinding))\r
- throw new InvalidCastException ();\r
-\r
- return ((FaultBinding) value).Name;\r
- }\r
-\r
- public int IndexOf (FaultBinding bindingOperationFault)\r
- {\r
- return List.IndexOf (bindingOperationFault);\r
- }\r
-\r
- public void Insert (int index, FaultBinding bindingOperationFault)\r
- {\r
- List.Insert (index, bindingOperationFault);\r
- }\r
- \r
- public void Remove (FaultBinding bindingOperationFault)\r
- {\r
- List.Remove (bindingOperationFault);\r
- }\r
- \r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((FaultBinding) value).SetParent ((OperationBinding) parent); \r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.HttpAddressBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization; \r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("address", "http://schemas.xmlsoap.org/wsdl/http/", typeof (Port))]\r
- public sealed class HttpAddressBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- string location;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public HttpAddressBinding ()\r
- {\r
- location = String.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("location")]\r
- public string Location { \r
- get { return location; }\r
- set { location = value; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.HttpBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("binding", "http://schemas.xmlsoap.org/wsdl/http/", typeof (Binding))]\r
- [XmlFormatExtensionPrefix ("http", "http://schemas.xmlsoap.org/wsdl/http/")]\r
- public sealed class HttpBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- public const string Namespace = "http://schemas.xmlsoap.org/wsdl/http/";\r
- string verb;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public HttpBinding ()\r
- {\r
- verb = String.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("verb", DataType = "NMTOKEN")]\r
- public string Verb { \r
- get { return verb; }\r
- set { verb = value; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Description.HttpGetProtocolImporter.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.CodeDom;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Xml.Serialization;
-using System.Xml;
-using System.Collections;
-using System.Configuration;
-
-namespace System.Web.Services.Description
-{
- internal class HttpGetProtocolImporter : HttpSimpleProtocolImporter
- {
- #region Constructors
-
- public HttpGetProtocolImporter ()
- {
- }
-
- #endregion // Constructors
-
- #region Properties
-
- public override string ProtocolName {
- get { return "HttpGet"; }
- }
-
- #endregion // Properties
-
- #region Methods
-
- protected override CodeTypeDeclaration BeginClass ()
- {
- CodeTypeDeclaration codeClass = base.BeginClass ();
- CodeTypeReference ctr = new CodeTypeReference ("System.Web.Services.Protocols.HttpGetClientProtocol");
- codeClass.BaseTypes.Add (ctr);
- return codeClass;
- }
-
- protected override Type GetInMimeFormatter ()
- {
- HttpUrlEncodedBinding bin = OperationBinding.Input.Extensions.Find (typeof(HttpUrlEncodedBinding)) as HttpUrlEncodedBinding;
- if (bin == null) throw new Exception ("Http urlEncoded binding not found");
- return typeof (UrlParameterWriter);
- }
-
- protected override bool IsBindingSupported ()
- {
- HttpBinding bin = (HttpBinding) Binding.Extensions.Find (typeof(HttpBinding));
- if (bin == null) return false;
- return bin.Verb == "GET";
- }
-
- #endregion
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Description.HttpGetProtocolReflector.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Xml.Serialization;
-using System.Xml;
-
-namespace System.Web.Services.Description {
-
- internal class HttpGetProtocolReflector : HttpSimpleProtocolReflector
- {
- #region Constructors
-
- public HttpGetProtocolReflector ()
- {
- }
-
- #endregion // Constructors
-
- #region Properties
-
- public override string ProtocolName {
- get { return "HttpGet"; }
- }
-
- #endregion // Properties
-
- #region Methods
-
- protected override void BeginClass ()
- {
- base.BeginClass ();
-
- HttpBinding hb = new HttpBinding ();
- hb.Verb = "GET";
- Binding.Extensions.Add (hb);
- }
-
- protected override bool ReflectMethod ()
- {
- if (!base.ReflectMethod ()) return false;
-
- OperationBinding.Input.Extensions.Add (new HttpUrlEncodedBinding());
- return true;
- }
-
- #endregion
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.HttpOperationBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("operation", "http://schemas.xmlsoap.org/wsdl/http/", typeof (OperationBinding))]\r
- public sealed class HttpOperationBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- string location;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public HttpOperationBinding ()\r
- {\r
- location = String.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("location")]\r
- public string Location { \r
- get { return location; }\r
- set { location = value; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Description.HttpPostProtocolImporter.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.CodeDom;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Xml.Serialization;
-using System.Xml;
-using System.Collections;
-using System.Configuration;
-
-namespace System.Web.Services.Description
-{
- internal class HttpPostProtocolImporter : HttpSimpleProtocolImporter
- {
- #region Constructors
-
- public HttpPostProtocolImporter ()
- {
- }
-
- #endregion // Constructors
-
- #region Properties
-
- public override string ProtocolName {
- get { return "HttpPost"; }
- }
-
- #endregion // Properties
-
- #region Methods
-
- protected override CodeTypeDeclaration BeginClass ()
- {
- CodeTypeDeclaration codeClass = base.BeginClass ();
- CodeTypeReference ctr = new CodeTypeReference ("System.Web.Services.Protocols.HttpPostClientProtocol");
- codeClass.BaseTypes.Add (ctr);
- return codeClass;
- }
-
- protected override Type GetInMimeFormatter ()
- {
- MimeContentBinding bin = OperationBinding.Input.Extensions.Find (typeof(MimeContentBinding)) as MimeContentBinding;
- if (bin == null) throw new Exception ("Http mime:content binding not found");
- if (bin.Type != "application/x-www-form-urlencoded") throw new Exception ("Encoding of mime:content binding not supported");
- return typeof (HtmlFormParameterWriter);
- }
-
- protected override bool IsBindingSupported ()
- {
- HttpBinding bin = (HttpBinding) Binding.Extensions.Find (typeof(HttpBinding));
- if (bin == null) return false;
- return bin.Verb == "POST";
- }
-
- #endregion
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Description.HttpPostProtocolReflector.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Xml.Serialization;
-using System.Xml;
-
-namespace System.Web.Services.Description {
-
- internal class HttpPostProtocolReflector : HttpSimpleProtocolReflector
- {
- #region Constructors
-
- public HttpPostProtocolReflector ()
- {
- }
-
- #endregion // Constructors
-
- #region Properties
-
- public override string ProtocolName {
- get { return "HttpPost"; }
- }
-
- #endregion // Properties
-
- #region Methods
-
- protected override void BeginClass ()
- {
- base.BeginClass ();
-
- HttpBinding hb = new HttpBinding ();
- hb.Verb = "POST";
- Binding.Extensions.Add (hb);
- }
-
- protected override bool ReflectMethod ()
- {
- if (!base.ReflectMethod ()) return false;
-
- MimeContentBinding mcb = new MimeContentBinding ();
- mcb.Type = "application/x-www-form-urlencoded";
- mcb.Part = null;
- OperationBinding.Input.Extensions.Add (mcb);
- return true;
- }
-
- #endregion
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Description.HttpSimpleProtocolImporter.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.CodeDom;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Web.Services.Configuration;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Configuration;
-using System.Collections;
-
-namespace System.Web.Services.Description
-{
- internal abstract class HttpSimpleProtocolImporter : ProtocolImporter
- {
-
- #region Fields
-
- HttpBinding httpBinding;
-
- SoapCodeExporter soapExporter;
- SoapSchemaImporter soapImporter;
- XmlCodeExporter xmlExporter;
- XmlSchemaImporter xmlImporter;
- CodeIdentifiers memberIds;
- XmlReflectionImporter xmlReflectionImporter;
-
- #endregion // Fields
-
- #region Constructors
-
- public HttpSimpleProtocolImporter ()
- {
- }
-
- #endregion // Constructors
-
- #region Methods
-
- protected override CodeTypeDeclaration BeginClass ()
- {
- httpBinding = (HttpBinding) Binding.Extensions.Find (typeof(HttpBinding));
-
- CodeTypeDeclaration codeClass = new CodeTypeDeclaration (ClassName);
-
- string location = null;
- if (Port != null) {
- HttpAddressBinding sab = (HttpAddressBinding) Port.Extensions.Find (typeof(HttpAddressBinding));
- if (sab != null) location = sab.Location;
- }
-
- CodeConstructor cc = new CodeConstructor ();
- cc.Attributes = MemberAttributes.Public;
- GenerateServiceUrl (location, cc.Statements);
- codeClass.Members.Add (cc);
-
- memberIds = new CodeIdentifiers ();
- return codeClass;
- }
-
- protected override void BeginNamespace ()
- {
- xmlImporter = new XmlSchemaImporter (LiteralSchemas, ClassNames);
- soapImporter = new SoapSchemaImporter (EncodedSchemas, ClassNames);
- xmlExporter = new XmlCodeExporter (CodeNamespace, null);
- xmlReflectionImporter = new XmlReflectionImporter ();
- }
-
- protected override void EndClass ()
- {
- if (xmlExporter.IncludeMetadata.Count > 0)
- {
- if (CodeTypeDeclaration.CustomAttributes == null)
- CodeTypeDeclaration.CustomAttributes = new CodeAttributeDeclarationCollection ();
- CodeTypeDeclaration.CustomAttributes.AddRange (xmlExporter.IncludeMetadata);
- }
- }
-
- protected override void EndNamespace ()
- {
- }
-
- protected override bool IsBindingSupported ()
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected override bool IsOperationFlowSupported (OperationFlow flow)
- {
- throw new NotImplementedException ();
- }
-
- protected override CodeMemberMethod GenerateMethod ()
- {
- try
- {
- HttpOperationBinding httpOper = OperationBinding.Extensions.Find (typeof (HttpOperationBinding)) as HttpOperationBinding;
- if (httpOper == null) throw new Exception ("Http operation binding not found");
-
- XmlMembersMapping inputMembers = ImportInMembersMapping (InputMessage);
- XmlTypeMapping outputMember = ImportOutMembersMapping (OutputMessage);
-
- CodeMemberMethod met = GenerateMethod (memberIds, httpOper, inputMembers, outputMember);
-
- xmlExporter.ExportMembersMapping (inputMembers);
- if (outputMember != null)
- xmlExporter.ExportTypeMapping (outputMember);
-
- return met;
- }
- catch (Exception ex)
- {
- UnsupportedOperationBindingWarning (ex.Message);
- return null;
- }
- }
-
- XmlMembersMapping ImportInMembersMapping (Message msg)
- {
- SoapSchemaMember[] mems = new SoapSchemaMember [msg.Parts.Count];
- for (int n=0; n<mems.Length; n++)
- {
- SoapSchemaMember mem = new SoapSchemaMember();
- mem.MemberName = msg.Parts[n].Name;
- mem.MemberType = msg.Parts[n].Type;
- mems[n] = mem;
- }
- return soapImporter.ImportMembersMapping (Operation.Name, "", mems);
- }
-
- XmlTypeMapping ImportOutMembersMapping (Message msg)
- {
- if (msg.Parts.Count == 0) return null;
-
- if (msg.Parts[0].Name == "Body" && msg.Parts[0].Element == XmlQualifiedName.Empty)
- return xmlReflectionImporter.ImportTypeMapping (typeof(XmlNode));
- else {
- // This is a bit hacky. The issue is that types such as string[] are to be imported
- // as such, not as ArrayOfString class. ImportTypeMapping will return a
- // class if the type has not been imported as an array before, hence the
- // call to ImportMembersMapping.
- xmlImporter.ImportMembersMapping (new XmlQualifiedName[] {msg.Parts[0].Element});
- return xmlImporter.ImportTypeMapping (msg.Parts[0].Element);
- }
- }
-
- CodeMemberMethod GenerateMethod (CodeIdentifiers memberIds, HttpOperationBinding httpOper, XmlMembersMapping inputMembers, XmlTypeMapping outputMember)
- {
- CodeIdentifiers pids = new CodeIdentifiers ();
- CodeMemberMethod method = new CodeMemberMethod ();
- CodeMemberMethod methodBegin = new CodeMemberMethod ();
- CodeMemberMethod methodEnd = new CodeMemberMethod ();
- method.Attributes = MemberAttributes.Public;
- methodBegin.Attributes = MemberAttributes.Public;
- methodEnd.Attributes = MemberAttributes.Public;
-
- // Find unique names for temporary variables
-
- for (int n=0; n<inputMembers.Count; n++)
- pids.AddUnique (inputMembers[n].MemberName, inputMembers[n]);
-
- string varAsyncResult = pids.AddUnique ("asyncResult","asyncResult");
- string varCallback = pids.AddUnique ("callback","callback");
- string varAsyncState = pids.AddUnique ("asyncState","asyncState");
-
- string messageName = memberIds.AddUnique(CodeIdentifier.MakeValid(Operation.Name),method);
-
- method.Name = Operation.Name;
- methodBegin.Name = memberIds.AddUnique(CodeIdentifier.MakeValid("Begin" + Operation.Name),method);
- methodEnd.Name = memberIds.AddUnique(CodeIdentifier.MakeValid("End" + Operation.Name),method);
-
- method.ReturnType = new CodeTypeReference (typeof(void));
- methodEnd.ReturnType = new CodeTypeReference (typeof(void));
- methodEnd.Parameters.Add (new CodeParameterDeclarationExpression (typeof (IAsyncResult),varAsyncResult));
-
- CodeExpression[] paramArray = new CodeExpression [inputMembers.Count];
-
- for (int n=0; n<inputMembers.Count; n++)
- {
- string ptype = GetSimpleType (inputMembers[n]);
- CodeParameterDeclarationExpression param = new CodeParameterDeclarationExpression (ptype, inputMembers[n].MemberName);
-
- param.Direction = FieldDirection.In;
- method.Parameters.Add (param);
- methodBegin.Parameters.Add (param);
- paramArray [n] = new CodeVariableReferenceExpression (param.Name);
- }
-
- bool isVoid = true;
- if (outputMember != null)
- {
- method.ReturnType = new CodeTypeReference (outputMember.TypeFullName);
- methodEnd.ReturnType = new CodeTypeReference (outputMember.TypeFullName);
- xmlExporter.AddMappingMetadata (method.ReturnTypeCustomAttributes, outputMember, "");
- isVoid = false;
- }
-
- methodBegin.Parameters.Add (new CodeParameterDeclarationExpression (typeof (AsyncCallback),varCallback));
- methodBegin.Parameters.Add (new CodeParameterDeclarationExpression (typeof (object),varAsyncState));
- methodBegin.ReturnType = new CodeTypeReference (typeof(IAsyncResult));
-
- // Array of input parameters
-
- CodeArrayCreateExpression methodParams;
- if (paramArray.Length > 0)
- methodParams = new CodeArrayCreateExpression (typeof(object), paramArray);
- else
- methodParams = new CodeArrayCreateExpression (typeof(object), 0);
-
- // Generate method url
-
- CodeThisReferenceExpression ethis = new CodeThisReferenceExpression();
-
- CodeExpression thisURlExp = new CodeFieldReferenceExpression (ethis, "Url");
- CodePrimitiveExpression metUrl = new CodePrimitiveExpression (httpOper.Location);
- CodeBinaryOperatorExpression expMethodLocation = new CodeBinaryOperatorExpression (thisURlExp, CodeBinaryOperatorType.Add, metUrl);
-
- // Invoke call
-
- CodePrimitiveExpression varMsgName = new CodePrimitiveExpression (messageName);
- CodeMethodInvokeExpression inv;
-
- inv = new CodeMethodInvokeExpression (ethis, "Invoke", varMsgName, expMethodLocation, methodParams);
- if (!isVoid)
- method.Statements.Add (new CodeMethodReturnStatement (new CodeCastExpression (method.ReturnType, inv)));
- else
- method.Statements.Add (inv);
-
- // Begin Invoke Call
-
- CodeExpression expCallb = new CodeVariableReferenceExpression (varCallback);
- CodeExpression expAsyncs = new CodeVariableReferenceExpression (varAsyncState);
- inv = new CodeMethodInvokeExpression (ethis, "BeginInvoke", varMsgName, expMethodLocation, methodParams, expCallb, expAsyncs);
- methodBegin.Statements.Add (new CodeMethodReturnStatement (inv));
-
- // End Invoke call
-
- CodeExpression varAsyncr = new CodeVariableReferenceExpression (varAsyncResult);
- inv = new CodeMethodInvokeExpression (ethis, "EndInvoke", varAsyncr);
- if (!isVoid)
- methodEnd.Statements.Add (new CodeMethodReturnStatement (new CodeCastExpression (methodEnd.ReturnType, inv)));
- else
- methodEnd.Statements.Add (inv);
-
- // Attributes
-
- CodeAttributeDeclaration att = new CodeAttributeDeclaration ("System.Web.Services.Protocols.HttpMethodAttribute");
- att.Arguments.Add (new CodeAttributeArgument (new CodeTypeOfExpression(GetOutMimeFormatter ())));
- att.Arguments.Add (new CodeAttributeArgument (new CodeTypeOfExpression(GetInMimeFormatter ())));
- AddCustomAttribute (method, att, true);
-
- CodeTypeDeclaration.Members.Add (method);
- CodeTypeDeclaration.Members.Add (methodBegin);
- CodeTypeDeclaration.Members.Add (methodEnd);
-
- return method;
- }
-
-#if NET_2_0
- internal override CodeExpression BuildInvokeAsync (string messageName, CodeArrayCreateExpression paramsArray, CodeExpression delegateField, CodeExpression userStateVar)
- {
- HttpOperationBinding httpOper = OperationBinding.Extensions.Find (typeof (HttpOperationBinding)) as HttpOperationBinding;
-
- CodeThisReferenceExpression ethis = new CodeThisReferenceExpression();
-
- CodeExpression thisURlExp = new CodeFieldReferenceExpression (ethis, "Url");
- CodePrimitiveExpression metUrl = new CodePrimitiveExpression (httpOper.Location);
- CodeBinaryOperatorExpression expMethodLocation = new CodeBinaryOperatorExpression (thisURlExp, CodeBinaryOperatorType.Add, metUrl);
-
- CodeMethodInvokeExpression inv2 = new CodeMethodInvokeExpression (ethis, "InvokeAsync");
- inv2.Parameters.Add (new CodePrimitiveExpression (messageName));
- inv2.Parameters.Add (expMethodLocation);
- inv2.Parameters.Add (paramsArray);
- inv2.Parameters.Add (delegateField);
- inv2.Parameters.Add (userStateVar);
- return inv2;
- }
-#endif
-
- protected virtual Type GetInMimeFormatter ()
- {
- return null;
- }
-
- protected virtual Type GetOutMimeFormatter ()
- {
- if (OperationBinding.Output.Extensions.Find (typeof(MimeXmlBinding)) != null)
- return typeof (XmlReturnReader);
-
- MimeContentBinding bin = (MimeContentBinding) OperationBinding.Output.Extensions.Find (typeof(MimeContentBinding));
- if (bin != null && bin.Type == "text/xml")
- return typeof (XmlReturnReader);
-
- return typeof(NopReturnReader);
- }
-
- string GetSimpleType (XmlMemberMapping member)
- {
- // MS seems to always use System.String for input parameters, except for byte[]
-
- switch (member.TypeName)
- {
- case "hexBinary":
- case "base64Binary":
- return "System.String";
-
- default:
- string ptype = member.TypeFullName;
- int i = ptype.IndexOf ('[');
- if (i == -1)
- return "System.String";
- else
- return "System.String" + ptype.Substring (i);
- }
- }
-
- #endregion
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Description.HttpSimpleProtocolReflector.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Xml.Serialization;
-using System.Xml;
-using System.Xml.Schema;
-using System.Reflection;
-
-namespace System.Web.Services.Description {
-
- internal abstract class HttpSimpleProtocolReflector : ProtocolReflector
- {
- #region Fields
-
- SoapBinding soapBinding;
-
- #endregion // Fields
-
- #region Constructors
-
- public HttpSimpleProtocolReflector ()
- {
- }
-
- #endregion // Constructors
-
- #region Methods
-
- protected override void BeginClass ()
- {
- HttpAddressBinding abind = new HttpAddressBinding ();
- abind.Location = ServiceUrl;
- Port.Extensions.Add (abind);
- }
-
- protected override void EndClass ()
- {
- }
-
- protected override bool ReflectMethod ()
- {
- LogicalTypeInfo ti = TypeStubManager.GetLogicalTypeInfo (ServiceType);
- HttpOperationBinding sob = new HttpOperationBinding();
- sob.Location = "/" + MethodStubInfo.Name;
- OperationBinding.Extensions.Add (sob);
-
- if (!Method.IsVoid)
- {
- MimeXmlBinding mxb = new MimeXmlBinding ();
- mxb.Part = "Body";
- OperationBinding.Output.Extensions.Add (mxb);
-
- MessagePart part = new MessagePart ();
- part.Name = "Body";
-
- XmlTypeMapping map = ReflectionImporter.ImportTypeMapping (Method.ReturnType, ti.GetWebServiceLiteralNamespace (ServiceDescription.TargetNamespace));
- XmlQualifiedName qname = new XmlQualifiedName (map.ElementName, map.Namespace);
- part.Element = qname;
- OutputMessage.Parts.Add (part);
- SchemaExporter.ExportTypeMapping (map);
- }
-
- XmlReflectionMember[] mems = new XmlReflectionMember [Method.Parameters.Length];
- for (int n=0; n<Method.Parameters.Length; n++)
- {
- ParameterInfo param = Method.Parameters [n];
- XmlReflectionMember mem = new XmlReflectionMember ();
- mem.MemberName = param.Name;
- Type ptype = param.ParameterType;
- if (ptype.IsByRef) ptype = ptype.GetElementType ();
- mem.MemberType = ptype;
- mems [n] = mem;
- }
-
- XmlMembersMapping memap = ReflectionImporter.ImportMembersMapping ("", ti.WebServiceAbstractNamespace, mems, false);
- bool allPrimitives = true;
-
- for (int n=0; n<memap.Count; n++)
- {
- XmlMemberMapping mem = memap[n];
- MessagePart part = new MessagePart ();
- XmlQualifiedName pqname;
-
- if (mem.TypeNamespace == "")
- pqname = new XmlQualifiedName (mem.TypeName, XmlSchema.Namespace);
- else {
- pqname = new XmlQualifiedName (mem.TypeName, mem.TypeNamespace);
- allPrimitives = false;
- }
-
- part.Type = pqname;
- part.Name = mem.ElementName;
- InputMessage.Parts.Add (part);
- }
-
- if (!allPrimitives)
- SoapSchemaExporter.ExportMembersMapping (memap);
-
- return true;
- }
-
- XmlQualifiedName GenerateStringArray ()
- {
- return null;
- }
-
- protected override string ReflectMethodBinding ()
- {
- return null;
- }
-
- #endregion
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.HttpUrlEncodedBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("urlEncoded", "http://schemas.xmlsoap.org/wsdl/http/", typeof (InputBinding))]\r
- public sealed class HttpUrlEncodedBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Constructors\r
- \r
- public HttpUrlEncodedBinding ()\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.HttpUrlReplacementBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("urlReplacement", "http://schemas.xmlsoap.org/wsdl/http/", typeof (InputBinding))]\r
- public sealed class HttpUrlReplacementBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Constructors\r
- \r
- public HttpUrlReplacementBinding ()\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.Import.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class Import : DocumentableItem {\r
-\r
- #region Fields\r
-\r
- string location;\r
- string ns;\r
- ServiceDescription serviceDescription;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public Import ()\r
- {\r
- location = String.Empty;\r
- ns = String.Empty;\r
- serviceDescription = null;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("location")]\r
- public string Location {\r
- get { return location; }\r
- set { location = value; }\r
- }\r
-\r
- [XmlAttribute ("namespace")]\r
- public string Namespace {\r
- get { return ns; }\r
- set { ns = value; }\r
- }\r
- \r
-// [XmlIgnore]\r
- public ServiceDescription ServiceDescription {\r
- get { return serviceDescription; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (ServiceDescription serviceDescription)\r
- {\r
- this.serviceDescription = serviceDescription;\r
- }\r
-\r
- #endregion\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.ImportCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class ImportCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
- \r
- internal ImportCollection (ServiceDescription serviceDescription)\r
- : base (serviceDescription)\r
- {\r
- }\r
-\r
- #endregion\r
-\r
- #region Properties\r
-\r
- public Import this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
- return (Import) List[index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (Import import) \r
- {\r
- Insert (Count, import);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (Import import)\r
- {\r
- return List.Contains (import);\r
- }\r
-\r
- public void CopyTo (Import[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- public int IndexOf (Import import)\r
- {\r
- return List.IndexOf (import);\r
- }\r
-\r
- public void Insert (int index, Import import)\r
- {\r
- List.Insert (index, import);\r
- }\r
- \r
- public void Remove (Import import)\r
- {\r
- List.Remove (import);\r
- }\r
- \r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((Import) value).SetParent ((ServiceDescription) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.InputBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtensionPoint ("Extensions")]\r
- public sealed class InputBinding : MessageBinding {\r
-\r
- #region Fields\r
-\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public InputBinding ()\r
- {\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public override ServiceDescriptionFormatExtensionCollection Extensions { \r
- get { return extensions; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.Message.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-using System.Web.Services;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description \r
-{\r
- public sealed class Message :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
- #region Fields\r
-\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- MessagePartCollection parts;\r
- ServiceDescription serviceDescription;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public Message ()\r
- {\r
-#if !NET_2_0\r
- name = String.Empty;\r
-#endif\r
- parts = new MessagePartCollection (this);\r
- serviceDescription = null;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NCName")]\r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
- [XmlElement ("part")]\r
- public MessagePartCollection Parts {\r
- get { return parts; }\r
- }\r
-\r
-// [XmlIgnore]\r
- public ServiceDescription ServiceDescription {\r
- get { return serviceDescription; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public MessagePart FindPartByName (string partName)\r
- {\r
- return parts [partName];\r
- }\r
-\r
- public MessagePart[] FindPartsByName (string[] partNames) \r
- {\r
- ArrayList searchResults = new ArrayList ();\r
-\r
- foreach (string partName in partNames)\r
- searchResults.Add (FindPartByName (partName));\r
-\r
- int count = searchResults.Count;\r
-\r
- if (count == 0)\r
- throw new ArgumentException ();\r
-\r
- MessagePart[] returnValue = new MessagePart[count];\r
- searchResults.CopyTo (returnValue);\r
- return returnValue;\r
- }\r
-\r
- internal void SetParent (ServiceDescription serviceDescription)\r
- {\r
- this.serviceDescription = serviceDescription;\r
- }\r
-\r
- #endregion\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.MessageBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description\r
-{\r
- public abstract class MessageBinding :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
-\r
- #region Fields\r
-\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- OperationBinding operationBinding;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- protected MessageBinding ()\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public abstract ServiceDescriptionFormatExtensionCollection Extensions { \r
- get;\r
- }\r
-\r
-#if !NET_2_0\r
-// [DefaultValue (null)]\r
- [XmlAttribute ("name", DataType = "NMTOKEN")] \r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
-// [XmlIgnore]\r
- public OperationBinding OperationBinding {\r
- get { return operationBinding; }\r
- }\r
- \r
- internal void SetParent (OperationBinding ob)\r
- {\r
- operationBinding = ob;\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.MessageCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class MessageCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
- \r
- internal MessageCollection (ServiceDescription serviceDescription)\r
- : base (serviceDescription)\r
- {\r
- }\r
-\r
- #endregion\r
-\r
- #region Properties\r
-\r
- public Message this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
-\r
- return (Message) List [index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- public Message this [string name] {\r
- get { return this [IndexOf ((Message) Table [name])]; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (Message message) \r
- {\r
- Insert (Count, message);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (Message message)\r
- {\r
- return List.Contains (message);\r
- }\r
-\r
- public void CopyTo (Message[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- protected override string GetKey (object value) \r
- {\r
- if (!(value is Message))\r
- throw new InvalidCastException ();\r
-\r
- return ((Message) value).Name;\r
- }\r
-\r
- public int IndexOf (Message message)\r
- {\r
- return List.IndexOf (message);\r
- }\r
-\r
- public void Insert (int index, Message message)\r
- {\r
- List.Insert (index, message);\r
- }\r
- \r
- public void Remove (Message message)\r
- {\r
- List.Remove (message);\r
- }\r
- \r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((Message) value).SetParent ((ServiceDescription) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.MessagePart.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description \r
-{\r
- public sealed class MessagePart :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
-\r
- #region Fields\r
-\r
- XmlQualifiedName element;\r
- Message message;\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- XmlQualifiedName type;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public MessagePart ()\r
- {\r
- element = XmlQualifiedName.Empty;\r
- message = null;\r
-#if !NET_2_0\r
- name = String.Empty;\r
-#endif\r
- type = XmlQualifiedName.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("element")]\r
- public XmlQualifiedName Element {\r
- get { return element; }\r
- set { element = value; }\r
- }\r
- \r
-// [XmlIgnore]\r
- public Message Message {\r
- get { return message; }\r
- }\r
- \r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NMTOKEN")]\r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
- [XmlAttribute ("type")]\r
- public XmlQualifiedName Type {\r
- get { return type; }\r
- set { type = value; }\r
- }\r
- \r
- internal bool DefinedByType {\r
- get { return type != null && type != XmlQualifiedName.Empty; }\r
- }\r
-\r
- internal bool DefinedByElement {\r
- get { return element != null && element != XmlQualifiedName.Empty; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (Message message)\r
- {\r
- this.message = message; \r
- }\r
-\r
- #endregion // Methods\r
-\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.MessagePartCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class MessagePartCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
-\r
- internal MessagePartCollection (Message message)\r
- : base (message)\r
- {\r
- } \r
-\r
- #endregion\r
-\r
- #region Properties\r
-\r
- public MessagePart this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
- return (MessagePart) List[index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- public MessagePart this [string name] {\r
- get { return this [IndexOf ((MessagePart) Table[name])]; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (MessagePart messagePart) \r
- {\r
- Insert (Count, messagePart);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (MessagePart messagePart)\r
- {\r
- return List.Contains (messagePart);\r
- }\r
-\r
- public void CopyTo (MessagePart[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- protected override string GetKey (object value) \r
- {\r
- if (!(value is MessagePart))\r
- throw new InvalidCastException ();\r
- return ((MessagePart) value).Name;\r
- }\r
-\r
- public int IndexOf (MessagePart messagePart)\r
- {\r
- return List.IndexOf (messagePart);\r
- }\r
-\r
- public void Insert (int index, MessagePart messagePart)\r
- {\r
- List.Insert (index, messagePart);\r
- }\r
- \r
- public void Remove (MessagePart messagePart)\r
- {\r
- List.Remove (messagePart);\r
- }\r
- \r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((MessagePart) value).SetParent ((Message) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Description.MimeContentBinding.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-//
-// Copyright (C) Tim Coleman, 2002
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.ComponentModel;
-using System.Web.Services.Configuration;
-using System.Xml.Serialization;
-
-namespace System.Web.Services.Description {
- [XmlFormatExtensionPrefix ("mime", "http://schemas.xmlsoap.org/wsdl/mime/")]
- [XmlFormatExtension ("content", "http://schemas.xmlsoap.org/wsdl/mime/", typeof (InputBinding), typeof (OutputBinding))]
- public sealed class MimeContentBinding : ServiceDescriptionFormatExtension {
-
- #region Fields
-
- public const string Namespace = "http://schemas.xmlsoap.org/wsdl/mime/";
- string part;
- string type;
-
- #endregion // Fields
-
- #region Constructors
-
- public MimeContentBinding ()
- {
- part = String.Empty;
- type = String.Empty;
- }
-
- #endregion // Constructors
-
- #region Properties
-
- [XmlAttribute ("part", DataType = "NMTOKEN")]
- public string Part {
- get { return part; }
- set { part = value; }
- }
-
- [XmlAttribute ("type")]
- public string Type {
- get { return type; }
- set { type = value; }
- }
-
- #endregion // Properties
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.MimeMultipartRelatedBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("multipartRelated", "http://schemas.xmlsoap.org/wsdl/mime/", typeof (InputBinding), typeof (OutputBinding))]\r
- public sealed class MimeMultipartRelatedBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- MimePartCollection parts;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public MimeMultipartRelatedBinding ()\r
- {\r
- parts = new MimePartCollection ();\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlElement ("parts")] \r
- public MimePartCollection Parts {\r
- get { return parts; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.MimePart.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtensionPoint ("Extensions")]\r
- public sealed class MimePart : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public MimePart ()\r
- {\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore] \r
- public ServiceDescriptionFormatExtensionCollection Extensions {\r
- get { return extensions; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.MimePartCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class MimePartCollection : CollectionBase {\r
-\r
- #region Properties\r
-\r
- public MimePart this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
-\r
- return (MimePart) List[index]; \r
- }\r
- set { List[index] = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (MimePart mimePart) \r
- {\r
- Insert (Count, mimePart); \r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (MimePart mimePart)\r
- {\r
- return List.Contains (mimePart);\r
- }\r
-\r
- public void CopyTo (MimePart[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- public int IndexOf (MimePart mimePart)\r
- {\r
- return List.IndexOf (mimePart);\r
- }\r
-\r
- public void Insert (int index, MimePart mimePart)\r
- {\r
- List.Insert (index, mimePart);\r
- }\r
- \r
- public void Remove (MimePart mimePart)\r
- {\r
- List.Remove (mimePart);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.MimeTextBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("text", "http://microsoft.com/wsdl/mime/textMatching/", typeof (InputBinding), typeof (OutputBinding), typeof (MimePart))]\r
- [XmlFormatExtensionPrefix ("tm", "http://microsoft.com/wsdl/mime/textMatching/")]\r
- public sealed class MimeTextBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- public const string Namespace = "http://microsoft.com/wsdl/mime/textMatching/";\r
- MimeTextMatchCollection matches;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public MimeTextBinding ()\r
- {\r
- matches = new MimeTextMatchCollection ();\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlElement ("match", typeof (MimeTextMatch))] \r
- public MimeTextMatchCollection Matches {\r
- get { return matches; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.MimeTextMatch.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class MimeTextMatch {\r
-\r
- #region Fields\r
-\r
- int capture;\r
- int group;\r
- bool ignoreCase;\r
- MimeTextMatchCollection matches;\r
- string name;\r
- string pattern;\r
- int repeats;\r
- string type;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public MimeTextMatch ()\r
- {\r
- capture = 0;\r
- group = 1;\r
- ignoreCase = false;\r
- matches = null;\r
- name = String.Empty;\r
- pattern = String.Empty;\r
- repeats = 1;\r
- type = String.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [DefaultValue (0)]\r
- [XmlAttribute ("capture")]\r
- public int Capture {\r
- get { return capture; }\r
- set {\r
- if (value < 0)\r
- throw new ArgumentException ();\r
- capture = value; \r
- }\r
- }\r
- \r
- [DefaultValue (1)] \r
- [XmlAttribute ("group")]\r
- public int Group {\r
- get { return group; }\r
- set {\r
- if (value < 0)\r
- throw new ArgumentException ();\r
- group = value; \r
- }\r
- }\r
-\r
- [XmlAttribute ("ignoreCase")]\r
- public bool IgnoreCase {\r
- get { return ignoreCase; }\r
- set { ignoreCase = value; }\r
- }\r
-\r
- [XmlElement ("match")]\r
- public MimeTextMatchCollection Matches {\r
- get { return matches; }\r
- }\r
-\r
- [XmlAttribute ("name")]\r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-\r
- [XmlAttribute ("pattern")]\r
- public string Pattern {\r
- get { return pattern; }\r
- set { pattern = value; }\r
- }\r
-\r
- [XmlIgnore]\r
- public int Repeats {\r
- get { return repeats; }\r
- set {\r
- if (value < 0)\r
- throw new ArgumentException ();\r
- repeats = value; \r
- }\r
- }\r
-\r
- [DefaultValue ("1")]\r
- [XmlAttribute ("repeats")]\r
- public string RepeatsString {\r
- get { return Repeats.ToString (); }\r
- set { Repeats = Int32.Parse (value); }\r
- }\r
-\r
- [XmlAttribute ("type")]\r
- public string Type {\r
- get { return type; }\r
- set { type = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (MimeTextMatchCollection matches) \r
- {\r
- this.matches = matches;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.MimeTextMatchCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class MimeTextMatchCollection : CollectionBase {\r
-\r
- #region Properties\r
-\r
- public MimeTextMatch this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
-\r
- return (MimeTextMatch) List [index]; \r
- }\r
- set { List[index] = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (MimeTextMatch match) \r
- {\r
- Insert (Count, match);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (MimeTextMatch match)\r
- {\r
- return List.Contains (match);\r
- }\r
-\r
- public void CopyTo (MimeTextMatch[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- public int IndexOf (MimeTextMatch match)\r
- {\r
- return List.IndexOf (match);\r
- }\r
-\r
- public void Insert (int index, MimeTextMatch match)\r
- {\r
- SetParent (match, this);\r
- List.Insert (index, match);\r
- }\r
- \r
- public void Remove (MimeTextMatch match)\r
- {\r
- List.Remove (match);\r
- }\r
-\r
- private void SetParent (object value, object parent)\r
- {\r
- ((MimeTextMatch) value).SetParent ((MimeTextMatchCollection) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.MimeXmlBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("mimeXml", "http://schemas.xmlsoap.org/wsdl/mime/", typeof (MimePart), typeof (InputBinding), typeof (OutputBinding))]\r
- public sealed class MimeXmlBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- string part;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public MimeXmlBinding ()\r
- {\r
- part = String.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("part", DataType = "NMTOKEN")]\r
- public string Part {\r
- get { return part; }\r
- set { part = value; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Description.NamedItem.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-namespace System.Web.Services.Description
-{
- public abstract class NamedItem: DocumentableItem
- {
- string name;
-
- protected NamedItem()
- {
- }
-
- [System.Xml.Serialization.XmlAttribute ("name", DataType = "NCName")]
- public string Name {
- get { return name; }
- set { name = value; }
- }
- }
-}
-
-#endif
+++ /dev/null
-// \r
-// System.Web.Services.Description.Operation.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description \r
-{\r
- public sealed class Operation :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
- #region Fields\r
-\r
- OperationFaultCollection faults;\r
- OperationMessageCollection messages;\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- string[] parameterOrder;\r
- PortType portType;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public Operation ()\r
- {\r
- faults = new OperationFaultCollection (this);\r
- messages = new OperationMessageCollection (this);\r
-#if !NET_2_0\r
- name = String.Empty;\r
-#endif\r
- parameterOrder = null;\r
- portType = null;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlElement ("fault")]\r
- public OperationFaultCollection Faults {\r
- get { return faults; }\r
- }\r
-\r
- [XmlElement ("output", typeof (OperationOutput))]\r
- [XmlElement ("input", typeof (OperationInput))]\r
- public OperationMessageCollection Messages {\r
- get { return messages; }\r
- }\r
-\r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NCName")]\r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
- [XmlIgnore]\r
- public string[] ParameterOrder {\r
- get { return parameterOrder; }\r
- set { parameterOrder = value; }\r
- }\r
-\r
- [DefaultValue ("")]\r
- [XmlAttribute ("parameterOrder")]\r
- public string ParameterOrderString {\r
- get { \r
- if (parameterOrder == null)\r
- return String.Empty;\r
- return String.Join (" ", parameterOrder); \r
- }\r
- set { ParameterOrder = value.Split (' '); }\r
- }\r
-\r
-// [XmlIgnore]\r
- public PortType PortType {\r
- get { return portType; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public bool IsBoundBy (OperationBinding operationBinding)\r
- {\r
- return (operationBinding.Name == Name);\r
- }\r
-\r
- internal void SetParent (PortType portType)\r
- {\r
- this.portType = portType;\r
- }\r
-\r
- #endregion\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtensionPoint ("Extensions")]\r
- public sealed class OperationBinding :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
- #region Fields\r
-\r
- Binding binding;\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
- FaultBindingCollection faults;\r
- InputBinding input;\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- OutputBinding output;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public OperationBinding ()\r
- {\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
- faults = new FaultBindingCollection (this);\r
- input = null;\r
-#if !NET_2_0\r
- name = String.Empty;\r
-#endif\r
- output = null;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
- \r
-// [XmlIgnore]\r
- public Binding Binding {\r
- get { return binding; }\r
- }\r
-\r
- [XmlIgnore]\r
- public ServiceDescriptionFormatExtensionCollection Extensions {\r
- get { return extensions; }\r
- }\r
-\r
- [XmlElement ("fault")]\r
- public FaultBindingCollection Faults {\r
- get { return faults; }\r
- }\r
-\r
- [XmlElement ("input")]\r
- public InputBinding Input {\r
- get { return input; }\r
- set {\r
- input = value; \r
- if (input != null)\r
- input.SetParent (this);\r
- }\r
- }\r
-\r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NCName")]\r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
- [XmlElement ("output")]\r
- public OutputBinding Output {\r
- get { return output; }\r
- set {\r
- output = value; \r
- if (output != null)\r
- output.SetParent (this);\r
- }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (Binding binding) \r
- {\r
- this.binding = binding; \r
- } \r
-\r
- #endregion\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationBindingCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class OperationBindingCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
-\r
- internal OperationBindingCollection (Binding binding)\r
- : base (binding)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public OperationBinding this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
- return (OperationBinding) List[index]; \r
- }\r
- set { List[index] = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (OperationBinding bindingOperation) \r
- {\r
- Insert (Count, bindingOperation);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (OperationBinding bindingOperation)\r
- {\r
- return List.Contains (bindingOperation);\r
- }\r
-\r
- public void CopyTo (OperationBinding[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- public int IndexOf (OperationBinding bindingOperation)\r
- {\r
- return List.IndexOf (bindingOperation);\r
- }\r
-\r
- public void Insert (int index, OperationBinding bindingOperation)\r
- {\r
- List.Insert (index, bindingOperation);\r
- }\r
- \r
- public void Remove (OperationBinding bindingOperation)\r
- {\r
- List.Remove (bindingOperation);\r
- }\r
-\r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((OperationBinding) value).SetParent ((Binding) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class OperationCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
-\r
- internal OperationCollection (PortType portType) \r
- : base (portType)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public Operation this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
- return (Operation) List[index]; \r
- }\r
- set { List[index] = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (Operation operation) \r
- {\r
- Insert (Count, operation);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (Operation operation)\r
- {\r
- return List.Contains (operation);\r
- }\r
-\r
- public void CopyTo (Operation[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- public int IndexOf (Operation operation)\r
- {\r
- return List.IndexOf (operation);\r
- }\r
-\r
- public void Insert (int index, Operation operation)\r
- {\r
- List.Insert (index, operation);\r
- }\r
- \r
- public void Remove (Operation operation)\r
- {\r
- List.Remove (operation);\r
- }\r
-\r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((Operation) value).SetParent ((PortType) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationFault.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class OperationFault : OperationMessage {\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationFaultCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class OperationFaultCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
-\r
- internal OperationFaultCollection (Operation operation) \r
- : base (operation)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public OperationFault this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
- return (OperationFault) List[index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- public OperationFault this [string name] {\r
- get { return this [IndexOf ((OperationFault) Table[name])]; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (OperationFault operationFaultMessage) \r
- {\r
- Insert (Count, operationFaultMessage);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (OperationFault operationFaultMessage)\r
- {\r
- return List.Contains (operationFaultMessage);\r
- }\r
-\r
- public void CopyTo (OperationFault[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- protected override string GetKey (object value)\r
- {\r
- if (!(value is OperationFault))\r
- throw new InvalidCastException ();\r
-\r
- return ((OperationFault) value).Name;\r
- }\r
-\r
- public int IndexOf (OperationFault operationFaultMessage)\r
- {\r
- return List.IndexOf (operationFaultMessage);\r
- }\r
-\r
- public void Insert (int index, OperationFault operationFaultMessage)\r
- {\r
- List.Insert (index, operationFaultMessage);\r
- }\r
- \r
- public void Remove (OperationFault operationFaultMessage)\r
- {\r
- List.Remove (operationFaultMessage);\r
- }\r
-\r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((OperationFault) value).SetParent ((Operation) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationFlow.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- [Serializable]\r
- public enum OperationFlow {\r
- None = 0x0,\r
- Notification = 0x2,\r
- OneWay = 0x1,\r
- RequestResponse = 0x3,\r
- SolicitResponse = 0x4\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationInput.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.Xml;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class OperationInput : OperationMessage {\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationMessage.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description\r
-{\r
- public abstract class OperationMessage :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
- #region Fields\r
-\r
- XmlQualifiedName message;\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- Operation operation;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- protected OperationMessage ()\r
- {\r
- message = XmlQualifiedName.Empty;\r
- operation = null;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("message")]\r
- public XmlQualifiedName Message {\r
- get { return message; }\r
- set { message = value; }\r
- }\r
-\r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NMTOKEN")]\r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
-// [XmlIgnore]\r
- public Operation Operation {\r
- get { return operation; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (Operation operation)\r
- {\r
- this.operation = operation;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationMessageCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class OperationMessageCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
-\r
- internal OperationMessageCollection (Operation operation)\r
- : base (operation)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public OperationFlow Flow {\r
- get { \r
- switch (Count) {\r
- case 1: \r
- if (this[0] is OperationInput)\r
- return OperationFlow.OneWay;\r
- else\r
- return OperationFlow.Notification;\r
- case 2:\r
- if (this[0] is OperationInput)\r
- return OperationFlow.RequestResponse;\r
- else\r
- return OperationFlow.SolicitResponse;\r
- }\r
- return OperationFlow.None;\r
- }\r
- }\r
-\r
- public OperationInput Input {\r
- get { \r
- foreach (object message in List)\r
- if (message is OperationInput)\r
- return (OperationInput) message;\r
- return null;\r
- }\r
- }\r
- \r
- public OperationMessage this [int index] {\r
- get { return (OperationMessage) List[index]; }\r
- set { List[index] = value; }\r
- }\r
-\r
- public OperationOutput Output {\r
- get { \r
- foreach (object message in List)\r
- if (message is OperationOutput)\r
- return (OperationOutput) message;\r
- return null;\r
- }\r
- }\r
-\r
- internal OperationFault Fault {\r
- get { \r
- foreach (object message in List)\r
- if (message is OperationFault)\r
- return (OperationFault) message;\r
- return null;\r
- }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- protected override string GetKey (object value) \r
- {\r
- if (!(value is OperationMessage))\r
- throw new InvalidCastException ();\r
- return ((OperationMessage) value).Name;\r
- }\r
-\r
- public int Add (OperationMessage operationMessage) \r
- {\r
- Insert (Count, operationMessage);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (OperationMessage operationMessage)\r
- {\r
- return List.Contains (operationMessage);\r
- }\r
-\r
- public void CopyTo (OperationMessage[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- public int IndexOf (OperationMessage operationMessage)\r
- {\r
- return List.IndexOf (operationMessage);\r
- }\r
-\r
- public void Insert (int index, OperationMessage operationMessage)\r
- {\r
- List.Insert (index, operationMessage);\r
- }\r
-\r
- protected override void OnInsert (int index, object value)\r
- {\r
- if (Count == 0)\r
- return;\r
- \r
- if (Count == 1 && value.GetType() != this[0].GetType())\r
- return;\r
-\r
- throw new InvalidOperationException ("The operation object can only contain one input and one output message.");\r
- }\r
-\r
- protected override void OnSet (int index, object oldValue, object newValue)\r
- {\r
- if (oldValue.GetType () != newValue.GetType ())\r
- throw new InvalidOperationException ("The message types of the old and new value are not the same.");\r
- base.OnSet (index, oldValue, newValue);\r
- }\r
-\r
- protected override void OnValidate (object value)\r
- {\r
- if (value == null)\r
- throw new ArgumentException("The message object is a null reference.");\r
- if (!(value is OperationInput || value is OperationOutput))\r
- throw new ArgumentException ("The message object is not an input or an output message.");\r
- }\r
- \r
- public void Remove (OperationMessage operationMessage)\r
- {\r
- List.Remove (operationMessage);\r
- }\r
-\r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((OperationMessage) value).SetParent ((Operation) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OperationOutput.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class OperationOutput : OperationMessage {\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.OutputBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtensionPoint ("Extensions")]\r
- public sealed class OutputBinding : MessageBinding {\r
-\r
- #region Fields\r
-\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public OutputBinding ()\r
- {\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public override ServiceDescriptionFormatExtensionCollection Extensions { \r
- get { return extensions; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.Port.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description \r
-{\r
- [XmlFormatExtensionPoint ("Extensions")]\r
- public sealed class Port :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
- #region Fields\r
-\r
- XmlQualifiedName binding;\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- Service service;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public Port ()\r
- {\r
- binding = null;\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
-#if !NET_2_0\r
- name = String.Empty;\r
-#endif\r
- service = null;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("binding")]\r
- public XmlQualifiedName Binding {\r
- get { return binding; }\r
- set { binding = value; }\r
- }\r
-\r
- [XmlIgnore]\r
- public ServiceDescriptionFormatExtensionCollection Extensions { \r
- get { return extensions; }\r
- }\r
-\r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NCName")] \r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
-// [XmlIgnore]\r
- public Service Service {\r
- get { return service; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (Service service) \r
- {\r
- this.service = service;\r
- }\r
-\r
- #endregion\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.PortCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class PortCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
-\r
- internal PortCollection (Service service)\r
- : base (service)\r
- {\r
- }\r
-\r
- #endregion\r
-\r
- #region Properties\r
-\r
- public Port this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
-\r
- return (Port) List[index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- public Port this [string name] {\r
- get { \r
- int index = IndexOf ((Port) Table[name]);\r
- if (index >= 0)\r
- return this[index]; \r
- return null;\r
- }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (Port port) \r
- {\r
- Insert (Count, port);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (Port port)\r
- {\r
- return List.Contains (port);\r
- }\r
-\r
- public void CopyTo (Port[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- protected override string GetKey (object value) \r
- {\r
- if (!(value is Port))\r
- throw new InvalidCastException ();\r
-\r
- return ((Port) value).Name;\r
- }\r
-\r
- public int IndexOf (Port port)\r
- {\r
- return List.IndexOf (port);\r
- }\r
-\r
- public void Insert (int index, Port port)\r
- {\r
- List.Insert (index, port);\r
- }\r
- \r
- public void Remove (Port port)\r
- {\r
- List.Remove (port);\r
- }\r
- \r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((Port) value).SetParent ((Service) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.PortType.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description\r
-{\r
- public sealed class PortType :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
- #region Fields\r
-\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- OperationCollection operations;\r
- ServiceDescription serviceDescription;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public PortType ()\r
- {\r
- operations = new OperationCollection (this);\r
- serviceDescription = null;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NCName")]\r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
- [XmlElement ("operation")]\r
- public OperationCollection Operations {\r
- get { return operations; }\r
- }\r
- \r
-// [XmlIgnore]\r
- public ServiceDescription ServiceDescription {\r
- get { return serviceDescription; }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (ServiceDescription serviceDescription)\r
- {\r
- this.serviceDescription = serviceDescription;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.PortTypeCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public sealed class PortTypeCollection : ServiceDescriptionBaseCollection {\r
-\r
- #region Constructors\r
-\r
- internal PortTypeCollection (ServiceDescription serviceDescription)\r
- : base (serviceDescription)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public PortType this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
-\r
- return (PortType) List[index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- public PortType this [string name] {\r
- get { \r
- int index = IndexOf ((PortType) Table[name]);\r
- if (index >= 0)\r
- return this[index]; \r
- return null;\r
- }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (PortType portType) \r
- {\r
- Insert (Count, portType); \r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (PortType portType)\r
- {\r
- return List.Contains (portType);\r
- }\r
-\r
- public void CopyTo (PortType[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- protected override string GetKey (object value) \r
- {\r
- if (!(value is PortType))\r
- throw new InvalidCastException ();\r
- return ((PortType) value).Name;\r
- }\r
-\r
- public int IndexOf (PortType portType)\r
- {\r
- return List.IndexOf (portType);\r
- }\r
-\r
- public void Insert (int index, PortType portType)\r
- {\r
- List.Insert (index, portType);\r
- }\r
- \r
- public void Remove (PortType portType)\r
- {\r
- List.Remove (portType);\r
- }\r
- \r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((PortType) value).SetParent ((ServiceDescription) parent); \r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Description.ProtocolImporter.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Tim Coleman, 2002
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.CodeDom;
-using System.CodeDom.Compiler;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Xml.Serialization;
-using System.Xml;
-using System.Xml.Schema;
-using System.Collections;
-using System.Configuration;
-
-namespace System.Web.Services.Description {
- public abstract class ProtocolImporter {
-
- #region Fields
-
- Binding binding;
- string className;
- CodeIdentifiers classNames;
- CodeNamespace codeNamespace;
- CodeCompileUnit codeCompileUnit;
- CodeTypeDeclaration codeTypeDeclaration;
- Message inputMessage;
- string methodName;
- Operation operation;
- OperationBinding operationBinding;
- Message outputMessage;
- Port port;
- PortType portType;
- string protocolName;
- Service service;
- ServiceDescriptionImportWarnings warnings = (ServiceDescriptionImportWarnings)0;
- ServiceDescriptionImporter descriptionImporter;
- ImportInfo iinfo;
- XmlSchemas xmlSchemas;
- XmlSchemas soapSchemas;
-
-#if NET_2_0
- ArrayList asyncTypes = new ArrayList ();
-#endif
-
- #endregion // Fields
-
- #region Constructors
-
- protected ProtocolImporter ()
- {
- }
-
- #endregion // Constructors
-
- #region Properties
-
- [MonoTODO]
- public XmlSchemas AbstractSchemas {
- get { return descriptionImporter.Schemas; }
- }
-
- public Binding Binding {
- get { return binding; }
- }
-
- public string ClassName {
- get { return className; }
- }
-
- public CodeIdentifiers ClassNames {
- get { return classNames; }
- }
-
- public CodeNamespace CodeNamespace {
- get { return codeNamespace; }
- }
-
- public CodeTypeDeclaration CodeTypeDeclaration {
- get { return codeTypeDeclaration; }
- }
-
- [MonoTODO]
- public XmlSchemas ConcreteSchemas {
- get { return descriptionImporter.Schemas; }
- }
-
- public Message InputMessage {
- get { return inputMessage; }
- }
-
- public string MethodName {
- get { return methodName; }
- }
-
- public Operation Operation {
- get { return operation; }
- }
-
- public OperationBinding OperationBinding {
- get { return operationBinding; }
- }
-
- public Message OutputMessage {
- get { return outputMessage; }
- }
-
- public Port Port {
- get { return port; }
- }
-
- public PortType PortType {
- get { return portType; }
- }
-
- public abstract string ProtocolName {
- get;
- }
-
- public XmlSchemas Schemas {
- get { return descriptionImporter.Schemas; }
- }
-
- public Service Service {
- get { return service; }
- }
-
- public ServiceDescriptionCollection ServiceDescriptions {
- get { return descriptionImporter.ServiceDescriptions; }
- }
-
- public ServiceDescriptionImportStyle Style {
- get { return descriptionImporter.Style; }
- }
-
- public ServiceDescriptionImportWarnings Warnings {
- get { return warnings; }
- set { warnings = value; }
- }
-
- internal ImportInfo ImportInfo
- {
- get { return iinfo; }
- }
-
- internal XmlSchemas LiteralSchemas
- {
- get { return xmlSchemas; }
- }
-
- internal XmlSchemas EncodedSchemas
- {
- get { return soapSchemas; }
- }
-
-#if NET_2_0
- internal CodeGenerationOptions CodeGenerationOptions {
- get { return descriptionImporter.CodeGenerationOptions; }
- }
-
- internal ICodeGenerator CodeGenerator {
- get { return descriptionImporter.CodeGenerator; }
- }
-
- internal ImportContext ImportContext {
- get { return descriptionImporter.Context; }
- }
-#endif
-
- #endregion // Properties
-
- #region Methods
-
- internal bool Import (ServiceDescriptionImporter descriptionImporter, CodeNamespace codeNamespace, CodeCompileUnit codeCompileUnit, ArrayList importInfo)
- {
- this.descriptionImporter = descriptionImporter;
- this.classNames = new CodeIdentifiers();;
- this.codeNamespace = codeNamespace;
- this.codeCompileUnit = codeCompileUnit;
-
- warnings = (ServiceDescriptionImportWarnings) 0;
-
- bool found = false;
-
- ClasifySchemas (importInfo);
-
- BeginNamespace ();
-
- foreach (ImportInfo info in importInfo)
- {
- foreach (Service service in info.ServiceDescription.Services)
- {
- this.service = service;
- int bindingCount = 0;
- foreach (Port port in service.Ports)
- {
- binding = ServiceDescriptions.GetBinding (port.Binding);
- if (IsBindingSupported ()) bindingCount ++;
- }
-
- foreach (Port port in service.Ports)
- {
- this.iinfo = info;
- this.port = port;
- binding = ServiceDescriptions.GetBinding (port.Binding);
- if (!IsBindingSupported ()) continue;
-
- found = true;
- ImportPortBinding (bindingCount > 1);
- }
- }
- }
-
- if (!found)
- {
- // Looks like MS.NET generates classes for all bindings if
- // no services are present
-
- foreach (ImportInfo info in importInfo)
- {
- this.iinfo = info;
- foreach (Binding b in info.ServiceDescription.Bindings)
- {
- this.binding = b;
- this.service = null;
- this.port = null;
- if (!IsBindingSupported ()) continue;
- found = true;
- ImportPortBinding (true);
- }
- }
- }
-
- EndNamespace ();
-
- if (!found) warnings = ServiceDescriptionImportWarnings.NoCodeGenerated;
- return true;
- }
-
- void ImportPortBinding (bool multipleBindings)
- {
- if (port != null) {
- if (multipleBindings) className = port.Name;
- else className = service.Name;
- }
- else
- className = binding.Name;
-
- className = classNames.AddUnique (CodeIdentifier.MakeValid (className), port);
- className = className.Replace ("_x0020_", ""); // MS.NET seems to do this
-
- try
- {
- portType = ServiceDescriptions.GetPortType (binding.Type);
- if (portType == null) throw new Exception ("Port type not found: " + binding.Type);
-
- CodeTypeDeclaration codeClass = BeginClass ();
- codeTypeDeclaration = codeClass;
- AddCodeType (codeClass, port != null ? port.Documentation : null);
- codeClass.Attributes = MemberAttributes.Public;
-
- if (service != null && service.Documentation != null && service.Documentation != "")
- AddComments (codeClass, service.Documentation);
-
- if (Style == ServiceDescriptionImportStyle.Client) {
- CodeAttributeDeclaration att = new CodeAttributeDeclaration ("System.Diagnostics.DebuggerStepThroughAttribute");
- AddCustomAttribute (codeClass, att, true);
-
- att = new CodeAttributeDeclaration ("System.ComponentModel.DesignerCategoryAttribute");
- att.Arguments.Add (GetArg ("code"));
- AddCustomAttribute (codeClass, att, true);
- }
- else
- codeClass.TypeAttributes = System.Reflection.TypeAttributes.Abstract | System.Reflection.TypeAttributes.Public;
-
- if (binding.Operations.Count == 0) {
- warnings |= ServiceDescriptionImportWarnings.NoMethodsGenerated;
- return;
- }
-
- foreach (OperationBinding oper in binding.Operations)
- {
- operationBinding = oper;
- operation = FindPortOperation ();
- if (operation == null) throw new Exception ("Operation " + operationBinding.Name + " not found in portType " + PortType.Name);
-
- foreach (OperationMessage omsg in operation.Messages)
- {
- Message msg = ServiceDescriptions.GetMessage (omsg.Message);
- if (msg == null) throw new Exception ("Message not found: " + omsg.Message);
-
- if (omsg is OperationInput)
- inputMessage = msg;
- else
- outputMessage = msg;
- }
-
- CodeMemberMethod method = GenerateMethod ();
-
- if (method != null)
- {
- methodName = method.Name;
- if (operation.Documentation != null && operation.Documentation != "")
- AddComments (method, operation.Documentation);
-#if NET_2_0
- if (Style == ServiceDescriptionImportStyle.Client)
- AddAsyncMembers (method.Name, method);
-#endif
- }
- }
-
-#if NET_2_0
- if (Style == ServiceDescriptionImportStyle.Client)
- AddAsyncTypes ();
-#endif
-
- EndClass ();
- }
- catch (InvalidOperationException ex)
- {
- warnings |= ServiceDescriptionImportWarnings.NoCodeGenerated;
- UnsupportedBindingWarning (ex.Message);
- }
- }
-
- Operation FindPortOperation ()
- {
- string inMessage = null;
- string outMessage = null;
- int numMsg = 1;
-
- if (operationBinding.Input == null) throw new InvalidOperationException ("Input operation binding not found");
- inMessage = (operationBinding.Input.Name != null) ? operationBinding.Input.Name : operationBinding.Name;
-
- if (operationBinding.Output != null) {
- outMessage = (operationBinding.Output.Name != null) ? operationBinding.Output.Name : operationBinding.Name;
- numMsg++;
- }
-
- string operName = operationBinding.Name;
-
- Operation foundOper = null;
- foreach (Operation oper in PortType.Operations)
- {
- if (oper.Name == operName)
- {
- int hits = 0;
- foreach (OperationMessage omsg in oper.Messages)
- {
- if (omsg is OperationInput && GetOperMessageName (omsg, operName) == inMessage) hits++;
- if (omsg is OperationOutput && GetOperMessageName (omsg, operName) == outMessage) hits++;
- }
- if (hits == numMsg) return oper;
- foundOper = oper;
- }
- }
- return foundOper;
- }
-
- string GetOperMessageName (OperationMessage msg, string operName)
- {
- if (msg.Name == null) return operName;
- else return msg.Name;
- }
-
- internal void GenerateServiceUrl (string location, CodeStatementCollection stms)
- {
- if (ImportInfo.AppSettingUrlKey == null || ImportInfo.AppSettingUrlKey == string.Empty) {
- if (location != null) {
- CodeExpression ce = new CodeFieldReferenceExpression (new CodeThisReferenceExpression(), "Url");
- CodeAssignStatement cas = new CodeAssignStatement (ce, new CodePrimitiveExpression (location));
- stms.Add (cas);
- }
- }
- else
- {
- CodeExpression prop = new CodePropertyReferenceExpression (new CodeTypeReferenceExpression ("System.Configuration.ConfigurationSettings"), "AppSettings");
- prop = new CodeIndexerExpression (prop, new CodePrimitiveExpression (ImportInfo.AppSettingUrlKey));
- stms.Add (new CodeVariableDeclarationStatement (typeof(string), "urlSetting", prop));
-
- CodeExpression urlSetting = new CodeVariableReferenceExpression ("urlSetting");
- CodeExpression thisUrl = new CodeFieldReferenceExpression (new CodeThisReferenceExpression(), "Url");
-
- CodeStatement[] trueStms = new CodeStatement [1];
- CodeExpression ce = urlSetting;
- CodeExpression cond = new CodeBinaryOperatorExpression (urlSetting, CodeBinaryOperatorType.IdentityInequality, new CodePrimitiveExpression (null));
-
- if (ImportInfo.AppSettingBaseUrl != null)
- ce = new CodeMethodInvokeExpression (new CodeTypeReferenceExpression (typeof(string)), "Concat", ce, new CodePrimitiveExpression (ImportInfo.AppSettingBaseUrl));
- trueStms [0] = new CodeAssignStatement (thisUrl, ce);
-
- if (location != null) {
- CodeStatement[] falseStms = new CodeStatement [1];
- falseStms [0] = new CodeAssignStatement (thisUrl, new CodePrimitiveExpression (location));
- stms.Add (new CodeConditionStatement (cond, trueStms, falseStms));
- }
- else
- stms.Add (new CodeConditionStatement (cond, trueStms));
- }
- }
-
- void ClasifySchemas (ArrayList importInfo)
- {
- // I don't like this, but I could not find any other way of clasifying
- // schemas between encoded and literal.
-
- xmlSchemas = new XmlSchemas ();
- soapSchemas = new XmlSchemas ();
-
- foreach (ImportInfo info in importInfo)
- {
- foreach (Service service in info.ServiceDescription.Services)
- {
- foreach (Port port in service.Ports)
- {
- this.iinfo = info;
- this.port = port;
- binding = ServiceDescriptions.GetBinding (port.Binding);
- if (binding == null) continue;
- portType = ServiceDescriptions.GetPortType (binding.Type);
- if (portType == null) continue;
-
- foreach (OperationBinding oper in binding.Operations)
- {
- operationBinding = oper;
- operation = FindPortOperation ();
- if (operation == null) continue;
-
- foreach (OperationMessage omsg in operation.Messages)
- {
- Message msg = ServiceDescriptions.GetMessage (omsg.Message);
- if (msg == null) continue;
-
- if (omsg is OperationInput)
- inputMessage = msg;
- else
- outputMessage = msg;
- }
-
- if (GetMessageEncoding (oper.Input) == SoapBindingUse.Encoded)
- AddMessageSchema (soapSchemas, oper.Input, inputMessage);
- else
- AddMessageSchema (xmlSchemas, oper.Input, inputMessage);
-
- if (oper.Output != null) {
- if (GetMessageEncoding (oper.Output) == SoapBindingUse.Encoded)
- AddMessageSchema (soapSchemas, oper.Output, outputMessage);
- else
- AddMessageSchema (xmlSchemas, oper.Output, outputMessage);
- }
- }
- }
- }
- }
-
- XmlSchemas defaultList = xmlSchemas;
-
- if (xmlSchemas.Count == 0 && soapSchemas.Count > 0)
- defaultList = soapSchemas;
-
- // Schemas not referenced by any message
- foreach (XmlSchema sc in Schemas)
- {
- if (!soapSchemas.Contains (sc) && !xmlSchemas.Contains (sc)) {
- if (ImportsEncodedNamespace (sc))
- soapSchemas.Add (sc);
- else
- defaultList.Add (sc);
- }
- }
- }
-
- void AddMessageSchema (XmlSchemas schemas, MessageBinding mb, Message msg)
- {
- foreach (MessagePart part in msg.Parts)
- {
- if (part.Element != XmlQualifiedName.Empty)
- AddIncludingSchema (schemas, part.Element.Namespace);
- else if (part.Type != XmlQualifiedName.Empty)
- AddIncludingSchema (schemas, part.Type.Namespace);
- }
- SoapBodyBinding sbb = mb.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
- if (sbb != null) AddIncludingSchema (schemas, sbb.Namespace);
- }
-
- void AddIncludingSchema (XmlSchemas list, string ns)
- {
- XmlSchema sc = Schemas [ns];
- if (sc == null || list.Contains (sc)) return;
- list.Add (sc);
- foreach (XmlSchemaObject ob in sc.Includes)
- {
- XmlSchemaImport import = ob as XmlSchemaImport;
- if (import != null) AddIncludingSchema (list, import.Namespace);
- }
- }
-
- SoapBindingUse GetMessageEncoding (MessageBinding mb)
- {
- SoapBodyBinding sbb = mb.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
- if (sbb == null)
- {
- if (mb is InputBinding) return SoapBindingUse.Encoded;
- else return SoapBindingUse.Literal;
- }
- else
- if (sbb.Use == SoapBindingUse.Encoded) return SoapBindingUse.Encoded;
- else
- return SoapBindingUse.Literal;
- }
-
- bool ImportsEncodedNamespace (XmlSchema sc)
- {
- foreach (XmlSchemaObject ob in sc.Includes)
- {
- XmlSchemaImport import = ob as XmlSchemaImport;
- if (import.Namespace == SoapProtocolReflector.EncodingNamespace) return true;
- }
- return false;
- }
-
-#if NET_2_0
-
- void AddAsyncTypes ()
- {
- foreach (CodeTypeDeclaration type in asyncTypes)
- codeNamespace.Types.Add (type);
- asyncTypes.Clear ();
- }
-
- void AddAsyncMembers (string messageName, CodeMemberMethod method)
- {
- CodeThisReferenceExpression ethis = new CodeThisReferenceExpression();
- CodePrimitiveExpression enull = new CodePrimitiveExpression (null);
-
- CodeMemberField codeField = new CodeMemberField (typeof(System.Threading.SendOrPostCallback), messageName + "OperationCompleted");
- codeField.Attributes = MemberAttributes.Private;
- CodeTypeDeclaration.Members.Add (codeField);
-
- // Event arguments class
-
- string argsClassName = classNames.AddUnique (messageName + "CompletedEventArgs", null);
- CodeTypeDeclaration argsClass = new CodeTypeDeclaration (argsClassName);
- argsClass.BaseTypes.Add (new CodeTypeReference ("System.ComponentModel.AsyncCompletedEventArgs"));
-
- CodeMemberField resultsField = new CodeMemberField (typeof(object[]), "results");
- resultsField.Attributes = MemberAttributes.Private;
- argsClass.Members.Add (resultsField);
-
- CodeConstructor cc = new CodeConstructor ();
- cc.Attributes = MemberAttributes.Assembly;
- cc.Parameters.Add (new CodeParameterDeclarationExpression (typeof(object[]), "results"));
- cc.Parameters.Add (new CodeParameterDeclarationExpression (typeof(System.Exception), "exception"));
- cc.Parameters.Add (new CodeParameterDeclarationExpression (typeof(bool), "cancelled"));
- cc.Parameters.Add (new CodeParameterDeclarationExpression (typeof(object), "userState"));
- cc.BaseConstructorArgs.Add (new CodeVariableReferenceExpression ("exception"));
- cc.BaseConstructorArgs.Add (new CodeVariableReferenceExpression ("cancelled"));
- cc.BaseConstructorArgs.Add (new CodeVariableReferenceExpression ("userState"));
- CodeExpression thisResults = new CodeFieldReferenceExpression (ethis, "results");
- cc.Statements.Add (new CodeAssignStatement (thisResults, new CodeVariableReferenceExpression ("results")));
- argsClass.Members.Add (cc);
-
- int ind = 0;
-
- if (method.ReturnType.BaseType != "System.Void")
- argsClass.Members.Add (CreateArgsProperty (method.ReturnType, "Result", ind++));
-
- foreach (CodeParameterDeclarationExpression par in method.Parameters)
- {
- if (par.Direction == FieldDirection.Out || par.Direction == FieldDirection.Ref)
- argsClass.Members.Add (CreateArgsProperty (par.Type, par.Name, ind++));
- }
-
- bool needsArgsClass = (ind > 0);
- if (needsArgsClass)
- asyncTypes.Add (argsClass);
- else
- argsClassName = "System.ComponentModel.AsyncCompletedEventArgs";
-
- // Event delegate type
-
- CodeTypeDelegate delegateType = new CodeTypeDelegate (messageName + "CompletedEventHandler");
- delegateType.Parameters.Add (new CodeParameterDeclarationExpression (typeof(object), "sender"));
- delegateType.Parameters.Add (new CodeParameterDeclarationExpression (argsClassName, "args"));
-
- // Event member
-
- CodeMemberEvent codeEvent = new CodeMemberEvent ();
- codeEvent.Name = messageName + "Completed";
- codeEvent.Type = new CodeTypeReference (delegateType.Name);
- CodeTypeDeclaration.Members.Add (codeEvent);
-
- // Async method (without user state param)
-
- CodeMemberMethod am = new CodeMemberMethod ();
- am.Attributes = MemberAttributes.Public | MemberAttributes.Final;
- am.Name = method.Name + "Async";
- am.ReturnType = new CodeTypeReference (typeof(void));
- CodeMethodInvokeExpression inv;
- inv = new CodeMethodInvokeExpression (ethis, am.Name);
- am.Statements.Add (inv);
-
- // On...Completed method
-
- CodeMemberMethod onCompleted = new CodeMemberMethod ();
- onCompleted.Name = "On" + messageName + "Completed";
- onCompleted.Attributes = MemberAttributes.Private | MemberAttributes.Final;
- onCompleted.ReturnType = new CodeTypeReference (typeof(void));
- onCompleted.Parameters.Add (new CodeParameterDeclarationExpression (typeof(object), "arg"));
-
- CodeConditionStatement anIf = new CodeConditionStatement ();
-
- CodeExpression eventField = new CodeEventReferenceExpression (ethis, codeEvent.Name);
- anIf.Condition = new CodeBinaryOperatorExpression (eventField, CodeBinaryOperatorType.IdentityInequality, enull);
- CodeExpression castedArg = new CodeCastExpression (typeof(System.Web.Services.Protocols.InvokeCompletedEventArgs), new CodeVariableReferenceExpression ("arg"));
- CodeStatement invokeArgs = new CodeVariableDeclarationStatement (typeof(System.Web.Services.Protocols.InvokeCompletedEventArgs), "invokeArgs", castedArg);
- anIf.TrueStatements.Add (invokeArgs);
-
- CodeDelegateInvokeExpression delegateInvoke = new CodeDelegateInvokeExpression ();
- delegateInvoke.TargetObject = eventField;
- delegateInvoke.Parameters.Add (ethis);
- CodeObjectCreateExpression argsInstance = new CodeObjectCreateExpression (argsClassName);
- CodeExpression invokeArgsVar = new CodeVariableReferenceExpression ("invokeArgs");
- if (needsArgsClass) argsInstance.Parameters.Add (new CodeFieldReferenceExpression (invokeArgsVar, "Results"));
- argsInstance.Parameters.Add (new CodeFieldReferenceExpression (invokeArgsVar, "Error"));
- argsInstance.Parameters.Add (new CodeFieldReferenceExpression (invokeArgsVar, "Cancelled"));
- argsInstance.Parameters.Add (new CodeFieldReferenceExpression (invokeArgsVar, "UserState"));
- delegateInvoke.Parameters.Add (argsInstance);
- anIf.TrueStatements.Add (delegateInvoke);
-
- onCompleted.Statements.Add (anIf);
-
- // Async method
-
- CodeMemberMethod asyncMethod = new CodeMemberMethod ();
- asyncMethod.Attributes = MemberAttributes.Public | MemberAttributes.Final;
- asyncMethod.Name = method.Name + "Async";
- asyncMethod.ReturnType = new CodeTypeReference (typeof(void));
-
- CodeExpression delegateField = new CodeFieldReferenceExpression (ethis, codeField.Name);
- anIf = new CodeConditionStatement ();
- anIf.Condition = new CodeBinaryOperatorExpression (delegateField, CodeBinaryOperatorType.IdentityEquality, enull);;
- CodeExpression delegateRef = new CodeMethodReferenceExpression (ethis, onCompleted.Name);
- CodeExpression newDelegate = new CodeObjectCreateExpression (typeof(System.Threading.SendOrPostCallback), delegateRef);
- CodeAssignStatement cas = new CodeAssignStatement (delegateField, newDelegate);
- anIf.TrueStatements.Add (cas);
- asyncMethod.Statements.Add (anIf);
-
- CodeArrayCreateExpression paramsArray = new CodeArrayCreateExpression (typeof(object));
-
- // Assign parameters
-
- CodeIdentifiers paramsIds = new CodeIdentifiers ();
-
- foreach (CodeParameterDeclarationExpression par in method.Parameters)
- {
- paramsIds.Add (par.Name, null);
- if (par.Direction == FieldDirection.In || par.Direction == FieldDirection.Ref) {
- CodeParameterDeclarationExpression inpar = new CodeParameterDeclarationExpression (par.Type, par.Name);
- am.Parameters.Add (inpar);
- asyncMethod.Parameters.Add (inpar);
- inv.Parameters.Add (new CodeVariableReferenceExpression (par.Name));
- paramsArray.Initializers.Add (new CodeVariableReferenceExpression (par.Name));
- }
- }
-
-
- inv.Parameters.Add (enull);
-
- string userStateName = paramsIds.AddUnique ("userState", null);
- asyncMethod.Parameters.Add (new CodeParameterDeclarationExpression (typeof(object), userStateName));
-
- CodeExpression userStateVar = new CodeVariableReferenceExpression (userStateName);
- asyncMethod.Statements.Add (BuildInvokeAsync (messageName, paramsArray, delegateField, userStateVar));
-
- CodeTypeDeclaration.Members.Add (am);
- CodeTypeDeclaration.Members.Add (asyncMethod);
- CodeTypeDeclaration.Members.Add (onCompleted);
-
- asyncTypes.Add (delegateType);
- }
-
- CodeMemberProperty CreateArgsProperty (CodeTypeReference type, string name, int ind)
- {
- CodeMemberProperty prop = new CodeMemberProperty ();
- prop.Attributes = MemberAttributes.Public | MemberAttributes.Final;
- prop.HasGet = true;
- prop.HasSet = false;
- prop.Name = name;
- prop.Type = type;
- CodeThisReferenceExpression ethis = new CodeThisReferenceExpression();
- CodeExpression thisResults = new CodeFieldReferenceExpression (ethis, "results");
- prop.GetStatements.Add (new CodeMethodInvokeExpression (ethis, "RaiseExceptionIfNecessary"));
- CodeArrayIndexerExpression arrValue = new CodeArrayIndexerExpression (thisResults, new CodePrimitiveExpression (ind));
- CodeExpression retval = new CodeCastExpression (type, arrValue);
- prop.GetStatements.Add (new CodeMethodReturnStatement (retval));
- return prop;
- }
-
- internal virtual CodeExpression BuildInvokeAsync (string messageName, CodeArrayCreateExpression paramsArray, CodeExpression delegateField, CodeExpression userStateVar)
- {
- CodeThisReferenceExpression ethis = new CodeThisReferenceExpression();
- CodeMethodInvokeExpression inv2 = new CodeMethodInvokeExpression (ethis, "InvokeAsync");
- inv2.Parameters.Add (new CodePrimitiveExpression (messageName));
- inv2.Parameters.Add (paramsArray);
- inv2.Parameters.Add (delegateField);
- inv2.Parameters.Add (userStateVar);
- return inv2;
- }
-#endif
-
- [MonoTODO]
- public void AddExtensionWarningComments (CodeCommentStatementCollection comments, ServiceDescriptionFormatExtensionCollection extensions)
- {
- throw new NotImplementedException ();
- }
-
- protected abstract CodeTypeDeclaration BeginClass ();
-
- protected virtual void BeginNamespace ()
- {
- }
-
- protected virtual void EndClass ()
- {
- }
-
- protected virtual void EndNamespace ()
- {
- }
-
- protected abstract CodeMemberMethod GenerateMethod ();
- protected abstract bool IsBindingSupported ();
- protected abstract bool IsOperationFlowSupported (OperationFlow flow);
-
- [MonoTODO]
- public Exception OperationBindingSyntaxException (string text)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- public Exception OperationSyntaxException (string text)
- {
- throw new NotImplementedException ();
- }
-
- public void UnsupportedBindingWarning (string text)
- {
- warnings |= ServiceDescriptionImportWarnings.UnsupportedBindingsIgnored;
- AddGlobalComments ("WARNING: Could not generate proxy for binding " + binding.Name + ". " + text);
- }
-
- public void UnsupportedOperationBindingWarning (string text)
- {
- warnings |= ServiceDescriptionImportWarnings.UnsupportedOperationsIgnored;
- AddGlobalComments ("WARNING: Could not generate operation " + OperationBinding.Name + ". " + text);
- }
-
- public void UnsupportedOperationWarning (string text)
- {
- warnings |= ServiceDescriptionImportWarnings.UnsupportedOperationsIgnored;
- AddGlobalComments ("WARNING: Could not generate operation " + OperationBinding.Name + ". " + text);
- }
-
- void AddGlobalComments (string comments)
- {
- codeNamespace.Comments.Add (new CodeCommentStatement (comments, false));
- }
-
- void AddComments (CodeTypeMember member, string comments)
- {
- if (comments == null || comments == "") member.Comments.Add (new CodeCommentStatement ("<remarks/>", true));
- else member.Comments.Add (new CodeCommentStatement ("<remarks>\n" + comments + "\n</remarks>", true));
- }
-
- void AddCodeType (CodeTypeDeclaration type, string comments)
- {
- AddComments (type, comments);
- codeNamespace.Types.Add (type);
- }
-
- internal void AddCustomAttribute (CodeTypeMember ctm, CodeAttributeDeclaration att, bool addIfNoParams)
- {
- if (att.Arguments.Count == 0 && !addIfNoParams) return;
-
- if (ctm.CustomAttributes == null) ctm.CustomAttributes = new CodeAttributeDeclarationCollection ();
- ctm.CustomAttributes.Add (att);
- }
-
- internal void AddCustomAttribute (CodeTypeMember ctm, string name, params CodeAttributeArgument[] args)
- {
- if (ctm.CustomAttributes == null) ctm.CustomAttributes = new CodeAttributeDeclarationCollection ();
- ctm.CustomAttributes.Add (new CodeAttributeDeclaration (name, args));
- }
-
- internal CodeAttributeArgument GetArg (string name, object value)
- {
- return new CodeAttributeArgument (name, new CodePrimitiveExpression(value));
- }
-
- internal CodeAttributeArgument GetEnumArg (string name, string enumType, string enumValue)
- {
- return new CodeAttributeArgument (name, new CodeFieldReferenceExpression (new CodeTypeReferenceExpression(enumType), enumValue));
- }
-
- internal CodeAttributeArgument GetArg (object value)
- {
- return new CodeAttributeArgument (new CodePrimitiveExpression(value));
- }
-
- internal CodeAttributeArgument GetTypeArg (string name, string typeName)
- {
- return new CodeAttributeArgument (name, new CodeTypeOfExpression(typeName));
- }
-
- #endregion
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Description.ProtocolReflector.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Tim Coleman, 2002
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Xml.Serialization;
-using System.Xml;
-using System.Xml.Schema;
-using System.Collections;
-
-namespace System.Web.Services.Description {
- public abstract class ProtocolReflector {
-
- #region Fields
-
- Binding binding;
- string defaultNamespace;
- MessageCollection headerMessages;
- Message inputMessage;
- LogicalMethodInfo[] methods;
- Operation operation;
- OperationBinding operationBinding;
- Message outputMessage;
- Port port;
- PortType portType;
- string protocolName;
- XmlSchemaExporter schemaExporter;
- Service service;
- ServiceDescription serviceDescription;
- Type serviceType;
- string serviceUrl;
- SoapSchemaExporter soapSchemaExporter;
- MethodStubInfo methodStubInfo;
- TypeStubInfo typeInfo;
- ArrayList extensionReflectors;
- ServiceDescriptionReflector serviceReflector;
-
- XmlReflectionImporter reflectionImporter;
- SoapReflectionImporter soapReflectionImporter;
-
- CodeIdentifiers portNames;
-
- #endregion // Fields
-
- #region Constructors
-
- protected ProtocolReflector ()
- {
- defaultNamespace = WebServiceAttribute.DefaultNamespace;
- extensionReflectors = ExtensionManager.BuildExtensionReflectors ();
- }
-
- #endregion // Constructors
-
- #region Properties
-
- public Binding Binding {
- get { return binding; }
- }
-
- public string DefaultNamespace {
- get { return defaultNamespace; }
- }
-
- public MessageCollection HeaderMessages {
- get { return headerMessages; } // TODO: set
- }
-
- public Message InputMessage {
- get { return inputMessage; }
- }
-
- public LogicalMethodInfo Method {
- get { return methodStubInfo.MethodInfo; }
- }
-
- public WebMethodAttribute MethodAttribute {
- get { return methodStubInfo.MethodAttribute; }
- }
-
- public LogicalMethodInfo[] Methods {
- get { return typeInfo.LogicalType.LogicalMethods; }
- }
-
- public Operation Operation {
- get { return operation; }
- }
-
- public OperationBinding OperationBinding {
- get { return operationBinding; }
- }
-
- public Message OutputMessage {
- get { return outputMessage; }
- }
-
- public Port Port {
- get { return port; }
- }
-
- public PortType PortType {
- get { return portType; }
- }
-
- public abstract string ProtocolName {
- get;
- }
-
- public XmlReflectionImporter ReflectionImporter
- {
- get
- {
- if (reflectionImporter == null) {
- reflectionImporter = typeInfo.XmlImporter;
- if (reflectionImporter == null)
- reflectionImporter = new XmlReflectionImporter();
- }
- return reflectionImporter;
- }
- }
-
- internal SoapReflectionImporter SoapReflectionImporter
- {
- get
- {
- if (soapReflectionImporter == null) {
- soapReflectionImporter = typeInfo.SoapImporter;
- if (soapReflectionImporter == null)
- soapReflectionImporter = new SoapReflectionImporter();
- }
- return soapReflectionImporter;
- }
- }
-
- public XmlSchemaExporter SchemaExporter {
- get { return schemaExporter; }
- }
-
- internal SoapSchemaExporter SoapSchemaExporter {
- get { return soapSchemaExporter; }
- }
-
- public XmlSchemas Schemas {
- get { return serviceReflector.Schemas; }
- }
-
- public Service Service {
- get { return service; }
- }
-
- public ServiceDescription ServiceDescription {
- get { return serviceDescription; }
- }
-
- public ServiceDescriptionCollection ServiceDescriptions {
- get { return serviceReflector.ServiceDescriptions; }
- }
-
- public Type ServiceType {
- get { return serviceType; }
- }
-
- public string ServiceUrl {
- get { return serviceUrl; }
- }
-
- internal MethodStubInfo MethodStubInfo {
- get { return methodStubInfo; }
- }
-
- internal TypeStubInfo TypeInfo {
- get { return typeInfo; }
- }
-
-
- #endregion // Properties
-
- #region Methods
-
- internal void Reflect (ServiceDescriptionReflector serviceReflector, Type type, string url, XmlSchemaExporter xxporter, SoapSchemaExporter sxporter)
- {
- portNames = new CodeIdentifiers ();
- this.serviceReflector = serviceReflector;
- serviceUrl = url;
- serviceType = type;
-
- schemaExporter = xxporter;
- soapSchemaExporter = sxporter;
-
- typeInfo = TypeStubManager.GetTypeStub (type, ProtocolName);
-
- ServiceDescription desc = ServiceDescriptions [typeInfo.LogicalType.WebServiceNamespace];
-
- if (desc == null)
- {
- desc = new ServiceDescription ();
- desc.TargetNamespace = typeInfo.LogicalType.WebServiceNamespace;
- desc.Name = typeInfo.LogicalType.WebServiceName;
- ServiceDescriptions.Add (desc);
- }
-
- ImportService (desc, typeInfo, url);
- }
-
- void ImportService (ServiceDescription desc, TypeStubInfo typeInfo, string url)
- {
- service = desc.Services [typeInfo.LogicalType.WebServiceName];
- if (service == null)
- {
- service = new Service ();
- service.Name = typeInfo.LogicalType.WebServiceName;
- service.Documentation = typeInfo.LogicalType.Description;
- desc.Services.Add (service);
- }
-
- foreach (BindingInfo binfo in typeInfo.Bindings)
- ImportBinding (desc, service, typeInfo, url, binfo);
- }
-
- void ImportBinding (ServiceDescription desc, Service service, TypeStubInfo typeInfo, string url, BindingInfo binfo)
- {
- port = new Port ();
- port.Name = portNames.AddUnique (binfo.Name, port);
- bool bindingFull = true;
-
- if (binfo.Namespace != desc.TargetNamespace)
- {
- if (binfo.Location == null || binfo.Location == string.Empty)
- {
- ServiceDescription newDesc = new ServiceDescription();
- newDesc.TargetNamespace = binfo.Namespace;
- newDesc.Name = binfo.Name;
- bindingFull = ImportBindingContent (newDesc, typeInfo, url, binfo);
- if (bindingFull) {
- int id = ServiceDescriptions.Add (newDesc);
- AddImport (desc, binfo.Namespace, GetWsdlUrl (url,id));
- }
- }
- else {
- AddImport (desc, binfo.Namespace, binfo.Location);
- bindingFull = true;
- }
- }
- else
- bindingFull = ImportBindingContent (desc, typeInfo, url, binfo);
-
- if (bindingFull)
- {
- port.Binding = new XmlQualifiedName (binding.Name, binfo.Namespace);
- service.Ports.Add (port);
- }
- }
-
- bool ImportBindingContent (ServiceDescription desc, TypeStubInfo typeInfo, string url, BindingInfo binfo)
- {
- serviceDescription = desc;
-
- // Look for an unused name
-
- int n=0;
- string name = binfo.Name;
- bool found;
- do
- {
- found = false;
- foreach (Binding bi in desc.Bindings)
- if (bi.Name == name) { found = true; n++; name = binfo.Name+n; break; }
- }
- while (found);
-
- // Create the binding
-
- binding = new Binding ();
- binding.Name = name;
- binding.Type = new XmlQualifiedName (binding.Name, binfo.Namespace);
-
- portType = new PortType ();
- portType.Name = binding.Name;
-
- BeginClass ();
-
- foreach (MethodStubInfo method in typeInfo.Methods)
- {
- methodStubInfo = method;
-
- string metBinding = ReflectMethodBinding ();
- if (typeInfo.GetBinding (metBinding) != binfo) continue;
-
- operation = new Operation ();
- operation.Name = method.OperationName;
- operation.Documentation = method.MethodAttribute.Description;
-
- inputMessage = new Message ();
- inputMessage.Name = method.Name + ProtocolName + "In";
- ServiceDescription.Messages.Add (inputMessage);
-
- outputMessage = new Message ();
- outputMessage.Name = method.Name + ProtocolName + "Out";
- ServiceDescription.Messages.Add (outputMessage);
-
- OperationInput inOp = new OperationInput ();
- if (method.Name != method.OperationName) inOp.Name = method.Name;
- Operation.Messages.Add (inOp);
- inOp.Message = new XmlQualifiedName (inputMessage.Name, ServiceDescription.TargetNamespace);
-
- OperationOutput outOp = new OperationOutput ();
- if (method.Name != method.OperationName) outOp.Name = method.Name;
- Operation.Messages.Add (outOp);
- outOp.Message = new XmlQualifiedName (outputMessage.Name, ServiceDescription.TargetNamespace);
-
- portType.Operations.Add (operation);
- ImportOperationBinding ();
-
- ReflectMethod ();
-
- foreach (SoapExtensionReflector reflector in extensionReflectors)
- {
- reflector.ReflectionContext = this;
- reflector.ReflectMethod ();
- }
- }
-
- EndClass ();
-
- if (portType.Operations.Count > 0)
- {
- desc.Bindings.Add (binding);
- desc.PortTypes.Add (portType);
- return true;
- }
- else
- return false;
- }
-
- void ImportOperationBinding ()
- {
- operationBinding = new OperationBinding ();
- operationBinding.Name = methodStubInfo.OperationName;
-
- InputBinding inOp = new InputBinding ();
- operationBinding.Input = inOp;
-
- OutputBinding outOp = new OutputBinding ();
- operationBinding.Output = outOp;
-
- if (methodStubInfo.OperationName != methodStubInfo.Name)
- inOp.Name = outOp.Name = methodStubInfo.Name;
-
- binding.Operations.Add (operationBinding);
- }
-
- internal static void AddImport (ServiceDescription desc, string ns, string location)
- {
- Import im = new Import();
- im.Namespace = ns;
- im.Location = location;
- desc.Imports.Add (im);
- }
-
- string GetWsdlUrl (string baseUrl, int id)
- {
- return baseUrl + "?wsdl=" + id;
- }
-
- protected virtual void BeginClass ()
- {
- }
-
- protected virtual void EndClass ()
- {
- }
-
- public ServiceDescription GetServiceDescription (string ns)
- {
- return ServiceDescriptions [ns];
- }
-
- protected abstract bool ReflectMethod ();
-
- protected virtual string ReflectMethodBinding ()
- {
- return null;
- }
-
- #endregion
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.Service.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description\r
-{\r
- public sealed class Service :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
- #region Fields\r
-\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- PortCollection ports;\r
- ServiceDescription serviceDescription;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public Service ()\r
- {\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
-#if !NET_2_0\r
- name = String.Empty;\r
-#endif\r
- ports = new PortCollection (this);\r
- serviceDescription = null;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public ServiceDescriptionFormatExtensionCollection Extensions { \r
- get { return extensions; }\r
- }\r
-\r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NCName")] \r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
- [XmlElement ("port")] \r
- public PortCollection Ports {\r
- get { return ports; }\r
- }\r
-\r
-// [XmlIgnore]\r
- public ServiceDescription ServiceDescription {\r
- get { return serviceDescription; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (ServiceDescription serviceDescription) \r
- {\r
- this.serviceDescription = serviceDescription;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class ServiceCollection : ServiceDescriptionBaseCollection {\r
- \r
- #region Constructors\r
- \r
- internal ServiceCollection (ServiceDescription serviceDescription)\r
- : base (serviceDescription)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public Service this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
-\r
- return (Service) List[index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- public Service this [string name] {\r
- get { \r
- int index = IndexOf ((Service) Table[name]);\r
- if (index >= 0)\r
- return this[index]; \r
- return null;\r
- }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (Service service) \r
- {\r
- Insert (Count, service);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (Service service)\r
- {\r
- return List.Contains (service);\r
- }\r
-\r
- public void CopyTo (Service[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- protected override string GetKey (object value) \r
- {\r
- if (!(value is Service))\r
- throw new InvalidCastException ();\r
-\r
- return ((Service) value).Name;\r
- }\r
-\r
- public int IndexOf (Service service)\r
- {\r
- return List.IndexOf (service);\r
- }\r
-\r
- public void Insert (int index, Service service)\r
- {\r
- List.Insert (index, service);\r
- }\r
- \r
- public void Remove (Service service)\r
- {\r
- List.Remove (service);\r
- }\r
- \r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((Service) value).SetParent ((ServiceDescription) parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceDescription.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Collections;\r
-using System.Reflection;\r
-using System.Web.Services;\r
-using System.Web.Services.Configuration;\r
-using System.Xml;\r
-using System.Xml.Schema;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description\r
-{\r
- [XmlFormatExtensionPoint ("Extensions")]\r
- [XmlRoot ("definitions", Namespace = "http://schemas.xmlsoap.org/wsdl/")]\r
- public sealed class ServiceDescription :\r
-#if NET_2_0\r
- NamedItem\r
-#else\r
- DocumentableItem \r
-#endif\r
- {\r
- #region Fields\r
-\r
- public const string Namespace = "http://schemas.xmlsoap.org/wsdl/";\r
-\r
- BindingCollection bindings;\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
- ImportCollection imports;\r
- MessageCollection messages;\r
-#if !NET_2_0\r
- string name;\r
-#endif\r
- PortTypeCollection portTypes;\r
- string retrievalUrl;\r
- ServiceDescriptionCollection serviceDescriptions;\r
- ServiceCollection services;\r
- string targetNamespace;\r
- Types types;\r
- static ServiceDescriptionSerializer serializer;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- static ServiceDescription ()\r
- {\r
- serializer = new ServiceDescriptionSerializer ();\r
- }\r
-\r
- public ServiceDescription ()\r
- {\r
- bindings = new BindingCollection (this);\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
- imports = new ImportCollection (this);\r
- messages = new MessageCollection (this);\r
-#if !NET_2_0\r
- name = String.Empty; \r
-#endif\r
- portTypes = new PortTypeCollection (this);\r
-\r
- serviceDescriptions = null;\r
- services = new ServiceCollection (this);\r
- targetNamespace = String.Empty;\r
- types = null;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlElement ("import")]\r
- public ImportCollection Imports {\r
- get { return imports; }\r
- }\r
-\r
- [XmlElement ("types")]\r
- public Types Types {\r
- get { return types; }\r
- set { types = value; }\r
- }\r
-\r
- [XmlElement ("message")]\r
- public MessageCollection Messages {\r
- get { return messages; }\r
- }\r
-\r
- [XmlElement ("portType")] \r
- public PortTypeCollection PortTypes {\r
- get { return portTypes; }\r
- }\r
- \r
- [XmlElement ("binding")]\r
- public BindingCollection Bindings {\r
- get { return bindings; }\r
- }\r
-\r
- [XmlIgnore]\r
- public ServiceDescriptionFormatExtensionCollection Extensions { \r
- get { return extensions; }\r
- }\r
-\r
-#if !NET_2_0\r
- [XmlAttribute ("name", DataType = "NMTOKEN")] \r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
-\r
- [XmlIgnore] \r
- public string RetrievalUrl {\r
- get { return retrievalUrl; }\r
- set { retrievalUrl = value; }\r
- }\r
- \r
- [XmlIgnore] \r
- public static XmlSerializer Serializer {\r
- get { return serializer; }\r
- }\r
-\r
- [XmlIgnore]\r
- public ServiceDescriptionCollection ServiceDescriptions {\r
- get { \r
- if (serviceDescriptions == null) \r
- throw new NullReferenceException ();\r
- return serviceDescriptions; \r
- }\r
- }\r
-\r
- [XmlElement ("service")]\r
- public ServiceCollection Services {\r
- get { return services; }\r
- }\r
-\r
- [XmlAttribute ("targetNamespace")]\r
- public string TargetNamespace {\r
- get { return targetNamespace; }\r
- set { targetNamespace = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public static bool CanRead (XmlReader reader)\r
- {\r
- reader.MoveToContent ();\r
- return reader.LocalName == "definitions" && \r
- reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/";\r
- }\r
-\r
- public static ServiceDescription Read (Stream stream)\r
- {\r
- return (ServiceDescription) serializer.Deserialize (stream);\r
- }\r
-\r
- public static ServiceDescription Read (string fileName)\r
- {\r
- return Read (new FileStream (fileName, FileMode.Open));\r
- }\r
-\r
- public static ServiceDescription Read (TextReader textReader)\r
- {\r
- return (ServiceDescription) serializer.Deserialize (textReader);\r
- }\r
-\r
- public static ServiceDescription Read (XmlReader reader)\r
- {\r
- return (ServiceDescription) serializer.Deserialize (reader);\r
- }\r
-\r
- public void Write (Stream stream)\r
- {\r
- serializer.Serialize (stream, this, GetNamespaceList ());\r
- }\r
-\r
- public void Write (string fileName)\r
- {\r
- Write (new FileStream (fileName, FileMode.Create));\r
- }\r
-\r
- public void Write (TextWriter writer)\r
- {\r
- serializer.Serialize (writer, this, GetNamespaceList ());\r
- }\r
-\r
- public void Write (XmlWriter writer)\r
- {\r
- serializer.Serialize (writer, this, GetNamespaceList ());\r
- }\r
-\r
- internal void SetParent (ServiceDescriptionCollection serviceDescriptions)\r
- {\r
- this.serviceDescriptions = serviceDescriptions; \r
- }\r
- \r
- XmlSerializerNamespaces GetNamespaceList ()\r
- {\r
- XmlSerializerNamespaces ns;\r
- ns = new XmlSerializerNamespaces ();\r
- ns.Add ("soap", SoapBinding.Namespace);\r
- ns.Add ("soapenc", "http://schemas.xmlsoap.org/soap/encoding/");\r
- ns.Add ("s", XmlSchema.Namespace);\r
- ns.Add ("http", HttpBinding.Namespace);\r
- ns.Add ("mime", MimeContentBinding.Namespace);\r
- ns.Add ("tm", MimeTextBinding.Namespace);\r
- ns.Add ("s0", TargetNamespace);\r
- \r
- AddExtensionNamespaces (ns, Extensions);\r
- \r
- if (Types != null) AddExtensionNamespaces (ns, Types.Extensions);\r
- \r
- foreach (Service ser in Services)\r
- foreach (Port port in ser.Ports)\r
- AddExtensionNamespaces (ns, port.Extensions);\r
-\r
- foreach (Binding bin in Bindings)\r
- {\r
- AddExtensionNamespaces (ns, bin.Extensions);\r
- foreach (OperationBinding op in bin.Operations)\r
- {\r
- AddExtensionNamespaces (ns, op.Extensions);\r
- if (op.Input != null) AddExtensionNamespaces (ns, op.Input.Extensions);\r
- if (op.Output != null) AddExtensionNamespaces (ns, op.Output.Extensions);\r
- }\r
- }\r
- return ns;\r
- }\r
- \r
- void AddExtensionNamespaces (XmlSerializerNamespaces ns, ServiceDescriptionFormatExtensionCollection extensions)\r
- {\r
- foreach (ServiceDescriptionFormatExtension ext in extensions)\r
- {\r
- ExtensionInfo einf = ExtensionManager.GetFormatExtensionInfo (ext.GetType ());\r
- foreach (XmlQualifiedName qname in einf.NamespaceDeclarations)\r
- ns.Add (qname.Name, qname.Namespace);\r
- }\r
- }\r
- \r
- internal static void WriteExtensions (XmlWriter writer, object ob)\r
- {\r
- ServiceDescriptionFormatExtensionCollection extensions = ExtensionManager.GetExtensionPoint (ob);\r
- if (extensions != null)\r
- {\r
- foreach (ServiceDescriptionFormatExtension ext in extensions)\r
- WriteExtension (writer, ext);\r
- }\r
- }\r
- \r
- static void WriteExtension (XmlWriter writer, ServiceDescriptionFormatExtension ext)\r
- {\r
- Type type = ext.GetType ();\r
- ExtensionInfo info = ExtensionManager.GetFormatExtensionInfo (type);\r
- \r
-// if (prefix != null && prefix != "")\r
-// Writer.WriteStartElement (prefix, info.ElementName, info.Namespace);\r
-// else\r
-// WriteStartElement (info.ElementName, info.Namespace, false);\r
-\r
- XmlSerializerNamespaces ns = new XmlSerializerNamespaces ();\r
- ns.Add ("","");\r
- info.Serializer.Serialize (writer, ext, ns);\r
- }\r
- \r
- internal static void ReadExtension (XmlReader reader, object ob)\r
- {\r
- ServiceDescriptionFormatExtensionCollection extensions = ExtensionManager.GetExtensionPoint (ob);\r
- if (extensions != null)\r
- {\r
- ExtensionInfo info = ExtensionManager.GetFormatExtensionInfo (reader.LocalName, reader.NamespaceURI);\r
- if (info != null)\r
- {\r
- object extension = info.Serializer.Deserialize (reader);\r
- extensions.Add ((ServiceDescriptionFormatExtension)extension);\r
- return;\r
- }\r
- }\r
- reader.Skip ();\r
- }\r
-\r
-\r
- #endregion\r
-\r
- internal class ServiceDescriptionSerializer : XmlSerializer \r
- {\r
- protected override void Serialize (object o, XmlSerializationWriter writer)\r
- {\r
- ServiceDescriptionWriterBase xsWriter = writer as ServiceDescriptionWriterBase;\r
- xsWriter.WriteTree ((ServiceDescription)o);\r
- }\r
- \r
- protected override object Deserialize (XmlSerializationReader reader)\r
- {\r
- ServiceDescriptionReaderBase xsReader = reader as ServiceDescriptionReaderBase;\r
- return xsReader.ReadTree ();\r
- }\r
- \r
- protected override XmlSerializationWriter CreateWriter ()\r
- {\r
- return new ServiceDescriptionWriterBase ();\r
- }\r
- \r
- protected override XmlSerializationReader CreateReader ()\r
- {\r
- return new ServiceDescriptionReaderBase ();\r
- }\r
- } \r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceDescriptionBaseCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Description {\r
- public abstract class ServiceDescriptionBaseCollection : CollectionBase {\r
- \r
- #region Fields\r
-\r
- Hashtable table = new Hashtable ();\r
- object parent;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- internal ServiceDescriptionBaseCollection (object parent)\r
- {\r
- this.parent = parent;\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- protected virtual IDictionary Table {\r
- get { return table; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- protected virtual string GetKey (object value) \r
- {\r
- return null; \r
- }\r
-\r
- protected override void OnClear ()\r
- {\r
- Table.Clear ();\r
- }\r
-\r
- protected override void OnInsertComplete (int index, object value)\r
- {\r
- if (GetKey (value) != null)\r
- Table [GetKey (value)] = value;\r
- SetParent (value, parent);\r
- }\r
-\r
- protected override void OnRemove (int index, object value)\r
- {\r
- if (GetKey (value) != null)\r
- Table.Remove (GetKey (value));\r
- }\r
-\r
- protected override void OnSet (int index, object oldValue, object newValue)\r
- {\r
- if (GetKey (oldValue) != null) \r
- Table.Remove (GetKey (oldValue));\r
- if (GetKey (newValue) != null)\r
- Table [GetKey (newValue)] = newValue;\r
- SetParent (newValue, parent);\r
- }\r
-\r
- protected virtual void SetParent (object value, object parent)\r
- {\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceDescriptionCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.Xml;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class ServiceDescriptionCollection : ServiceDescriptionBaseCollection {\r
-
- ServiceDescriptionImporter importer;
- \r
- #region Constructors\r
- \r
- public ServiceDescriptionCollection () \r
- : base (null)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public ServiceDescription this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
-\r
- return (ServiceDescription) List[index]; \r
- }\r
- set { List [index] = value; }\r
- }\r
-\r
- public ServiceDescription this [string ns] {\r
- get { \r
- return (ServiceDescription) Table[ns];\r
- }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods
-
- internal void SetImporter (ServiceDescriptionImporter i)
- {
- importer = i;
- }\r
-\r
- public int Add (ServiceDescription serviceDescription) \r
- {
- if (importer != null)\r
- importer.OnServiceDescriptionAdded (serviceDescription, null, null);
- Insert (Count, serviceDescription);
- return (Count - 1);\r
- }\r
-\r
- internal int Add (ServiceDescription serviceDescription, string appSettingUrlKey, string appSettingBaseUrl)\r
- {
- if (importer != null)\r
- importer.OnServiceDescriptionAdded (serviceDescription, appSettingUrlKey, appSettingBaseUrl);
- Insert (Count, serviceDescription);
- return (Count - 1);\r
- }
- \r
- public bool Contains (ServiceDescription serviceDescription)\r
- {\r
- return List.Contains (serviceDescription);\r
- }\r
-\r
- public void CopyTo (ServiceDescription[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- public Binding GetBinding (XmlQualifiedName name)\r
- {\r
- ServiceDescription desc = (ServiceDescription) Table[name.Namespace];\r
- if (desc != null) {\r
- foreach (Binding binding in desc.Bindings) \r
- if (binding.Name == name.Name)\r
- return binding;\r
- }\r
- throw new InvalidOperationException ("Binding '" + name + "' not found");\r
- }\r
-\r
- protected override string GetKey (object value) \r
- {\r
- return ((ServiceDescription) value).TargetNamespace;\r
- }\r
-\r
- public Message GetMessage (XmlQualifiedName name)\r
- {\r
- ServiceDescription desc = (ServiceDescription) Table[name.Namespace];\r
- if (desc != null) {\r
- foreach (Message message in desc.Messages) \r
- if (message.Name == name.Name)\r
- return message;\r
- }\r
- throw new InvalidOperationException ("Message '" + name + "' not found");\r
- }\r
-\r
- public PortType GetPortType (XmlQualifiedName name)\r
- {\r
- ServiceDescription desc = (ServiceDescription) Table[name.Namespace];\r
- if (desc != null) {\r
- foreach (PortType portType in desc.PortTypes) \r
- if (portType.Name == name.Name)\r
- return portType;\r
- }\r
- throw new InvalidOperationException ("Port type '" + name + "' not found");\r
- }\r
-\r
- public Service GetService (XmlQualifiedName name)\r
- {\r
- ServiceDescription desc = (ServiceDescription) Table[name.Namespace];\r
- if (desc != null) {\r
- foreach (Service service in desc.Services) \r
- if (service.Name == name.Name)\r
- return service;\r
- }\r
- throw new InvalidOperationException ("Service '" + name + "' not found");\r
- }\r
-\r
- public int IndexOf (ServiceDescription serviceDescription)\r
- {\r
- return List.IndexOf (serviceDescription);\r
- }\r
-\r
- public void Insert (int index, ServiceDescription serviceDescription)\r
- {\r
- List.Insert (index, serviceDescription);\r
- }\r
- \r
- public void Remove (ServiceDescription serviceDescription)\r
- {\r
- List.Remove (serviceDescription);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceDescriptionFormatExtension.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- public abstract class ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
- \r
- bool handled;\r
- object parent;\r
- bool required;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- protected ServiceDescriptionFormatExtension () \r
- {\r
- handled = false;\r
- parent = null;\r
- required = false; \r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public bool Handled {\r
- get { return handled; }\r
- set { handled = value; }\r
- }\r
-\r
-#if !NET_2_0\r
- [XmlIgnore]\r
-#endif\r
- public object Parent {\r
- get { return parent; }\r
- }\r
-\r
- [DefaultValue (false)]\r
- [XmlAttribute ("required", Namespace = "http://schemas.xmlsoap.org/wsdl/")]\r
- public bool Required { \r
- get { return required; }\r
- set { required = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal void SetParent (object value)\r
- {\r
- parent = value; \r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceDescriptionFormatExtensionCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-using System.Web.Services;\r
-using System.Xml;\r
-\r
-namespace System.Web.Services.Description {\r
- public sealed class ServiceDescriptionFormatExtensionCollection : ServiceDescriptionBaseCollection {\r
- \r
- #region Constructors\r
- \r
- public ServiceDescriptionFormatExtensionCollection (object parent) \r
- : base (parent)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public object this [int index] {\r
- get { \r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
-\r
- return List[index]; \r
- }\r
- set { List[index] = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (object extension) \r
- {\r
- Insert (Count, extension);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (object extension)\r
- {\r
- return List.Contains (extension);\r
- }\r
-\r
- public void CopyTo (object[] array, int index) \r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- public object Find (Type type)\r
- {\r
- foreach (object value in List)\r
- if (type.IsAssignableFrom (value.GetType ()))\r
- return value;\r
- return null;\r
- }\r
-\r
- public XmlElement Find (string name, string ns)\r
- {\r
- XmlElement xmlElement;\r
- foreach (object value in List) \r
- if (value is XmlElement) {\r
- xmlElement = (value as XmlElement);\r
- if (xmlElement.Name == name && xmlElement.NamespaceURI == ns)\r
- return xmlElement;\r
- }\r
- return null;\r
- }\r
-\r
- public object[] FindAll (Type type)\r
- {\r
- ArrayList searchResults = new ArrayList ();\r
- foreach (object value in List)\r
- if (value.GetType () == type)\r
- searchResults.Add (value);\r
- object[] returnValue = new object [searchResults.Count];\r
-\r
- if (searchResults.Count > 0)\r
- searchResults.CopyTo (returnValue);\r
-\r
- return returnValue;\r
- }\r
-\r
- public XmlElement[] FindAll (string name, string ns)\r
- {\r
- ArrayList searchResults = new ArrayList ();\r
- XmlElement xmlElement;\r
-\r
- foreach (object value in List)\r
- if (value is XmlElement) {\r
- xmlElement = (value as XmlElement);\r
- if (xmlElement.Name == name && xmlElement.NamespaceURI == ns)\r
- searchResults.Add (xmlElement);\r
- }\r
-\r
- XmlElement[] returnValue = new XmlElement [searchResults.Count];\r
-\r
- if (searchResults.Count > 0)\r
- searchResults.CopyTo (returnValue);\r
-\r
- return returnValue;\r
- }\r
-\r
- public int IndexOf (object extension)\r
- {\r
- return List.IndexOf (extension);\r
- }\r
-\r
- public void Insert (int index, object extension)\r
- {\r
- List.Insert (index, extension);\r
- }\r
-\r
- [MonoTODO]\r
- public bool IsHandled (object item)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public bool IsRequired (object item)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
- \r
- protected override void OnValidate (object value)\r
- {\r
- if (value == null)\r
- throw new ArgumentNullException ();\r
- if (!(value is XmlElement || value is ServiceDescriptionFormatExtension))\r
- throw new ArgumentException ();\r
- }\r
- \r
- public void Remove (object extension)\r
- {\r
- List.Remove (extension);\r
- }\r
- \r
- protected override void SetParent (object value, object parent)\r
- {\r
- ((ServiceDescriptionFormatExtension) value).SetParent (parent);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceDescriptionImportStyle.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public enum ServiceDescriptionImportStyle {\r
- Client,\r
- Server\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceDescriptionImportWarnings.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description
-{
-#if NET_2_0
- [Flags]
-#endif\r
- [Serializable]\r
- public enum ServiceDescriptionImportWarnings {\r
- NoCodeGenerated = 0x1,\r
- NoMethodsGenerated = 0x20,\r
- OptionalExtensionsIgnored = 0x2,\r
- RequiredExtensionsIgnored = 0x4,\r
- UnsupportedBindingsIgnored = 0x10,\r
- UnsupportedOperationsIgnored = 0x8,
- [Obsolete] OperationConformanceClaimIgnored = 0x100,
- SchemaValidation = 0x40,
- WsiConformance = 0x80\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceDescriptionImporter.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System;\r
-using System.CodeDom;\r
-using System.CodeDom.Compiler;\r
-using System.Web.Services;\r
-using System.Web.Services.Protocols;\r
-using System.Web.Services.Description;\r
-using System.Xml.Serialization;\r
-using System.Xml;\r
-using System.Xml.Schema;\r
-using System.Collections;\r
-using System.Collections.Specialized;\r
-using System.Configuration;\r
-\r
-namespace System.Web.Services.Description {\r
- public class ServiceDescriptionImporter {\r
-\r
- #region Fields\r
-\r
- string protocolName;\r
- XmlSchemas schemas;\r
- ServiceDescriptionCollection serviceDescriptions;\r
- ServiceDescriptionImportStyle style;\r
- \r
-#if NET_2_0\r
- CodeGenerationOptions options;\r
- ICodeGenerator codeGenerator;\r
- ImportContext context;\r
-#endif\r
-\r
- ArrayList importInfo = new ArrayList ();\r
- \r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public ServiceDescriptionImporter ()\r
- {\r
- protocolName = String.Empty;\r
- schemas = new XmlSchemas ();\r
- serviceDescriptions = new ServiceDescriptionCollection ();
- serviceDescriptions.SetImporter (this);\r
- style = ServiceDescriptionImportStyle.Client;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public string ProtocolName {\r
- get { return protocolName; }\r
- set { protocolName = value; }\r
- }\r
-\r
- public XmlSchemas Schemas {\r
- get { return schemas; }\r
- }\r
-\r
- public ServiceDescriptionCollection ServiceDescriptions {\r
- get { return serviceDescriptions; }\r
- }\r
-\r
- public ServiceDescriptionImportStyle Style {\r
- get { return style; }\r
- set { style = value; }\r
- }\r
- \r
-#if NET_2_0\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public CodeGenerationOptions CodeGenerationOptions {\r
- get { return options; }\r
- set { options = value; }\r
- }\r
- \r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public ICodeGenerator CodeGenerator {\r
- get { return codeGenerator; }\r
- set { codeGenerator = value; }\r
- }\r
- \r
- \r
- internal ImportContext Context {\r
- get { return context; }\r
- set { context = value; }\r
- }\r
-#endif\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public void AddServiceDescription (ServiceDescription serviceDescription, string appSettingUrlKey, string appSettingBaseUrl)\r
- {\r
- if (appSettingUrlKey != null && appSettingUrlKey == string.Empty && style == ServiceDescriptionImportStyle.Server)\r
- throw new InvalidOperationException ("Cannot set appSettingUrlKey if Style is Server");\r
-
- serviceDescriptions.Add (serviceDescription, appSettingUrlKey, appSettingBaseUrl);\r
- }\r
-\r
- internal void OnServiceDescriptionAdded (ServiceDescription serviceDescription, string appSettingUrlKey, string appSettingBaseUrl)\r
- {\r
- ImportInfo info = new ImportInfo (serviceDescription, appSettingUrlKey, appSettingBaseUrl);\r
- importInfo.Add (info);\r
- \r
- if (serviceDescription.Types != null)\r
- schemas.Add (serviceDescription.Types.Schemas);\r
- }\r
-\r
- public ServiceDescriptionImportWarnings Import (CodeNamespace codeNamespace, CodeCompileUnit codeCompileUnit)\r
- {\r
- ProtocolImporter importer = GetImporter ();\r
- \r
- if (!importer.Import (this, codeNamespace, codeCompileUnit, importInfo))\r
- throw new Exception ("None of the supported bindings was found");\r
- \r
- return importer.Warnings;\r
- }\r
- \r
- ProtocolImporter GetImporter ()\r
- {\r
- ArrayList importers = GetSupportedImporters ();\r
- if (protocolName == null || protocolName == "") protocolName = "Soap";\r
- foreach (ProtocolImporter importer in importers) {\r
- if (importer.ProtocolName == protocolName)\r
- return importer;\r
- }\r
- \r
- throw new Exception ("Protocol " + protocolName + " not supported");\r
- }\r
- \r
- ArrayList GetSupportedImporters ()\r
- {\r
- ArrayList list = new ArrayList ();\r
- list.Add (new SoapProtocolImporter ());\r
- list.Add (new HttpGetProtocolImporter ());\r
- list.Add (new HttpPostProtocolImporter ());\r
- return list;\r
- }\r
- \r
-#if NET_2_0\r
-\r
- public static StringCollection GenerateWebReferences (\r
- WebReferenceCollection webReferences, \r
- CodeGenerationOptions options, \r
- ServiceDescriptionImportStyle style, \r
- ICodeGenerator codeGenerator)\r
- {\r
- CodeCompileUnit codeCompileUnit = new CodeCompileUnit ();\r
- return GenerateWebReferences (webReferences, options, style, codeGenerator, codeCompileUnit, false);\r
- }\r
-\r
- [MonoTODO ("verbose?")]\r
- public static StringCollection GenerateWebReferences (\r
- WebReferenceCollection webReferences, \r
- CodeGenerationOptions options, \r
- ServiceDescriptionImportStyle style, \r
- ICodeGenerator codeGenerator, \r
- CodeCompileUnit codeCompileUnit, \r
- bool verbose)\r
- {\r
- StringCollection allWarnings = new StringCollection ();\r
- ImportContext context = new ImportContext (new CodeIdentifiers(), true);\r
- \r
- foreach (WebReference reference in webReferences) \r
- {\r
- ServiceDescriptionImporter importer = new ServiceDescriptionImporter ();\r
- importer.CodeGenerator = codeGenerator;\r
- importer.CodeGenerationOptions = options;\r
- importer.Context = context;\r
- importer.Style = style;\r
- importer.ProtocolName = reference.ProtocolName;\r
- \r
- importer.AddReference (reference);\r
- \r
- reference.Warnings = importer.Import (reference.ProxyCode, codeCompileUnit);\r
- reference.SetValidationWarnings (context.Warnings);\r
- foreach (string s in context.Warnings)\r
- allWarnings.Add (s);\r
-\r
- context.Warnings.Clear ();\r
- }\r
-\r
- return allWarnings;\r
- }\r
- \r
- internal void AddReference (WebReference reference)\r
- {\r
- foreach (object doc in reference.Documents.Values)\r
- {\r
- if (doc is ServiceDescription) {\r
- ServiceDescription service = (ServiceDescription) doc;\r
- ImportInfo info = new ImportInfo (service, reference);\r
- importInfo.Add (info);\r
- serviceDescriptions.Add (service);\r
- \r
- if (service.Types != null)\r
- schemas.Add (service.Types.Schemas);\r
- }\r
- else if (doc is XmlSchema) {\r
- schemas.Add ((XmlSchema) doc);\r
- }\r
- }\r
- }\r
- \r
-#endif\r
-\r
-#endregion\r
- }\r
-\r
- internal class ImportInfo\r
- {\r
- string _appSettingUrlKey;\r
- string _appSettingBaseUrl;\r
- ServiceDescription _serviceDescription;\r
- \r
- public WebReference _reference;\r
- \r
- public ImportInfo (ServiceDescription serviceDescription, string appSettingUrlKey, string appSettingBaseUrl)\r
- {\r
- _serviceDescription = serviceDescription;\r
- _appSettingUrlKey = appSettingUrlKey;\r
- _appSettingBaseUrl = appSettingBaseUrl;\r
- }\r
- \r
- public ImportInfo (ServiceDescription serviceDescription, WebReference reference)\r
- {\r
- _reference = reference;\r
- _serviceDescription = serviceDescription;\r
- }\r
- \r
- public WebReference Reference {\r
- get { return _reference; }\r
- }\r
- \r
- public ServiceDescription ServiceDescription {\r
- get { return _serviceDescription; }\r
- }\r
- \r
- public string AppSettingUrlKey {\r
- get {\r
- if (_reference != null) return _reference.AppSettingUrlKey;\r
- else return _appSettingUrlKey;\r
- }\r
- set {\r
- _appSettingUrlKey = value;\r
- }\r
- }\r
- \r
- public string AppSettingBaseUrl {\r
- get {\r
- if (_reference != null) return _reference.AppSettingBaseUrl;\r
- else return _appSettingBaseUrl;\r
- }\r
- set {\r
- _appSettingBaseUrl = value;\r
- }\r
- }\r
- }\r
-\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.ServiceDescriptionReflector.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.Xml.Serialization;\r
-using System.Xml;\r
-using System.Xml.Schema;\r
-using System.Web.Services.Protocols;\r
-using System.Web.Services.Configuration;\r
-\r
-namespace System.Web.Services.Description {\r
- public class ServiceDescriptionReflector \r
- {\r
- ServiceDescriptionCollection serviceDescriptions;\r
- Types types;\r
-\r
- #region Constructors\r
- \r
- public ServiceDescriptionReflector ()\r
- {\r
- types = new Types ();\r
- serviceDescriptions = new ServiceDescriptionCollection ();\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public XmlSchemas Schemas {\r
- get { return types.Schemas; }\r
- }\r
-\r
- public ServiceDescriptionCollection ServiceDescriptions {\r
- get { return serviceDescriptions; }\r
- }\r
-\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public void Reflect (Type type, string url)\r
- {\r
- XmlSchemaExporter schemaExporter = new XmlSchemaExporter (Schemas);\r
- SoapSchemaExporter soapSchemaExporter = new SoapSchemaExporter (Schemas);\r
- \r
- new SoapProtocolReflector ().Reflect (this, type, url, schemaExporter, soapSchemaExporter);\r
- \r
- if (WSConfig.IsSupported (WSProtocol.HttpGet))\r
- new HttpGetProtocolReflector ().Reflect (this, type, url, schemaExporter, soapSchemaExporter);\r
- \r
- if (WSConfig.IsSupported (WSProtocol.HttpPost))\r
- new HttpPostProtocolReflector ().Reflect (this, type, url, schemaExporter, soapSchemaExporter);\r
- \r
- int i=0;\r
- while (i < types.Schemas.Count) {\r
- if (types.Schemas[i].Items.Count == 0) types.Schemas.RemoveAt (i);\r
- else i++;\r
- }\r
- \r
- if (serviceDescriptions.Count == 1)\r
- serviceDescriptions[0].Types = types;\r
- else\r
- {\r
- foreach (ServiceDescription d in serviceDescriptions)\r
- {\r
- d.Types = new Types();\r
- for (int n=0; n<types.Schemas.Count; n++)\r
- ProtocolReflector.AddImport (d, types.Schemas[n].TargetNamespace, GetSchemaUrl (url, n));\r
- }\r
- }\r
- }\r
- \r
- string GetSchemaUrl (string baseUrl, int id)\r
- {\r
- return baseUrl + "?schema=" + id;\r
- }\r
- \r
- \r
- #endregion\r
- }\r
-}
+++ /dev/null
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-using System;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Text;
-using System.Collections;
-using System.Globalization;
-
-namespace System.Web.Services.Description
-{
- internal class ServiceDescriptionReaderBase : XmlSerializationReader
- {
- public System.Web.Services.Description.ServiceDescription ReadTree ()
- {
- Reader.MoveToContent();
- return ReadObject_ServiceDescription (true, true);
- }
-
- public System.Web.Services.Description.ServiceDescription ReadObject_ServiceDescription (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.ServiceDescription ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "ServiceDescription" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.ServiceDescription ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (Reader.LocalName == "targetNamespace" && Reader.NamespaceURI == "") {
- ob.TargetNamespace = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b0=false, b1=false, b2=false, b3=false, b4=false, b5=false, b6=false;
-
- System.Web.Services.Description.ImportCollection o8 = ob.Imports;
- System.Web.Services.Description.MessageCollection o10 = ob.Messages;
- System.Web.Services.Description.PortTypeCollection o12 = ob.PortTypes;
- System.Web.Services.Description.BindingCollection o14 = ob.Bindings;
- System.Web.Services.Description.ServiceCollection o16 = ob.Services;
- int n7=0, n9=0, n11=0, n13=0, n15=0;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "binding" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b4) {
- if (o14 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.BindingCollection");
- o14.Add (ReadObject_Binding (false, true));
- n13++;
- }
- else if (Reader.LocalName == "service" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b5) {
- if (o16 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.ServiceCollection");
- o16.Add (ReadObject_Service (false, true));
- n15++;
- }
- else if (Reader.LocalName == "import" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b0) {
- if (o8 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.ImportCollection");
- o8.Add (ReadObject_Import (false, true));
- n7++;
- }
- else if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b6) {
- b6 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else if (Reader.LocalName == "message" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b2) {
- if (o10 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.MessageCollection");
- o10.Add (ReadObject_Message (false, true));
- n9++;
- }
- else if (Reader.LocalName == "types" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b1) {
- b1 = true;
- ob.Types = ReadObject_Types (false, true);
- }
- else if (Reader.LocalName == "portType" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b3) {
- if (o12 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.PortTypeCollection");
- o12.Add (ReadObject_PortType (false, true));
- n11++;
- }
- else {
- ServiceDescription.ReadExtension (Reader, ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.Binding ReadObject_Binding (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.Binding ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "Binding" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.Binding ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (Reader.LocalName == "type" && Reader.NamespaceURI == "") {
- ob.Type = ToXmlQualifiedName (Reader.Value);
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b17=false, b18=false;
-
- System.Web.Services.Description.OperationBindingCollection o20 = ob.Operations;
- int n19=0;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "operation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b17) {
- if (o20 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.OperationBindingCollection");
- o20.Add (ReadObject_OperationBinding (false, true));
- n19++;
- }
- else if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b18) {
- b18 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- ServiceDescription.ReadExtension (Reader, ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.Service ReadObject_Service (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.Service ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "Service" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.Service ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b21=false, b22=false;
-
- System.Web.Services.Description.PortCollection o24 = ob.Ports;
- int n23=0;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b22) {
- b22 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else if (Reader.LocalName == "port" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b21) {
- if (o24 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.PortCollection");
- o24.Add (ReadObject_Port (false, true));
- n23++;
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.Import ReadObject_Import (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.Import ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "Import" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.Import ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "namespace" && Reader.NamespaceURI == "") {
- ob.Namespace = Reader.Value;
- }
- else if (Reader.LocalName == "location" && Reader.NamespaceURI == "") {
- ob.Location = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b25=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b25) {
- b25 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.Message ReadObject_Message (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.Message ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "Message" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.Message ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b26=false, b27=false;
-
- System.Web.Services.Description.MessagePartCollection o29 = ob.Parts;
- int n28=0;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b27) {
- b27 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else if (Reader.LocalName == "part" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b26) {
- if (o29 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.MessagePartCollection");
- o29.Add (ReadObject_MessagePart (false, true));
- n28++;
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.Types ReadObject_Types (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.Types ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "Types" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.Types ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b30=false, b31=false;
-
- System.Xml.Serialization.XmlSchemas o33 = ob.Schemas;
- int n32=0;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b31) {
- b31 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else if (Reader.LocalName == "schema" && Reader.NamespaceURI == "http://www.w3.org/2001/XMLSchema" && !b30) {
- if (o33 == null)
- throw CreateReadOnlyCollectionException ("System.Xml.Serialization.XmlSchemas");
- o33.Add (ReadObject_XmlSchema (false, true));
- n32++;
- }
- else {
- ServiceDescription.ReadExtension (Reader, ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.PortType ReadObject_PortType (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.PortType ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "PortType" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.PortType ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b34=false, b35=false;
-
- System.Web.Services.Description.OperationCollection o37 = ob.Operations;
- int n36=0;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "operation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b34) {
- if (o37 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.OperationCollection");
- o37.Add (ReadObject_Operation (false, true));
- n36++;
- }
- else if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b35) {
- b35 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.OperationBinding ReadObject_OperationBinding (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.OperationBinding ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "OperationBinding" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.OperationBinding ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b38=false, b39=false, b40=false, b41=false;
-
- System.Web.Services.Description.FaultBindingCollection o43 = ob.Faults;
- int n42=0;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "input" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b39) {
- b39 = true;
- ob.Input = ReadObject_InputBinding (false, true);
- }
- else if (Reader.LocalName == "fault" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b38) {
- if (o43 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.FaultBindingCollection");
- o43.Add (ReadObject_FaultBinding (false, true));
- n42++;
- }
- else if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b41) {
- b41 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else if (Reader.LocalName == "output" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b40) {
- b40 = true;
- ob.Output = ReadObject_OutputBinding (false, true);
- }
- else {
- ServiceDescription.ReadExtension (Reader, ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.Port ReadObject_Port (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.Port ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "Port" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.Port ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (Reader.LocalName == "binding" && Reader.NamespaceURI == "") {
- ob.Binding = ToXmlQualifiedName (Reader.Value);
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b44=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b44) {
- b44 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- ServiceDescription.ReadExtension (Reader, ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.MessagePart ReadObject_MessagePart (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.MessagePart ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "MessagePart" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.MessagePart ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (Reader.LocalName == "element" && Reader.NamespaceURI == "") {
- ob.Element = ToXmlQualifiedName (Reader.Value);
- }
- else if (Reader.LocalName == "type" && Reader.NamespaceURI == "") {
- ob.Type = ToXmlQualifiedName (Reader.Value);
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b45=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b45) {
- b45 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Xml.Schema.XmlSchema ReadObject_XmlSchema (bool isNullable, bool checkType)
- {
- System.Xml.Schema.XmlSchema ob = null;
- ob = System.Xml.Schema.XmlSchema.Read (Reader, null);
- return ob;
- }
-
- public System.Web.Services.Description.Operation ReadObject_Operation (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.Operation ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "Operation" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.Operation ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (Reader.LocalName == "parameterOrder" && Reader.NamespaceURI == "") {
- ob.ParameterOrderString = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b46=false, b47=false, b48=false;
-
- System.Web.Services.Description.OperationFaultCollection o50 = ob.Faults;
- System.Web.Services.Description.OperationMessageCollection o52 = ob.Messages;
- int n49=0, n51=0;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "input" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b47) {
- if (o52 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.OperationMessageCollection");
- o52.Add (ReadObject_OperationInput (false, true));
- n51++;
- }
- else if (Reader.LocalName == "fault" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b46) {
- if (o50 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.OperationFaultCollection");
- o50.Add (ReadObject_OperationFault (false, true));
- n49++;
- }
- else if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b48) {
- b48 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else if (Reader.LocalName == "output" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b47) {
- if (o52 == null)
- throw CreateReadOnlyCollectionException ("System.Web.Services.Description.OperationMessageCollection");
- o52.Add (ReadObject_OperationOutput (false, true));
- n51++;
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.InputBinding ReadObject_InputBinding (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.InputBinding ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "InputBinding" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.InputBinding ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b53=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b53) {
- b53 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- ServiceDescription.ReadExtension (Reader, ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.FaultBinding ReadObject_FaultBinding (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.FaultBinding ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "FaultBinding" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.FaultBinding ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b54=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b54) {
- b54 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- ServiceDescription.ReadExtension (Reader, ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.OutputBinding ReadObject_OutputBinding (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.OutputBinding ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "OutputBinding" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.OutputBinding ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b55=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b55) {
- b55 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- ServiceDescription.ReadExtension (Reader, ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.OperationInput ReadObject_OperationInput (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.OperationInput ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "OperationInput" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.OperationInput ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (Reader.LocalName == "message" && Reader.NamespaceURI == "") {
- ob.Message = ToXmlQualifiedName (Reader.Value);
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b56=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b56) {
- b56 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.OperationFault ReadObject_OperationFault (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.OperationFault ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "OperationFault" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.OperationFault ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (Reader.LocalName == "message" && Reader.NamespaceURI == "") {
- ob.Message = ToXmlQualifiedName (Reader.Value);
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b57=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b57) {
- b57 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Description.OperationOutput ReadObject_OperationOutput (bool isNullable, bool checkType)
- {
- System.Web.Services.Description.OperationOutput ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "OperationOutput" || t.Namespace != "http://schemas.xmlsoap.org/wsdl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Description.OperationOutput ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "name" && Reader.NamespaceURI == "") {
- ob.Name = Reader.Value;
- }
- else if (Reader.LocalName == "message" && Reader.NamespaceURI == "") {
- ob.Message = ToXmlQualifiedName (Reader.Value);
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b58=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "documentation" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/wsdl/" && !b58) {
- b58 = true;
- ob.Documentation = Reader.ReadElementString ();
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- protected override void InitCallbacks ()
- {
- }
-
- protected override void InitIDs ()
- {
- }
-
- }
-
- internal class ServiceDescriptionWriterBase : XmlSerializationWriter
- {
- public void WriteTree (System.Web.Services.Description.ServiceDescription ob)
- {
- WriteStartDocument ();
- TopLevelElement ();
- WriteObject_ServiceDescription (ob, "definitions", "http://schemas.xmlsoap.org/wsdl/", true, false, true);
- }
-
- void WriteObject_ServiceDescription (System.Web.Services.Description.ServiceDescription ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("ServiceDescription", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
- WriteAttribute ("targetNamespace", "", ob.TargetNamespace);
-
- ServiceDescription.WriteExtensions (Writer, ob);
- if (ob.Imports != null) {
- for (int n59 = 0; n59 < ob.Imports.Count; n59++) {
- WriteObject_Import (ob.Imports[n59], "import", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- WriteObject_Types (ob.Types, "types", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- if (ob.Messages != null) {
- for (int n60 = 0; n60 < ob.Messages.Count; n60++) {
- WriteObject_Message (ob.Messages[n60], "message", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- if (ob.PortTypes != null) {
- for (int n61 = 0; n61 < ob.PortTypes.Count; n61++) {
- WriteObject_PortType (ob.PortTypes[n61], "portType", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- if (ob.Bindings != null) {
- for (int n62 = 0; n62 < ob.Bindings.Count; n62++) {
- WriteObject_Binding (ob.Bindings[n62], "binding", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- if (ob.Services != null) {
- for (int n63 = 0; n63 < ob.Services.Count; n63++) {
- WriteObject_Service (ob.Services[n63], "service", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_Import (System.Web.Services.Description.Import ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("Import", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("namespace", "", ob.Namespace);
- WriteAttribute ("location", "", ob.Location);
-
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_Types (System.Web.Services.Description.Types ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("Types", "http://schemas.xmlsoap.org/wsdl/");
-
- ServiceDescription.WriteExtensions (Writer, ob);
- if (ob.Schemas != null) {
- for (int n64 = 0; n64 < ob.Schemas.Count; n64++) {
- WriteObject_XmlSchema (ob.Schemas[n64], "schema", "http://www.w3.org/2001/XMLSchema", false, false, true);
- }
- }
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_Message (System.Web.Services.Description.Message ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("Message", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
-
- if (ob.Parts != null) {
- for (int n65 = 0; n65 < ob.Parts.Count; n65++) {
- WriteObject_MessagePart (ob.Parts[n65], "part", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_PortType (System.Web.Services.Description.PortType ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("PortType", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
-
- if (ob.Operations != null) {
- for (int n66 = 0; n66 < ob.Operations.Count; n66++) {
- WriteObject_Operation (ob.Operations[n66], "operation", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_Binding (System.Web.Services.Description.Binding ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("Binding", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
- WriteAttribute ("type", "", FromXmlQualifiedName (ob.Type));
-
- ServiceDescription.WriteExtensions (Writer, ob);
- if (ob.Operations != null) {
- for (int n67 = 0; n67 < ob.Operations.Count; n67++) {
- WriteObject_OperationBinding (ob.Operations[n67], "operation", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_Service (System.Web.Services.Description.Service ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("Service", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
-
- if (ob.Ports != null) {
- for (int n68 = 0; n68 < ob.Ports.Count; n68++) {
- WriteObject_Port (ob.Ports[n68], "port", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_XmlSchema (System.Xml.Schema.XmlSchema ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- ob.Write (Writer);
- }
-
- void WriteObject_MessagePart (System.Web.Services.Description.MessagePart ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("MessagePart", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
- WriteAttribute ("element", "", FromXmlQualifiedName (ob.Element));
- WriteAttribute ("type", "", FromXmlQualifiedName (ob.Type));
-
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_Operation (System.Web.Services.Description.Operation ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("Operation", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
- if (ob.ParameterOrderString != "") {
- WriteAttribute ("parameterOrder", "", ob.ParameterOrderString);
- }
-
- if (ob.Faults != null) {
- for (int n69 = 0; n69 < ob.Faults.Count; n69++) {
- WriteObject_OperationFault (ob.Faults[n69], "fault", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- if (ob.Messages != null) {
- for (int n70 = 0; n70 < ob.Messages.Count; n70++) {
- if (ob.Messages[n70] is System.Web.Services.Description.OperationInput) {
- WriteObject_OperationInput (((System.Web.Services.Description.OperationInput) ob.Messages[n70]), "input", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- else if (ob.Messages[n70] is System.Web.Services.Description.OperationOutput) {
- WriteObject_OperationOutput (((System.Web.Services.Description.OperationOutput) ob.Messages[n70]), "output", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- else if (ob.Messages[n70] != null) throw CreateUnknownTypeException (ob.Messages[n70]);
- }
- }
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_OperationBinding (System.Web.Services.Description.OperationBinding ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("OperationBinding", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
-
- ServiceDescription.WriteExtensions (Writer, ob);
- if (ob.Faults != null) {
- for (int n71 = 0; n71 < ob.Faults.Count; n71++) {
- WriteObject_FaultBinding (ob.Faults[n71], "fault", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- }
- }
- WriteObject_InputBinding (ob.Input, "input", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- WriteObject_OutputBinding (ob.Output, "output", "http://schemas.xmlsoap.org/wsdl/", false, false, true);
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_Port (System.Web.Services.Description.Port ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("Port", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
- WriteAttribute ("binding", "", FromXmlQualifiedName (ob.Binding));
-
- ServiceDescription.WriteExtensions (Writer, ob);
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_OperationFault (System.Web.Services.Description.OperationFault ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("OperationFault", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
- WriteAttribute ("message", "", FromXmlQualifiedName (ob.Message));
-
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_OperationInput (System.Web.Services.Description.OperationInput ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("OperationInput", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
- WriteAttribute ("message", "", FromXmlQualifiedName (ob.Message));
-
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_OperationOutput (System.Web.Services.Description.OperationOutput ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("OperationOutput", "http://schemas.xmlsoap.org/wsdl/");
-
- WriteAttribute ("name", "", ob.Name);
- WriteAttribute ("message", "", FromXmlQualifiedName (ob.Message));
-
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_FaultBinding (System.Web.Services.Description.FaultBinding ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("FaultBinding", "http://schemas.xmlsoap.org/wsdl/");
-
- if (ob.Name != "") {
- WriteAttribute ("name", "", ob.Name);
- }
-
- ServiceDescription.WriteExtensions (Writer, ob);
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_InputBinding (System.Web.Services.Description.InputBinding ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("InputBinding", "http://schemas.xmlsoap.org/wsdl/");
-
- if (ob.Name != "") {
- WriteAttribute ("name", "", ob.Name);
- }
-
- ServiceDescription.WriteExtensions (Writer, ob);
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_OutputBinding (System.Web.Services.Description.OutputBinding ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("OutputBinding", "http://schemas.xmlsoap.org/wsdl/");
-
- if (ob.Name != "") {
- WriteAttribute ("name", "", ob.Name);
- }
-
- ServiceDescription.WriteExtensions (Writer, ob);
- if (ob.Documentation != "") {
- WriteElementString ("documentation", "http://schemas.xmlsoap.org/wsdl/", ob.Documentation);
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- protected override void InitCallbacks ()
- {
- }
-
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.Soap12AddressBinding.cs\r
-//\r
-// Author:\r
-// Lluis Sanchez (lluis@novell.com)\r
-//\r
-// Copyright (C) Novell, Inc., 2004\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description \r
-{\r
- [XmlFormatExtension ("address", "http://schemas.xmlsoap.org/wsdl/soap12/", typeof (Port))]\r
- public sealed class Soap12AddressBinding : SoapAddressBinding \r
- {\r
- }\r
-}\r
-
-#endif
+++ /dev/null
-// \r
-// System.Web.Services.Description.Soap12Binding.cs\r
-//\r
-// Author:\r
-// Lluis Sanchez (lluis@novell.com)\r
-//\r
-// Copyright (C) Novell, Inc., 2004\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-#if NET_2_0\r
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description \r
-{\r
- [XmlFormatExtensionPrefix ("soap12", "http://schemas.xmlsoap.org/wsdl/soap12/")]\r
- [XmlFormatExtension ("binding", "http://schemas.xmlsoap.org/wsdl/soap12/", typeof (Binding))]\r
- public sealed class Soap12Binding : SoapBinding \r
- {\r
- public new const string HttpTransport = "http://schemas.xmlsoap.org/soap/http";\r
- public new const string Namespace = "http://schemas.xmlsoap.org/wsdl/soap12/";\r
- }\r
-}\r
-\r
-#endif\r
+++ /dev/null
-//
-// System.Web.Services.Description.Soap12BodyBinding.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Web.Services.Configuration;
-using System.Xml.Serialization;
-
-namespace System.Web.Services.Description
-{
- [XmlFormatExtension ("body", "http://schemas.xmlsoap.org/wsdl/soap12/", typeof (InputBinding), typeof (OutputBinding), typeof (MimePart))]
- public sealed class Soap12BodyBinding : SoapBodyBinding
- {
- }
-}
-
-#endif
+++ /dev/null
-//
-// System.Web.Services.Description.Soap12FaultBinding.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Web.Services.Configuration;
-using System.Xml.Serialization;
-
-namespace System.Web.Services.Description
-{
- [XmlFormatExtension ("fault", "http://schemas.xmlsoap.org/wsdl/soap12/", typeof (FaultBinding))]
- public sealed class Soap12FaultBinding : SoapFaultBinding
- {
- }
-}
-
-#endif
+++ /dev/null
-//
-// System.Web.Services.Description.Soap12HeaderBinding.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Web.Services.Configuration;
-using System.Xml.Serialization;
-
-namespace System.Web.Services.Description
-{
- [XmlFormatExtension ("header", "http://schemas.xmlsoap.org/wsdl/soap12/", typeof (InputBinding), typeof (OutputBinding))]
- public sealed class Soap12HeaderBinding : SoapHeaderBinding
- {
- }
-}
-
-#endif
+++ /dev/null
-//
-// System.Web.Services.Description.Soap12OperationBinding.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Web.Services.Configuration;
-using System.Xml.Serialization;
-
-namespace System.Web.Services.Description
-{
- [XmlFormatExtension ("operation", "http://schemas.xmlsoap.org/wsdl/soap12/", typeof (OperationBinding))]
- public sealed class Soap12OperationBinding : SoapOperationBinding
- {
- bool soapActionRequired;
-
- [System.ComponentModel.DefaultValue (false)]
- [XmlAttribute ("soapActionRequired")]
- public bool SoapActionRequired {
- get { return soapActionRequired; }
- set { soapActionRequired = value; }
- }
- }
-}
-
-#endif
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapAddressBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("address", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (Port))]\r
- public class SoapAddressBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- string location;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public SoapAddressBinding ()\r
- {\r
- location = String.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("location")]\r
- public string Location { \r
- get { return location; }\r
- set { location = value; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtensionPrefix ("soap", "http://schemas.xmlsoap.org/wsdl/soap/")]\r
- [XmlFormatExtensionPrefix ("soapenc", "http://schemas.xmlsoap.org/soap/encoding/")]\r
- [XmlFormatExtension ("binding", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (Binding))]\r
- public class SoapBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- public const string HttpTransport = "http://schemas.xmlsoap.org/soap/http";\r
- public const string Namespace = "http://schemas.xmlsoap.org/wsdl/soap/";\r
-\r
- SoapBindingStyle style;\r
- string transport;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public SoapBinding ()\r
- {\r
- style = SoapBindingStyle.Document;\r
- transport = String.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- // LAMESPEC: .NET says that the default value is SoapBindingStyle.Document but\r
- // reflection shows this attribute is SoapBindingStyle.Default\r
-\r
- [DefaultValue (SoapBindingStyle.Default)]\r
- [XmlAttribute ("style")]\r
- public SoapBindingStyle Style {\r
- get { return style; }\r
- set { style = value; }\r
- }\r
-\r
- [XmlAttribute ("transport")]\r
- public string Transport {\r
- get { return transport; }\r
- set { transport = value; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapBindingStyle.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- public enum SoapBindingStyle {\r
- [XmlIgnore]\r
- Default,\r
- [XmlEnum ("document")]\r
- Document,\r
- [XmlEnum ("rpc")]\r
- Rpc\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapBindingUse.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- public enum SoapBindingUse {\r
- [XmlIgnore]\r
- Default,\r
- [XmlEnum ("encoded")]\r
- Encoded,\r
- [XmlEnum ("literal")]\r
- Literal\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapBodyBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("body", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (InputBinding), typeof (OutputBinding), typeof (MimePart))]\r
- public class SoapBodyBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
- \r
- string encoding;\r
- string ns;\r
- string[] parts;\r
- string partsString;\r
- SoapBindingUse use;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public SoapBodyBinding ()\r
- {\r
- encoding = String.Empty;\r
- ns = String.Empty;\r
- parts = null;\r
- partsString = null;\r
- use = SoapBindingUse.Default;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [DefaultValue ("")]\r
- [XmlAttribute ("encodingStyle")]\r
- public string Encoding {\r
- get { return encoding; }\r
- set { encoding = value; }\r
- }\r
-\r
- [DefaultValue ("")]\r
- [XmlAttribute ("namespace")]\r
- public string Namespace {\r
- get { return ns; }\r
- set { ns = value; }\r
- }\r
-\r
- [XmlIgnore]\r
- public string[] Parts {\r
- get { return parts; }\r
- set {\r
- parts = value;\r
- if (value == null)\r
- partsString = null;\r
- else\r
- partsString = String.Join(" ", value);\r
- }\r
- }\r
-\r
- [XmlAttribute ("parts", DataType = "NMTOKENS")]\r
- public string PartsString {\r
- get { return partsString; }\r
- set {\r
- partsString = value;\r
- if (value == null)\r
- parts = null;\r
- else\r
- parts = value.Split(' ');\r
- }\r
- }\r
-\r
- [DefaultValue (SoapBindingUse.Default)]\r
- [XmlAttribute ("use")]\r
- public SoapBindingUse Use {\r
- get { return use; }\r
- set { use = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapExtensionImporter.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.CodeDom;\r
-\r
-namespace System.Web.Services.Description {\r
- public abstract class SoapExtensionImporter {\r
-\r
- #region Fields\r
-\r
- SoapProtocolImporter importContext;\r
- \r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- protected SoapExtensionImporter ()\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public SoapProtocolImporter ImportContext {\r
- get { return importContext; }\r
- set { importContext = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public abstract void ImportMethod (CodeAttributeDeclarationCollection metadata);\r
-\r
- #endregion\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapExtensionReflector.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Description {\r
- public abstract class SoapExtensionReflector {\r
-\r
- #region Fields\r
-\r
- ProtocolReflector reflectionContext;\r
- \r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- protected SoapExtensionReflector ()\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public ProtocolReflector ReflectionContext {\r
- get { return reflectionContext; }\r
- set { reflectionContext = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public abstract void ReflectMethod ();\r
-\r
- #endregion\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapFaultBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("fault", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (FaultBinding))]\r
- public class SoapFaultBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- string encoding;\r
- string ns;\r
- SoapBindingUse use;\r
- string name;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public SoapFaultBinding ()\r
- {\r
- encoding = String.Empty;\r
- ns = String.Empty;\r
- use = SoapBindingUse.Default;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
-#if NET_2_0\r
- [DefaultValue ("")]\r
-#endif\r
- [XmlAttribute ("encodingStyle")]\r
- public string Encoding {\r
- get { return encoding; }\r
- set { encoding = value; }\r
- }\r
- \r
- [XmlAttribute ("namespace")] \r
- public string Namespace {\r
- get { return ns; }\r
- set { ns = value; }\r
- }\r
-\r
- [DefaultValue (SoapBindingUse.Default)]\r
- [XmlAttribute ("use")]\r
- public SoapBindingUse Use {\r
- get { return use; }\r
- set { use = value; }\r
- }\r
-\r
-#if NET_2_0\r
- [XmlAttribute ("name")]\r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
-#endif\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapHeaderBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Web.Services;\r
-using System.Web.Services.Configuration;\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("header", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (InputBinding), typeof (OutputBinding))]\r
- public class SoapHeaderBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- string encoding;\r
- bool mapToProperty;\r
- XmlQualifiedName message;\r
- string ns;\r
- string part;\r
- SoapBindingUse use;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public SoapHeaderBinding ()\r
- {\r
- encoding = String.Empty;\r
- mapToProperty = false;\r
- message = XmlQualifiedName.Empty;\r
- ns = String.Empty;\r
- part = String.Empty;\r
- use = SoapBindingUse.Default;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [DefaultValue ("")]\r
- [XmlAttribute ("encodingStyle")]\r
- public string Encoding {\r
- get { return encoding; }\r
- set { encoding = value; }\r
- }\r
-\r
- [XmlIgnore]\r
- public bool MapToProperty { \r
- get { return mapToProperty; }\r
- set { mapToProperty = value; }\r
- }\r
-\r
- [XmlAttribute ("message")] \r
- public XmlQualifiedName Message {\r
- get { return message; }\r
- set { message = value; }\r
- }\r
-\r
- [DefaultValue ("")] \r
- [XmlAttribute ("namespace")] \r
- public string Namespace {\r
- get { return ns; }\r
- set { ns = value; }\r
- }\r
-\r
- [XmlAttribute ("part", DataType = "NMTOKEN")]\r
- public string Part {\r
- get { return part; }\r
- set { part = value; }\r
- }\r
-\r
- [DefaultValue (SoapBindingUse.Default)]\r
- [XmlAttribute ("use")]\r
- public SoapBindingUse Use {\r
- get { return use; }\r
- set { use = value; }\r
- }\r
-\r
-#if NET_1_1\r
- [MonoTODO]\r
- [XmlElement ("headerfault")]\r
- public SoapHeaderFaultBinding Fault \r
- {\r
- get { return null; }\r
- set { ; }\r
- }\r
-#endif\r
-\r
- #endregion // Properties\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapHeaderFaultBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Web.Services.Configuration;\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
-\r
- public class SoapHeaderFaultBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- string encoding;\r
- XmlQualifiedName message;\r
- string ns;\r
- string part;\r
- SoapBindingUse use;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- [MonoTODO] \r
- public SoapHeaderFaultBinding ()\r
- {\r
- encoding = String.Empty;\r
- message = XmlQualifiedName.Empty;\r
- ns = String.Empty;\r
- part = String.Empty;\r
- use = SoapBindingUse.Default;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [DefaultValue ("")]\r
- [XmlAttribute ("encodingStyle")]\r
- public string Encoding {\r
- get { return encoding; }\r
- set { encoding = value; }\r
- }\r
-\r
- [XmlAttribute ("message")]\r
- public XmlQualifiedName Message {\r
- get { return message; }\r
- set { message = value; }\r
- }\r
- \r
- [DefaultValue ("")]\r
- [XmlAttribute ("namespace")] \r
- public string Namespace {\r
- get { return ns; }\r
- set { ns = value; }\r
- }\r
-\r
- [XmlAttribute ("part", DataType = "NMTOKEN")]\r
- public string Part {\r
- get { return part; }\r
- set { part = value; }\r
- }\r
-\r
- [DefaultValue (SoapBindingUse.Default)]\r
- [XmlAttribute ("use")]\r
- public SoapBindingUse Use {\r
- get { return use; }\r
- set { use = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}
+++ /dev/null
-//
-// System.Web.Services.Description.SoapHttpTransportImporter.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Ximian, Inc. 2003
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-
-namespace System.Web.Services.Description
-{
- internal class SoapHttpTransportImporter : SoapTransportImporter
- {
- public SoapHttpTransportImporter ()
- {
- }
-
- public override void ImportClass ()
- {
- }
-
- public override bool IsSupportedTransport (string transport)
- {
- return (transport == SoapBinding.HttpTransport);
- }
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.SoapOperationBinding.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtension ("operation", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (OperationBinding))]\r
- public class SoapOperationBinding : ServiceDescriptionFormatExtension {\r
-\r
- #region Fields\r
-\r
- string soapAction;\r
- SoapBindingStyle style;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public SoapOperationBinding ()\r
- {\r
- soapAction = String.Empty;\r
- style = SoapBindingStyle.Default;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlAttribute ("soapAction")]\r
- public string SoapAction {\r
- get { return soapAction; }\r
- set { soapAction = value; }\r
- }\r
-\r
- // LAMESPEC: .NET Documentation says that the default value for this property is\r
- // SoapBindingStyle.Document (see constructor), but reflection shows that this \r
- // attribute value is SoapBindingStyle.Default\r
-\r
- [DefaultValue (SoapBindingStyle.Default)]\r
- [XmlAttribute ("style")]\r
- public SoapBindingStyle Style {\r
- get { return style; }\r
- set { style = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Description.SoapProtocolImporter.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Tim Coleman, 2002
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.CodeDom;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Web.Services.Configuration;
-using System.Xml;
-using System.Xml.Schema;
-using System.Xml.Serialization;
-using System.Configuration;
-using System.Collections;
-
-namespace System.Web.Services.Description {
- public class SoapProtocolImporter : ProtocolImporter {
-
- #region Fields
-
- SoapBinding soapBinding;
- SoapCodeExporter soapExporter;
- SoapSchemaImporter soapImporter;
- XmlCodeExporter xmlExporter;
- XmlSchemaImporter xmlImporter;
- CodeIdentifiers memberIds;
- ArrayList extensionImporters;
- Hashtable headerVariables;
- XmlSchemas xmlSchemas;
- XmlSchemas soapSchemas;
-
- #endregion // Fields
-
- #region Constructors
-
- public SoapProtocolImporter ()
- {
- extensionImporters = ExtensionManager.BuildExtensionImporters ();
- }
-
- void SetBinding (SoapBinding soapBinding)
- {
- this.soapBinding = soapBinding;
- }
-
- #endregion // Constructors
-
- #region Properties
-
- public override string ProtocolName {
- get { return "Soap"; }
- }
-
- public SoapBinding SoapBinding {
- get { return soapBinding; }
- }
-
- public SoapCodeExporter SoapExporter {
- get { return soapExporter; }
- }
-
- public SoapSchemaImporter SoapImporter {
- get { return soapImporter; }
- }
-
- public XmlCodeExporter XmlExporter {
- get { return xmlExporter; }
- }
-
- public XmlSchemaImporter XmlImporter {
- get { return xmlImporter; }
- }
-
- #endregion // Properties
-
- #region Methods
-
- protected override CodeTypeDeclaration BeginClass ()
- {
- soapBinding = (SoapBinding) Binding.Extensions.Find (typeof(SoapBinding));
-
- CodeTypeDeclaration codeClass = new CodeTypeDeclaration (ClassName);
-
- string location = null;
-
- if (Port != null) {
- SoapAddressBinding sab = (SoapAddressBinding) Port.Extensions.Find (typeof(SoapAddressBinding));
- if (sab != null) location = sab.Location;
- }
-
- string namspace = (Port != null ? Port.Binding.Namespace : Binding.ServiceDescription.TargetNamespace);
- string name = (Port != null ? Port.Name : Binding.Name);
-
- if (Style == ServiceDescriptionImportStyle.Client) {
- CodeTypeReference ctr = new CodeTypeReference ("System.Web.Services.Protocols.SoapHttpClientProtocol");
- codeClass.BaseTypes.Add (ctr);
- }
- else {
- CodeTypeReference ctr = new CodeTypeReference ("System.Web.Services.WebService");
- codeClass.BaseTypes.Add (ctr);
- CodeAttributeDeclaration attws = new CodeAttributeDeclaration ("System.Web.Services.WebServiceAttribute");
- attws.Arguments.Add (GetArg ("Namespace", namspace));
- AddCustomAttribute (codeClass, attws, true);
- }
-
- CodeAttributeDeclaration att = new CodeAttributeDeclaration ("System.Web.Services.WebServiceBinding");
- att.Arguments.Add (GetArg ("Name", name));
- att.Arguments.Add (GetArg ("Namespace", namspace));
- AddCustomAttribute (codeClass, att, true);
-
- if (Style == ServiceDescriptionImportStyle.Client) {
- CodeConstructor cc = new CodeConstructor ();
- cc.Attributes = MemberAttributes.Public;
- GenerateServiceUrl (location, cc.Statements);
- codeClass.Members.Add (cc);
- }
-
- memberIds = new CodeIdentifiers ();
- headerVariables = new Hashtable ();
- return codeClass;
- }
-
- protected override void BeginNamespace ()
- {
-#if NET_2_0
- xmlImporter = new XmlSchemaImporter (LiteralSchemas, base.CodeGenerationOptions, base.CodeGenerator, base.ImportContext);
- soapImporter = new SoapSchemaImporter (EncodedSchemas, base.CodeGenerationOptions, base.CodeGenerator, base.ImportContext);
- xmlExporter = new XmlCodeExporter (CodeNamespace, null, base.CodeGenerator, base.CodeGenerationOptions, null);
- soapExporter = new SoapCodeExporter (CodeNamespace, null, base.CodeGenerator, base.CodeGenerationOptions, null);
-#else
- xmlImporter = new XmlSchemaImporter (LiteralSchemas, ClassNames);
- soapImporter = new SoapSchemaImporter (EncodedSchemas, ClassNames);
- xmlExporter = new XmlCodeExporter (CodeNamespace, null);
- soapExporter = new SoapCodeExporter (CodeNamespace, null);
-#endif
- }
-
- protected override void EndClass ()
- {
- SoapTransportImporter transportImporter = SoapTransportImporter.FindTransportImporter (soapBinding.Transport);
- if (transportImporter == null) throw new InvalidOperationException ("Transport '" + soapBinding.Transport + "' not supported");
- transportImporter.ImportContext = this;
- transportImporter.ImportClass ();
-
- if (xmlExporter.IncludeMetadata.Count > 0 || soapExporter.IncludeMetadata.Count > 0)
- {
- if (CodeTypeDeclaration.CustomAttributes == null)
- CodeTypeDeclaration.CustomAttributes = new CodeAttributeDeclarationCollection ();
- CodeTypeDeclaration.CustomAttributes.AddRange (xmlExporter.IncludeMetadata);
- CodeTypeDeclaration.CustomAttributes.AddRange (soapExporter.IncludeMetadata);
- }
- }
-
- protected override void EndNamespace ()
- {
- }
-
- protected override bool IsBindingSupported ()
- {
- return Binding.Extensions.Find (typeof(SoapBinding)) != null;
- }
-
- [MonoTODO]
- protected override bool IsOperationFlowSupported (OperationFlow flow)
- {
- throw new NotImplementedException ();
- }
-
- [MonoTODO]
- protected virtual bool IsSoapEncodingPresent (string uriList)
- {
- throw new NotImplementedException ();
- }
-
- protected override CodeMemberMethod GenerateMethod ()
- {
- try
- {
- SoapOperationBinding soapOper = OperationBinding.Extensions.Find (typeof (SoapOperationBinding)) as SoapOperationBinding;
- if (soapOper == null) throw new InvalidOperationException ("Soap operation binding not found");
-
- SoapBindingStyle style = soapOper.Style != SoapBindingStyle.Default ? soapOper.Style : soapBinding.Style;
-
- SoapBodyBinding isbb = null;
- XmlMembersMapping inputMembers = null;
-
- isbb = OperationBinding.Input.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
- if (isbb == null) throw new InvalidOperationException ("Soap body binding not found");
-
- inputMembers = ImportMembersMapping (InputMessage, isbb, style, false);
- if (inputMembers == null) throw new InvalidOperationException ("Input message not declared");
-
- // If OperationBinding.Output is null, it is an OneWay operation
-
- SoapBodyBinding osbb = null;
- XmlMembersMapping outputMembers = null;
-
- if (OperationBinding.Output != null) {
- osbb = OperationBinding.Output.Extensions.Find (typeof(SoapBodyBinding)) as SoapBodyBinding;
- if (osbb == null) throw new InvalidOperationException ("Soap body binding not found");
-
- outputMembers = ImportMembersMapping (OutputMessage, osbb, style, true);
- if (outputMembers == null) throw new InvalidOperationException ("Output message not declared");
- }
-
- CodeMemberMethod met = GenerateMethod (memberIds, soapOper, isbb, inputMembers, outputMembers);
-
- if (isbb.Use == SoapBindingUse.Literal)
- xmlExporter.ExportMembersMapping (inputMembers);
- else
- soapExporter.ExportMembersMapping (inputMembers);
-
- if (osbb != null) {
- if (osbb.Use == SoapBindingUse.Literal)
- xmlExporter.ExportMembersMapping (outputMembers);
- else
- soapExporter.ExportMembersMapping (outputMembers);
- }
-
- foreach (SoapExtensionImporter eximporter in extensionImporters)
- {
- eximporter.ImportContext = this;
- eximporter.ImportMethod (met.CustomAttributes);
- }
-
- return met;
- }
- catch (InvalidOperationException ex)
- {
- UnsupportedOperationBindingWarning (ex.Message);
- return null;
- }
- }
-
- XmlMembersMapping ImportMembersMapping (Message msg, SoapBodyBinding sbb, SoapBindingStyle style, bool output)
- {
- string elemName = Operation.Name;
- if (output) elemName += "Response";
-
- if (msg.Parts.Count == 1 && msg.Parts[0].Name == "parameters")
- {
- // Wrapped parameter style
-
- MessagePart part = msg.Parts[0];
- if (sbb.Use == SoapBindingUse.Encoded)
- {
- SoapSchemaMember ssm = new SoapSchemaMember ();
- ssm.MemberName = part.Name;
- ssm.MemberType = part.Type;
- return soapImporter.ImportMembersMapping (elemName, part.Type.Namespace, ssm);
- }
- else
- return xmlImporter.ImportMembersMapping (part.Element);
- }
- else
- {
- if (sbb.Use == SoapBindingUse.Encoded)
- {
- SoapSchemaMember[] mems = new SoapSchemaMember [msg.Parts.Count];
- for (int n=0; n<mems.Length; n++)
- {
- SoapSchemaMember mem = new SoapSchemaMember();
- mem.MemberName = msg.Parts[n].Name;
- mem.MemberType = msg.Parts[n].Type;
- mems[n] = mem;
- }
-
- // Rpc messages always have a wrapping element
- if (style == SoapBindingStyle.Rpc)
- return soapImporter.ImportMembersMapping (elemName, sbb.Namespace, mems, true);
- else
- return soapImporter.ImportMembersMapping ("", "", mems, false);
- }
- else
- {
- if (style == SoapBindingStyle.Rpc)
- throw new InvalidOperationException ("The combination of style=rpc with use=literal is not supported");
-
- if (msg.Parts.Count == 1 && msg.Parts[0].Type != XmlQualifiedName.Empty)
- return xmlImporter.ImportAnyType (msg.Parts[0].Type, null);
- else
- {
- XmlQualifiedName[] pnames = new XmlQualifiedName [msg.Parts.Count];
- for (int n=0; n<pnames.Length; n++)
- pnames[n] = msg.Parts[n].Element;
- return xmlImporter.ImportMembersMapping (pnames);
- }
- }
- }
- }
-
- CodeMemberMethod GenerateMethod (CodeIdentifiers memberIds, SoapOperationBinding soapOper, SoapBodyBinding bodyBinding, XmlMembersMapping inputMembers, XmlMembersMapping outputMembers)
- {
- CodeIdentifiers pids = new CodeIdentifiers ();
- CodeMemberMethod method = new CodeMemberMethod ();
- CodeMemberMethod methodBegin = new CodeMemberMethod ();
- CodeMemberMethod methodEnd = new CodeMemberMethod ();
- method.Attributes = MemberAttributes.Public | MemberAttributes.Final;
- methodBegin.Attributes = MemberAttributes.Public | MemberAttributes.Final;
- methodEnd.Attributes = MemberAttributes.Public | MemberAttributes.Final;
-
- SoapBindingStyle style = soapOper.Style != SoapBindingStyle.Default ? soapOper.Style : soapBinding.Style;
-
- // Find unique names for temporary variables
-
- for (int n=0; n<inputMembers.Count; n++)
- pids.AddUnique (inputMembers[n].MemberName, inputMembers[n]);
-
- if (outputMembers != null)
- for (int n=0; n<outputMembers.Count; n++)
- pids.AddUnique (outputMembers[n].MemberName, outputMembers[n]);
-
- string varAsyncResult = pids.AddUnique ("asyncResult","asyncResult");
- string varResults = pids.AddUnique ("results","results");
- string varCallback = pids.AddUnique ("callback","callback");
- string varAsyncState = pids.AddUnique ("asyncState","asyncState");
-
- string messageName = memberIds.AddUnique(CodeIdentifier.MakeValid(Operation.Name),method);
-
- method.Name = CodeIdentifier.MakeValid(Operation.Name);
- if (method.Name == ClassName) method.Name += "1";
- methodBegin.Name = memberIds.AddUnique(CodeIdentifier.MakeValid("Begin" + method.Name),method);
- methodEnd.Name = memberIds.AddUnique(CodeIdentifier.MakeValid("End" + method.Name),method);
-
- method.ReturnType = new CodeTypeReference (typeof(void));
- methodEnd.ReturnType = new CodeTypeReference (typeof(void));
- methodEnd.Parameters.Add (new CodeParameterDeclarationExpression (typeof (IAsyncResult),varAsyncResult));
-
- CodeExpression[] paramArray = new CodeExpression [inputMembers.Count];
- CodeParameterDeclarationExpression[] outParams = new CodeParameterDeclarationExpression [outputMembers != null ? outputMembers.Count : 0];
-
- for (int n=0; n<inputMembers.Count; n++)
- {
- CodeParameterDeclarationExpression param = GenerateParameter (inputMembers[n], FieldDirection.In);
- method.Parameters.Add (param);
- GenerateMemberAttributes (inputMembers, inputMembers[n], bodyBinding.Use, param);
- methodBegin.Parameters.Add (GenerateParameter (inputMembers[n], FieldDirection.In));
- paramArray [n] = new CodeVariableReferenceExpression (param.Name);
- }
-
- if (outputMembers != null)
- {
- bool hasReturn = false;
- for (int n=0; n<outputMembers.Count; n++)
- {
- CodeParameterDeclarationExpression cpd = GenerateParameter (outputMembers[n], FieldDirection.Out);
- outParams [n] = cpd;
-
- bool found = false;
- foreach (CodeParameterDeclarationExpression ip in method.Parameters)
- {
- if (ip.Name == cpd.Name && ip.Type.BaseType == cpd.Type.BaseType) {
- ip.Direction = FieldDirection.Ref;
- methodEnd.Parameters.Add (GenerateParameter (outputMembers[n], FieldDirection.Out));
- found = true;
- break;
- }
- }
-
- if (found) continue;
-
- if (!hasReturn)
- {
- hasReturn = true;
- method.ReturnType = cpd.Type;
- methodEnd.ReturnType = cpd.Type;
- GenerateReturnAttributes (outputMembers, outputMembers[n], bodyBinding.Use, method);
- outParams [n] = null;
- continue;
- }
-
- method.Parameters.Add (cpd);
- GenerateMemberAttributes (outputMembers, outputMembers[n], bodyBinding.Use, cpd);
- methodEnd.Parameters.Add (GenerateParameter (outputMembers[n], FieldDirection.Out));
- }
- }
-
- methodBegin.Parameters.Add (new CodeParameterDeclarationExpression (typeof (AsyncCallback),varCallback));
- methodBegin.Parameters.Add (new CodeParameterDeclarationExpression (typeof (object),varAsyncState));
- methodBegin.ReturnType = new CodeTypeReference (typeof(IAsyncResult));
-
- // Array of input parameters
-
- CodeArrayCreateExpression methodParams;
- if (paramArray.Length > 0)
- methodParams = new CodeArrayCreateExpression (typeof(object), paramArray);
- else
- methodParams = new CodeArrayCreateExpression (typeof(object), 0);
-
- // Assignment of output parameters
-
- CodeStatementCollection outAssign = new CodeStatementCollection ();
- CodeVariableReferenceExpression arrVar = new CodeVariableReferenceExpression (varResults);
- for (int n=0; n<outParams.Length; n++)
- {
- CodeExpression index = new CodePrimitiveExpression (n);
- if (outParams[n] == null)
- {
- CodeExpression res = new CodeCastExpression (method.ReturnType, new CodeArrayIndexerExpression (arrVar, index));
- outAssign.Add (new CodeMethodReturnStatement (res));
- }
- else
- {
- CodeExpression res = new CodeCastExpression (outParams[n].Type, new CodeArrayIndexerExpression (arrVar, index));
- CodeExpression var = new CodeVariableReferenceExpression (outParams[n].Name);
- outAssign.Insert (0, new CodeAssignStatement (var, res));
- }
- }
-
- if (Style == ServiceDescriptionImportStyle.Client)
- {
- // Invoke call
-
- CodeThisReferenceExpression ethis = new CodeThisReferenceExpression();
- CodePrimitiveExpression varMsgName = new CodePrimitiveExpression (messageName);
- CodeMethodInvokeExpression inv;
- CodeVariableDeclarationStatement dec;
-
- inv = new CodeMethodInvokeExpression (ethis, "Invoke", varMsgName, methodParams);
- if (outputMembers != null && outputMembers.Count > 0)
- {
- dec = new CodeVariableDeclarationStatement (typeof(object[]), varResults, inv);
- method.Statements.Add (dec);
- method.Statements.AddRange (outAssign);
- }
- else
- method.Statements.Add (inv);
-
- // Begin Invoke Call
-
- CodeExpression expCallb = new CodeVariableReferenceExpression (varCallback);
- CodeExpression expAsyncs = new CodeVariableReferenceExpression (varAsyncState);
- inv = new CodeMethodInvokeExpression (ethis, "BeginInvoke", varMsgName, methodParams, expCallb, expAsyncs);
- methodBegin.Statements.Add (new CodeMethodReturnStatement (inv));
-
- // End Invoke call
-
- CodeExpression varAsyncr = new CodeVariableReferenceExpression (varAsyncResult);
- inv = new CodeMethodInvokeExpression (ethis, "EndInvoke", varAsyncr);
- if (outputMembers != null && outputMembers.Count > 0)
- {
- dec = new CodeVariableDeclarationStatement (typeof(object[]), varResults, inv);
- methodEnd.Statements.Add (dec);
- methodEnd.Statements.AddRange (outAssign);
- }
- else
- methodEnd.Statements.Add (inv);
- }
- else {
- method.Attributes = MemberAttributes.Public | MemberAttributes.Abstract;
- }
-
- // Attributes
-
- ImportHeaders (method);
-
- CodeAttributeDeclaration att = new CodeAttributeDeclaration ("System.Web.Services.WebMethodAttribute");
- if (messageName != method.Name) att.Arguments.Add (GetArg ("MessageName",messageName));
- AddCustomAttribute (method, att, (Style == ServiceDescriptionImportStyle.Server));
-
- if (style == SoapBindingStyle.Rpc)
- {
- att = new CodeAttributeDeclaration ("System.Web.Services.Protocols.SoapRpcMethodAttribute");
- att.Arguments.Add (GetArg (soapOper.SoapAction));
- if (inputMembers.ElementName != method.Name) att.Arguments.Add (GetArg ("RequestElementName", inputMembers.ElementName));
- if (outputMembers != null && outputMembers.ElementName != (method.Name + "Response")) att.Arguments.Add (GetArg ("ResponseElementName", outputMembers.ElementName));
- att.Arguments.Add (GetArg ("RequestNamespace", inputMembers.Namespace));
- if (outputMembers != null) att.Arguments.Add (GetArg ("ResponseNamespace", outputMembers.Namespace));
- if (outputMembers == null) att.Arguments.Add (GetArg ("OneWay", true));
- }
- else
- {
- if (outputMembers != null && (inputMembers.ElementName == "" && outputMembers.ElementName != "" ||
- inputMembers.ElementName != "" && outputMembers.ElementName == ""))
- throw new InvalidOperationException ("Parameter style is not the same for the input message and output message");
-
- att = new CodeAttributeDeclaration ("System.Web.Services.Protocols.SoapDocumentMethodAttribute");
- att.Arguments.Add (GetArg (soapOper.SoapAction));
- if (inputMembers.ElementName != "") {
- if (inputMembers.ElementName != method.Name) att.Arguments.Add (GetArg ("RequestElementName", inputMembers.ElementName));
- if (outputMembers != null && outputMembers.ElementName != (method.Name + "Response")) att.Arguments.Add (GetArg ("ResponseElementName", outputMembers.ElementName));
- att.Arguments.Add (GetArg ("RequestNamespace", inputMembers.Namespace));
- if (outputMembers != null) att.Arguments.Add (GetArg ("ResponseNamespace", outputMembers.Namespace));
- att.Arguments.Add (GetEnumArg ("ParameterStyle", "System.Web.Services.Protocols.SoapParameterStyle", "Wrapped"));
- }
- else
- att.Arguments.Add (GetEnumArg ("ParameterStyle", "System.Web.Services.Protocols.SoapParameterStyle", "Bare"));
-
- if (outputMembers == null) att.Arguments.Add (GetArg ("OneWay", true));
-
- att.Arguments.Add (GetEnumArg ("Use", "System.Web.Services.Description.SoapBindingUse", bodyBinding.Use.ToString()));
- }
-
- AddCustomAttribute (method, att, true);
-
- CodeTypeDeclaration.Members.Add (method);
-
- if (Style == ServiceDescriptionImportStyle.Client) {
- CodeTypeDeclaration.Members.Add (methodBegin);
- CodeTypeDeclaration.Members.Add (methodEnd);
- }
-
- return method;
- }
-
- CodeParameterDeclarationExpression GenerateParameter (XmlMemberMapping member, FieldDirection dir)
- {
- CodeParameterDeclarationExpression par = new CodeParameterDeclarationExpression (member.TypeFullName, member.MemberName);
- par.Direction = dir;
- return par;
- }
-
- void GenerateMemberAttributes (XmlMembersMapping members, XmlMemberMapping member, SoapBindingUse use, CodeParameterDeclarationExpression param)
- {
- if (use == SoapBindingUse.Literal)
- xmlExporter.AddMappingMetadata (param.CustomAttributes, member, members.Namespace);
- else
- soapExporter.AddMappingMetadata (param.CustomAttributes, member);
- }
-
- void GenerateReturnAttributes (XmlMembersMapping members, XmlMemberMapping member, SoapBindingUse use, CodeMemberMethod method)
- {
- if (use == SoapBindingUse.Literal)
- xmlExporter.AddMappingMetadata (method.ReturnTypeCustomAttributes, member, members.Namespace, (member.ElementName != method.Name + "Result"));
- else
- soapExporter.AddMappingMetadata (method.ReturnTypeCustomAttributes, member, (member.ElementName != method.Name + "Result"));
- }
-
- void ImportHeaders (CodeMemberMethod method)
- {
- foreach (object ob in OperationBinding.Input.Extensions)
- {
- SoapHeaderBinding hb = ob as SoapHeaderBinding;
- if (hb == null) continue;
- if (HasHeader (OperationBinding.Output, hb))
- ImportHeader (method, hb, SoapHeaderDirection.In | SoapHeaderDirection.Out);
- else
- ImportHeader (method, hb, SoapHeaderDirection.In);
- }
-
- if (OperationBinding.Output == null) return;
-
- foreach (object ob in OperationBinding.Output.Extensions)
- {
- SoapHeaderBinding hb = ob as SoapHeaderBinding;
- if (hb == null) continue;
- if (!HasHeader (OperationBinding.Input, hb))
- ImportHeader (method, hb, SoapHeaderDirection.Out);
- }
- }
-
- bool HasHeader (MessageBinding msg, SoapHeaderBinding hb)
- {
- if (msg == null) return false;
-
- foreach (object ob in msg.Extensions)
- {
- SoapHeaderBinding mhb = ob as SoapHeaderBinding;
- if ((mhb != null) && (mhb.Message == hb.Message) && (mhb.Part == hb.Part))
- return true;
- }
- return false;
- }
-
- void ImportHeader (CodeMemberMethod method, SoapHeaderBinding hb, SoapHeaderDirection direction)
- {
- Message msg = ServiceDescriptions.GetMessage (hb.Message);
- if (msg == null) throw new InvalidOperationException ("Message " + hb.Message + " not found");
- MessagePart part = msg.Parts [hb.Part];
- if (part == null) throw new InvalidOperationException ("Message part " + hb.Part + " not found in message " + hb.Message);
-
- XmlTypeMapping map;
- if (hb.Use == SoapBindingUse.Literal)
- {
- map = xmlImporter.ImportDerivedTypeMapping (part.Element, typeof (SoapHeader));
- xmlExporter.ExportTypeMapping (map);
- }
- else
- {
- map = soapImporter.ImportDerivedTypeMapping (part.Type, typeof (SoapHeader), true);
- soapExporter.ExportTypeMapping (map);
- }
-
- bool required = false;
-
- string varName = headerVariables [map] as string;
- if (varName == null)
- {
- varName = memberIds.AddUnique(CodeIdentifier.MakeValid (map.TypeName + "Value"),hb);
- headerVariables.Add (map, varName);
- CodeMemberField codeField = new CodeMemberField (map.TypeFullName, varName);
- codeField.Attributes = MemberAttributes.Public;
- CodeTypeDeclaration.Members.Add (codeField);
- }
-
- CodeAttributeDeclaration att = new CodeAttributeDeclaration ("System.Web.Services.Protocols.SoapHeaderAttribute");
- att.Arguments.Add (GetArg (varName));
- att.Arguments.Add (GetArg ("Required", required));
- if (direction != SoapHeaderDirection.In) att.Arguments.Add (GetEnumArg ("Direction", "System.Web.Services.Protocols.SoapHeaderDirection", direction.ToString ()));
- AddCustomAttribute (method, att, true);
- }
-
- #endregion
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Description.SoapProtocolReflector.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Tim Coleman, 2002
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Xml.Serialization;
-using System.Xml.Schema;
-using System.Xml;
-
-namespace System.Web.Services.Description {
-
- internal class SoapProtocolReflector : ProtocolReflector
- {
- #region Fields
-
- internal const string EncodingNamespace = "http://schemas.xmlsoap.org/soap/encoding/";
- SoapBinding soapBinding;
-
- #endregion // Fields
-
- #region Constructors
-
- public SoapProtocolReflector ()
- {
- }
-
- #endregion // Constructors
-
- #region Properties
-
- public override string ProtocolName {
- get { return "Soap"; }
- }
-
- #endregion // Properties
-
- #region Methods
-
- protected override void BeginClass ()
- {
- SoapBinding sb = new SoapBinding ();
- sb.Transport = SoapBinding.HttpTransport;
- sb.Style = ((SoapTypeStubInfo)TypeInfo).SoapBindingStyle;
- Binding.Extensions.Add (sb);
-
- SoapAddressBinding abind = new SoapAddressBinding ();
- abind.Location = ServiceUrl;
- Port.Extensions.Add (abind);
- }
-
- protected override void EndClass ()
- {
- }
-
- protected override bool ReflectMethod ()
- {
- SoapOperationBinding sob = new SoapOperationBinding();
- SoapMethodStubInfo method = (SoapMethodStubInfo) MethodStubInfo;
-
- sob.SoapAction = method.Action;
- sob.Style = method.SoapBindingStyle;
- OperationBinding.Extensions.Add (sob);
-
- ImportMessage (method.InputMembersMapping, InputMessage);
- ImportMessage (method.OutputMembersMapping, OutputMessage);
-
- AddOperationMsgBindings (method, OperationBinding.Input);
- AddOperationMsgBindings (method, OperationBinding.Output);
-
- foreach (HeaderInfo hf in method.Headers)
- {
- if (hf.IsUnknownHeader) continue;
-
- Message msg = new Message ();
- msg.Name = Operation.Name + hf.HeaderType.Name;
- MessagePart part = new MessagePart ();
- part.Name = hf.HeaderType.Name;
- msg.Parts.Add (part);
- ServiceDescription.Messages.Add (msg);
-
- SoapHeaderBinding hb = new SoapHeaderBinding ();
- hb.Message = new XmlQualifiedName (msg.Name, ServiceDescription.TargetNamespace);
- hb.Part = part.Name;
- hb.Use = method.Use;
-
- if (method.Use == SoapBindingUse.Literal)
- {
- // MS.NET reflects header classes in a weird way. The root element
- // name is the CLR class name unless it is specified in an XmlRootAttribute.
- // The usual is to use the xml type name by default, but not in this case.
-
- XmlRootAttribute root;
- XmlAttributes ats = new XmlAttributes (hf.HeaderType);
- if (ats.XmlRoot != null) root = ats.XmlRoot;
- else root = new XmlRootAttribute (hf.HeaderType.Name);
-
- if (root.Namespace == null) root.Namespace = TypeInfo.LogicalType.GetWebServiceLiteralNamespace (ServiceDescription.TargetNamespace);
- if (root.ElementName == null) root.ElementName = hf.HeaderType.Name;
-
- XmlTypeMapping mapping = ReflectionImporter.ImportTypeMapping (hf.HeaderType, root);
- part.Element = new XmlQualifiedName (mapping.ElementName, mapping.Namespace);
- SchemaExporter.ExportTypeMapping (mapping);
- }
- else
- {
- XmlTypeMapping mapping = SoapReflectionImporter.ImportTypeMapping (hf.HeaderType, TypeInfo.LogicalType.GetWebServiceEncodedNamespace (ServiceDescription.TargetNamespace));
- part.Type = new XmlQualifiedName (mapping.ElementName, mapping.Namespace);
- SoapSchemaExporter.ExportTypeMapping (mapping);
- hb.Encoding = EncodingNamespace;
- }
-
- if ((hf.Direction & SoapHeaderDirection.Out) != 0)
- OperationBinding.Output.Extensions.Add (hb);
- if ((hf.Direction & SoapHeaderDirection.In) != 0)
- OperationBinding.Input.Extensions.Add (hb);
- }
-
- return true;
- }
-
- void AddOperationMsgBindings (SoapMethodStubInfo method, MessageBinding msg)
- {
- SoapBodyBinding sbbo = new SoapBodyBinding();
- msg.Extensions.Add (sbbo);
- sbbo.Use = method.Use;
- if (method.Use == SoapBindingUse.Encoded)
- {
- sbbo.Namespace = ServiceDescription.TargetNamespace;
- sbbo.Encoding = EncodingNamespace;
- }
- }
-
- void ImportMessage (XmlMembersMapping members, Message msg)
- {
- SoapMethodStubInfo method = (SoapMethodStubInfo) MethodStubInfo;
- bool needsEnclosingElement = (method.ParameterStyle == SoapParameterStyle.Wrapped &&
- method.SoapBindingStyle == SoapBindingStyle.Document);
-
- if (needsEnclosingElement)
- {
- MessagePart part = new MessagePart ();
- part.Name = "parameters";
- XmlQualifiedName qname = new XmlQualifiedName (members.ElementName, members.Namespace);
- if (method.Use == SoapBindingUse.Literal) part.Element = qname;
- else part.Type = qname;
- msg.Parts.Add (part);
- }
- else
- {
- for (int n=0; n<members.Count; n++)
- {
- MessagePart part = new MessagePart ();
- part.Name = members[n].MemberName;
-
- if (method.Use == SoapBindingUse.Literal) {
- if (members[n].Any)
- part.Type = new XmlQualifiedName ("any", members[n].Namespace);
- else
- part.Element = new XmlQualifiedName (members[n].ElementName, members[n].Namespace);
- }
- else {
- string namesp = members[n].TypeNamespace;
- if (namesp == "") namesp = members[n].Namespace;
- part.Type = new XmlQualifiedName (members[n].TypeName, namesp);
- }
- msg.Parts.Add (part);
- }
- }
-
-
- if (method.Use == SoapBindingUse.Literal)
- SchemaExporter.ExportMembersMapping (members);
- else
- SoapSchemaExporter.ExportMembersMapping (members, needsEnclosingElement);
- }
-
- protected override string ReflectMethodBinding ()
- {
- return ((SoapMethodStubInfo)MethodStubInfo).Binding;
- }
-
- #endregion
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Description.SoapTransportImporter.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Tim Coleman, 2002
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Collections;
-
-namespace System.Web.Services.Description {
- public abstract class SoapTransportImporter {
-
- #region Fields
-
- static ArrayList transportImporters;
- SoapProtocolImporter importContext;
-
- #endregion // Fields
-
- #region Constructors
-
- static SoapTransportImporter ()
- {
- transportImporters = new ArrayList ();
- transportImporters.Add (new SoapHttpTransportImporter ());
- }
-
- protected SoapTransportImporter ()
- {
- importContext = null;
- }
-
- #endregion // Constructors
-
- #region Properties
-
- public SoapProtocolImporter ImportContext {
- get { return importContext; }
- set { importContext = value; }
- }
-
- #endregion // Properties
-
- #region Methods
-
- public abstract void ImportClass ();
- public abstract bool IsSupportedTransport (string transport);
-
- internal static SoapTransportImporter FindTransportImporter (string uri)
- {
- foreach (SoapHttpTransportImporter imp in transportImporters)
- if (imp.IsSupportedTransport (uri)) return imp;
- return null;
- }
-
- #endregion
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Description.Types.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Configuration;\r
-using System.Xml.Schema;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Description {\r
- [XmlFormatExtensionPoint ("Extensions")]\r
- public sealed class Types : DocumentableItem {\r
-\r
- #region Fields\r
-\r
- ServiceDescriptionFormatExtensionCollection extensions;\r
- XmlSchemas schemas;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public Types ()\r
- {\r
- extensions = new ServiceDescriptionFormatExtensionCollection (this);\r
- schemas = new XmlSchemas ();\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public ServiceDescriptionFormatExtensionCollection Extensions { \r
- get { return extensions; }\r
- }\r
-\r
- [XmlElement ("schema", typeof (XmlSchema), Namespace = "http://www.w3.org/2001/XMLSchema")]\r
- public XmlSchemas Schemas {\r
- get { return schemas; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Description.WebReference.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Web.Services.Discovery;
-using System.Collections.Specialized;
-using System.CodeDom;
-
-namespace System.Web.Services.Description
-{
-#if NET_2_0
- public
-#else
- internal
-#endif
- sealed class WebReference
- {
- DiscoveryClientDocumentCollection _documents;
- CodeNamespace _proxyCode;
- ServiceDescriptionImportWarnings _warnings;
- string _protocolName;
- string _appSettingUrlKey;
- string _appSettingBaseUrl;
- StringCollection _validationWarnings;
-
- public WebReference (DiscoveryClientDocumentCollection documents, CodeNamespace proxyCode)
- {
- if (documents == null) throw new ArgumentNullException ("documents");
- if (proxyCode == null) throw new ArgumentNullException ("proxyCode");
-
- _documents = documents;
- _proxyCode = proxyCode;
- }
-
- public WebReference (DiscoveryClientDocumentCollection documents, CodeNamespace proxyCode, string protocolName, string appSettingUrlKey, string appSettingBaseUrl)
- {
- if (documents == null) throw new ArgumentNullException ("documents");
- if (proxyCode == null) throw new ArgumentNullException ("proxyCode");
-
- _documents = documents;
- _proxyCode = proxyCode;
- _protocolName = protocolName;
- _appSettingUrlKey = appSettingUrlKey;
- _appSettingBaseUrl = appSettingBaseUrl;
- }
-
- public string AppSettingBaseUrl {
- get { return _appSettingBaseUrl; }
- }
-
- public string AppSettingUrlKey {
- get { return _appSettingUrlKey; }
- }
-
- public DiscoveryClientDocumentCollection Documents {
- get { return _documents; }
- }
-
- public string ProtocolName {
- get { return _protocolName; }
- set { _protocolName = value; }
- }
-
- public CodeNamespace ProxyCode {
- get { return _proxyCode; }
- }
-
- public StringCollection ValidationWarnings {
- get {
- if (_validationWarnings == null) _validationWarnings = new StringCollection ();
- return _validationWarnings;
- }
- }
-
- public ServiceDescriptionImportWarnings Warnings {
- get { return _warnings; }
- set { _warnings = value; }
- }
-
- internal void SetValidationWarnings (StringCollection col)
- {
- _validationWarnings = col;
- }
- }
-}
-
+++ /dev/null
-//
-// System.Web.Services.Description.WebReferenceCollection.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Collections;
-
-namespace System.Web.Services.Description
-{
- public sealed class WebReferenceCollection: CollectionBase
- {
- public WebReferenceCollection ()
- {
- }
-
- public int Add (WebReference webReference) {
- return List.Add (webReference);
- }
-
- public WebReference this [int index] {
- get { return (WebReference) List [index]; }
- set { List [index] = value; }
- }
-
- public bool Contains (WebReference webReference)
- {
- return List.Contains (webReference);
- }
-
- public void CopyTo (WebReference[] array, int index)
- {
- List.CopyTo (array, index);
- }
-
- public int IndexOf (WebReference webReference)
- {
- return List.IndexOf (webReference);
- }
-
- public void Insert (int index, WebReference webReference)
- {
- List.Insert (index, webReference);
- }
-
- public void Remove (WebReference webReference)
- {
- List.Remove (webReference);
- }
- }
-}
-
-#endif
+++ /dev/null
-//
-// System.Web.Services.Description.WebServicesInteroperability.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Collections;
-using System.Xml.Schema;
-
-namespace System.Web.Services.Description
-{
- public sealed class WebServicesInteroperability
- {
- private WebServicesInteroperability ()
- {
- }
-
- [MonoTODO]
- public static bool CheckConformance (WsiClaims claims, ServiceDescription service, BasicProfileViolationCollection violations)
- {
- ServiceDescriptionCollection col = new ServiceDescriptionCollection ();
- col.Add (service);
- ConformanceCheckContext ctx = new ConformanceCheckContext (col, violations);
- return Check (claims, ctx, col);
- }
-
- [MonoTODO]
- public static bool CheckConformance (WsiClaims claims, ServiceDescriptionCollection services, BasicProfileViolationCollection violations)
- {
- ConformanceCheckContext ctx = new ConformanceCheckContext (services, violations);
- return Check (claims, ctx, services);
- }
-
- [MonoTODO]
- public static bool CheckConformance (WsiClaims claims, WebReference webReference, BasicProfileViolationCollection violations)
- {
- ConformanceCheckContext ctx = new ConformanceCheckContext (webReference, violations);
- return Check (claims, ctx, webReference.Documents.Values);
- }
-
- static bool Check (WsiClaims claims, ConformanceCheckContext ctx, IEnumerable documents)
- {
- ConformanceChecker[] checkers = GetCheckers (claims);
- if (checkers == null) return true;
-
- foreach (object doc in documents) {
- if (!(doc is ServiceDescription)) continue;
-
- foreach (ConformanceChecker c in checkers)
- Check (ctx, c, (ServiceDescription)doc);
- }
-
- return ctx.Violations.Count == 0;
- }
-
- static ConformanceChecker[] GetCheckers (WsiClaims claims)
- {
- if ((claims & WsiClaims.BP10) != 0)
- return new ConformanceChecker[] { BasicProfileChecker.Instance };
- return null;
- }
-
- static void Check (ConformanceCheckContext ctx, ConformanceChecker checker, ServiceDescription sd)
- {
- ctx.ServiceDescription = sd;
- ctx.Checker = checker;
-
- checker.Check (ctx, sd);
- CheckExtensions (ctx, checker, sd.Extensions);
-
- foreach (Import i in sd.Imports) {
- checker.Check (ctx, i);
- }
-
- foreach (Service s in sd.Services) {
- checker.Check (ctx, s);
- foreach (Port p in s.Ports) {
- checker.Check (ctx, p);
- CheckExtensions (ctx, checker, p.Extensions);
- }
- }
-
- foreach (Binding b in sd.Bindings)
- {
- checker.Check (ctx, b);
- CheckExtensions (ctx, checker, b.Extensions);
-
- foreach (OperationBinding oper in b.Operations) {
- CheckExtensions (ctx, checker, oper.Extensions);
-
- foreach (MessageBinding mb in oper.Faults) {
- checker.Check (ctx, mb);
- CheckExtensions (ctx, checker, mb.Extensions);
- }
-
- checker.Check (ctx, oper.Input);
- CheckExtensions (ctx, checker, oper.Input.Extensions);
-
- checker.Check (ctx, oper.Output);
- CheckExtensions (ctx, checker, oper.Output.Extensions);
- }
- }
-
- foreach (PortType pt in sd.PortTypes)
- {
- checker.Check (ctx, pt);
-
- foreach (Operation oper in pt.Operations) {
- checker.Check (ctx, oper);
- foreach (OperationMessage msg in oper.Messages)
- checker.Check (ctx, msg);
-
- foreach (OperationMessage msg in oper.Faults)
- checker.Check (ctx, msg);
- }
- }
-
- foreach (Message msg in sd.Messages)
- {
- checker.Check (ctx, msg);
- foreach (MessagePart part in msg.Parts)
- checker.Check (ctx, part);
- }
-
- if (sd.Types != null) {
- checker.Check (ctx, sd.Types);
- if (sd.Types.Schemas != null) {
- foreach (XmlSchema s in sd.Types.Schemas) {
- ctx.CurrentSchema = s;
- checker.Check (ctx, s);
- CheckObjects (ctx, checker, new Hashtable (), s.Items);
- }
- }
- }
- }
-
- static void CheckObjects (ConformanceCheckContext ctx, ConformanceChecker checker, Hashtable visitedObjects, XmlSchemaObjectCollection col)
- {
- foreach (XmlSchemaObject item in col)
- Check (ctx, checker, visitedObjects, item);
- }
-
- static void Check (ConformanceCheckContext ctx, ConformanceChecker checker, Hashtable visitedObjects, XmlSchemaObject value)
- {
- if (value == null) return;
-
- if (visitedObjects.Contains (value)) return;
- visitedObjects.Add (value, value);
-
- if (value is XmlSchemaImport) {
- XmlSchemaImport so = (XmlSchemaImport) value;
- checker.Check (ctx, so);
- }
- else if (value is XmlSchemaAll) {
- XmlSchemaAll so = (XmlSchemaAll) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Items);
- }
- else if (value is XmlSchemaAnnotation) {
- XmlSchemaAnnotation so = (XmlSchemaAnnotation) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Items);
- }
- else if (value is XmlSchemaAttribute) {
- XmlSchemaAttribute so = (XmlSchemaAttribute) value;
- checker.Check (ctx, so);
- }
- else if (value is XmlSchemaAttributeGroup) {
- XmlSchemaAttributeGroup so = (XmlSchemaAttributeGroup) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Attributes);
- Check (ctx, checker, visitedObjects, so.AnyAttribute);
- Check (ctx, checker, visitedObjects, so.RedefinedAttributeGroup);
- }
- else if (value is XmlSchemaAttributeGroupRef) {
- XmlSchemaAttributeGroupRef so = (XmlSchemaAttributeGroupRef) value;
- checker.Check (ctx, so);
- }
- else if (value is XmlSchemaChoice) {
- XmlSchemaChoice so = (XmlSchemaChoice) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Items);
- }
- else if (value is XmlSchemaComplexContent) {
- XmlSchemaComplexContent so = (XmlSchemaComplexContent) value;
- checker.Check (ctx, so);
- Check (ctx, checker, visitedObjects, so.Content);
- }
- else if (value is XmlSchemaComplexContentExtension) {
- XmlSchemaComplexContentExtension so = (XmlSchemaComplexContentExtension) value;
- checker.Check (ctx, so);
- Check (ctx, checker, visitedObjects, so.Particle);
- CheckObjects (ctx, checker, visitedObjects, so.Attributes);
- Check (ctx, checker, visitedObjects, so.AnyAttribute);
- }
- else if (value is XmlSchemaComplexContentRestriction) {
- XmlSchemaComplexContentRestriction so = (XmlSchemaComplexContentRestriction) value;
- checker.Check (ctx, so);
- Check (ctx, checker, visitedObjects, so.Particle);
- CheckObjects (ctx, checker, visitedObjects, so.Attributes);
- Check (ctx, checker, visitedObjects, so.AnyAttribute);
- }
- else if (value is XmlSchemaComplexType) {
- XmlSchemaComplexType so = (XmlSchemaComplexType) value;
- checker.Check (ctx, so);
- Check (ctx, checker, visitedObjects, so.ContentModel);
- Check (ctx, checker, visitedObjects, so.Particle);
- CheckObjects (ctx, checker, visitedObjects, so.Attributes);
- Check (ctx, checker, visitedObjects, so.AnyAttribute);
- Check (ctx, checker, visitedObjects, so.ContentTypeParticle);
- Check (ctx, checker, visitedObjects, so.AttributeWildcard);
- }
- else if (value is XmlSchemaElement) {
- XmlSchemaElement so = (XmlSchemaElement) value;
- checker.Check (ctx, so);
- Check (ctx, checker, visitedObjects, so.SchemaType);
- CheckObjects (ctx, checker, visitedObjects, so.Constraints);
- }
- else if (value is XmlSchemaGroup) {
- XmlSchemaGroup so = (XmlSchemaGroup) value;
- checker.Check (ctx, so);
- Check (ctx, checker, visitedObjects, so.Particle);
- }
- else if (value is XmlSchemaGroupRef) {
- XmlSchemaGroupRef so = (XmlSchemaGroupRef) value;
- checker.Check (ctx, so);
- }
- else if (value is XmlSchemaIdentityConstraint) {
- XmlSchemaIdentityConstraint so = (XmlSchemaIdentityConstraint) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Fields);
- Check (ctx, checker, visitedObjects, so.Selector);
- }
- else if (value is XmlSchemaKeyref) {
- XmlSchemaKeyref so = (XmlSchemaKeyref) value;
- checker.Check (ctx, so);
- }
- else if (value is XmlSchemaRedefine) {
- XmlSchemaRedefine so = (XmlSchemaRedefine) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Items);
- }
- else if (value is XmlSchemaSequence) {
- XmlSchemaSequence so = (XmlSchemaSequence) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Items);
- }
- else if (value is XmlSchemaSimpleContent) {
- XmlSchemaSimpleContent so = (XmlSchemaSimpleContent) value;
- checker.Check (ctx, so);
- Check (ctx, checker, visitedObjects, so.Content);
- }
- else if (value is XmlSchemaSimpleContentExtension) {
- XmlSchemaSimpleContentExtension so = (XmlSchemaSimpleContentExtension) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Attributes);
- Check (ctx, checker, visitedObjects, so.AnyAttribute);
- }
- else if (value is XmlSchemaSimpleContentRestriction) {
- XmlSchemaSimpleContentRestriction so = (XmlSchemaSimpleContentRestriction) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Attributes);
- Check (ctx, checker, visitedObjects, so.AnyAttribute);
- CheckObjects (ctx, checker, visitedObjects, so.Facets);
- }
- else if (value is XmlSchemaSimpleType) {
- XmlSchemaSimpleType so = (XmlSchemaSimpleType) value;
- checker.Check (ctx, so);
- Check (ctx, checker, visitedObjects, so.Content);
- }
- else if (value is XmlSchemaSimpleTypeList) {
- XmlSchemaSimpleTypeList so = (XmlSchemaSimpleTypeList) value;
- checker.Check (ctx, so);
- }
- else if (value is XmlSchemaSimpleTypeRestriction) {
- XmlSchemaSimpleTypeRestriction so = (XmlSchemaSimpleTypeRestriction) value;
- checker.Check (ctx, so);
- CheckObjects (ctx, checker, visitedObjects, so.Facets);
- }
- else if (value is XmlSchemaSimpleTypeUnion) {
- XmlSchemaSimpleTypeUnion so = (XmlSchemaSimpleTypeUnion) value;
- checker.Check (ctx, so);
- }
- }
-
-
- static void CheckExtensions (ConformanceCheckContext ctx, ConformanceChecker checker, ServiceDescriptionFormatExtensionCollection extensions)
- {
- foreach (ServiceDescriptionFormatExtension ext in extensions)
- checker.Check (ctx, ext);
- }
- }
-}
-
-#endif
+++ /dev/null
-<configuration>
- <serializer class="System.Web.Services.Description.ServiceDescription" assembly="System.Web.Services">
- <reader>ServiceDescriptionReaderBase</reader>
- <writer>ServiceDescriptionWriterBase</writer>
- <namespace>System.Web.Services.Description</namespace>
- <outFileName>ServiceDescriptionSerializerBase.cs</outFileName>
- <readerHooks>
- <hook type="unknownElement">
- <select>
- <typeAttribute>System.Web.Services.Configuration.XmlFormatExtensionPointAttribute</typeAttribute>
- </select>
- <replace>ServiceDescription.ReadExtension (Reader, $OBJECT);</replace>
- </hook>
- <hook type="type">
- <select>
- <typeName>System.Xml.Schema.XmlSchema</typeName>
- </select>
- <replace>$OBJECT = System.Xml.Schema.XmlSchema.Read (Reader, null);</replace>
- </hook>
- </readerHooks>
- <writerHooks>
- <hook type="elements">
- <select>
- <typeAttribute>System.Web.Services.Configuration.XmlFormatExtensionPointAttribute</typeAttribute>
- </select>
- <insertBefore>ServiceDescription.WriteExtensions (Writer, $OBJECT);</insertBefore>
- </hook>
- <hook type="type">
- <select>
- <typeName>System.Xml.Schema.XmlSchema</typeName>
- </select>
- <replace>$OBJECT.Write (Writer);</replace>
- </hook>
- </writerHooks>
- </serializer>
-</configuration>
+++ /dev/null
-2004-09-01 Lluis Sanchez Gual <lluis@novell.com>
-
- * DiscoveryClientProtocol.cs: Added support for "file://" urls.
-
-2004-08-24 Lluis Sanchez Gual <lluis@novell.com>
-
- * ContractReference.cs, DiscoveryClientProtocol.cs: Set the url from which
- documents are being read.
-
-2004-06-13 Gert Driesen <drieseng@users.sourceforge.net>
-
- * SchemaReference.cs: corrected namespace
- * SoapBinding.cs: corrected namespace
-
-2004-06-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DiscoveryClientProtocol.cs: In DiscoverAny, catch expection of type
- DiscoveryException and rethrow the included Exception instead.
- * DiscoveryReference.cs: Added BaseUri property, that returns an uri
- for the reference, supporting file uris.
- * ContractReference.cs: Use the new property BaseUri to build the import
- uri.
-
-2004-06-01 Gert Driesen <drieseng@users.sourceforge.net>
-
- * DiscoveryReference.cs: Added missing XmlIgnore attribute.
-
-2004-05-24 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ContractReference.cs: convert relative import uris to absolute uris.
- * DiscoveryClientProtocol.cs: Before resolving a reference, always
- set the Url property.
-
-2004-03-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ContractReference.cs, DiscoveryDocumentReference.cs: Delegate handling
- of errors to the base class.
- * ContractSearchPattern.cs, DiscoveryDocumentLinksPattern.cs,
- DiscoveryDocumentSearchPattern.cs, XmlSchemaSearchPattern.cs: Implemented.
- * DiscoveryClientProtocol.cs: Do not throw exceptions in ResolveAll method,
- rather add them to the errors list.
- * DiscoveryReference.cs: Generate DiscoveryException where needed, so
- DiscoveryClientProtocol can get the url for which an exception was thrown.
- * DiscoveryExceptionDictionary.cs: Implemented.
-
-2004-03-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DiscoveryClientProtocol.cs: Read additional information (such as soap
- bindings) from the discovery documents.
- * DiscoveryDocument.cs: Added support for additional discovery information.
- * DiscoveryDocumentSerializer.cs: Updated serializer, added support for
- soap bindings.
-
-2004-03-02 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DiscoveryClientProtocol.cs: Now it can get alternate urls from HTML pages
- that include a link tag. Added support for loading files from a the
- file system.
-
-2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ContractReference.cs, DiscoveryClientProtocol.cs,
- DiscoveryDocumentReference.cs: When resolving a wsdl document, recursively
- resolve the documents it imports.
-
-2003-12-19 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DiscoveryDocument.cs: Set namespace for ContractReference references.
- Write() methods: Added namespace declaration in serializer.
- * DiscoveryDocumentSerializer.cs: Fixed namespace for ContractReference.
- * DiscoveryRequestHandler.cs: Implemented.
- * DynamicDiscoveryDocument.cs: Implemented.
- * ExcludePathInfo.cs, SoapBinding.cs: Removed some TODOs
-
-2003-12-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DiscoveryReference.cs: In FilenameFromUrl(), improved name generation
- for some common cases.
-
-2003-11-11 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DiscoveryDocumentSerializer.cs: The class must be internal.
-
-2003-10-21 Lluis Sanchez Gual <lluis@ximian.com>
-
- * DiscoveryClientProtocol.cs: Fixed little bug in DiscoverAny.
-
-2003-10-13 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ContractReference.cs, DiscoveryDocumentReference.cs, SchemaReference.cs:
- Little fixes.
- * DiscoveryClientProtocol.cs: WriteAll(): Write files to the provided
- directory.
- * DiscoveryReference.cs: Improved method FilenameFromUrl().
-
-2003-10-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * ContractReference.cs, DiscoveryClientProtocol.cs,
- DiscoveryClientResult.cs, DiscoveryDocument.cs,
- DiscoveryDocumentReference.cs, DiscoveryExceptionDictionary.cs,
- DiscoveryReference.cs, SchemaReference.cs: Implemented initial support
- for discovery documents (.disco).
-
-2002-08-19 Tim Coleman <tim@timcoleman.com>
- * DiscoveryClientProtocol.cs:
- Added ResolveAll () stub.
- * DiscoveryDocument.cs:
- Added XmlRoot attribute to class.
- * DiscoveryClientDocumentCollection.cs:
- * DiscoveryClientReferenceCollection.cs:
- * DiscoveryClientResultCollection.cs:
- * DiscoveryReferenceCollection.cs:
- Implementation of these classes.
-
-2002-08-04 Dave Bettin <javabettin@yahoo.com>
- * ContractSearchPattern.cs
- * DiscoveryClientDocumentCollection.cs
- * DiscoveryClientProtocol.cs
- * DiscoveryClientResult.cs
- * DiscoveryDocument.cs
- * DiscoveryDocumentLinksPattern.cs
- * DiscoveryDocumentReference.cs
- * DiscoveryDocumentSearchPattern.cs
- * DiscoveryReference.cs
- * DiscoveryRequestHandler.cs
- * DiscoverySearchPattern.cs
- * DynamicDiscoveryDocument.cs
- * SchemaReference.cs
- * SoapBinding.cs
- * XmlSchemaSearchPattern.cs
- [ Added attributes and some basic implementation]
-
-2002-08-03 Tim Coleman <tim@timcoleman.com>
- * DiscoveryDocument.cs:
- Added XmlIgnore attribute to References property
- * DiscoveryDocumentReference.cs:
- Implemented Ref/Url properties and added XmlIgnore
- attributes.
-
-2002-07-28 Dave Bettin <javabettin@yahoo.com>
- * ContractReference.cs
- * ContractSearchPattern.cs
- * DiscoveryClientDocumentCollection.cs
- * DiscoveryClientProtocol.cs
- * DiscoveryClientReferenceCollection.cs
- * DiscoveryClientResultCollection.cs
- * DiscoveryClientResult.cs
- * DiscoveryDocument.cs
- * DiscoveryDocumentLinksPattern.cs
- * DiscoveryDocumentReference.cs
- * DiscoveryDocumentSearchPattern.cs
- * DiscoveryExceptionDictionary.cs
- * DiscoveryReferenceCollection.cs
- * DiscoveryReference.cs
- * DiscoveryRequestHandler.cs
- * DiscoverySearchPattern.cs
- * DynamicDiscoveryDocument.cs
- * ExcludePathInfo.cs
- * SchemaReference.cs
- * SoapBinding.cs
- * XmlSchemaSearchPattern.cs
- [ Added stubs]
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.ContractReference.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Web.Services.Description;\r
-using System.Xml.Serialization;\r
-using System.Xml;\r
-using System.Xml.Schema;\r
-\r
-namespace System.Web.Services.Discovery {\r
-\r
- [XmlRootAttribute("contractRef", Namespace="http://schemas.xmlsoap.org/disco/scl/", IsNullable=true)]\r
- public class ContractReference : DiscoveryReference {\r
-\r
- #region Fields\r
- \r
- public const string Namespace = "http://schemas.xmlsoap.org/disco/scl/";\r
-\r
- private ServiceDescription contract;\r
- private string defaultFilename;\r
- private string docRef;\r
- private string href;\r
- \r
- #endregion // Fields\r
- \r
- #region Constructors\r
-\r
- public ContractReference () \r
- {\r
- }\r
- \r
- public ContractReference (string href) : this() \r
- {\r
- this.href = href;\r
- }\r
- \r
- public ContractReference (string href, string docRef)\r
- {\r
- this.href = href;\r
- this.docRef = docRef;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public ServiceDescription Contract {\r
- get {\r
- if (ClientProtocol == null) \r
- throw new InvalidOperationException ("The ClientProtocol property is a null reference");\r
- \r
- ServiceDescription desc = ClientProtocol.Documents [Url] as ServiceDescription;\r
- if (desc == null)\r
- throw new Exception ("The Documents property of ClientProtocol does not contain a WSDL document with the url " + Url);\r
- \r
- return desc; \r
- }\r
- }\r
-\r
- [XmlIgnore]\r
- public override string DefaultFilename {\r
- get { return FilenameFromUrl (Url) + ".wsdl"; }\r
- }\r
- \r
- [XmlAttribute("docRef")]\r
- public string DocRef {\r
- get { return docRef; }\r
- set { docRef = value; }\r
- }\r
- \r
- [XmlAttribute("ref")]\r
- public string Ref {\r
- get { return href; }\r
- set { href = value; }\r
- }\r
- \r
- [XmlIgnore]\r
- public override string Url {\r
- get { return href;} \r
- set { href = value; }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public override object ReadDocument (Stream stream)\r
- {\r
- return ServiceDescription.Read (stream);\r
- }\r
- \r
- protected internal override void Resolve (string contentType, Stream stream) \r
- {\r
- ServiceDescription wsdl = ServiceDescription.Read (stream);\r
- \r
- if (!ClientProtocol.References.Contains (Url))\r
- ClientProtocol.References.Add (this);\r
-\r
- ClientProtocol.Documents.Add (Url, wsdl);\r
- ResolveInternal (ClientProtocol, wsdl);\r
- }\r
- \r
- internal void ResolveInternal (DiscoveryClientProtocol prot, ServiceDescription wsdl) \r
- {\r
- if (wsdl.Imports == null) return;\r
- \r
- foreach (Import import in wsdl.Imports)\r
- {\r
- // Make relative uris to absoulte\r
-\r
- Uri uri = new Uri (BaseUri, import.Location);\r
- string url = uri.ToString ();\r
-\r
- if (prot.Documents.Contains (url)) // Already resolved\r
- continue;\r
-\r
- try\r
- {\r
- string contentType = null;\r
- Stream stream = prot.Download (ref url, ref contentType);\r
- XmlTextReader reader = new XmlTextReader (url, stream);\r
- reader.MoveToContent ();\r
- \r
- DiscoveryReference refe;\r
- if (ServiceDescription.CanRead (reader))\r
- {\r
- ServiceDescription refWsdl = ServiceDescription.Read (reader);\r
- refe = new ContractReference ();\r
- refe.ClientProtocol = prot;\r
- refe.Url = url;\r
- ((ContractReference)refe).ResolveInternal (prot, refWsdl);\r
- prot.Documents.Add (url, refWsdl);\r
- }\r
- else\r
- {\r
- XmlSchema schema = XmlSchema.Read (reader, null);\r
- refe = new SchemaReference ();\r
- refe.ClientProtocol = prot;\r
- refe.Url = url;\r
- prot.Documents.Add (url, schema);\r
- }\r
- \r
- if (!prot.References.Contains (url))\r
- prot.References.Add (refe);\r
- \r
- reader.Close ();\r
- }\r
- catch (Exception ex)\r
- {\r
- ReportError (url, ex);\r
- }\r
- }\r
- }\r
- \r
- public override void WriteDocument (object document, Stream stream) \r
- {\r
- ((ServiceDescription)document).Write (stream);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.ContractSearchPattern.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class ContractSearchPattern : DiscoverySearchPattern {\r
-\r
- #region Fields\r
-\r
- private string pattern = "*.asmx";\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public ContractSearchPattern () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public override string Pattern {\r
- get { return pattern; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public override DiscoveryReference GetDiscoveryReference (string filename)\r
- {\r
- ContractReference refe = new ContractReference ();\r
- refe.Url = filename;\r
- refe.Ref = filename;\r
- refe.DocRef = filename;\r
- return refe;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.DiscoveryClientDocumentCollection.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class DiscoveryClientDocumentCollection : DictionaryBase {\r
-\r
- #region Constructors \r
-\r
- public DiscoveryClientDocumentCollection () \r
- : base ()\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public object this [string url] {\r
- get { return InnerHashtable [url]; }\r
- set { \r
- if (url == null)\r
- throw new ArgumentNullException ();\r
- InnerHashtable [url] = value; \r
- }\r
- }\r
- \r
- public ICollection Keys {\r
- get { return InnerHashtable.Keys; }\r
- }\r
- \r
- public ICollection Values {\r
- get { return InnerHashtable.Values; }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public void Add (string url, object value)\r
- {\r
- InnerHashtable [url] = value;\r
- }\r
-\r
- public bool Contains (string url)\r
- {\r
- return InnerHashtable.Contains (url);\r
- }\r
- \r
- public void Remove (string url)\r
- {\r
- InnerHashtable.Remove (url);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.DiscoveryClientProtocol.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-using System.IO;\r
-using System.Web.Services.Protocols;\r
-using System.Web.Services.Description;\r
-using System.Xml;\r
-using System.Xml.Schema;\r
-using System.Xml.Serialization;\r
-using System.Net;\r
-using System.Text.RegularExpressions;\r
-\r
-namespace System.Web.Services.Discovery {\r
- public class DiscoveryClientProtocol : HttpWebClientProtocol {\r
-\r
- #region Fields\r
-\r
- private IList additionalInformation = new ArrayList ();\r
- private DiscoveryClientDocumentCollection documents = new DiscoveryClientDocumentCollection();\r
- private DiscoveryExceptionDictionary errors = new DiscoveryExceptionDictionary();\r
- private DiscoveryClientReferenceCollection references = new DiscoveryClientReferenceCollection();\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public DiscoveryClientProtocol () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public IList AdditionalInformation {\r
- get { return additionalInformation; }\r
- }\r
- \r
- public DiscoveryClientDocumentCollection Documents {\r
- get { return documents; }\r
- }\r
- \r
- public DiscoveryExceptionDictionary Errors {\r
- get { return errors; }\r
- }\r
-\r
- public DiscoveryClientReferenceCollection References {\r
- get { return references; }\r
- } \r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public DiscoveryDocument Discover (string url)\r
- {\r
- Stream stream = Download (ref url);\r
- XmlTextReader reader = new XmlTextReader (url, stream);\r
- if (!DiscoveryDocument.CanRead (reader)) \r
- throw new InvalidOperationException ("The url '" + url + "' does not point to a valid discovery document");\r
- \r
- DiscoveryDocument doc = DiscoveryDocument.Read (reader);\r
- reader.Close ();\r
- documents.Add (url, doc);\r
- AddDiscoReferences (doc);\r
- return doc;\r
- }\r
-\r
- public DiscoveryDocument DiscoverAny (string url)\r
- {\r
- try\r
- {\r
- string contentType = null;\r
- Stream stream = Download (ref url, ref contentType);\r
- \r
- if (contentType.IndexOf ("text/html") != -1)\r
- {\r
- // Look for an alternate url\r
- \r
- StreamReader sr = new StreamReader (stream);\r
- string str = sr.ReadToEnd ();\r
- \r
- string rex = "link\\s*rel\\s*=\\s*[\"']?alternate[\"']?\\s*";\r
- rex += "type\\s*=\\s*[\"']?text/xml[\"']?\\s*href\\s*=\\s*(?:\"(?<1>[^\"]*)\"|'(?<1>[^']*)'|(?<1>\\S+))";\r
- Regex rob = new Regex (rex, RegexOptions.IgnoreCase);\r
- Match m = rob.Match (str);\r
- if (!m.Success) \r
- throw new InvalidOperationException ("The HTML document does not contain Web service discovery information");\r
- \r
- if (url.StartsWith ("/"))\r
- {\r
- Uri uri = new Uri (url);\r
- url = uri.GetLeftPart (UriPartial.Authority) + m.Groups[1];\r
- }\r
- else\r
- {\r
- int i = url.LastIndexOf ('/');\r
- if (i == -1)\r
- throw new InvalidOperationException ("The HTML document does not contain Web service discovery information");\r
- url = url.Substring (0,i+1) + m.Groups[1];\r
- }\r
- stream = Download (ref url);\r
- }\r
- \r
- XmlTextReader reader = new XmlTextReader (url, stream);\r
- reader.MoveToContent ();\r
- DiscoveryDocument doc;\r
- DiscoveryReference refe = null;\r
- \r
- if (DiscoveryDocument.CanRead (reader))\r
- {\r
- doc = DiscoveryDocument.Read (reader);\r
- documents.Add (url, doc);\r
- refe = new DiscoveryDocumentReference ();\r
- AddDiscoReferences (doc);\r
- }\r
- else if (ServiceDescription.CanRead (reader))\r
- {\r
- ServiceDescription wsdl = ServiceDescription.Read (reader);\r
- documents.Add (url, wsdl);\r
- doc = new DiscoveryDocument ();\r
- refe = new ContractReference ();\r
- doc.References.Add (refe);\r
- refe.Url = url;\r
- ((ContractReference)refe).ResolveInternal (this, wsdl);\r
- }\r
- else\r
- {\r
- XmlSchema schema = XmlSchema.Read (reader, null);\r
- documents.Add (url, schema);\r
- doc = new DiscoveryDocument ();\r
- refe = new SchemaReference ();\r
- doc.References.Add (refe);\r
- }\r
- \r
- refe.ClientProtocol = this;\r
- refe.Url = url;\r
- references.Add (url, refe);\r
- \r
- reader.Close ();\r
- return doc;\r
- }\r
- catch (DiscoveryException ex) {\r
- throw ex.Exception;\r
- }\r
- }\r
- \r
- void AddDiscoReferences (DiscoveryDocument doc)\r
- {\r
- foreach (DiscoveryReference re in doc.References)\r
- {\r
- re.ClientProtocol = this;\r
- references.Add (re.Url, re);\r
- }\r
- \r
- if (doc.AdditionalInfo != null) {\r
- foreach (object info in doc.AdditionalInfo)\r
- additionalInformation.Add (info);\r
- }\r
- }\r
- \r
- public Stream Download (ref string url)\r
- {\r
- string contentType = null;\r
- return Download (ref url, ref contentType);\r
- }\r
- \r
- public Stream Download (ref string url, ref string contentType)\r
- {\r
- if (url.StartsWith ("http://") || url.StartsWith ("https://"))\r
- {\r
- WebRequest request = GetWebRequest (new Uri(url));\r
- WebResponse resp = request.GetResponse ();\r
- contentType = resp.ContentType;\r
- return resp.GetResponseStream ();\r
- }\r
- else if (url.StartsWith ("file://"))\r
- {\r
- WebRequest request = WebRequest.Create (new Uri (url));\r
- WebResponse resp = request.GetResponse ();\r
- contentType = resp.ContentType;\r
- return resp.GetResponseStream ();\r
- }\r
- else\r
- {\r
- string ext = Path.GetExtension (url).ToLower();\r
- if (ext == ".wsdl" || ext == ".xsd")\r
- {\r
- contentType = "text/xml";\r
- return new FileStream (url, FileMode.Open, FileAccess.Read);\r
- }\r
- else\r
- throw new InvalidOperationException ("Unrecognized file type '" + url + "'. Extension must be one of .wsdl or .xsd");\r
- }\r
- }\r
- \r
- public DiscoveryClientResultCollection ReadAll (string topLevelFilename)\r
- {\r
- StreamReader sr = new StreamReader (topLevelFilename);\r
- XmlSerializer ser = new XmlSerializer (typeof (DiscoveryClientResultsFile));\r
- DiscoveryClientResultsFile resfile = (DiscoveryClientResultsFile) ser.Deserialize (sr);\r
- sr.Close ();\r
- \r
- foreach (DiscoveryClientResult dcr in resfile.Results)\r
- {\r
- Type type = Type.GetType (dcr.ReferenceTypeName);\r
- DiscoveryReference dr = (DiscoveryReference) Activator.CreateInstance (type);\r
- dr.Url = dcr.Url;\r
- FileStream fs = new FileStream (dcr.Filename, FileMode.Open, FileAccess.Read);\r
- Documents.Add (dr.Url, dr.ReadDocument (fs));\r
- fs.Close ();\r
- References.Add (dr.Url, dr);\r
- }\r
- return resfile.Results;\r
- }\r
-\r
- public void ResolveAll ()\r
- {\r
- ArrayList list = new ArrayList (References.Values);\r
- foreach (DiscoveryReference re in list)\r
- {\r
- try\r
- {\r
- if (re is DiscoveryDocumentReference)\r
- ((DiscoveryDocumentReference)re).ResolveAll ();\r
- else\r
- re.Resolve ();\r
- }\r
- catch (DiscoveryException ex)\r
- {\r
- Errors [ex.Url] = ex.Exception; \r
- }\r
- catch (Exception ex)\r
- {\r
- Errors [re.Url] = ex; \r
- }\r
- }\r
- }\r
- \r
- public void ResolveOneLevel ()\r
- {\r
- ArrayList list = new ArrayList (References.Values);\r
- foreach (DiscoveryReference re in list)\r
- re.Resolve ();\r
- }\r
- \r
- public DiscoveryClientResultCollection WriteAll (string directory, string topLevelFilename)\r
- {\r
- DiscoveryClientResultsFile resfile = new DiscoveryClientResultsFile();\r
- \r
- foreach (DiscoveryReference re in References.Values)\r
- {\r
- object doc = Documents [re.Url];\r
- if (doc == null) continue;\r
- \r
- string fileName = FindValidName (resfile, re.DefaultFilename);\r
- resfile.Results.Add (new DiscoveryClientResult (re.GetType(), re.Url, fileName));\r
- \r
- string filepath = Path.Combine (directory, fileName);\r
- FileStream fs = new FileStream (filepath, FileMode.Create, FileAccess.Write);\r
- re.WriteDocument (doc, fs);\r
- fs.Close ();\r
- }\r
- \r
- StreamWriter sw = new StreamWriter (Path.Combine (directory, topLevelFilename));\r
- XmlSerializer ser = new XmlSerializer (typeof (DiscoveryClientResultsFile));\r
- ser.Serialize (sw, resfile);\r
- sw.Close ();\r
- return resfile.Results;\r
- }\r
- \r
- string FindValidName (DiscoveryClientResultsFile resfile, string baseName)\r
- {\r
- string name = baseName;\r
- int id = 0;\r
- bool found;\r
- do\r
- {\r
- found = false;\r
- foreach (DiscoveryClientResult res in resfile.Results)\r
- {\r
- if (name == res.Filename) {\r
- found = true; break;\r
- }\r
- }\r
- if (found)\r
- name = Path.GetFileNameWithoutExtension (baseName) + (++id) + Path.GetExtension (baseName);\r
- }\r
- while (found);\r
- \r
- return name;\r
- }\r
- \r
- #endregion // Methods\r
- \r
- #region Classes\r
- \r
- public sealed class DiscoveryClientResultsFile {\r
- \r
- #region Fields\r
- \r
- private DiscoveryClientResultCollection results;\r
-\r
- #endregion // Fields\r
-\r
- #region Contructors\r
- \r
- public DiscoveryClientResultsFile () \r
- {\r
- results = new DiscoveryClientResultCollection ();\r
- }\r
- \r
- #endregion // Constructors\r
- \r
- #region Properties\r
- \r
- public DiscoveryClientResultCollection Results { \r
- get { return results; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
- \r
- #endregion // Classes\r
- }\r
- \r
- internal class DiscoveryException : Exception\r
- {\r
- public string Url;\r
- public Exception Exception;\r
- \r
- public DiscoveryException (string url, Exception origin)\r
- {\r
- Url = url;\r
- Exception = origin;\r
- }\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.DiscoveryClientReferenceCollection.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class DiscoveryClientReferenceCollection : DictionaryBase {\r
-\r
- #region Constructors\r
-\r
- public DiscoveryClientReferenceCollection () \r
- : base ()\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public DiscoveryReference this [string url] {\r
- get { return (DiscoveryReference) InnerHashtable [url]; }\r
- set { InnerHashtable [url] = value; }\r
- }\r
- \r
- public ICollection Keys {\r
- get { return InnerHashtable.Keys; }\r
- }\r
- \r
- public ICollection Values {\r
- get { return InnerHashtable.Values; }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public void Add (DiscoveryReference value)\r
- {\r
- Add (value.Url, value);\r
- }\r
- \r
- public void Add (string url, DiscoveryReference value)\r
- {\r
- InnerHashtable [url] = value;\r
- }\r
-\r
- public bool Contains (string url)\r
- {\r
- return InnerHashtable.Contains (url);\r
- }\r
- \r
- public void Remove (string url)\r
- {\r
- InnerHashtable.Remove (url);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Disocvery.DiscoveryClientResult.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class DiscoveryClientResult {\r
- \r
- #region Fields\r
-\r
- private string filename;\r
- private string referenceTypeName;\r
- private string url;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public DiscoveryClientResult () \r
- {\r
- }\r
- \r
- public DiscoveryClientResult (Type referenceType, string url, string filename) : this() \r
- {\r
- this.filename = filename;\r
- this.url = url;\r
- this.referenceTypeName = referenceType.FullName;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties \r
- \r
- [XmlAttribute("filename")]\r
- public string Filename {\r
- get { return filename; }\r
- set { filename = value; }\r
- }\r
- \r
- [XmlAttribute("referenceType")]\r
- public string ReferenceTypeName {\r
- get { return referenceTypeName; }\r
- set { referenceTypeName = value; }\r
- }\r
- \r
- [XmlAttribute("url")]\r
- public string Url {\r
- get { return url; }\r
- set { url = value; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.DiscoveryClientResultCollection.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class DiscoveryClientResultCollection : CollectionBase {\r
-\r
- #region Constructors\r
-\r
- public DiscoveryClientResultCollection () \r
- : base ()\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public DiscoveryClientResult this [int i] {\r
- get { \r
- if (i < 0 || i >= Count)\r
- throw new ArgumentOutOfRangeException (); \r
- return (DiscoveryClientResult) InnerList [i]; \r
- } \r
- set { \r
- if (i < 0 || i >= Count)\r
- throw new ArgumentOutOfRangeException (); \r
- InnerList [i] = value; \r
- }\r
- } \r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (DiscoveryClientResult value)\r
- {\r
- return InnerList.Add (value);\r
- }\r
-\r
- public bool Contains (DiscoveryClientResult value)\r
- {\r
- return InnerList.Contains (value);\r
- }\r
- \r
- public void Remove (DiscoveryClientResult value)\r
- {\r
- InnerList.Remove (value);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.DiscoveryDocument.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Tim Coleman (tim@timcoleman.com) \r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-using System.IO;\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Discovery {\r
- [XmlRoot ("discovery", Namespace = "http://schemas.xmlsoap.org/disco/")]\r
- public sealed class DiscoveryDocument {\r
-\r
- #region Fields\r
- \r
- public const string Namespace = "http://schemas.xmlsoap.org/disco/";\r
- \r
- [XmlElement(typeof(ContractReference), Namespace="http://schemas.xmlsoap.org/disco/scl/")]\r
- [XmlElement(typeof(DiscoveryDocumentReference))]\r
- [XmlElement(typeof(SchemaReference))]\r
- internal ArrayList references = new ArrayList();\r
- \r
- [XmlElement(typeof(SoapBinding), ElementName="soap", Namespace="http://schemas/xmlsoap.org/disco/schema/soap/")]\r
- internal ArrayList additionalInfo = new ArrayList();\r
- \r
- #endregion // Fields\r
- \r
- #region Constructors\r
-\r
- public DiscoveryDocument () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
- \r
- [XmlIgnore]\r
- public IList References {\r
- get { return references; }\r
- }\r
- \r
- [XmlIgnore]\r
- internal IList AdditionalInfo {\r
- get { return additionalInfo; }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public static bool CanRead (XmlReader xmlReader)\r
- {\r
- xmlReader.MoveToContent ();\r
- return xmlReader.NodeType == XmlNodeType.Element &&\r
- xmlReader.LocalName == "discovery" && \r
- xmlReader.NamespaceURI == Namespace;\r
- }\r
-\r
- public static DiscoveryDocument Read (Stream stream)\r
- {\r
- return Read (new XmlTextReader (stream));\r
- }\r
- \r
- public static DiscoveryDocument Read (TextReader textReader)\r
- {\r
- return Read (new XmlTextReader (textReader));\r
- }\r
- \r
- public static DiscoveryDocument Read (XmlReader xmlReader)\r
- {\r
- DiscoveryDocumentSerializer ser = new DiscoveryDocumentSerializer();\r
- return (DiscoveryDocument) ser.Deserialize (xmlReader);\r
- }\r
- \r
- public void Write (Stream stream)\r
- {\r
- DiscoveryDocumentSerializer ser = new DiscoveryDocumentSerializer();\r
- ser.Serialize (stream, this, GetNamespaceList());\r
- }\r
- \r
- public void Write (TextWriter textWriter)\r
- {\r
- DiscoveryDocumentSerializer ser = new DiscoveryDocumentSerializer();\r
- ser.Serialize (textWriter, this, GetNamespaceList());\r
- }\r
- \r
- public void Write (XmlWriter xmlWriter)\r
- {\r
- DiscoveryDocumentSerializer ser = new DiscoveryDocumentSerializer();\r
- ser.Serialize (xmlWriter, this, GetNamespaceList());\r
- }\r
-\r
- XmlSerializerNamespaces GetNamespaceList ()\r
- {\r
- XmlSerializerNamespaces ns = new XmlSerializerNamespaces ();\r
- ns.Add ("scl", ContractReference.Namespace);\r
- return ns;\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-\r
- internal class DiscoveryDocumentSerializer : XmlSerializer \r
- {\r
- protected override void Serialize (object o, XmlSerializationWriter writer)\r
- {\r
- DiscoveryDocumentWriter xsWriter = writer as DiscoveryDocumentWriter;\r
- xsWriter.WriteRoot_DiscoveryDocument (o);\r
- }\r
- \r
- protected override object Deserialize (XmlSerializationReader reader)\r
- {\r
- DiscoveryDocumentReader xsReader = reader as DiscoveryDocumentReader;\r
- return xsReader.ReadRoot_DiscoveryDocument ();\r
- }\r
- \r
- protected override XmlSerializationWriter CreateWriter ()\r
- {\r
- return new DiscoveryDocumentWriter ();\r
- }\r
- \r
- protected override XmlSerializationReader CreateReader ()\r
- {\r
- return new DiscoveryDocumentReader ();\r
- }\r
- } \r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.DiscoveryDocumentLinksPattern.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Discovery {\r
- public class DiscoveryDocumentLinksPattern : DiscoverySearchPattern {\r
- \r
- #region Fields\r
- \r
- private string pattern = "*.disco";\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public DiscoveryDocumentLinksPattern () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public override string Pattern {\r
- get { return pattern; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public override DiscoveryReference GetDiscoveryReference (string filename)\r
- {\r
- DiscoveryDocumentReference refe = new DiscoveryDocumentReference ();\r
- refe.Url = filename;\r
- refe.Ref = filename;\r
- return refe;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.DiscoveryDocumentReference.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Web.Services.Description;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Discovery {\r
-\r
- [XmlRootAttribute("discoveryRef", Namespace="http://schemas.xmlsoap.org/disco/", IsNullable=true)]\r
- public sealed class DiscoveryDocumentReference : DiscoveryReference {\r
- \r
- #region Fields\r
- \r
- private DiscoveryDocument document;\r
- private string defaultFilename;\r
- private string href;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public DiscoveryDocumentReference () \r
- {\r
- href = String.Empty;\r
- }\r
- \r
- public DiscoveryDocumentReference (string href)\r
- {\r
- this.href = href;\r
- } \r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
- \r
- [XmlIgnore]\r
- public DiscoveryDocument Document {\r
- get {\r
- if (ClientProtocol == null) \r
- throw new InvalidOperationException ("The ClientProtocol property is a null reference");\r
- \r
- DiscoveryDocument doc = ClientProtocol.Documents [Url] as DiscoveryDocument;\r
- if (doc == null)\r
- throw new Exception ("The Documents property of ClientProtocol does not contain a discovery document with the url " + Url);\r
- \r
- return doc; \r
- }\r
- }\r
- \r
- [XmlIgnore]\r
- public override string DefaultFilename {\r
- get { return FilenameFromUrl (Url) + ".disco"; }\r
- }\r
- \r
- [XmlAttribute("ref")]\r
- public string Ref {\r
- get { return href; }\r
- set { href = value; }\r
- }\r
- \r
- [XmlIgnore]\r
- public override string Url {\r
- get { return href; }\r
- set { href = value; }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public override object ReadDocument (Stream stream)\r
- {\r
- return DiscoveryDocument.Read (stream);\r
- }\r
- \r
- protected internal override void Resolve (string contentType, Stream stream) \r
- {\r
- DiscoveryDocument doc = DiscoveryDocument.Read (stream);\r
- ClientProtocol.Documents.Add (Url, doc);\r
- if (!ClientProtocol.References.Contains (Url))\r
- ClientProtocol.References.Add (this);\r
- \r
- foreach (DiscoveryReference re in doc.References)\r
- {\r
- re.ClientProtocol = ClientProtocol;\r
- ClientProtocol.References.Add (re.Url, re);\r
- }\r
- }\r
-\r
- public void ResolveAll () \r
- {\r
- if (ClientProtocol.Documents.Contains (Url)) // Already resolved\r
- return;\r
- \r
- Resolve ();\r
- DiscoveryDocument doc = document;\r
- foreach (DiscoveryReference re in doc.References)\r
- {\r
- try\r
- {\r
- if (re is DiscoveryDocumentReference)\r
- ((DiscoveryDocumentReference)re).ResolveAll ();\r
- else\r
- re.Resolve ();\r
- }\r
- catch (Exception ex)\r
- {\r
- ReportError (re.Url, ex);\r
- }\r
- }\r
- }\r
- \r
- public override void WriteDocument (object document, Stream stream) \r
- {\r
- ((DiscoveryDocument)document).Write (stream);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.DiscoveryDocumentSearchPattern.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class DiscoveryDocumentSearchPattern : DiscoverySearchPattern {\r
- \r
- #region Fields\r
-\r
- private string pattern = "*.vsdisco";\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public DiscoveryDocumentSearchPattern () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public override string Pattern {\r
- get { return pattern; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public override DiscoveryReference GetDiscoveryReference (string filename)\r
- {\r
- DiscoveryDocumentReference refe = new DiscoveryDocumentReference ();\r
- refe.Url = filename;\r
- refe.Ref = filename;\r
- return refe;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Protocols.DiscoveryDocumentSerializer.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Ximian,Inc., 2003
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Xml;
-using System.Xml.Schema;
-using System.Xml.Serialization;
-using System.Text;
-using System.Collections;
-using System.Globalization;
-
-namespace System.Web.Services.Discovery
-{
- internal class DiscoveryDocumentReader : XmlSerializationReader
- {
- public object ReadRoot_DiscoveryDocument ()
- {
- Reader.MoveToContent();
- if (Reader.LocalName != "discovery" || Reader.NamespaceURI != "http://schemas.xmlsoap.org/disco/")
- throw CreateUnknownNodeException();
- return ReadObject_DiscoveryDocument (true, true);
- }
-
- public System.Web.Services.Discovery.DiscoveryDocument ReadObject_DiscoveryDocument (bool isNullable, bool checkType)
- {
- System.Web.Services.Discovery.DiscoveryDocument ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "DiscoveryDocument" || t.Namespace != "http://schemas.xmlsoap.org/disco/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Discovery.DiscoveryDocument ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b0=false, b1=false;
-
- System.Collections.ArrayList o3 = null;
- System.Collections.ArrayList o5 = null;
- int n2=0, n4=0;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "discoveryRef" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/disco/" && !b0) {
- if (o3 == null)
- o3 = new System.Collections.ArrayList();
- o3.Add (ReadObject_DiscoveryDocumentReference (false, true));
- n2++;
- }
- else if (Reader.LocalName == "soap" && Reader.NamespaceURI == "http://schemas/xmlsoap.org/disco/schema/soap/" && !b1) {
- if (o5 == null)
- o5 = new System.Collections.ArrayList();
- o5.Add (ReadObject_SoapBinding (false, true));
- n4++;
- }
- else if (Reader.LocalName == "contractRef" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/disco/scl/" && !b0) {
- if (o3 == null)
- o3 = new System.Collections.ArrayList();
- o3.Add (ReadObject_ContractReference (false, true));
- n2++;
- }
- else if (Reader.LocalName == "schemaRef" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/disco/" && !b0) {
- if (o3 == null)
- o3 = new System.Collections.ArrayList();
- o3.Add (ReadObject_SchemaReference (false, true));
- n2++;
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ob.@references = o3;
- ob.@additionalInfo = o5;
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Discovery.DiscoveryDocumentReference ReadObject_DiscoveryDocumentReference (bool isNullable, bool checkType)
- {
- System.Web.Services.Discovery.DiscoveryDocumentReference ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "DiscoveryDocumentReference" || t.Namespace != "http://schemas.xmlsoap.org/disco/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Discovery.DiscoveryDocumentReference ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "ref" && Reader.NamespaceURI == "") {
- ob.@Ref = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- UnknownNode (ob);
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Discovery.SoapBinding ReadObject_SoapBinding (bool isNullable, bool checkType)
- {
- System.Web.Services.Discovery.SoapBinding ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "SoapBinding" || t.Namespace != "http://schemas/xmlsoap.org/disco/schema/soap/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Discovery.SoapBinding ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "binding" && Reader.NamespaceURI == "") {
- ob.@Binding = ToXmlQualifiedName (Reader.Value);
- }
- else if (Reader.LocalName == "address" && Reader.NamespaceURI == "") {
- ob.@Address = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- UnknownNode (ob);
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Discovery.ContractReference ReadObject_ContractReference (bool isNullable, bool checkType)
- {
- System.Web.Services.Discovery.ContractReference ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "ContractReference" || t.Namespace != "http://schemas.xmlsoap.org/disco/scl/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Discovery.ContractReference ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "docRef" && Reader.NamespaceURI == "") {
- ob.@DocRef = Reader.Value;
- }
- else if (Reader.LocalName == "ref" && Reader.NamespaceURI == "") {
- ob.@Ref = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- UnknownNode (ob);
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- public System.Web.Services.Discovery.SchemaReference ReadObject_SchemaReference (bool isNullable, bool checkType)
- {
- System.Web.Services.Discovery.SchemaReference ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "SchemaReference" || t.Namespace != "http://schemas/xmlsoap.org/disco/schema/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Discovery.SchemaReference ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (Reader.LocalName == "targetNamespace" && Reader.NamespaceURI == "") {
- ob.@TargetNamespace = Reader.Value;
- }
- else if (Reader.LocalName == "ref" && Reader.NamespaceURI == "") {
- ob.@Ref = Reader.Value;
- }
- else if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- UnknownNode (ob);
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- protected override void InitCallbacks ()
- {
- }
-
- protected override void InitIDs ()
- {
- }
-
- }
-
- internal class DiscoveryDocumentWriter : XmlSerializationWriter
- {
- public void WriteRoot_DiscoveryDocument (object o)
- {
- WriteStartDocument ();
- System.Web.Services.Discovery.DiscoveryDocument ob = (System.Web.Services.Discovery.DiscoveryDocument) o;
- TopLevelElement ();
- WriteObject_DiscoveryDocument (ob, "discovery", "http://schemas.xmlsoap.org/disco/", true, false, true);
- }
-
- void WriteObject_DiscoveryDocument (System.Web.Services.Discovery.DiscoveryDocument ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("DiscoveryDocument", "http://schemas.xmlsoap.org/disco/");
-
- if (ob.@references != null) {
- for (int n6 = 0; n6 < ob.@references.Count; n6++) {
- if (ob.@references[n6] == null) { }
- else if (ob.@references[n6].GetType() == typeof(System.Web.Services.Discovery.SchemaReference)) {
- WriteObject_SchemaReference (((System.Web.Services.Discovery.SchemaReference) ob.@references[n6]), "schemaRef", "http://schemas.xmlsoap.org/disco/", false, false, true);
- }
- else if (ob.@references[n6].GetType() == typeof(System.Web.Services.Discovery.DiscoveryDocumentReference)) {
- WriteObject_DiscoveryDocumentReference (((System.Web.Services.Discovery.DiscoveryDocumentReference) ob.@references[n6]), "discoveryRef", "http://schemas.xmlsoap.org/disco/", false, false, true);
- }
- else if (ob.@references[n6].GetType() == typeof(System.Web.Services.Discovery.ContractReference)) {
- WriteObject_ContractReference (((System.Web.Services.Discovery.ContractReference) ob.@references[n6]), "contractRef", "http://schemas.xmlsoap.org/disco/scl/", false, false, true);
- }
- else throw CreateUnknownTypeException (ob.@references[n6]);
- }
- }
- if (ob.@additionalInfo != null) {
- for (int n7 = 0; n7 < ob.@additionalInfo.Count; n7++) {
- WriteObject_SoapBinding (((System.Web.Services.Discovery.SoapBinding) ob.@additionalInfo[n7]), "soap", "http://schemas/xmlsoap.org/disco/schema/soap/", false, false, true);
- }
- }
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_SchemaReference (System.Web.Services.Discovery.SchemaReference ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("SchemaReference", "http://schemas/xmlsoap.org/disco/schema/");
-
- if (ob.@TargetNamespace != "") {
- WriteAttribute ("targetNamespace", "", ob.@TargetNamespace);
- }
- WriteAttribute ("ref", "", ob.@Ref);
-
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_DiscoveryDocumentReference (System.Web.Services.Discovery.DiscoveryDocumentReference ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("DiscoveryDocumentReference", "http://schemas.xmlsoap.org/disco/");
-
- WriteAttribute ("ref", "", ob.@Ref);
-
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_ContractReference (System.Web.Services.Discovery.ContractReference ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("ContractReference", "http://schemas.xmlsoap.org/disco/scl/");
-
- WriteAttribute ("docRef", "", ob.@DocRef);
- WriteAttribute ("ref", "", ob.@Ref);
-
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- void WriteObject_SoapBinding (System.Web.Services.Discovery.SoapBinding ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("SoapBinding", "http://schemas/xmlsoap.org/disco/schema/soap/");
-
- WriteAttribute ("binding", "", FromXmlQualifiedName (ob.@Binding));
- WriteAttribute ("address", "", ob.@Address);
-
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- protected override void InitCallbacks ()
- {
- }
-
- }
-
-}
-
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.DiscoveryExceptionDictionary.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Discovery \r
-{\r
- public sealed class DiscoveryExceptionDictionary : DictionaryBase \r
- {\r
- #region Constructors\r
-\r
- public DiscoveryExceptionDictionary () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public Exception this[string url] {\r
- get { return (Exception) InnerHashtable [url]; }\r
- set { \r
- if (url == null)\r
- throw new ArgumentNullException ();\r
- InnerHashtable [url] = value; \r
- }\r
- }\r
- \r
- public ICollection Keys {\r
- get { return InnerHashtable.Keys; }\r
- }\r
- \r
- public ICollection Values {\r
- get { return InnerHashtable.Values; }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public void Add (string url, Exception value)\r
- {\r
- InnerHashtable.Add (url, value);\r
- }\r
-\r
- public bool Contains (string url)\r
- {\r
- return InnerHashtable.Contains (url);\r
- }\r
- \r
- public void Remove (string url)\r
- {\r
- InnerHashtable.Remove (url);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.DiscoveryReference.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Discovery {\r
- public abstract class DiscoveryReference {\r
- \r
- #region Fields\r
-\r
- private string defaultFilename;\r
- private DiscoveryClientProtocol clientProtocol;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- protected DiscoveryReference () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public DiscoveryClientProtocol ClientProtocol {\r
- get { return clientProtocol; } \r
- set { clientProtocol = value; }\r
- \r
- }\r
- \r
- [XmlIgnore]\r
- public virtual string DefaultFilename {\r
- get { return FilenameFromUrl (Url); } \r
- }\r
- \r
- [XmlIgnore]\r
- public abstract string Url {\r
- get; \r
- set;\r
- }\r
- \r
- internal Uri BaseUri \r
- {\r
- get\r
- {\r
- int i = Url.IndexOf ("://");\r
- if (i == -1 || !Uri.CheckSchemeName (Url.Substring (0,i)))\r
- return new Uri ("file://" + Url);\r
- else\r
- return new Uri (Url);\r
- }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- protected static string FilenameFromUrl (string url)\r
- {\r
- if (url.ToLower().EndsWith ("/wsdl"))\r
- url = url.Substring (0,url.Length-5);\r
- else if (url.ToLower().EndsWith ("/soap"))\r
- url = url.Substring (0,url.Length-5);\r
- else if (url.ToLower().EndsWith ("/wsdl.jsp"))\r
- url = url.Substring (0,url.Length-9);\r
- else if (url.ToLower().EndsWith ("/soap.wsdl"))\r
- url = url.Substring (0,url.Length-10);\r
- \r
- int i = url.LastIndexOf ("/");\r
- if (i != -1) url = url.Substring (i+1);\r
- \r
- i = url.IndexOfAny (new char[] {'.','?','\\'});\r
- if (i != -1) url = url.Substring (0,i);\r
- \r
- System.Text.StringBuilder sb = new System.Text.StringBuilder ();\r
- for (int n=0; n<url.Length; n++)\r
- if (Char.IsLetterOrDigit (url[n]) || url[n] == '_') sb.Append (url[n]);\r
- \r
- return sb.ToString ();\r
- }\r
- \r
- public abstract object ReadDocument (Stream stream);\r
- \r
- public void Resolve () \r
- {\r
- if (clientProtocol == null) \r
- throw new InvalidOperationException ("The ClientProtocol property is a null reference.");\r
- \r
- if (clientProtocol.Documents.Contains (Url)) // Already resolved\r
- return;\r
- \r
- try\r
- {\r
- string contentType = null;\r
- string url = Url;\r
- Stream stream = clientProtocol.Download (ref url, ref contentType);\r
- Resolve (contentType, stream);\r
- }\r
- catch (Exception ex)\r
- {\r
- ReportError (Url, ex);\r
- }\r
- }\r
- \r
- protected internal abstract void Resolve (string contentType, Stream stream);\r
- \r
- public abstract void WriteDocument (object document, Stream stream);\r
-\r
- internal void ReportError (string url, Exception ex)\r
- {\r
- if (ex is DiscoveryException) throw ex;\r
- else throw new DiscoveryException (url, ex);\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.DiscoveryReferenceCollection.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class DiscoveryReferenceCollection : CollectionBase {\r
-\r
- #region Constructors\r
-\r
- public DiscoveryReferenceCollection () \r
- : base ()\r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public DiscoveryReference this [int i] {\r
- get { \r
- if (i < 0 || i >= Count)\r
- throw new ArgumentOutOfRangeException ();\r
- return (DiscoveryReference) InnerList [i]; \r
- }\r
- set {\r
- if (i < 0 || i >= Count)\r
- throw new ArgumentOutOfRangeException ();\r
- InnerList [i] = value;\r
- }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (DiscoveryReference value)\r
- {\r
- return InnerList.Add (value);\r
- }\r
-\r
- public bool Contains (DiscoveryReference value)\r
- {\r
- return InnerList.Contains (value);\r
- }\r
- \r
- public void Remove (DiscoveryReference value)\r
- {\r
- InnerList.Remove (value);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.DiscoveryRequestHandler.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web;\r
-using System.IO;\r
-using System.Web.Services.Discovery;\r
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class DiscoveryRequestHandler : IHttpHandler {\r
- \r
- #region Constructors\r
-\r
- public DiscoveryRequestHandler () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public bool IsReusable {\r
- get { return true; } \r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public void ProcessRequest (HttpContext context)\r
- {\r
- string path = context.Request.PhysicalPath;\r
- FileStream fs = new FileStream (path, FileMode.Open);\r
- DynamicDiscoveryDocument ddoc = DynamicDiscoveryDocument.Load (fs);\r
- fs.Close ();\r
- \r
- string url = context.Request.Url.ToString();\r
- int i = url.LastIndexOf ('/');\r
- if (i != -1) url = url.Substring (0,i+1);\r
- \r
- DiscoveryDocument doc = new DiscoveryDocument ();\r
- GetFiles (url, "", Path.GetDirectoryName(path), doc, ddoc);\r
- \r
- context.Response.ContentType = "text/xml; charset=utf-8";\r
- doc.Write (context.Response.OutputStream);\r
- }\r
- \r
- void GetFiles (string baseUrl, string relPath, string path, DiscoveryDocument doc, DynamicDiscoveryDocument ddoc)\r
- {\r
- string url = baseUrl + relPath;\r
- if (!url.EndsWith ("/")) url += "/";\r
- \r
- string[] files = Directory.GetFiles (path);\r
- foreach (string file in files)\r
- {\r
- string ext = Path.GetExtension (file).ToLower();\r
- if (ext == ".asmx")\r
- {\r
- ContractReference cref = new ContractReference ();\r
- cref.DocRef = url + Path.GetFileName (file);\r
- cref.Ref = cref.DocRef + "?wsdl";\r
- doc.References.Add (cref);\r
- }\r
- else if (ext == ".disco")\r
- {\r
- DiscoveryDocumentReference dref = new DiscoveryDocumentReference ();\r
- dref.Ref = url + Path.GetFileName (file);\r
- doc.References.Add (dref);\r
- }\r
- }\r
- string[] dirs = Directory.GetDirectories (path);\r
- \r
- foreach (string dir in dirs)\r
- {\r
- string rel = Path.Combine (relPath, Path.GetFileName(dir));\r
- if (!ddoc.IsExcluded (rel))\r
- GetFiles (baseUrl, rel, Path.Combine (path, dir), doc, ddoc);\r
- }\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.DiscoverySearchPattern.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Discovery {\r
- public abstract class DiscoverySearchPattern {\r
-\r
- #region Constructors\r
-\r
- protected DiscoverySearchPattern () {}\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public abstract string Pattern {\r
- get;\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public abstract DiscoveryReference GetDiscoveryReference (string filename);\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.DynamicDiscoveryDocument.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Discovery {\r
-\r
- [XmlRootAttribute("dynamicDiscovery", Namespace="urn:schemas-dynamicdiscovery:disco.2000-03-17", IsNullable=true)]\r
- public sealed class DynamicDiscoveryDocument {\r
-\r
- #region Fields\r
- \r
- public const string Namespace = "urn:schemas-dynamicdiscovery:disco.2000-03-17";\r
- \r
- ExcludePathInfo[] excludes;\r
- \r
- #endregion // Fields\r
- \r
- #region Constructors\r
-\r
- public DynamicDiscoveryDocument () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
- \r
- [XmlElement("exclude", typeof(ExcludePathInfo))]\r
- public ExcludePathInfo[] ExcludePaths {\r
- get { return excludes; }\r
- set { excludes = value; }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public static DynamicDiscoveryDocument Load (Stream stream)\r
- {\r
- XmlSerializer ser = new XmlSerializer (typeof(DynamicDiscoveryDocument));\r
- return (DynamicDiscoveryDocument) ser.Deserialize (stream);\r
- }\r
-\r
- public void Write (Stream stream)\r
- {\r
- XmlSerializer ser = new XmlSerializer (typeof(DynamicDiscoveryDocument));\r
- ser.Serialize (stream, this);\r
- }\r
- \r
- internal bool IsExcluded (string path)\r
- {\r
- if (excludes == null) return false;\r
- \r
- foreach (ExcludePathInfo ex in excludes)\r
- if (ex.Path == path) return true;\r
- \r
- return false;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.ExcludePathInfo.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class ExcludePathInfo {\r
- \r
- #region Fields\r
- \r
- private string path;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public ExcludePathInfo () \r
- {\r
- }\r
- \r
- public ExcludePathInfo (string path)\r
- {\r
- this.path = path;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
- \r
- [XmlAttribute("path")]\r
- public string Path {\r
- get { return path; }\r
- set { path = value; }\r
- }\r
- \r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.SchemaReference.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-\r
-using System.ComponentModel;\r
-using System.IO;\r
-using System.Xml.Schema;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Discovery {\r
-\r
- [XmlRootAttribute("schemaRef", Namespace="http://schemas.xmlsoap.org/disco/schema/", IsNullable=true)]\r
- public sealed class SchemaReference : DiscoveryReference {\r
-\r
- #region Fields\r
- \r
- public const string Namespace = "http://schemas.xmlsoap.org/disco/schema/";\r
-\r
- private string defaultFilename;\r
- private string href;\r
- private string targetNamespace;\r
- private XmlSchema schema;\r
- \r
- #endregion // Fields\r
- \r
- #region Constructors\r
-\r
- public SchemaReference () \r
- {\r
- }\r
- \r
- public SchemaReference (string href) : this() \r
- {\r
- this.href = href;\r
- } \r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public override string DefaultFilename {\r
- get { return FilenameFromUrl (Url) + ".xsd"; }\r
- }\r
- \r
- [XmlAttribute("ref")]\r
- public string Ref {\r
- get { return href; }\r
- set { href = value; }\r
- }\r
- \r
- [XmlIgnore]\r
- public override string Url {\r
- get { return href; }\r
- set { href = value; }\r
- }\r
- \r
- [DefaultValue("")]\r
- [XmlAttribute("targetNamespace")]\r
- public string TargetNamespace {\r
- get { return targetNamespace; }\r
- set { targetNamespace = targetNamespace; }\r
- }\r
-\r
- [XmlIgnore]\r
- public XmlSchema Schema {\r
- get { \r
- if (ClientProtocol == null) \r
- throw new InvalidOperationException ("The ClientProtocol property is a null reference");\r
- \r
- XmlSchema doc = ClientProtocol.Documents [Url] as XmlSchema;\r
- if (doc == null)\r
- throw new Exception ("The Documents property of ClientProtocol does not contain a schema with the url " + Url);\r
- \r
- return doc; \r
- }\r
- \r
- }\r
- \r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public override object ReadDocument (Stream stream)\r
- {\r
- return XmlSchema.Read (stream, null);\r
- }\r
- \r
- protected internal override void Resolve (string contentType, Stream stream) \r
- {\r
- XmlSchema doc = XmlSchema.Read (stream, null);\r
- ClientProtocol.Documents.Add (Url, doc);\r
- if (!ClientProtocol.References.Contains (Url))\r
- ClientProtocol.References.Add (this);\r
- }\r
- \r
- public override void WriteDocument (object document, Stream stream) \r
- {\r
- ((XmlSchema)document).Write (stream);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.SoapBinding.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Discovery {\r
-\r
- [XmlRootAttribute("soap", Namespace="http://schemas.xmlsoap.org/disco/soap/", IsNullable=true)]\r
- public sealed class SoapBinding {\r
-\r
- #region Fields\r
- \r
- public const string Namespace = "http://schemas.xmlsoap.org/disco/soap/";\r
-\r
- private string address;\r
- private XmlQualifiedName binding;\r
- \r
- #endregion // Fields\r
- \r
- #region Constructors\r
-\r
- public SoapBinding () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
- \r
- [XmlAttribute("address")]\r
- public string Address {\r
- get { return address; }\r
- set { address = value; }\r
- }\r
- \r
- [XmlAttribute("binding")]\r
- public XmlQualifiedName Binding {\r
- get { return binding; }\r
- set { binding = value; }\r
- }\r
- \r
- #endregion // Properties\r
-\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Discovery.XmlSchemaSearchPattern.cs\r
-//\r
-// Author:\r
-// Dave Bettin (javabettin@yahoo.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Dave Bettin, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Discovery {\r
- public sealed class XmlSchemaSearchPattern : DiscoverySearchPattern {\r
- \r
- #region Fields\r
- \r
- private string pattern = "*.xsd";\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public XmlSchemaSearchPattern () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public override string Pattern {\r
- get { return pattern; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public override DiscoveryReference GetDiscoveryReference (string filename)\r
- {\r
- SchemaReference refe = new SchemaReference ();\r
- refe.Url = filename;\r
- refe.Ref = filename;\r
- return refe;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.AnyReturnReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Net;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class AnyReturnReader : MimeReturnReader {\r
-\r
- #region Constructors\r
-\r
- [MonoTODO]\r
- public AnyReturnReader () \r
- {\r
- throw new NotImplementedException ();\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- [MonoTODO]\r
- public override object GetInitializer (LogicalMethodInfo methodInfo)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public override void Initialize (object o)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
- \r
- [MonoTODO]\r
- public override object Read (WebResponse response, Stream responseStream)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-2005-02-07 Lluis Sanchez Gual <lluis@novell.com>
-
- * XmlReturnWriter.cs, SoapDocumentationHandler.cs: Use utf-8 encoding
- when generating xml responses, wsdl documents and schemas. This fixes
- bug #72202.
-
-2004-12-09 Lluis Sanchez Gual <lluis@novell.com>
-
- * ValueCollectionParameterReader.cs: Parse parameters in the correct
- way, Convert.ChangeType is not enough. This fixes bug #70266.
- Removed some types that are not supported as parameters.
- * MimeFormatter.cs: Added methods for xml <-> object conversion.
- * UrlEncodedParameterWriter.cs: Use a more elaborate method for converting
- from object to string, ToString() is not enough.
-
-2004-12-09 Lluis Sanchez Gual <lluis@novell.com>
-
- * TypeStubManager.cs: Removed redundat hastable access.
- * SoapHttpClientProtocol.cs: Accept responses with ContentLength==0.
- This fixes bug #70310.
-
-2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * SoapHttpClientProtocol.cs: dispose the StreamReader that wraps the
- response stream.
-
-2004-09-15 Lluis Sanchez Gual <lluis@novell.com>
-
- * Methods.cs: Use the service namespace as the base for the soap action.
- This fixes bug #60379.
-
-2004-08-25 Lluis Sanchez Gual <lluis@novell.com>
-
- * HttpSoapWebServiceHandler.cs, WebServiceHandler.cs: Do not assign the
- context to the service. It already gets it from HttpContext.Current.
-
-2004-07-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs,
- SoapHttpClientProtocol.cs: Implemented support for the new async model.
- * InvokeCompletedEventArgs.cs: Implemented.
-
-2004-07-20 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpWebClientProtocol.cs: Add received cookies to cookieContainer when
- getting the response, do not wait for the next request to do it.
-
-2004-07-13 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpWebClientProtocol.cs, Soap12FaultCodes.cs, SoapClientMessage.cs,
- SoapException.cs, SoapHeader.cs, SoapHeaderException.cs,
- SoapHttpClientProtocol.cs, SoapMessage.cs, SoapRpcMethodAttribute.cs,
- SoapRpcServiceAttribute.cs, SoapServerMessage.cs: Api fixage (mainly
- missing attributes).
-
-2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleClientProtocol.cs, HttpWebClientProtocol.cs,
- SoapClientMessage.cs, SoapHttpClientProtocol.cs, SoapServerMessage.cs:
- Added 2.0 stubs.
- * SoapException.cs, SoapHeader.cs, SoapHeaderException.cs, SoapMessage.cs,
- SoapRpcMethodAttribute.cs, SoapRpcServiceAttribute.cs: Implemented some
- new methods and properties.
- * WebClientProtocol.cs: uri field must be internal.
-
-2004-07-05 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: When using RPC, ignore RequestElementName and MessageName,
- and always uses the method name (MS.NET seems to do this).
-
-2004-07-02 Lluis Sanchez Gual <lluis@ximian.com>
-
- * XmlReturnWriter.cs: Add XmlIncludes to the reflection importer when
- reflecting the return type.
-
-2004-07-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Check for null when looking for a header serializer, since
- unknown headers don't have a serializer.
- * SoapHeader.cs: Check for empty string before setting
- EncodedMustUnderstand.
-
-2004-07-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs, SoapMessage.cs: Added support for unknown headers.
- * SoapHeader.cs, SoapUnknownHeader.cs: Added new constructor that takes an
- XmlElement with header info.
- * WebServiceHelper.cs: Write the encodingStyle attribute when using the
- encoded format. Added support for unknown headers.
-
-2004-06-22 Lluis Sanchez Gual <lluis@ximian.com>
-
- * XmlReturnReader.cs, XmlReturnWriter.cs: Generate the serializer with
- the root attribute taken from the method attributes.
-
-2004-06-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * TypeStubManager.cs: Improved locking in GetLogicalTypeInfo().
- * WebServiceHandler.cs: Removed unneded methods.
-
-2004-06-02 Lluis Sanchez Gual <lluis@ximian.com>
-
- * LogicalMethodInfo.cs: Don't crash in GetCustomAttribute if the requested
- attribute is not found.
-
-2004-06-01 Gert Driesen <drieseng@users.sourceforge.net>
-
- * HttpSoapWebServiceHandler.cs: Removed unused variables.
- * SoapHeaderAttribute.cs: Added Obsolete attribute.
-
-2004-05-24 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapClientMessage.cs: Get the MethodInfo from the corresponding
- SoapMethodStubInfo.
-
-2004-05-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * SoapHttpClientProtocol.cs: when the response has a not acceptable
- status code, the WebException we throw has a status of ProtocolError.
- Fixes bug #58564.
-
-2004-05-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * LogicalMethodInfo.cs: Made EnableSession property internal.
-
-2004-05-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleWebServiceHandler.cs: Added GetRequestMethod(), which is used
- by the handler factory to check if the target method needs session or not.
- Also factorized error handling in WriteError().
- * HttpSoapWebServiceHandler.cs: Added GetRequestMethod(), for the same
- reason. Assign the context to the WebService just before invoking the
- method.
- * SoapHttpClientProtocol.cs: Use helper method to create the xml writer.
- * WebServiceHandler.cs: Added virtual GetRequestMethod().
- * WebServiceHandlerFactory.cs: Use an http handler wrapper when the target
- method requires session support.
- * WebServiceHelper.cs: Added some helper methods.
-
-2004-05-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * SoapDocumentationHandler.cs: added internal property to get the page
- handler when available.
-
- * WebServiceHandlerFactory.cs: wrap the documentation handler in a class
- that implements IRequiresSessionState and, if requested,
- IReadOnlySessionState, so that we can use Sesion object in the default
- WSDL help generator.
-
-2004-05-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * HttpSoapWebServiceHandler.cs: finish the request after serializing
- the fault message.
-
-2004-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * HttpGetWebServiceHandler.cs:
- * HttpPostWebServiceHandler.cs: removed.
-
- * HttpSimpleWebServiceHandler.cs: changed ctor parameters and added
- EnableSession property.
-
- * WebServiceHandler.cs: added EnableSession virtual property.
-
- * WebServiceHandlerFactory.cs: added a new handler that implements
- IRequiresSessionState used for HttpGet and HttpPost.
- (GetHandler): for HttpGet and HttpPost check if the method requires to
- have a Session object and use the new SimpleSyncSessionHandler in that
- case.
-
- Still missing proper session handler for SOAP requests.
-
-2004-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * HttpSimpleWebServiceHandler.cs:
- * HttpSoapWebServiceHandler.cs: use the session if the method has
- EnableSession set.
-
- * LogicalMethodInfo.cs: added EnableSession property.
-
- * WebServiceHandler.cs: set the Session object of the WebService.
-
-2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebServiceHelper.cs: In GetContentEncoding, chop off the single & double
- quotes around the encoding name. Patch by George Kodinov. This fixes
- bug #55806.
-
-2004-03-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSoapWebServiceHandler.cs: Set the properties ContentType and
- ContentEncoding in SoapServerMessage.
- * LogicalMethodInfo.cs: Implemented AsyncResultParameter, BeginInvoke and
- EndInvoke. Fixed ComputeParameters, so it computes the correct parameters
- for async logical methods.
- * Methods.cs: Check that client proxies have one and only one
- WebServiceBindingAttribute.
- * PatternMatcher.cs: Implemented (in fact, just moved code from
- TextReturnReader.cs)
- * SoapDocumentationHandler.cs: Add soap bindings in the generated
- discovery document.
- * SoapHttpClientProtocol.cs: Implemented method Discover().
- * SoapMessage.cs: Implemented property ContentEncoding.
- * TextReturnReader.cs: Moved code to PatternMatcher.cs.
-
-2004-02-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Fault.cs: Moved Fault class from Methods.cd to this file. It also includes
- a generated serializer.
- * HttpSoapWebServiceHandler.cs, WebServiceHelper.cs: Use the new static Fault serializer.
- * Methods.cs: Include types declared with XmlInclude and SoapInclude to the
- reflection importer. Moved Fault and its serializer to Fault.cs
- * SoapHttpClientProtocol.cs: Removed unused method.
-
-2004-02-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebServiceHelper.cs: When reading a soap request, skip empty headers.
- This fixes bug #51846.
-
-2004-01-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebServiceHandler.cs: inheritance from WebService is not mandatory.
-
-2004-02-05 Alon Gazit <along@mainsoft.com>
-
- * HttpMethodAttribute.cs:
- * MatchAttribute.cs:
- * SoapDocumentMethodAttribute.cs:
- * SoapDocumentServiceAttribute.cs:
- * SoapHeaderAttribute.cs:
- * SoapRpcMethodAttribute.cs:
- * SoapRpcServiceAttribute.cs: This attribute is inherited by
- derived classes.changed the AttributeUsage attribute.
-
-2004-02-05 Alon Gazit <along@mainsoft.com>
-
- * SoapHeaderAttribute.cs: This attribute is multiuse.
- Changed the AttributeUsage attribute.
-
-2004-01-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapDocumentMethodAttribute.cs: Fixed bug in ResponseNamespace.
-
-2004-01-24 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpWebClientProtocol.cs: Added missing property.
- * Methods.cs: Default binding for a method must be null.
- * SoapHeaderDirection.cs: Added missing enum value.
- * SoapMessage.cs: Added missing property.
- * TypeStubManager.cs: Removed unneded check from AddBinding.
- In GetBinding(), return default binding if name is null.
- * ValueCollectionParameterReader.cs: IsPrimitive must be internal.
-
-2004-01-21 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSoapWebServiceHandler.cs, SoapHttpClientProtocol.cs: Do not use
- indented format for requests and responses. SOAPAction header value
- must be quoted (fix by Yaacov Akiba Slama).
-
-2004-01-21 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Set the correct namespaces for Fault. This fixes bug #53117.
- Based on the fix by Eran Domb.
-
-2004-01-19 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Get the method namespace from the binding, not from the web
- service.
- * TypeStubManager.cs: When adding a binding, ignore it if it has already
- been added. Changed WebServiceLiteralNamespace by the method
- GetWebServiceLiteralNamespace. The literal namespace depends on the binding
- namespace, so it has to be provided as parameter.
- * XmlReturnReader.cs, XmlReturnWriter.cs: Use GetWebServiceLiteralNamespace
- instead of WebServiceLiteralNamespace.
-
-2004-01-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Set the correct element name and namespace for headers (those
- are not managed like other data classes).
-
-2004-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * HttpSoapWebServiceHandler.cs:
- * HttpSimpleWebServiceHandler.cs: set
- base.Context property.
-
- * WebServiceHandler.cs: added set_Context and set the context for the
- WebService when creating the instance.
-
-2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapDocumentationHandler.cs: Added support for DISCO file generation.
-
-2003-12-16 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSimpleClientProtocol.cs: Do not encode the request url, since it is
- already encoded by the MimeParameterWriter.
- * MatchAttribute.cs: Set default value for Group to 1.
- * TextReturnReader.cs: Implemented. With this it is possible to create an
- XML web service that parse the contents of a web page.
-
-2003-12-15 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSoapWebServiceHandler.cs: Added check for valid SOAPAction header.
- Fixed bug when routing style is RequestElement.
- Removed GetMethodFromAction. This is done now in the type stub.
- Other minor fixes.
- * Methods.cs, WebServiceHelper.cs: Faults are always serialized using
- literal format. Removed unneded code.
-
-2003-12-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Added special handling for RPC format.
-
-2003-11-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Added correct namespace for serialization in Fault class.
- * SoapHttpClientProtocol.cs: Changed the method used to check if the
- result is a fault. Now the check is done inside
- WebServiceHelper.ReadSoapMessage. Removed some debug writelines.
- * WebServiceHelper.cs: If the message body is a fault, use the fault
- serializer.
-
-2003-11-24 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs, TypeStubManager.cs, SoapMessage.cs: Removed TODO comment.
- * SoapDocumentationHandler.cs: Check that the documentation page exist.
- * SoapHttpClientProtocol.cs: Removed cast from WebResponse to
- HttpWebResponse. This fixes bug #51281.
-
-2003-11-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * HttpSoapWebServiceHandler.cs: WebException is ok here for wrong
- content encoding...
- * SoapHttpClientProtocol.cs: ... but here, we should throw an
- InvalidOperationException including the full response.
-
- * WebServiceHelper.cs:
- (GetContentEncoding): now fills an output variable with the name of the
- content encoding used.
- (InvalidOperation): new method to build the message for
- InvalidOperationException.
-
-2003-11-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * SoapHttpClientProtocol.cs:
- * WebServiceHelper.cs: throw a WebException instead of an Exception.
- Fixes bug #51193.
-
-2003-10-26 Miguel de Icaza <miguel@ximian.com>
-
- * WebServiceHelper.cs: Compute content type and encoding
- correctly in the absence of extra options.
-
-2003-10-22 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Class Fault is now public, so it can be serialized.
-
-2003-10-15 Lluis Sanchez Gual <lluis@ximian.com>
-
- * TypeStubManager.cs: Added OperationName property.
-
-2003-10-13 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs, HttpSimpleTypeStubInfo.cs,
- HttpSoapWebServiceHandler.cs, Methods.cs, SoapHttpClientProtocol.cs,
- TypeStubManager.cs
- Added class LogicalTypeInfo, which contains info common to all protocols
- through which a web service can be accessed. Also, modified the way
- Serializers are created. Instead of creating one by one, they are now
- created all at once. This will make serialization creation more efficient
- when the serializer code generator is in place.
- * SoapRpcMethodAttribute.cs: Set the correct default values for the
- properties.
- * WebServiceHelper.cs: Removed unused method GetServiceNamespace().
- * XmlReturnReader.cs, XmlReturnWriter.cs: Get the namespace for the return
- type from LogicalTypeInfo.
-
-2003-10-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapHttpClientProtocol.cs: Replaced AsyncInfo by a new
- SoapWebClientAsyncResult class derived from WebClientAsyncResult.
- * WebClientAsyncResult.cs: Removed unneeded members.
-
-2003-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * SoapDocumentationHandler.cs: don't close the response stream here
- to allow filtering.
-
-2003-10-06 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HtmlFormParameterWriter.cs: Fixed WriteRequest().
- * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs: Check that
- HttpMethodAttribute is present in proxy's method.
- * HttpSimpleClientProtocol.cs: Forgot to call InitializeRequest before
- getting the request stream.
- * UrlEncodedParameterWriter.cs: in Encode(), take into account that
- requestEncoding can be null.
-
-2003-10-04 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapDocumentationHandler.cs: Moved here the code from
- WebServiceHandlerFactory that generates the documentation page.
- * WebServiceHandlerFactory.cs: Moved the code that generates the doc page
- to SoapDocumentationHandler.cs.
- * HttpGetClientProtocol.cs, HttpGetWebServiceHandler.cs,
- HttpPostClientProtocol.cs, HttpPostWebServiceHandler.cs,
- HttpSimpleWebServiceHandler.cs, HttpSoapWebServiceHandler.cs,
- SoapHttpClientProtocol.cs: Changed parameters of GetTypeStub call.
- * HttpGetTypeStubInfo.cs, HttpPostTypeStubInfo.cs: Added ProtocolName
- property. Added check for valid parameters.
- * HttpSimpleTypeStubInfo.cs: Define return MimeFormatter in constructor.
- * Methods.cs: BindingInfo and related properties moved to base TypeStubInfo.
- Added properties for XmlImporter and SoapImporter.
- * TypeStubManager.cs: Added BindingInfo and related properties.
- Changed GetTypeStub method. Now it takes the name of the protocol for
- which to get the type stub info.
- * ValueCollectionParameterReader.cs: IsSupported should only return true
- for input primitive parameters or array of primitives.
-
-2003-10-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * SoapDocumentationHandler.cs: it does not generate the documentation
- page any more. GetDescription and GetSchemas are now internal.
-
- * WebServiceHandlerFactory.cs: generate the documentation page without
- doing a Transfer () but instead creating a Page instance from the wsdl
- help file. This file is located from the configuration file that
- contains the <wsdlHelpGenerator> tag.
-
-2003-10-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HtmlFormParameterReader.cs, HtmlFormParameterWriter.cs,
- HttpGetClientProtocol.cs, HttpPostClientProtocol.cs,
- HttpSimpleClientProtocol.cs, MimeFormatter.cs, MimeParameterWriter.cs,
- NopReturnReader.cs, UrlEncodedParameterWriter.cs, UrlParameterReader.cs,
- UrlParameterWriter.cs, ValueCollectionParameterReader.cs,
- WebClientAsyncResult.cs, XmlReturnReader.cs, XmlReturnWriter.cs
- : Implemented.
-
- * HttpSoapWebServiceHandler.cs, SoapClientMessage.cs, SoapServerMessage.cs,
- SoapDocumentationHandler.cs, SoapHttpClientProtocol.cs,
- WebServiceHelper.cs: Changed due to modifications in TypeStubInfo.
-
- * Methods.cs: Moved common code to TypeStubInfo.cs.
- * WebServiceHandler.cs: Moved invoke code to HttpSoapWebServiceHandler.cs
- * ServerProtocol.cs, SoapServerProtocol.cs: Fixed formatting.
- * WebServiceHandlerFactory.cs: Added support for HttpGet and HttpPost.
-
-2003-09-29 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Little fix in binding check.
- * SoapExtension.cs: Implemented ChainStream. Changed some methods from
- public to internal.
- * SoapClientMessage: Implemented EnsureInStage.
- * SoapServerMessage: Implemented EnsureInStage, EnsureOutStage.
-
-2003-09-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSoapWebServiceHandler.cs: In SerializeResponse method, improved
- management of exceptions. Also added support for BufferResponse flag.
- * Methods.cs: Added MethodAttribute property in MethodStubInfo. Added
- XmlImporter, SoapImporter and Type properties in TypeStubInfo.
- * SoapMessage.cs: little fix.
-
-2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapDocumentationHandler.cs: Added support for on-the-fly proxy
- code generation in documentation pages.
-
-2003-09-04 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Added support for bare parameter style. Fixed some defaults.
-
-2003-09-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: In TypeStubInfo, added Documentation field.
-
-2003-07-28 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSoapWebServiceHandler.cs:
- * Methods.cs: Added SoapBindingStyle, SoapBindingUse, InputMembersMapping
- and OutputMembersMapping properties in MethodStubInfo.
- Use default value defined in TypeStubInfo for RequestNamespace,
- ResponseNamespace and other properties.
- Added class BindingInfo to store information about class bindings.
- In TypeStubInfo added SoapBindingStyle, DefaultBinding, Methods and
- Bindings properties.
- * SoapRpcMethodAttribute.cs: Use WebServiceAttribute.DefaultNamespace constant
- instead of hardcoded namespace name.
- * WebServiceHandlerFactory.cs: Create new SoapDocumentationHandler for
- documentation requests.
- * SoapDocumentationHandler.cs: new handler that generates WS documentation.
-
-2003-07-22 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebServiceHandler.cs: Fixed Invoke(). ParameterInfo.Position is now
- zero-based, like in MS.NET.
-
-2003-07-16 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapHttpClientProtocol.cs: Removed debug WriteLine.
-
-2003-07-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * HttpSoapWebServiceHandler.cs: MS puts the soap action in quotation marks??
- Fix for this case.
- * SoapHttpClientProtocol.cs: Implemented support for asynchronous calls
- (BeginInvoke and EndInvoke).
-
-2003-07-09 Lluis Sanchez Gual <lluis@ximian.com>
-
- * SoapHttpClientProtocol.cs, HttpSoapWebServiceHandler.cs, Methods.cs:
- Added support for soap extensions. Moved some code to
- WebServiceHelper. Implemented support for the two types of RoutingStyle. Added support
- for In and Out headers. Improved management of exceptions.
- * SoapClientMessage.cs: code to retrieve soap headers moved to SoapMessage.
- * SoapExtension.cs: Added methods for getting and creating soap extensions.
- * SoapMessage.cs: Added methods for getting and assigning headers to an object.
- * SoapServerMessage.cs: Added setter for MethodStubInfo. Other minor fixes.
- * WebServiceHandler.cs: Added support for In and Out headers. Fixed management of exceptions.
- * WebServiceHandlerFactory.cs: Check if the request protocol is supported.
- * WebServiceHelper.cs: Added method for reading a soap request.
-
-2003-07-04 Lluis Sanchez Gual <lluis@ximian.com>
-
- * LogicalMethodInfo.cs: Fixed Invoke method. If return type is void,
- then the result object array only contain output parameters.
-
- * Methods.cs: In class MethodStubInfo, added support from some server properties
- taken from WebMethodAttribute. Now MethodStubInfo can be created without SoapDocument*
- or SoapRpc* attributes, in which case takes default values from TypeStubInfo.
- Added method for getting header info.
- In class Fault: added constructor for creating a fault from a SoapException.
- In class TypeStubInfo: new way to manage serializers for headers. Now it is possible to
- get a header using a name and namespace (used when deserializing).
-
- * SoapHttpClientProtocol.cs: moved WriteSoapEnvelope method to WebServiceHelper (so it can be shared).
- Also moved other serialization stuff to WebServiceHelper.
-
- * SoapMessage.cs: Added some convenient constructors and internal properties.
- Implemented GetOutParameterValue and GetReturnValue.
-
- * SoapServerMessage.cs: Implemented.
-
- * WebServiceHandler.cs: Implemented method Invoke.
-
- * WebServiceHandlerFactory.cs: Basic implementation.
-
- * WebServiceHelper.cs: Added. Has some methods shared between client and server classes.
-
- * HttpSoapWebServiceHandler.cs: Added. IHttpHandler implementation for HttpSoap requests.
-
-2003-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * HttpWebClientProtocol.cs: handle cookies if the request is a
- HttpWebRequest. It gets the cookies set in the response and sends them
- on subsequent requests.
-
- * SoapHttpClientProtocol.cs:
- (GetWebRequest): just calls the base method.
- (SendRequest): set the method here.
- (Invoke): call GetWebResponse instead of request.GetResponse.
-
- * WebClientProtocol.cs:
- (GetWebRequest): set some properties of the request.
- (GetWebResponse): if we get a WebException containing a response, return
- that as the response and ignore the exception.
- (GetWebResponse (req, async)): only call EndGetResponse.
-
-2003-06-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Added information about headers in MethodStubInfo. Added cache of serializers
- in TypeStubInfo so serializers for headers they can be shared by several methods.
- * SoapClientMessage.cs: Headers added in the constructor.
- * SoapMessage.cs: Added header list initialization.
- * SoapHttpClientProtocol.cs: Added support soap headers.
-
-2003-06-13 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: Added serializer to MethodStubInfo for deserializing faults.
- * SoapHttpClientProtocol.cs: Added support for faults.
-
-2003-06-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: removed handler for UnknownNode event
-
-2003-06-05 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Methods.cs: added support for encoded format
-
-2003-06-01 Miguel de Icaza <miguel@ximian.com>
-
- * Methods.cs (MethodStubInfo): If creating an RPC call, pass an
- optional XmlElementAttribute with the namespace set to null; Use
- this on each element of the request and response serializers.
-
- (MakeRequestSerializer, MakeResponseSerializer): Use the empty
- element for the return values.
-
- * SoapRpcMethodAttribute.cs: Drop the default name on the
- SoapRpcMethodAttribute, it was incorrectly given a default name.
-
-2003-05-30 Miguel de Icaza <miguel@ximian.com>
-
- * Methods.cs (MethodStubInfo): Start support for RPC style as well
- as Literal style. Take an object instead of a
- SoapDocumentMethodAttribute, and allow the value to be also a
- SoapRpcMethodAttribute. Pull data from both.
-
- Kill SoapBindingUse, we only use this during validation.
-
- Turn out Google uses RPC/Literal, and its a good demo.
-
- (MakeResponseSerializer): OneWay is not the only
- condition to catch; Also void return types are not required to
- have a response.
-
- (MakeRequestSerializer): InParameters *might* be ref parameters,
- deal with that here too.
-
- Add some debugging code for tracking down missing implementation
- details in serialization creation.
-
- (MakeResponseSerializer): DUH. Use the
- ResponseName/ResponseNamespace for the member import, not the
- RequestName and RequestNamespace. The bugs of cut-and-paste.
-
-2003-05-29 Miguel de Icaza <miguel@ximian.com>
-
- * SoapHttpClientProtocol.cs (CreateMessage): Kill. Move
- functionality to Invoke.
-
- (Invoke): Use new TypeStubInfo/MethodStubInfo instead.
-
- * SoapClientMessage.cs: Drop old mechanism, use MethodStubInfo instead.
-
- * Methods.cs: New file. Contains the managed for TypeStubs and
- MethodInfoStubs.
-
- A MethodInfoStub contains the serializers we use for the SOAP
- request.
-
- * SoapClientMessage.cs: Drop parameters from the clientmessage, it
- does not belong here. Drop oneway, we canextract that from the
- SoapDocumentMethodAttribute class that we pass.
-
-2003-05-28 Miguel de Icaza <miguel@ximian.com>
-
- * LogicalMethodInfo.cs (Create): Implement begin/end method
- pairing.
- (Name): Implement.
- (EndMethodInfo): Always return end_method_info.
-
-2003-04-30 Miguel de Icaza <miguel@ximian.com>
-
- * SoapHttpClientProtocol.cs: Flag the methods in the chain that
- gets the caller method as non-inlineable.
-
-2003-04-29 Miguel de Icaza <miguel@ximian.com>
-
- * SoapHttpClientProtocol.cs (CreateMessage): Extract information
- from the method to be called.
-
- * SoapDocumentMethodAttribute.cs: Do not initialize all the fields
- on the attribute at bootstrap, for default values, just compute
- them when queried.
-
- * SoapMessage.cs (SetStage): New internal method, used to register
- the stage as we move along the soap pipeline.
-
- * LogicalMethodInfo.cs: Most of this is implemented. Its only
- missing a few bits in the Create() method.
-
- * SoapHttpClientProtocol.cs: Begin implementation of Invoke, which
- lead to other dependencies to be implemented.
-
- * LogicalMethodInfo.cs: Mostly complete. It is only missing the
- async features (BeginInvoke/EndInvoke) on a LogicalMethodInfo.
-
- * WebClientProtocol.cs (GetWebRequest): Track the web request, so
- we can abort it later.
- (Abort): Call abort on the underlying transport.
-
-2002-08-24 Tim Coleman <tim@timcoleman.com>
- * HttpServerProtocol.cs:
- * WebServiceHandler.cs:
- Some commented code added, from analysing
- an exception trace.
- * MimeReturnWriter.cs:
- * XmlReturnWriter.cs:
- New stubs added.
-
-2002-08-23 Tim Coleman <tim@timcoleman.com>
- * ServerProtocol.cs:
- * SoapServerProtocol.cs:
- More cleanup, comparison with class status.
- * WebServiceHandler.cs:
- * HttpServerProtocol.cs:
- New stubs added.
-
-2002-08-15 Tim Coleman <tim@timcoleman.com>
- * ServerProtocol.cs:
- * SoapServerProtocol.cs:
- Some more implementation.
-
-2002-08-06 Tim Coleman <tim@timcoleman.com>
- * ServerProtocol.cs:
- Add new class as implied by class statuc page.
- SoapServerProtocol is derived from this.
- * SoapServerProtocol.cs:
- Change base class to ServerProtocol. Add some
- properties shown by class status page.
- * SoapClientMethod.cs:
- This class should not be sealed. Add some
- fields shown by the class status page.
-
-2002-07-25 Tim Coleman <tim@timcoleman.com>
- * SoapClientMethod.cs:
- * SoapServerProtocol.cs:
- Add new internal classes as discovered.
- * SoapClientMessage.cs:
- * SoapMessage.cs:
- * SoapServerMessage.cs:
- * WebClientAsyncResult.cs:
- Add internal constructor, as found on class
- status page; modify some properties.
-
-2002-07-23 Tim Coleman <tim@timcoleman.com>
- * SoapException.cs: modified constructors to
- call base class correctly.
- * WebClientAsyncResult: some implementation
-
-2002-07-23 Tim Coleman <tim@timcoleman.com>
- * HttpGetClientProtocol.cs:
- * HttpPostClientProtocol.cs
- Implemented the GetWebRequest method
- * HttpSimpleClientProtocol:
- Some implementation of the EndInvoke method
- * HttpWebClientProtocol.cs:
- Set the UserAgent string appropriately
- Implemented the GetWebRequest method
- Implemented the GetWebResponse methods
- * SoapHttpClientProtocol.cs:
- Removed unused fields
- Implemented the GetWebRequest method
- * SoapMessage.cs:
- Implemented the EnsureStage method
- * WebClientProtocol.cs:
- Added a static constructor to construct the cache
- Implemented the Abort method
- Implemented the AddToCache, GetFromCache methods
- Implemented the GetWebRequest method
- Implemented the GetWebResponse methods
-
-2002-07-23 Tim Coleman <tim@timcoleman.com>
- * LogicalMethodTypes.cs:
- * SoapHeaderDirection.cs:
- * SoapMessageStage.cs:
- * SoapParameterStyle.cs:
- * SoapServiceRoutingStyle.cs:
- Explicitly define values in enum to match
- .NET.
- * SoapMessage.cs:
- Removed constructor which should not be present.
- * SoapException.cs:
- Made protected fields private as they should
- be.
- * SoapHeaderException.cs:
- Modifications to constructors to propertly
- call base class constructor
-
-2002-07-22 Tim Coleman <tim@timcoleman.com>
- * SoapHeaderException.cs:
- Fixed name error in constructor
- * SoapUnknownHeader.cs:
- Added reference to System.Xml.Serialization
-
-2002-07-22 Tim Coleman <tim@timcoleman.com>
- * SoapHeaderException.cs:
- New file added
-
-2002-07-22 Tim Coleman <tim@timcoleman.com>
- * AnyReturnReader.cs:
- * HtmlFormParameterReader.cs :
- * HtmlFormParameterWriter.cs :
- * HttpGetClientProtocol.cs :
- * HttpMethodAttribute.cs :
- * HttpPostClientProtocol.cs :
- * HttpSimpleClientProtocol.cs :
- * HttpWebClientProtocol.cs :
- * LogicalMethodInfo.cs :
- * LogicalMethodTypes.cs :
- * MatchAttribute.cs :
- * MimeFormatter.cs :
- * MimeParameterReader.cs :
- * MimeParameterWriter.cs :
- * MimeReturnReader.cs :
- * NopReturnReader.cs :
- * PatternMatcher.cs :
- * SoapClientMessage.cs :
- * SoapDocumentMethodAttribute.cs :
- * SoapDocumentServiceAttribute.cs :
- * SoapException.cs :
- * SoapExtension.cs :
- * SoapExtensionAttribute.cs :
- * SoapHeader.cs :
- * SoapHeaderAttribute.cs :
- * SoapHeaderCollection.cs :
- * SoapHeaderDirection.cs :
- * SoapHttpClientProtocol.cs :
- * SoapMessage.cs :
- * SoapMessageStage.cs :
- * SoapParameterStyle.cs :
- * SoapRpcMethodAttribute.cs :
- * SoapRpcServiceAttribute.cs :
- * SoapServerMessage.cs :
- * SoapServiceRoutingStyle.cs :
- * SoapUnknownHeader.cs :
- * TextReturnReader.cs :
- * UrlEncodedParameterWriter.cs :
- * UrlParameterReader.cs :
- * UrlParameterWriter.cs :
- * ValueCollectionParameterReader.cs :
- * WebClientAsyncResult.cs :
- * WebClientProtocol.cs :
- * WebServiceHandlerFactory.cs :
- * XmlReturnReader.cs :
- Add missing methods and attributes to make as few missing
- things as possible in this namespace. This is from the
- project status page.
-
-2002-07-20 Tim Coleman <tim@timcoleman.com>
- * AnyReturnReader.cs:
- * HtmlFormParameterReader.cs:
- * HtmlFormParameterWriter.cs:
- * HttpGetClientProtocol.cs:
- * HttpMethodAttribute.cs:
- * HttpPostClientProtocol.cs:
- * HttpSimpleClientProtocol.cs:
- * HttpWebClientProtocol.cs:
- * MatchAttribute.cs:
- * MimeFormatter.cs:
- * MimeParameterReader.cs:
- * MimeParameterWriter.cs:
- * MimeReturnReader.cs:
- * NopReturnReader.cs:
- * PatternMatcher.cs:
- * SoapClientMessage.cs:
- * SoapDocumentMethodAttribute.cs:
- * SoapDocumentServiceAttribute.cs:
- * SoapException.cs:
- * SoapExtensionAttribute.cs:
- * SoapExtension.cs:
- * SoapHeaderAttribute.cs:
- * SoapHeaderCollection.cs:
- * SoapHeader.cs:
- * SoapHeaderDirection.cs:
- * SoapHttpClientProtocol.cs:
- * SoapMessage.cs:
- * SoapMessageStage.cs:
- * SoapParameterStyle.cs:
- * SoapRpcMethodAttribute.cs:
- * SoapRpcServiceAttribute.cs:
- * SoapServerMessage.cs:
- * SoapServiceRoutingStyle.cs:
- * SoapUnknownHeader.cs:
- * TextReturnReader.cs:
- * UrlEncodedParameterWriter.cs:
- * UrlParameterReader.cs:
- * UrlParameterWriter.cs:
- * ValueCollectionParameterReader.cs:
- * WebClientAsyncResult.cs:
- * WebClientProtocol.cs:
- * WebServiceHandlerFactory.cs:
- * XmlReturnReader.cs:
- Added new stubbs and some implementation
- * LogicalMethodTypes.cs:
- Added [Serializable] attribute which was missing.
-
-2002-07-19 Tim Coleman <tim@timcoleman.com>
- * ChangeLog:
- * LogicalMethodInfo.cs:
- * LogicalMethodTypes.cs:
- Add required classes to maek System.Web.Services.Description
- buildable.
+++ /dev/null
-//
-// System.Web.Services.Protocols.Fault.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) 2004 Novell, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Xml;
-using System.Xml.Schema;
-using System.Xml.Serialization;
-using System.Text;
-using System.Collections;
-using System.Globalization;
-
-namespace System.Web.Services.Protocols
-{
- internal class Fault
- {
- static XmlSerializer serializer;
-
- static Fault ()
- {
- serializer = new FaultSerializer ();
- }
-
- public Fault () {}
-
- public Fault (SoapException ex)
- {
- faultcode = ex.Code;
- faultstring = ex.Message;
- faultactor = ex.Actor;
- detail = ex.Detail;
- }
-
- [XmlElement (Namespace="")]
- public XmlQualifiedName faultcode;
-
- [XmlElement (Namespace="")]
- public string faultstring;
-
- [XmlElement (Namespace="")]
- public string faultactor;
-
- [SoapIgnore]
- public XmlNode detail;
-
- public static XmlSerializer Serializer
- {
- get { return serializer; }
- }
- }
-
- internal class FaultSerializer : XmlSerializer
- {
- protected override void Serialize (object o, XmlSerializationWriter writer)
- {
- FaultWriter xsWriter = writer as FaultWriter;
- xsWriter.WriteRoot_Fault (o);
- }
-
- protected override object Deserialize (XmlSerializationReader reader)
- {
- FaultReader xsReader = reader as FaultReader;
- return xsReader.ReadRoot_Fault ();
- }
-
- protected override XmlSerializationWriter CreateWriter ()
- {
- return new FaultWriter ();
- }
-
- protected override XmlSerializationReader CreateReader ()
- {
- return new FaultReader ();
- }
- }
-
- internal class FaultReader : XmlSerializationReader
- {
- public object ReadRoot_Fault ()
- {
- Reader.MoveToContent();
- if (Reader.LocalName != "Fault" || Reader.NamespaceURI != "http://schemas.xmlsoap.org/soap/envelope/")
- throw CreateUnknownNodeException();
- return ReadObject_Fault (true, true);
- }
-
- public System.Web.Services.Protocols.Fault ReadObject_Fault (bool isNullable, bool checkType)
- {
- System.Web.Services.Protocols.Fault ob = null;
- if (isNullable && ReadNull()) return null;
-
- if (checkType)
- {
- System.Xml.XmlQualifiedName t = GetXsiType();
- if (t != null)
- {
- if (t.Name != "Fault" || t.Namespace != "http://schemas.xmlsoap.org/soap/envelope/")
- throw CreateUnknownTypeException(t);
- }
- }
-
- ob = new System.Web.Services.Protocols.Fault ();
-
- Reader.MoveToElement();
-
- while (Reader.MoveToNextAttribute())
- {
- if (IsXmlnsAttribute (Reader.Name)) {
- }
- else {
- UnknownNode (ob);
- }
- }
-
- Reader.MoveToElement();
- if (Reader.IsEmptyElement) {
- Reader.Skip ();
- return ob;
- }
-
- Reader.ReadStartElement();
- Reader.MoveToContent();
-
- bool b0=false, b1=false, b2=false, b3=false;
-
- while (Reader.NodeType != System.Xml.XmlNodeType.EndElement)
- {
- if (Reader.NodeType == System.Xml.XmlNodeType.Element)
- {
- if (Reader.LocalName == "faultcode" && Reader.NamespaceURI == "" && !b0) {
- b0 = true;
- ob.@faultcode = ReadElementQualifiedName ();
- }
- else if (Reader.LocalName == "faultstring" && Reader.NamespaceURI == "" && !b1) {
- b1 = true;
- ob.@faultstring = Reader.ReadElementString ();
- }
- else if (Reader.LocalName == "detail" && Reader.NamespaceURI == "http://schemas.xmlsoap.org/soap/envelope/" && !b3) {
- b3 = true;
- ob.@detail = ReadXmlNode (true);
- }
- else if (Reader.LocalName == "faultactor" && Reader.NamespaceURI == "" && !b2) {
- b2 = true;
- ob.@faultactor = Reader.ReadElementString ();
- }
- else {
- UnknownNode (ob);
- }
- }
- else
- UnknownNode(ob);
-
- Reader.MoveToContent();
- }
-
- ReadEndElement();
-
- return ob;
- }
-
- protected override void InitCallbacks ()
- {
- }
-
- protected override void InitIDs ()
- {
- }
- }
-
- internal class FaultWriter : XmlSerializationWriter
- {
- public void WriteRoot_Fault (object o)
- {
- WriteStartDocument ();
- System.Web.Services.Protocols.Fault ob = (System.Web.Services.Protocols.Fault) o;
- TopLevelElement ();
- WriteObject_Fault (ob, "Fault", "http://schemas.xmlsoap.org/soap/envelope/", true, false, true);
- }
-
- void WriteObject_Fault (System.Web.Services.Protocols.Fault ob, string element, string namesp, bool isNullable, bool needType, bool writeWrappingElem)
- {
- if (ob == null)
- {
- if (isNullable)
- WriteNullTagLiteral(element, namesp);
- return;
- }
-
- if (writeWrappingElem) {
- WriteStartElement (element, namesp, ob);
- }
-
- if (needType) WriteXsiType("Fault", "http://schemas.xmlsoap.org/soap/envelope/");
-
- WriteElementQualifiedName ("faultcode", "", ob.@faultcode);
- WriteElementString ("faultstring", "", ob.@faultstring);
- WriteElementString ("faultactor", "", ob.@faultactor);
- WriteElementLiteral (ob.@detail, "detail", "http://schemas.xmlsoap.org/soap/envelope/", false, false);
- if (writeWrappingElem) WriteEndElement (ob);
- }
-
- protected override void InitCallbacks ()
- {
- }
- }
-}
-
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.HtmlFormParameterReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class HtmlFormParameterReader : ValueCollectionParameterReader {\r
-\r
- #region Constructors\r
-\r
- public HtmlFormParameterReader () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public override object[] Read (HttpRequest request)\r
- {\r
- return Read (request.Form);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.HtmlFormParameterWriter.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Net;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class HtmlFormParameterWriter : UrlEncodedParameterWriter {\r
-\r
- #region Constructors\r
-\r
- public HtmlFormParameterWriter () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public override bool UsesWriteRequest {\r
- get { return true; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public override void InitializeRequest (WebRequest request, object[] values)\r
- {\r
- if (RequestEncoding == null) request.ContentType = "application/x-www-form-urlencoded";\r
- else request.ContentType = "application/x-www-form-urlencoded; charset=" + RequestEncoding.BodyName;\r
- }\r
-\r
- public override void WriteRequest (Stream requestStream, object[] values)\r
- {\r
- StreamWriter sw = new StreamWriter (requestStream);\r
- Encode (sw, values);\r
- sw.Flush ();\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.HttpGetClientProtocol.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Net;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class HttpGetClientProtocol : HttpSimpleClientProtocol {\r
-\r
- #region Constructors\r
-\r
- public HttpGetClientProtocol () \r
- {\r
- TypeStub = (HttpSimpleTypeStubInfo) TypeStubManager.GetTypeStub (GetType(), "HttpGet");\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- protected override WebRequest GetWebRequest (Uri uri)\r
- {\r
- if (uri == null)\r
- throw new InvalidOperationException ("The uri parameter is null.");\r
- if (uri.ToString () == String.Empty)\r
- throw new InvalidOperationException ("The uri parameter has a length of zero.");\r
- \r
- WebRequest request = WebRequest.Create (uri);\r
- request.Method = "GET";\r
- return request;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-//
-// HttpGetTypeStubInfo.cs: Information about a method and its mapping to a SOAP web service.
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Web.Services.Protocols
-{
- internal class HttpGetMethodStubInfo : HttpSimpleMethodStubInfo
- {
- public HttpGetMethodStubInfo (TypeStubInfo parent, LogicalMethodInfo source): base (parent, source)
- {
- ParameterReaderType = new MimeFormatterInfo (typeof(UrlParameterReader));
- ReturnWriterType = new MimeFormatterInfo (typeof(XmlReturnWriter));
-
- if (ParameterWriterType == null) ParameterWriterType = new MimeFormatterInfo (typeof(UrlParameterWriter));
- }
- }
-
- internal class HttpGetTypeStubInfo : HttpSimpleTypeStubInfo
- {
- public HttpGetTypeStubInfo (LogicalTypeInfo logicalTypeInfo): base (logicalTypeInfo)
- {
- }
-
- public override string ProtocolName
- {
- get { return "HttpGet"; }
- }
-
- protected override MethodStubInfo CreateMethodStubInfo (TypeStubInfo typeInfo, LogicalMethodInfo methodInfo, bool isClientProxy)
- {
- if (isClientProxy && methodInfo.MethodInfo.GetCustomAttributes (typeof(HttpMethodAttribute),true).Length == 0) return null;
- if (!ValueCollectionParameterReader.IsSupported (methodInfo)) return null;
- return new HttpGetMethodStubInfo (typeInfo, methodInfo);
- }
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.HttpMethodAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Protocols {\r
- [AttributeUsage (AttributeTargets.Method, Inherited = true)]\r
- public sealed class HttpMethodAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- Type parameterFormatter;\r
- Type returnFormatter;\r
-\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- public HttpMethodAttribute () \r
- {\r
- }\r
-\r
- public HttpMethodAttribute (Type returnFormatter, Type parameterFormatter) \r
- : this ()\r
- {\r
- this.parameterFormatter = parameterFormatter;\r
- this.returnFormatter = returnFormatter;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public Type ParameterFormatter {\r
- get { return parameterFormatter; }\r
- set { parameterFormatter = value; }\r
- }\r
-\r
- public Type ReturnFormatter {\r
- get { return returnFormatter; }\r
- set { returnFormatter = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.HttpPostClientProtocol.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Net;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class HttpPostClientProtocol : HttpSimpleClientProtocol {\r
-\r
- #region Constructors\r
-\r
- public HttpPostClientProtocol () \r
- {\r
- TypeStub = (HttpSimpleTypeStubInfo) TypeStubManager.GetTypeStub (GetType(), "HttpPost");\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- protected override WebRequest GetWebRequest (Uri uri)\r
- {\r
- if (null == uri)\r
- throw new InvalidOperationException ("The uri parameter is a null reference.");\r
- if (String.Empty == uri.ToString ())\r
- throw new InvalidOperationException ("The uri parameter has a length of zero.");\r
-\r
- WebRequest request = WebRequest.Create (uri);\r
- request.Method = "POST";\r
- return request;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-//
-// HttpPostTypeStubInfo.cs: Information about a method and its mapping to a SOAP web service.
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Web.Services.Protocols
-{
- internal class HttpPostMethodStubInfo : HttpSimpleMethodStubInfo
- {
- public HttpPostMethodStubInfo (TypeStubInfo parent, LogicalMethodInfo source): base (parent, source)
- {
- ParameterReaderType = new MimeFormatterInfo (typeof(HtmlFormParameterReader));
- ReturnWriterType = new MimeFormatterInfo (typeof(XmlReturnWriter));
-
- if (ParameterWriterType == null) ParameterWriterType = new MimeFormatterInfo (typeof(HtmlFormParameterWriter));
- }
- }
-
- internal class HttpPostTypeStubInfo : HttpSimpleTypeStubInfo
- {
- public HttpPostTypeStubInfo (LogicalTypeInfo logicalTypeInfo): base (logicalTypeInfo)
- {
- }
-
- public override string ProtocolName
- {
- get { return "HttpPost"; }
- }
-
- protected override MethodStubInfo CreateMethodStubInfo (TypeStubInfo typeInfo, LogicalMethodInfo methodInfo, bool isClientProxy)
- {
- if (isClientProxy && methodInfo.MethodInfo.GetCustomAttributes (typeof(HttpMethodAttribute),true).Length == 0) return null;
- if (!ValueCollectionParameterReader.IsSupported (methodInfo)) return null;
- return new HttpPostMethodStubInfo (typeInfo, methodInfo);
- }
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.HttpServerProtocol.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- [MonoTODO ("Figure out what this class does.")]\r
- internal abstract class HttpServerProtocol : ServerProtocol {\r
-\r
- #region Constructors\r
-\r
- [MonoTODO ("Is the bool parameter the one way?")]\r
- protected HttpServerProtocol (bool isOneWay)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [MonoTODO]\r
- public override bool IsOneWay {\r
- get { throw new NotImplementedException (); }\r
- }\r
-\r
- [MonoTODO]\r
- public override LogicalMethodInfo MethodInfo {\r
- get { throw new NotImplementedException (); }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- [MonoTODO]\r
- public static bool AreUrlParametersSupported (LogicalMethodInfo methodInfo)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public override bool Initialize () \r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public override object[] ReadParameters ()\r
- {\r
- throw new NotImplementedException ();\r
- }\r
- \r
- [MonoTODO]\r
- public override bool WriteException (Exception e, Stream outputStream)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public override void WriteReturns (object[] returnValues, Stream outputStream)\r
- {\r
- //xmlReturnWriter.Write (Response, outputStream, returnValue);\r
- throw new NotImplementedException ();\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.HttpSimpleClientProtocol.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.Net;\r
-using System.IO;\r
-using System.Threading;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class HttpSimpleClientProtocol : HttpWebClientProtocol {\r
-\r
- #region Fields\r
-\r
- internal HttpSimpleTypeStubInfo TypeStub;\r
- \r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- protected HttpSimpleClientProtocol () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- protected IAsyncResult BeginInvoke (string methodName, string requestUrl, object[] parameters, AsyncCallback callback, object asyncState)\r
- {\r
- HttpSimpleMethodStubInfo method = (HttpSimpleMethodStubInfo) TypeStub.GetMethod (methodName);\r
- SimpleWebClientAsyncResult ainfo = null;\r
- \r
- try\r
- {\r
- MimeParameterWriter parameterWriter = (MimeParameterWriter) method.ParameterWriterType.Create ();\r
- string url = parameterWriter.GetRequestUrl (requestUrl, parameters);\r
- WebRequest req = GetWebRequest (new Uri(url));\r
- \r
- ainfo = new SimpleWebClientAsyncResult (req, callback, asyncState);\r
- ainfo.Parameters = parameters;\r
- ainfo.ParameterWriter = parameterWriter;\r
- ainfo.Method = method;\r
- \r
- ainfo.Request = req;\r
- ainfo.Request.BeginGetRequestStream (new AsyncCallback (AsyncGetRequestStreamDone), ainfo);\r
- }\r
- catch (Exception ex)\r
- {\r
- if (ainfo != null)\r
- ainfo.SetCompleted (null, ex, false);\r
- else\r
- throw ex;\r
- }\r
-\r
- return ainfo;\r
-\r
- }\r
-\r
- void AsyncGetRequestStreamDone (IAsyncResult ar)\r
- {\r
- SimpleWebClientAsyncResult ainfo = (SimpleWebClientAsyncResult) ar.AsyncState;\r
- try\r
- {\r
- if (ainfo.ParameterWriter.UsesWriteRequest)\r
- {\r
- Stream stream = ainfo.Request.GetRequestStream ();\r
- ainfo.ParameterWriter.WriteRequest (stream, ainfo.Parameters);\r
- stream.Close ();\r
- }\r
-\r
- ainfo.Request.BeginGetResponse (new AsyncCallback (AsyncGetResponseDone), ainfo);\r
- }\r
- catch (Exception ex)\r
- {\r
- ainfo.SetCompleted (null, ex, true);\r
- }\r
- }\r
-\r
- void AsyncGetResponseDone (IAsyncResult ar)\r
- {\r
- SimpleWebClientAsyncResult ainfo = (SimpleWebClientAsyncResult) ar.AsyncState;\r
- WebResponse response = null;\r
-\r
- try {\r
- response = GetWebResponse (ainfo.Request, ar);\r
- }\r
- catch (WebException ex) {\r
- response = ex.Response;\r
- HttpWebResponse http_response = response as HttpWebResponse;\r
- if (http_response == null || http_response.StatusCode != HttpStatusCode.InternalServerError) {\r
- ainfo.SetCompleted (null, ex, true);\r
- return;\r
- }\r
- }\r
- catch (Exception ex) {\r
- ainfo.SetCompleted (null, ex, true);\r
- return;\r
- }\r
-\r
- try {\r
- MimeReturnReader returnReader = (MimeReturnReader) ainfo.Method.ReturnReaderType.Create ();\r
- object result = returnReader.Read (response, response.GetResponseStream ());\r
- ainfo.SetCompleted (result, null, true);\r
- }\r
- catch (Exception ex) {\r
- ainfo.SetCompleted (null, ex, true);\r
- }\r
- }\r
-\r
-\r
- protected object EndInvoke (IAsyncResult asyncResult)\r
- {\r
- if (!(asyncResult is SimpleWebClientAsyncResult)) throw new ArgumentException ("asyncResult is not the return value from BeginInvoke");\r
-\r
- SimpleWebClientAsyncResult ainfo = (SimpleWebClientAsyncResult) asyncResult;\r
- lock (ainfo)\r
- {\r
- if (!ainfo.IsCompleted) ainfo.WaitForComplete ();\r
- if (ainfo.Exception != null) throw ainfo.Exception;\r
- else return ainfo.Result;\r
- }\r
- }\r
-\r
- protected object Invoke (string methodName, string requestUrl, object[] parameters)\r
- {\r
- HttpSimpleMethodStubInfo method = (HttpSimpleMethodStubInfo) TypeStub.GetMethod (methodName);\r
- MimeParameterWriter parameterWriter = (MimeParameterWriter) method.ParameterWriterType.Create ();\r
- \r
- string url = parameterWriter.GetRequestUrl (requestUrl, parameters);\r
- WebRequest request = GetWebRequest (new Uri(url, true));\r
- \r
- parameterWriter.InitializeRequest (request, parameters);\r
- \r
- if (parameterWriter.UsesWriteRequest)\r
- {\r
- Stream stream = request.GetRequestStream ();\r
- parameterWriter.WriteRequest (stream, parameters);\r
- stream.Close ();\r
- }\r
- \r
- WebResponse response = GetWebResponse (request);\r
- \r
- MimeReturnReader returnReader = (MimeReturnReader) method.ReturnReaderType.Create ();\r
- return returnReader.Read (response, response.GetResponseStream ());\r
- }\r
- \r
-#if NET_2_0\r
-\r
- protected void InvokeAsync (string methodName, string requestUrl, object[] parameters, SendOrPostCallback callback)\r
- {\r
- InvokeAsync (methodName, requestUrl, parameters, callback, null);\r
- }\r
-\r
- protected void InvokeAsync (string methodName, string requestUrl, object[] parameters, SendOrPostCallback callback, object userState)\r
- {\r
- InvokeAsyncInfo info = new InvokeAsyncInfo (callback, userState);\r
- BeginInvoke (methodName, requestUrl, parameters, new AsyncCallback (InvokeAsyncCallback), info);\r
- }\r
-\r
- void InvokeAsyncCallback (IAsyncResult ar)\r
- {\r
- InvokeAsyncInfo info = (InvokeAsyncInfo) ar.AsyncState;\r
- SimpleWebClientAsyncResult sar = (SimpleWebClientAsyncResult) ar;\r
- InvokeCompletedEventArgs args = new InvokeCompletedEventArgs (sar.Exception, false, info.UserState, (object[]) sar.Result);\r
- if (info.Context != null)\r
- info.Context.SendOrPost (info.Callback, args);\r
- else\r
- info.Callback (args);\r
- }\r
-#endif\r
- \r
- #endregion // Methods\r
- }\r
- \r
- internal class SimpleWebClientAsyncResult : WebClientAsyncResult\r
- {\r
- public SimpleWebClientAsyncResult (WebRequest request, AsyncCallback callback, object asyncState)\r
- : base (request, callback, asyncState)\r
- {\r
- }\r
- \r
- public object[] Parameters;\r
- public HttpSimpleMethodStubInfo Method;\r
- public MimeParameterWriter ParameterWriter;\r
- }\r
-}
+++ /dev/null
-//
-// HttpSimpleMethodStubInfo.cs: Information about a method and its mapping to a SOAP web service.
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Reflection;
-using System.Collections;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Description;
-
-namespace System.Web.Services.Protocols
-{
- enum FormatterKind
- {
- ParameterWriter,
- ParameterReader,
- ReturnReader,
- ReturnWriter
- }
-
- internal class HttpSimpleMethodStubInfo : MethodStubInfo
- {
- public MimeFormatterInfo ParameterWriterType;
- public MimeFormatterInfo ParameterReaderType;
- public MimeFormatterInfo ReturnReaderType;
- public MimeFormatterInfo ReturnWriterType;
-
- public MimeFormatterInfo GetFormatterInfo (FormatterKind kind)
- {
- switch (kind)
- {
- case FormatterKind.ParameterWriter: return ParameterWriterType;
- case FormatterKind.ParameterReader: return ParameterReaderType;
- case FormatterKind.ReturnReader: return ReturnReaderType;
- case FormatterKind.ReturnWriter: return ReturnWriterType;
- }
- return null;
- }
-
- public HttpSimpleMethodStubInfo (TypeStubInfo parent, LogicalMethodInfo source): base (parent, source)
- {
- object[] atts = source.CustomAttributeProvider.GetCustomAttributes (typeof(HttpMethodAttribute), true);
- if (atts.Length > 0)
- {
- HttpMethodAttribute at = (HttpMethodAttribute) atts[0];
- ParameterWriterType = new MimeFormatterInfo (at.ParameterFormatter);
- ReturnReaderType = new MimeFormatterInfo (at.ReturnFormatter);
- }
-
- if (ReturnReaderType == null) {
- if (source.IsVoid) ReturnReaderType = new MimeFormatterInfo (typeof(NopReturnReader));
- else ReturnReaderType = new MimeFormatterInfo (typeof(XmlReturnReader));
- }
- }
- }
-
- internal class MimeFormatterInfo
- {
- public MimeFormatterInfo (Type type) {
- Type = type;
- }
-
- public MimeFormatter Create () {
- return MimeFormatter.CreateInstance (Type, Initializer);
- }
-
- public Type Type;
- public object Initializer;
- }
-
- internal class HttpSimpleTypeStubInfo : TypeStubInfo
- {
- public HttpSimpleTypeStubInfo (LogicalTypeInfo logicalTypeInfo): base (logicalTypeInfo)
- {
- }
-
- protected override void BuildTypeMethods ()
- {
- base.BuildTypeMethods ();
-
- BuildInitializers (FormatterKind.ParameterWriter);
- BuildInitializers (FormatterKind.ParameterReader);
- BuildInitializers (FormatterKind.ReturnReader);
- BuildInitializers (FormatterKind.ReturnWriter);
- }
-
- void BuildInitializers (FormatterKind formatter)
- {
- Hashtable types = new Hashtable ();
-
- foreach (HttpSimpleMethodStubInfo met in Methods)
- AddType (types, met.GetFormatterInfo (formatter).Type, met);
-
- foreach (DictionaryEntry ent in types)
- {
- Type t = (Type)ent.Key;
- ArrayList list = (ArrayList)ent.Value;
- LogicalMethodInfo[] mets = new LogicalMethodInfo [list.Count];
- for (int n=0; n<list.Count; n++)
- mets[n] = ((MethodStubInfo)list[n]).MethodInfo;
-
- object[] inits = MimeFormatter.GetInitializers (t, mets);
-
- for (int n=0; n<list.Count; n++)
- ((HttpSimpleMethodStubInfo)list[n]).GetFormatterInfo (formatter).Initializer = inits[n];
- }
- }
-
- void AddType (Hashtable types, Type type, HttpSimpleMethodStubInfo method)
- {
- ArrayList list = (ArrayList) types [type];
- if (list == null)
- {
- list = new ArrayList ();
- types [type] = list;
- }
- list.Add (method);
- }
-
- protected override MethodStubInfo CreateMethodStubInfo (TypeStubInfo typeInfo, LogicalMethodInfo methodInfo, bool isClientProxy)
- {
- return new HttpSimpleMethodStubInfo (typeInfo, methodInfo);
- }
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Protocols.HttpSimpleWebServiceHandler.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Ximian, Inc. 2003
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Reflection;
-using System.IO;
-using System.Web.Services;
-
-namespace System.Web.Services.Protocols
-{
- internal class HttpSimpleWebServiceHandler: WebServiceHandler
- {
- HttpSimpleTypeStubInfo _typeInfo;
- HttpSimpleMethodStubInfo method;
-
- public HttpSimpleWebServiceHandler (Type type, string protocolName)
- : base (type)
- {
- _typeInfo = (HttpSimpleTypeStubInfo) TypeStubManager.GetTypeStub (type, protocolName);
- }
-
- protected HttpSimpleTypeStubInfo TypeStub
- {
- get { return _typeInfo; }
- }
-
- internal override MethodStubInfo GetRequestMethod (HttpContext context)
- {
- string name = context.Request.PathInfo;
- if (name.StartsWith ("/"))
- name = name.Substring (1);
-
- method = (HttpSimpleMethodStubInfo) _typeInfo.GetMethod (name);
- if (method == null)
- WriteError (context, "Method " + name + " not defined in service " + ServiceType.Name);
-
- return method;
- }
-
- public override void ProcessRequest (HttpContext context)
- {
- Context = context;
- Stream respStream = null;
- Exception error = null;
-
- try
- {
- if (method == null)
- method = (HttpSimpleMethodStubInfo) GetRequestMethod (context);
-
- if (method.MethodInfo.EnableSession)
- Session = context.Session;
-
- MimeParameterReader parameterReader = (MimeParameterReader) method.ParameterReaderType.Create ();
- object[] parameters = parameterReader.Read (context.Request);
-
- MimeReturnWriter returnWriter = (MimeReturnWriter) method.ReturnWriterType.Create ();
- object result = Invoke (method.MethodInfo, parameters);
- respStream = context.Response.OutputStream;
- returnWriter.Write (context.Response, respStream, result);
- }
- catch (Exception ex)
- {
- error = ex;
- }
-
- if (error != null)
- WriteError (context, error.Message);
-
- if (respStream != null)
- respStream.Close ();
- }
-
- void WriteError (HttpContext context, string msg)
- {
- try
- {
- context.Response.ContentType = "text/plain";
- context.Response.StatusCode = 500;
- context.Response.Write (msg);
- context.Response.End ();
- }
- catch {}
- }
-
- object Invoke (LogicalMethodInfo method, object[] parameters)
- {
- try
- {
- object server = CreateServerInstance ();
- object[] res = method.Invoke (server, parameters);
- if (!method.IsVoid) return res[0];
- else return null;
- }
- catch (TargetInvocationException ex)
- {
- throw ex.InnerException;
- }
- }
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Protocols.HttpSoapWebServiceHandler.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Ximian, Inc. 2003
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Net;
-using System.Web;
-using System.Xml;
-using System.Text;
-using System.IO;
-using System.Reflection;
-using System.Xml.Serialization;
-using System.Web.Services.Description;
-
-namespace System.Web.Services.Protocols
-{
- internal class HttpSoapWebServiceHandler: WebServiceHandler
- {
- SoapTypeStubInfo _typeStubInfo;
- SoapExtension[] _extensionChainHighPrio;
- SoapExtension[] _extensionChainMedPrio;
- SoapExtension[] _extensionChainLowPrio;
- SoapMethodStubInfo methodInfo;
- SoapServerMessage requestMessage = null;
- object server;
-
- public HttpSoapWebServiceHandler (Type type): base (type)
- {
- _typeStubInfo = (SoapTypeStubInfo) TypeStubManager.GetTypeStub (ServiceType, "Soap");
- }
-
- public override bool IsReusable
- {
- get { return false; }
- }
-
- internal override MethodStubInfo GetRequestMethod (HttpContext context)
- {
- try
- {
- requestMessage = DeserializeRequest (context.Request);
- return methodInfo;
- }
- catch (Exception ex)
- {
- SerializeFault (context, requestMessage, ex);
- return null;
- }
- }
-
- public override void ProcessRequest (HttpContext context)
- {
- Context = context;
- SoapServerMessage responseMessage = null;
-
- try
- {
- if (requestMessage == null)
- requestMessage = DeserializeRequest (context.Request);
-
- responseMessage = Invoke (context, requestMessage);
- SerializeResponse (context.Response, responseMessage);
- }
- catch (Exception ex)
- {
- SerializeFault (context, requestMessage, ex);
- return;
- }
- }
-
- SoapServerMessage DeserializeRequest (HttpRequest request)
- {
- Stream stream = request.InputStream;
-
- using (stream)
- {
- string soapAction = null;
- string ctype;
- Encoding encoding = WebServiceHelper.GetContentEncoding (request.ContentType, out ctype);
- if (ctype != "text/xml")
- throw new WebException ("Content is not XML: " + ctype);
-
- server = CreateServerInstance ();
-
- SoapServerMessage message = new SoapServerMessage (request, server, stream);
- message.SetStage (SoapMessageStage.BeforeDeserialize);
- message.ContentType = ctype;
- message.ContentEncoding = encoding.WebName;
-
- // If the routing style is SoapAction, then we can get the method information now
- // and set it to the SoapMessage
-
- if (_typeStubInfo.RoutingStyle == SoapServiceRoutingStyle.SoapAction)
- {
- soapAction = request.Headers ["SOAPAction"];
- if (soapAction == null) throw new SoapException ("Missing SOAPAction header", SoapException.ClientFaultCode);
- methodInfo = _typeStubInfo.GetMethodForSoapAction (soapAction);
- if (methodInfo == null) throw new SoapException ("Server did not recognize the value of HTTP header SOAPAction: " + soapAction, SoapException.ClientFaultCode);
- message.MethodStubInfo = methodInfo;
- }
-
- // Execute the high priority global extensions. Do not try to execute the medium and
- // low priority extensions because if the routing style is RequestElement we still
- // don't have method information
-
- _extensionChainHighPrio = SoapExtension.CreateExtensionChain (_typeStubInfo.SoapExtensions[0]);
- stream = SoapExtension.ExecuteChainStream (_extensionChainHighPrio, stream);
- SoapExtension.ExecuteProcessMessage (_extensionChainHighPrio, message, false);
-
- // If the routing style is RequestElement, try to get the method name from the
- // stream processed by the high priority extensions
-
- if (_typeStubInfo.RoutingStyle == SoapServiceRoutingStyle.RequestElement)
- {
- MemoryStream mstream;
- byte[] buffer = null;
-
- if (stream.CanSeek)
- {
- buffer = new byte [stream.Length];
- for (int n=0; n<stream.Length;)
- n += stream.Read (buffer, n, (int)stream.Length-n);
- mstream = new MemoryStream (buffer);
- }
- else
- {
- buffer = new byte [500];
- mstream = new MemoryStream ();
-
- int len;
- while ((len = stream.Read (buffer, 0, 500)) > 0)
- mstream.Write (buffer, 0, len);
- mstream.Position = 0;
- buffer = mstream.ToArray ();
- }
-
- soapAction = ReadActionFromRequestElement (new MemoryStream (buffer), encoding);
-
- stream = mstream;
- methodInfo = (SoapMethodStubInfo) _typeStubInfo.GetMethod (soapAction);
- message.MethodStubInfo = methodInfo;
- }
-
- // Whatever routing style we used, we should now have the method information.
- // We can now notify the remaining extensions
-
- if (methodInfo == null) throw new SoapException ("Method '" + soapAction + "' not defined in the web service '" + _typeStubInfo.LogicalType.WebServiceName + "'", SoapException.ClientFaultCode);
-
- _extensionChainMedPrio = SoapExtension.CreateExtensionChain (methodInfo.SoapExtensions);
- _extensionChainLowPrio = SoapExtension.CreateExtensionChain (_typeStubInfo.SoapExtensions[1]);
-
- stream = SoapExtension.ExecuteChainStream (_extensionChainMedPrio, stream);
- stream = SoapExtension.ExecuteChainStream (_extensionChainLowPrio, stream);
- SoapExtension.ExecuteProcessMessage (_extensionChainMedPrio, message, false);
- SoapExtension.ExecuteProcessMessage (_extensionChainLowPrio, message, false);
-
- // Deserialize the request
-
- StreamReader reader = new StreamReader (stream, encoding, false);
- XmlTextReader xmlReader = new XmlTextReader (reader);
-
- try
- {
- object content;\r
- SoapHeaderCollection headers;\r
- WebServiceHelper.ReadSoapMessage (xmlReader, _typeStubInfo, methodInfo.Use, methodInfo.RequestSerializer, out content, out headers);\r
- message.InParameters = (object []) content;
- message.SetHeaders (headers);
- }
- catch (Exception ex)
- {
- throw new SoapException ("Could not deserialize Soap message", SoapException.ClientFaultCode, ex);
- }
-
- // Notify the extensions after deserialization
-
- message.SetStage (SoapMessageStage.AfterDeserialize);
- SoapExtension.ExecuteProcessMessage (_extensionChainHighPrio, message, false);
- SoapExtension.ExecuteProcessMessage (_extensionChainMedPrio, message, false);
- SoapExtension.ExecuteProcessMessage (_extensionChainLowPrio, message, false);
-
- xmlReader.Close ();
-
- return message;
- }
- }
-
- string ReadActionFromRequestElement (Stream stream, Encoding encoding)
- {
- try
- {
- StreamReader reader = new StreamReader (stream, encoding, false);
- XmlTextReader xmlReader = new XmlTextReader (reader);
-
- xmlReader.MoveToContent ();
- xmlReader.ReadStartElement ("Envelope", WebServiceHelper.SoapEnvelopeNamespace);
-
- while (! (xmlReader.NodeType == XmlNodeType.Element && xmlReader.LocalName == "Body" && xmlReader.NamespaceURI == WebServiceHelper.SoapEnvelopeNamespace))
- xmlReader.Skip ();
-
- xmlReader.ReadStartElement ("Body", WebServiceHelper.SoapEnvelopeNamespace);
- xmlReader.MoveToContent ();
-
- return xmlReader.LocalName;
- }
- catch (Exception ex)
- {
- string errmsg = "The root element for the request could not be determined. ";
- errmsg += "When RoutingStyle is set to RequestElement, SoapExtensions configured ";
- errmsg += "via an attribute on the method cannot modify the request stream before it is read. ";
- errmsg += "The extension must be configured via the SoapExtensionTypes element in web.config ";
- errmsg += "or the request must arrive at the server as clear text.";
- throw new SoapException (errmsg, SoapException.ServerFaultCode, ex);
- }
- }
-
- void SerializeResponse (HttpResponse response, SoapServerMessage message)
- {
- SoapMethodStubInfo methodInfo = message.MethodStubInfo;
-
- response.ContentType = "text/xml; charset=utf-8";
- if (message.Exception != null) response.StatusCode = 500;
-
- long contentLength = 0;
- Stream outStream = null;
- MemoryStream bufferStream = null;
- Stream responseStream = response.OutputStream;
- bool bufferResponse = (methodInfo == null || methodInfo.MethodAttribute.BufferResponse);
-
- if (bufferResponse)
- {
- bufferStream = new MemoryStream ();
- outStream = bufferStream;
- }
- else
- outStream = responseStream;
-
- try
- {
- // While serializing, process extensions in reverse order
-
- if (bufferResponse)
- {
- outStream = SoapExtension.ExecuteChainStream (_extensionChainHighPrio, outStream);
- outStream = SoapExtension.ExecuteChainStream (_extensionChainMedPrio, outStream);
- outStream = SoapExtension.ExecuteChainStream (_extensionChainLowPrio, outStream);
-
- message.SetStage (SoapMessageStage.BeforeSerialize);
- SoapExtension.ExecuteProcessMessage (_extensionChainLowPrio, message, true);
- SoapExtension.ExecuteProcessMessage (_extensionChainMedPrio, message, true);
- SoapExtension.ExecuteProcessMessage (_extensionChainHighPrio, message, true);
- }
-
- XmlTextWriter xtw = WebServiceHelper.CreateXmlWriter (outStream);
-
- if (message.Exception == null)
- WebServiceHelper.WriteSoapMessage (xtw, _typeStubInfo, methodInfo.Use, methodInfo.ResponseSerializer, message.OutParameters, message.Headers);
- else
- WebServiceHelper.WriteSoapMessage (xtw, _typeStubInfo, SoapBindingUse.Literal, Fault.Serializer, new Fault (message.Exception), null);
-
- if (bufferResponse)
- {
- message.SetStage (SoapMessageStage.AfterSerialize);
- SoapExtension.ExecuteProcessMessage (_extensionChainLowPrio, message, true);
- SoapExtension.ExecuteProcessMessage (_extensionChainMedPrio, message, true);
- SoapExtension.ExecuteProcessMessage (_extensionChainHighPrio, message, true);
- }
-
- if (bufferStream != null) contentLength = bufferStream.Length;
- xtw.Close ();
- }
- catch (Exception ex)
- {
- // If the response is buffered, we can discard the response and
- // serialize a new Fault message as response.
- if (bufferResponse) throw ex;
-
- // If it is not buffered, we can't rollback what has been sent,
- // so we can only close the connection and return.
- responseStream.Close ();
- return;
- }
-
- try
- {
- if (bufferResponse)
- responseStream.Write (bufferStream.GetBuffer(), 0, (int) contentLength);
- }
- catch {}
-
- responseStream.Close ();
- }
-
- void SerializeFault (HttpContext context, SoapServerMessage requestMessage, Exception ex)
- {
- SoapException soex = ex as SoapException;
- if (soex == null) soex = new SoapException (ex.Message, SoapException.ServerFaultCode, ex);
-
- SoapServerMessage faultMessage;
- if (requestMessage != null)
- faultMessage = new SoapServerMessage (context.Request, soex, requestMessage.MethodStubInfo, requestMessage.Server, requestMessage.Stream);
- else
- faultMessage = new SoapServerMessage (context.Request, soex, null, null, null);
-
- SerializeResponse (context.Response, faultMessage);
- context.Response.End ();
- return;
- }
-
- private SoapServerMessage Invoke (HttpContext ctx, SoapServerMessage requestMessage)
- {
- SoapMethodStubInfo methodInfo = requestMessage.MethodStubInfo;
-
- // Assign header values to web service members
-
- requestMessage.UpdateHeaderValues (requestMessage.Server, methodInfo.Headers);
-
- // Fill an array with the input parameters at the right position
-
- object[] parameters = new object[methodInfo.MethodInfo.Parameters.Length];
- ParameterInfo[] inParams = methodInfo.MethodInfo.InParameters;
- for (int n=0; n<inParams.Length; n++)
- parameters [inParams[n].Position] = requestMessage.InParameters [n];
-
- // Invoke the method
-
- try
- {
- object[] results = methodInfo.MethodInfo.Invoke (requestMessage.Server, parameters);
- requestMessage.OutParameters = results;
- }
- catch (TargetInvocationException ex)
- {
- throw ex.InnerException;
- }
-
- // Check that headers with MustUnderstand flag have been understood
-
- foreach (SoapHeader header in requestMessage.Headers)
- {
- if (header.MustUnderstand && !header.DidUnderstand)
- throw new SoapHeaderException ("Header not understood: " + header.GetType(), SoapException.MustUnderstandFaultCode);
- }
-
- // Collect headers that must be sent to the client
- requestMessage.CollectHeaders (requestMessage.Server, methodInfo.Headers, SoapHeaderDirection.Out);
-
- return requestMessage;
- }
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.HttpWebClientProtocol.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System;\r
-using System.ComponentModel;\r
-using System.Net;\r
-using System.Security.Cryptography.X509Certificates;\r
-using System.Threading;\r
-using System.Web.Services;\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class HttpWebClientProtocol : WebClientProtocol {\r
-\r
- #region Fields\r
-\r
- bool allowAutoRedirect;\r
- X509CertificateCollection clientCertificates;\r
- CookieContainer cookieContainer;\r
- IWebProxy proxy;\r
- string userAgent;\r
- \r
-#if NET_1_1\r
- bool _unsafeAuthenticated;\r
-#endif\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- protected HttpWebClientProtocol () \r
- {\r
- allowAutoRedirect = false;\r
- clientCertificates = null;\r
- cookieContainer = null;\r
- proxy = null; // FIXME\r
- userAgent = String.Format ("Mono Web Services Client Protocol {0}", Environment.Version);\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [DefaultValue (false)]\r
- [WebServicesDescription ("Enable automatic handling of server redirects.")]\r
- public bool AllowAutoRedirect {\r
- get { return allowAutoRedirect; }\r
- set { allowAutoRedirect = value; }\r
- }\r
-\r
- [Browsable (false)]\r
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
- [WebServicesDescription ("The client certificates that will be sent to the server, if the server requests them.")]\r
- public X509CertificateCollection ClientCertificates {\r
- get {\r
- if (clientCertificates == null)\r
- clientCertificates = new X509CertificateCollection ();\r
- return clientCertificates;\r
- }\r
- }\r
-\r
- [DefaultValue (null)]\r
- [WebServicesDescription ("A container for all cookies received from servers in the current session.")]\r
- public CookieContainer CookieContainer {\r
- get { return cookieContainer; }\r
- set { cookieContainer = value; }\r
- }\r
-\r
- [Browsable (false)]\r
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
- public IWebProxy Proxy {\r
- get { return proxy; }\r
- set { proxy = value; }\r
- }\r
-\r
- [WebServicesDescription ("Sets the user agent http header for the request.")]\r
- public string UserAgent {\r
- get { return userAgent; }\r
- set { userAgent = value; }\r
- }\r
- \r
-#if NET_1_1\r
- public bool UnsafeAuthenticatedConnectionSharing\r
- {\r
- get { return _unsafeAuthenticated; }\r
- set { _unsafeAuthenticated = value; }\r
- }\r
-#endif\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- internal virtual void CheckForCookies (HttpWebResponse response)\r
- {\r
- CookieCollection cookies = response.Cookies;\r
- if (cookieContainer == null || cookies.Count == 0)\r
- return;\r
-\r
- CookieCollection coll = cookieContainer.GetCookies (uri);\r
- foreach (Cookie c in cookies) {\r
- bool add = true;\r
- foreach (Cookie prev in coll) {\r
- if (c.Equals (prev)) {\r
- add = false;\r
- break;\r
- }\r
- }\r
- if (add)\r
- cookieContainer.Add (c);\r
- }\r
- }\r
- \r
- protected override WebRequest GetWebRequest (Uri uri)\r
- {\r
- WebRequest req = base.GetWebRequest (uri);\r
- HttpWebRequest request = req as HttpWebRequest;\r
- if (request == null)\r
- return req;\r
-\r
- request.AllowAutoRedirect = allowAutoRedirect;\r
- if (clientCertificates != null)\r
- request.ClientCertificates.AddRange (clientCertificates);\r
-\r
- request.CookieContainer = cookieContainer;\r
- if (proxy != null)\r
- request.Proxy = proxy;\r
-\r
- request.UserAgent = userAgent;\r
-\r
-#if NET_1_1\r
- // request.UnsafeAuthenticatedConnectionSharing = _unsafeAuthenticated;\r
-#endif\r
-\r
- return request;\r
- }\r
-\r
- protected override WebResponse GetWebResponse (WebRequest request)\r
- {\r
- WebResponse response = base.GetWebResponse (request);\r
- HttpWebResponse wr = response as HttpWebResponse;\r
- if (wr != null)\r
- CheckForCookies (wr);\r
- \r
- return response;\r
- }\r
-\r
- protected override WebResponse GetWebResponse (WebRequest request, IAsyncResult result)\r
- {\r
- WebResponse response = base.GetWebResponse (request, result);\r
- HttpWebResponse wr = response as HttpWebResponse;\r
- if (wr != null)\r
- CheckForCookies (wr);\r
- \r
- return response;\r
- }\r
- \r
-#if NET_2_0\r
-\r
- [MonoTODO]\r
- protected void CancelAsync (object userState)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public static bool GenerateXmlMappings (Type type, ArrayList mapping)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public static Hashtable GenerateXmlMappings (Type[] types, ArrayList mapping)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-#endif\r
-\r
- #endregion // Methods\r
- }\r
- \r
-#if NET_2_0\r
- internal class InvokeAsyncInfo\r
- {\r
- public SynchronizationContext Context;\r
- public object UserState;\r
- public SendOrPostCallback Callback;\r
- \r
- public InvokeAsyncInfo (SendOrPostCallback callback, object userState)\r
- {\r
- Callback = callback;\r
- UserState = userState;\r
- Context = SynchronizationContext.Current;\r
- }\r
- }\r
-#endif\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Protocols.InvokeCompletedEventArgs.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.ComponentModel;
-
-namespace System.Web.Services.Protocols
-{
- public class InvokeCompletedEventArgs : AsyncCompletedEventArgs
- {
- object[] _results;
-
- internal InvokeCompletedEventArgs (Exception error, bool cancelled, object userState, object[] results)
- : base (error, cancelled, userState)
- {
- _results = results;
- }
-
- public object[] Results {
- get { return _results; }
- }
- }
-}
-
-#endif
+++ /dev/null
-//
-// System.Web.Services.Protocols.InvokeCompletedEventHandler.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-namespace System.Web.Services.Protocols
-{
- public delegate void InvokeCompletedEventHandler (
- object sender,
- InvokeCompletedEventArgs e
- );
-}
-
-#endif
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.LogicalMethodInfo.cs\r
-//\r
-// Authors:\r
-// Miguel de Icaza (miguel@ximian.com)\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-// Copyright (C) Ximian, Inc, 2003\r
-//\r
-// TODO:\r
-// BeginInvoke, EndInvoke are missing.\r
-// AsyncResultParameter\r
-//\r
-// WILD GUESS:\r
-// The reason for this class is so that it can cluster method/begin/end methods\r
-// together, as the begin/end methods in generated files from WSDL does *NOT*\r
-// contain all the information required to make a request.\r
-//\r
-// Either that, or the Begin*/End* versions probe the attributes on the regular\r
-// method (which seems simpler). \r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Reflection;\r
-using System.Collections;\r
-using System.Text;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public sealed class LogicalMethodInfo {\r
- #region Fields\r
-\r
- MethodInfo method_info, end_method_info;\r
- ParameterInfo [] parameters;\r
- ParameterInfo [] out_parameters;\r
- ParameterInfo [] in_parameters;\r
- WebMethodAttribute attribute;\r
-\r
- #endregion // Fields.\r
- \r
- #region Constructors\r
- \r
- public LogicalMethodInfo (MethodInfo method_info)\r
- {\r
- if (method_info == null)\r
- throw new ArgumentNullException ("method_info should be non-null");\r
- if (method_info.IsStatic)\r
- throw new InvalidOperationException ("method is static");\r
- \r
- this.method_info = method_info;\r
- }\r
-\r
- //\r
- // Only an internal contructor, called from "Create"\r
- //\r
- LogicalMethodInfo (MethodInfo method_info, MethodInfo end_method_info)\r
- {\r
- if (method_info == null)\r
- throw new ArgumentNullException ("method_info should be non-null");\r
- if (method_info.IsStatic)\r
- throw new InvalidOperationException ("method is static");\r
- \r
- this.end_method_info = end_method_info;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- //\r
- // Signatures for Begin/End methods:\r
- //\r
- // public System.IAsyncResult BeginHelloWorld(ARG1, ARG2, System.AsyncCallback callback, object asyncState) {\r
- // public string EndHelloWorld(System.IAsyncResult asyncResult) {\r
-\r
- public ParameterInfo AsyncCallbackParameter {\r
- get {\r
- ParameterInfo [] pi = method_info.GetParameters ();\r
- return pi [pi.Length-2];\r
- }\r
- }\r
-\r
- public ParameterInfo AsyncResultParameter {\r
- get {\r
- ParameterInfo [] pi = end_method_info.GetParameters ();\r
- return pi [pi.Length-1];\r
- }\r
- }\r
-\r
- public ParameterInfo AsyncStateParameter {\r
- get {\r
- ParameterInfo [] pi = method_info.GetParameters ();\r
- return pi [pi.Length-1];\r
- }\r
- }\r
-\r
- public MethodInfo BeginMethodInfo {\r
- get {\r
- if (IsBeginMethod (method_info))\r
- return method_info;\r
- return null;\r
- }\r
- }\r
-\r
- public ICustomAttributeProvider CustomAttributeProvider {\r
- get {\r
- return method_info;\r
- }\r
- }\r
-\r
- public Type DeclaringType {\r
- get {\r
- return method_info.DeclaringType;\r
- }\r
- }\r
-\r
- public MethodInfo EndMethodInfo {\r
- get {\r
- return end_method_info;\r
- }\r
- }\r
-\r
- public ParameterInfo[] InParameters {\r
- get {\r
- if (parameters == null)\r
- ComputeParameters ();\r
- return in_parameters;\r
- }\r
- }\r
-\r
- public bool IsAsync {\r
- get {\r
- return end_method_info != null;\r
- }\r
- }\r
-\r
- public bool IsVoid {\r
- get {\r
- return ReturnType == typeof (void);\r
- }\r
- }\r
-\r
- public MethodInfo MethodInfo {\r
- get {\r
- return method_info;\r
- }\r
- }\r
-\r
- public string Name {\r
- get {\r
- return method_info.Name;\r
- }\r
- }\r
-\r
- void ComputeParameters ()\r
- {\r
- ParameterInfo[] pars = method_info.GetParameters ();\r
- if (IsAsync)\r
- {\r
- parameters = new ParameterInfo [pars.Length - 2];\r
- Array.Copy (pars, 0, parameters, 0, pars.Length - 2);\r
- in_parameters = new ParameterInfo [parameters.Length];\r
- parameters.CopyTo (in_parameters, 0);\r
- \r
- ParameterInfo[] outPars = end_method_info.GetParameters ();\r
- out_parameters = new ParameterInfo [outPars.Length - 1];\r
- Array.Copy (outPars, 0, out_parameters, 0, out_parameters.Length);\r
- }\r
- else\r
- {\r
- parameters = pars;\r
- int out_count = 0;\r
- int in_count = 0;\r
- \r
- foreach (ParameterInfo p in parameters){\r
- Type ptype = p.ParameterType;\r
- if (ptype.IsByRef){\r
- out_count++;\r
- if (!p.IsOut)\r
- in_count++;\r
- } else\r
- in_count++;\r
- }\r
- out_parameters = new ParameterInfo [out_count];\r
- int i = 0;\r
- for (int j = 0; j < parameters.Length; j++){\r
- if (parameters [j].ParameterType.IsByRef)\r
- out_parameters [i++] = parameters [j];\r
- }\r
- in_parameters = new ParameterInfo [in_count];\r
- i = 0;\r
- for (int j = 0; j < parameters.Length; j++){\r
- if (parameters [j].ParameterType.IsByRef){\r
- if (!parameters [j].IsOut)\r
- in_parameters [i++] = parameters [j];\r
- } else\r
- in_parameters [i++] = parameters [j];\r
- }\r
- }\r
- }\r
- \r
- public ParameterInfo[] OutParameters {\r
- get {\r
- if (parameters == null)\r
- ComputeParameters ();\r
- return out_parameters;\r
- }\r
- }\r
-\r
- public ParameterInfo[] Parameters {\r
- get {\r
- if (parameters == null)\r
- ComputeParameters ();\r
- return parameters;\r
- }\r
- }\r
-\r
- public Type ReturnType {\r
- get {\r
- if (IsAsync)\r
- return end_method_info.ReturnType;\r
- else\r
- return method_info.ReturnType;\r
- }\r
- }\r
-\r
- public ICustomAttributeProvider ReturnTypeCustomAttributeProvider {\r
- get {\r
- return method_info.ReturnTypeCustomAttributes;\r
- }\r
- }\r
-\r
- internal bool EnableSession {\r
- get {\r
- if (method_info == null)\r
- return false;\r
-\r
- if (attribute == null) {\r
- object [] o = method_info.GetCustomAttributes (false);\r
- foreach (Attribute att in o) {\r
- if (att is WebMethodAttribute) {\r
- attribute = (WebMethodAttribute) att;\r
- break;\r
- }\r
- }\r
- }\r
-\r
- return (attribute != null) ? attribute.EnableSession : false;\r
- }\r
- }\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public IAsyncResult BeginInvoke (object target, object[] values, AsyncCallback callback, object asyncState)\r
- {\r
- int len = (values!=null) ? values.Length : 0;\r
- object[] pars = new object [len + 2];\r
- \r
- if (len > 0)\r
- values.CopyTo (pars, 0);\r
- \r
- pars [len] = callback;\r
- pars [len+1] = asyncState;\r
- \r
- return (IAsyncResult) method_info.Invoke (target, pars);\r
- }\r
-\r
- public static LogicalMethodInfo[] Create (MethodInfo[] method_infos)\r
- {\r
- return Create (method_infos, LogicalMethodTypes.Sync | LogicalMethodTypes.Async);\r
- }\r
-\r
- public static LogicalMethodInfo[] Create (MethodInfo[] method_infos, LogicalMethodTypes types)\r
- {\r
- ArrayList sync = ((types & LogicalMethodTypes.Sync) != 0) ? new ArrayList () : null;\r
- ArrayList begin, end;\r
-\r
- if ((types & LogicalMethodTypes.Async) != 0){\r
- begin = new ArrayList ();\r
- end = new ArrayList ();\r
- } else \r
- begin = end = null;\r
-\r
- foreach (MethodInfo mi in method_infos){\r
- if (IsBeginMethod (mi) && begin != null)\r
- begin.Add (mi);\r
- else if (IsEndMethod (mi) && end != null)\r
- end.Add (mi);\r
- else if (sync != null)\r
- sync.Add (mi);\r
- }\r
-\r
- int bcount = 0, count = 0;\r
- if (begin != null){\r
- bcount = count = begin.Count;\r
- if (count != end.Count)\r
- throw new InvalidOperationException ("Imbalance of begin/end methods");\r
- }\r
- if (sync != null)\r
- count += sync.Count;\r
-\r
- LogicalMethodInfo [] res = new LogicalMethodInfo [count];\r
- int dest = 0;\r
- if (begin != null){\r
- foreach (MethodInfo bm in begin){\r
- string end_name = "End" + bm.Name.Substring (5);\r
-\r
- for (int i = 0; i < bcount; i++){\r
- MethodInfo em = (MethodInfo) end [i];\r
- if (em.Name == end_name){\r
- res [dest++] = new LogicalMethodInfo (bm, em);\r
- break;\r
- }\r
- throw new InvalidOperationException ("Imbalance of begin/end methods");\r
- }\r
- }\r
- }\r
-\r
-\r
- if (sync != null)\r
- foreach (MethodInfo mi in sync){\r
- res [dest++] = new LogicalMethodInfo (mi);\r
- }\r
- \r
- return res;\r
- }\r
-\r
- public object[] EndInvoke (object target, IAsyncResult asyncResult)\r
- {\r
- if (parameters == null)\r
- ComputeParameters ();\r
-\r
- object[] values = new object [out_parameters.Length + 1];\r
- values [values.Length - 1] = asyncResult;\r
- object res = end_method_info.Invoke (target, values);\r
- \r
- int retc = IsVoid ? 0 : 1;\r
- object [] ret = new object [retc + out_parameters.Length];\r
- \r
- if (retc == 1) ret [0] = res;\r
- \r
- Array.Copy (values, 0, ret, retc, out_parameters.Length);\r
- return ret;\r
- }\r
-\r
- public object GetCustomAttribute (Type type)\r
- {\r
- return Attribute.GetCustomAttribute (method_info, type, true);\r
- }\r
-\r
- public object[] GetCustomAttributes (Type type)\r
- {\r
- return method_info.GetCustomAttributes (type, true);\r
- }\r
-\r
- public object[] Invoke (object target, object[] values)\r
- {\r
- if (parameters == null)\r
- ComputeParameters ();\r
-\r
- int retc = IsVoid ? 0 : 1;\r
- object [] ret = new object [retc + out_parameters.Length];\r
- object res = method_info.Invoke (target, values);\r
- if (retc == 1) ret [0] = res;\r
-\r
- int j = retc;\r
- for (int i = 0; i < parameters.Length; i++){\r
- if (parameters [i].ParameterType.IsByRef)\r
- ret [j++] = values [i];\r
- }\r
-\r
- return ret;\r
- }\r
-\r
- public static bool IsBeginMethod (MethodInfo method_info)\r
- {\r
- if (method_info == null)\r
- throw new ArgumentNullException ("method_info can not be null");\r
-\r
- if (method_info.ReturnType != typeof (IAsyncResult))\r
- return false;\r
-\r
- if (method_info.Name.StartsWith ("Begin"))\r
- return true;\r
-\r
- return false;\r
- }\r
-\r
- public static bool IsEndMethod (MethodInfo method_info)\r
- {\r
- if (method_info == null)\r
- throw new ArgumentNullException ("method_info can not be null");\r
-\r
- ParameterInfo [] parameter_info = method_info.GetParameters ();\r
- if (parameter_info.Length != 1)\r
- return false;\r
- if (parameter_info [0].ParameterType != typeof (IAsyncResult))\r
- return false;\r
- if (method_info.Name.StartsWith ("End"))\r
- return true;\r
-\r
- return false;\r
- }\r
-\r
- public override string ToString ()\r
- {\r
- StringBuilder sb = new StringBuilder ();\r
- if (parameters == null)\r
- ComputeParameters ();\r
- \r
- for (int i = 0; i < parameters.Length; i++){\r
- sb.Append (parameters [i].ParameterType);\r
- if (parameters [i].ParameterType.IsByRef)\r
- sb.Append (" ByRef");\r
- \r
- if (i+1 != parameters.Length)\r
- sb.Append (", ");\r
- }\r
- \r
- return String.Format (\r
- "{0} {1} ({2})",\r
- method_info.ReturnType, method_info.Name,\r
- sb.ToString ());\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.LogicalMethodTypes.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Protocols {\r
- [Serializable]\r
- public enum LogicalMethodTypes {\r
- Async = 0x2,\r
- Sync = 0x1\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.MatchAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Protocols {\r
- [AttributeUsage (AttributeTargets.All, Inherited = true)]\r
- public sealed class MatchAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- int capture;\r
- int group;\r
- bool ignoreCase;\r
- int maxRepeats;\r
- string pattern;\r
-\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- public MatchAttribute (string pattern) \r
- {\r
- ignoreCase = false;\r
- maxRepeats = -1;\r
- this.pattern = pattern;\r
- group = 1;\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public int Capture {\r
- get { return capture; }\r
- set { capture = value; }\r
- }\r
-\r
- public int Group {\r
- get { return group; }\r
- set { group = value; }\r
- }\r
-\r
- public bool IgnoreCase {\r
- get { return ignoreCase; }\r
- set { ignoreCase = value; }\r
- }\r
-\r
- public int MaxRepeats {\r
- get { return maxRepeats; }\r
- set { maxRepeats = value; }\r
- }\r
-\r
- public string Pattern {\r
- get { return pattern; }\r
- set { pattern = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// Methods.cs: Information about a method and its mapping to a SOAP web service.
-//
-// Author:
-// Miguel de Icaza
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Reflection;
-using System.Collections;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Description;
-
-namespace System.Web.Services.Protocols {
-
- //
- // This class represents all the information we extract from a MethodInfo
- // in the SoapHttpClientProtocol derivative stub class
- //
- internal class SoapMethodStubInfo : MethodStubInfo
- {
- internal string Action;
- internal string Binding;
-
- // The name/namespace of the request
- internal string RequestName;
- internal string RequestNamespace;
-
- // The name/namespace of the response.
- internal string ResponseName;
- internal string ResponseNamespace;
-
- internal bool OneWay;
- internal SoapParameterStyle ParameterStyle;
- internal SoapBindingStyle SoapBindingStyle;
- internal SoapBindingUse Use;
-
- internal HeaderInfo[] Headers;
- internal SoapExtensionRuntimeConfig[] SoapExtensions;
-
- internal XmlMembersMapping InputMembersMapping;
- internal XmlMembersMapping OutputMembersMapping;
-
- private int requestSerializerId;
- private int responseSerializerId;
-
- internal XmlSerializer RequestSerializer
- {
- get { return TypeStub.GetSerializer (requestSerializerId); }
- }
-
- internal XmlSerializer ResponseSerializer
- {
- get { return TypeStub.GetSerializer (responseSerializerId); }
- }
-
- //
- // Constructor
- //
- public SoapMethodStubInfo (TypeStubInfo typeStub, LogicalMethodInfo source, object kind, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter)
- : base (typeStub, source)
- {
- SoapTypeStubInfo parent = (SoapTypeStubInfo) typeStub;
- XmlElementAttribute optional_ns = null;
-
- if (kind == null) {
- Use = parent.Use;
- RequestName = "";
- RequestNamespace = "";
- ResponseName = "";
- ResponseNamespace = "";
- ParameterStyle = parent.ParameterStyle;
- SoapBindingStyle = parent.SoapBindingStyle;
- OneWay = false;
- }
- else if (kind is SoapDocumentMethodAttribute){
- SoapDocumentMethodAttribute dma = (SoapDocumentMethodAttribute) kind;
-
- Use = dma.Use;
- if (Use == SoapBindingUse.Default) {
- if (parent.SoapBindingStyle == SoapBindingStyle.Document)
- Use = parent.Use;
- else
- Use = SoapBindingUse.Literal;
- }
-
- Action = dma.Action;
- Binding = dma.Binding;
- RequestName = dma.RequestElementName;
- RequestNamespace = dma.RequestNamespace;
- ResponseName = dma.ResponseElementName;
- ResponseNamespace = dma.ResponseNamespace;
- ParameterStyle = dma.ParameterStyle;
- if (ParameterStyle == SoapParameterStyle.Default)
- ParameterStyle = parent.ParameterStyle;
- OneWay = dma.OneWay;
- SoapBindingStyle = SoapBindingStyle.Document;
- } else {
- SoapRpcMethodAttribute rma = (SoapRpcMethodAttribute) kind;
- Use = SoapBindingUse.Encoded; // RPC always use encoded
-
- Action = rma.Action;
- Binding = rma.Binding;
-
- // When using RPC, MS.NET seems to ignore RequestElementName and
- // MessageName, and it always uses the method name
- RequestName = source.Name;
- ResponseName = source.Name + "Response";
-// RequestName = rma.RequestElementName;
-// ResponseName = rma.ResponseElementName;
- RequestNamespace = rma.RequestNamespace;
- ResponseNamespace = rma.ResponseNamespace;
- ParameterStyle = SoapParameterStyle.Wrapped;
- OneWay = rma.OneWay;
- SoapBindingStyle = SoapBindingStyle.Rpc;
-
- // For RPC calls, make all arguments be part of the empty namespace
- optional_ns = new XmlElementAttribute ();
- optional_ns.Namespace = "";
- }
-
- if (OneWay){
- if (source.ReturnType != typeof (void))
- throw new Exception ("OneWay methods should not have a return value.");
- if (source.OutParameters.Length != 0)
- throw new Exception ("OneWay methods should not have out/ref parameters.");
- }
-
- BindingInfo binfo = parent.GetBinding (Binding);
- if (binfo == null) throw new InvalidOperationException ("Type '" + parent.Type + "' is missing WebServiceBinding attribute that defines a binding named '" + Binding + "'.");
-
- string serviceNamespace = binfo.Namespace;
-
- if (RequestNamespace == "") RequestNamespace = parent.LogicalType.GetWebServiceNamespace (serviceNamespace, Use);
- if (ResponseNamespace == "") ResponseNamespace = parent.LogicalType.GetWebServiceNamespace (serviceNamespace, Use);
- if (RequestName == "") RequestName = Name;
- if (ResponseName == "") ResponseName = Name + "Response";
- if (Action == null || Action == "")
- Action = serviceNamespace.EndsWith("/") ? (serviceNamespace + Name) : (serviceNamespace + "/" + Name);
-
- bool hasWrappingElem = (ParameterStyle == SoapParameterStyle.Wrapped);
- bool writeAccessors = (SoapBindingStyle == SoapBindingStyle.Rpc);
-
- XmlReflectionMember [] in_members = BuildRequestReflectionMembers (optional_ns);
- XmlReflectionMember [] out_members = BuildResponseReflectionMembers (optional_ns);
-
- if (Use == SoapBindingUse.Literal) {
- xmlImporter.IncludeTypes (source.CustomAttributeProvider);
- InputMembersMapping = xmlImporter.ImportMembersMapping (RequestName, RequestNamespace, in_members, hasWrappingElem);
- OutputMembersMapping = xmlImporter.ImportMembersMapping (ResponseName, ResponseNamespace, out_members, hasWrappingElem);
- }
- else {
- soapImporter.IncludeTypes (source.CustomAttributeProvider);
- InputMembersMapping = soapImporter.ImportMembersMapping (RequestName, RequestNamespace, in_members, hasWrappingElem, writeAccessors);
- OutputMembersMapping = soapImporter.ImportMembersMapping (ResponseName, ResponseNamespace, out_members, hasWrappingElem, writeAccessors);
- }
-
- requestSerializerId = parent.RegisterSerializer (InputMembersMapping);
- responseSerializerId = parent.RegisterSerializer (OutputMembersMapping);
-
- object[] o = source.GetCustomAttributes (typeof (SoapHeaderAttribute));
- ArrayList headerList = new ArrayList (o.Length);
-
- for (int i = 0; i < o.Length; i++) {
- SoapHeaderAttribute att = (SoapHeaderAttribute) o[i];
- MemberInfo[] mems = source.DeclaringType.GetMember (att.MemberName);
- if (mems.Length == 0) throw new InvalidOperationException ("Member " + att.MemberName + " not found in class " + source.DeclaringType.FullName + ".");
-
- HeaderInfo header = new HeaderInfo (mems[0], att);
- headerList.Add (header);
-
- if (!header.IsUnknownHeader)
- parent.RegisterHeaderType (header.HeaderType, serviceNamespace, Use);
- }
- Headers = (HeaderInfo[]) headerList.ToArray (typeof(HeaderInfo));
-
- SoapExtensions = SoapExtension.GetMethodExtensions (source);
- }
-
- XmlReflectionMember [] BuildRequestReflectionMembers (XmlElementAttribute optional_ns)
- {
- ParameterInfo [] input = MethodInfo.InParameters;
- XmlReflectionMember [] in_members = new XmlReflectionMember [input.Length];
-
- for (int i = 0; i < input.Length; i++)
- {
- XmlReflectionMember m = new XmlReflectionMember ();
- m.IsReturnValue = false;
- m.MemberName = input [i].Name;
- m.MemberType = input [i].ParameterType;
-
- m.XmlAttributes = new XmlAttributes (input[i]);
- m.SoapAttributes = new SoapAttributes (input[i]);
-
- if (m.MemberType.IsByRef)
- m.MemberType = m.MemberType.GetElementType ();
- if (optional_ns != null)
- m.XmlAttributes.XmlElements.Add (optional_ns);
- in_members [i] = m;
- }
- return in_members;
- }
-
- XmlReflectionMember [] BuildResponseReflectionMembers (XmlElementAttribute optional_ns)
- {
- ParameterInfo [] output = MethodInfo.OutParameters;
- bool has_return_value = !(OneWay || MethodInfo.ReturnType == typeof (void));
- XmlReflectionMember [] out_members = new XmlReflectionMember [(has_return_value ? 1 : 0) + output.Length];
- XmlReflectionMember m;
- int idx = 0;
-
- if (has_return_value)
- {
- m = new XmlReflectionMember ();
- m.IsReturnValue = true;
- m.MemberName = RequestName + "Result";
- m.MemberType = MethodInfo.ReturnType;
-
- m.XmlAttributes = new XmlAttributes (MethodInfo.ReturnTypeCustomAttributeProvider);
- m.SoapAttributes = new SoapAttributes (MethodInfo.ReturnTypeCustomAttributeProvider);
-
- if (optional_ns != null)
- m.XmlAttributes.XmlElements.Add (optional_ns);
- idx++;
- out_members [0] = m;
- }
-
- for (int i = 0; i < output.Length; i++)
- {
- m = new XmlReflectionMember ();
- m.IsReturnValue = false;
- m.MemberName = output [i].Name;
- m.MemberType = output [i].ParameterType;
- m.XmlAttributes = new XmlAttributes (output[i]);
- m.SoapAttributes = new SoapAttributes (output[i]);
-
- if (m.MemberType.IsByRef)
- m.MemberType = m.MemberType.GetElementType ();
- if (optional_ns != null)
- m.XmlAttributes.XmlElements.Add (optional_ns);
- out_members [i + idx] = m;
- }
- return out_members;
- }
-
- public HeaderInfo GetHeaderInfo (Type headerType)
- {
- foreach (HeaderInfo headerInfo in Headers)
- if (headerInfo.HeaderType == headerType) return headerInfo;
- return null;
- }
- }
-
- internal class HeaderInfo
- {
- internal MemberInfo Member;
- internal SoapHeaderAttribute AttributeInfo;
- internal Type HeaderType;
- internal bool IsUnknownHeader;
-
- public HeaderInfo (MemberInfo member, SoapHeaderAttribute attributeInfo)
- {
- Member = member;
- AttributeInfo = attributeInfo;
- if (Member is PropertyInfo) HeaderType = ((PropertyInfo)Member).PropertyType;
- else HeaderType = ((FieldInfo)Member).FieldType;
-
- if (HeaderType == typeof(SoapHeader) || HeaderType == typeof(SoapUnknownHeader) ||
- HeaderType == typeof(SoapHeader[]) || HeaderType == typeof(SoapUnknownHeader[]))
- {
- IsUnknownHeader = true;
- }
- else if (!typeof(SoapHeader).IsAssignableFrom (HeaderType))
- throw new InvalidOperationException (string.Format ("Header members type must be a SoapHeader subclass"));
- }
-
- public object GetHeaderValue (object ob)
- {
- if (Member is PropertyInfo) return ((PropertyInfo)Member).GetValue (ob, null);
- else return ((FieldInfo)Member).GetValue (ob);
- }
-
- public void SetHeaderValue (object ob, SoapHeader header)
- {
- object value = header;
- if (IsUnknownHeader && HeaderType.IsArray)
- {
- SoapUnknownHeader uheader = header as SoapUnknownHeader;
- SoapUnknownHeader[] array = (SoapUnknownHeader[]) GetHeaderValue (ob);
- if (array == null || array.Length == 0) {
- value = new SoapUnknownHeader[] { uheader };
- }
- else {
- SoapUnknownHeader[] newArray = new SoapUnknownHeader [array.Length+1];
- Array.Copy (array, newArray, array.Length);
- newArray [array.Length] = uheader;
- value = newArray;
- }
- }
-
- if (Member is PropertyInfo) ((PropertyInfo)Member).SetValue (ob, value, null);
- else ((FieldInfo)Member).SetValue (ob, value);
- }
-
- public SoapHeaderDirection Direction
- {
- get { return AttributeInfo.Direction; }
- }
- }
-
-
- //
- // Holds the metadata loaded from the type stub, as well as
- // the metadata for all the methods in the type
- //
- internal class SoapTypeStubInfo : TypeStubInfo
- {
- Hashtable[] header_serializers = new Hashtable [3];
- Hashtable[] header_serializers_byname = new Hashtable [3];
- Hashtable methods_byaction = new Hashtable ();
-
- // Precomputed
- internal SoapParameterStyle ParameterStyle;
- internal SoapServiceRoutingStyle RoutingStyle;
- internal SoapBindingUse Use;
- internal SoapExtensionRuntimeConfig[][] SoapExtensions;
- internal SoapBindingStyle SoapBindingStyle;
- internal XmlReflectionImporter xmlImporter;
- internal SoapReflectionImporter soapImporter;
-
- public SoapTypeStubInfo (LogicalTypeInfo logicalTypeInfo)
- : base (logicalTypeInfo)
- {
- xmlImporter = new XmlReflectionImporter ();
- soapImporter = new SoapReflectionImporter ();
-
- object [] o;
-
- o = Type.GetCustomAttributes (typeof (WebServiceBindingAttribute), false);
-
- if (typeof (SoapHttpClientProtocol).IsAssignableFrom (Type))
- {
- if (o.Length == 0)
- throw new InvalidOperationException ("WebServiceBindingAttribute is required on proxy class '" + Type + "'.");
- if (o.Length > 1)
- throw new InvalidOperationException ("Only one WebServiceBinding attribute may be specified on type '" + Type + "'.");
-
- // Remove the default binding, it is not needed since there is always
- // a binding attribute.
- Bindings.Clear ();
- }
-
- foreach (WebServiceBindingAttribute at in o)
- AddBinding (new BindingInfo (at, LogicalType.WebServiceNamespace));
-
- o = Type.GetCustomAttributes (typeof (SoapDocumentServiceAttribute), false);
- if (o.Length == 1){
- SoapDocumentServiceAttribute a = (SoapDocumentServiceAttribute) o [0];
-
- ParameterStyle = a.ParameterStyle;
- RoutingStyle = a.RoutingStyle;
- Use = a.Use;
- SoapBindingStyle = SoapBindingStyle.Document;
- } else {
- o = Type.GetCustomAttributes (typeof (SoapRpcServiceAttribute), false);
- if (o.Length == 1){
- SoapRpcServiceAttribute srs = (SoapRpcServiceAttribute) o [0];
-
- ParameterStyle = SoapParameterStyle.Wrapped;
- RoutingStyle = srs.RoutingStyle;
- Use = SoapBindingUse.Encoded;
- SoapBindingStyle = SoapBindingStyle.Rpc;
- } else {
- ParameterStyle = SoapParameterStyle.Wrapped;
- RoutingStyle = SoapServiceRoutingStyle.SoapAction;
- Use = SoapBindingUse.Literal;
- SoapBindingStyle = SoapBindingStyle.Document;
- }
- }
-
- if (ParameterStyle == SoapParameterStyle.Default) ParameterStyle = SoapParameterStyle.Wrapped;
- if (Use == SoapBindingUse.Default) Use = SoapBindingUse.Literal;
-
- xmlImporter.IncludeTypes (Type);
- soapImporter.IncludeTypes (Type);
-
- SoapExtensions = SoapExtension.GetTypeExtensions (Type);
- }
-
- public override XmlReflectionImporter XmlImporter
- {
- get { return xmlImporter; }
- }
-
- public override SoapReflectionImporter SoapImporter
- {
- get { return soapImporter; }
- }
-
- public override string ProtocolName
- {
- get { return "Soap"; }
- }
-
- protected override MethodStubInfo CreateMethodStubInfo (TypeStubInfo parent, LogicalMethodInfo lmi, bool isClientProxy)
- {
- SoapMethodStubInfo res = null;
- object [] ats = lmi.GetCustomAttributes (typeof (SoapDocumentMethodAttribute));
- if (ats.Length == 0) ats = lmi.GetCustomAttributes (typeof (SoapRpcMethodAttribute));
-
- if (ats.Length == 0 && isClientProxy)
- return null;
- else if (ats.Length == 0)
- res = new SoapMethodStubInfo (parent, lmi, null, xmlImporter, soapImporter);
- else
- res = new SoapMethodStubInfo (parent, lmi, ats[0], xmlImporter, soapImporter);
-
- methods_byaction [res.Action] = res;
- return res;
- }
-
- internal void RegisterHeaderType (Type type, string serviceNamespace, SoapBindingUse use)
- {
- Hashtable serializers = header_serializers [(int)use];
- if (serializers == null) {
- serializers = new Hashtable ();
- header_serializers [(int)use] = serializers;
- header_serializers_byname [(int)use] = new Hashtable ();
- }
-
- if (serializers.ContainsKey (type))
- return;
-
- XmlTypeMapping tm;
- if (use == SoapBindingUse.Literal) {
- XmlReflectionImporter ri = new XmlReflectionImporter ();
-
- // MS.NET reflects header classes in a weird way. The root element
- // name is the CLR class name unless it is specified in an XmlRootAttribute.
- // The usual is to use the xml type name by default, but not in this case.
-
- XmlRootAttribute root;
- XmlAttributes ats = new XmlAttributes (type);
- if (ats.XmlRoot != null) root = ats.XmlRoot;
- else root = new XmlRootAttribute (type.Name);
-
- if (root.Namespace == null) root.Namespace = LogicalType.GetWebServiceLiteralNamespace (serviceNamespace);
- if (root.ElementName == null) root.ElementName = type.Name;
-
- tm = ri.ImportTypeMapping (type, root);
- }
- else {
- SoapReflectionImporter ri = new SoapReflectionImporter ();
- tm = ri.ImportTypeMapping (type, LogicalType.GetWebServiceEncodedNamespace (serviceNamespace));
- }
-
- int sid = RegisterSerializer (tm);
-
- serializers [type] = sid;
- header_serializers_byname [(int)use] [new XmlQualifiedName (tm.ElementName, tm.Namespace)] = sid;
- }
-
- internal XmlSerializer GetHeaderSerializer (Type type, SoapBindingUse use)
- {
- Hashtable table = header_serializers [(int)use];
- if (table == null) return null;
-
- return GetSerializer ((int) table [type]);
- }
-
- internal XmlSerializer GetHeaderSerializer (XmlQualifiedName qname, SoapBindingUse use)
- {
- Hashtable table = header_serializers_byname [(int)use];
- if (table == null) return null;
-
- object serId = table [qname];
- if (serId == null) return null;
-
- return GetSerializer ((int) serId);
- }
-
- public SoapMethodStubInfo GetMethodForSoapAction (string name)
- {
- return (SoapMethodStubInfo) methods_byaction [name.Trim ('"',' ')];
- }
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.MimeFormatter.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.Xml;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class MimeFormatter {\r
-\r
- #region Constructors\r
-\r
- protected MimeFormatter () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public static MimeFormatter CreateInstance (Type type, object initializer)\r
- {\r
- MimeFormatter ob = (MimeFormatter) Activator.CreateInstance (type);\r
- ob.Initialize (initializer);\r
- return ob;\r
- }\r
-\r
- public abstract object GetInitializer (LogicalMethodInfo methodInfo);\r
-\r
- public static object GetInitializer (Type type, LogicalMethodInfo methodInfo)\r
- {\r
- MimeFormatter ob = (MimeFormatter) Activator.CreateInstance (type);\r
- return ob.GetInitializer (methodInfo);\r
- }\r
-\r
- public virtual object[] GetInitializers (LogicalMethodInfo[] methodInfos)\r
- {\r
- object[] initializers = new object [methodInfos.Length];\r
- for (int n=0; n<methodInfos.Length; n++)\r
- initializers [n] = GetInitializer (methodInfos[n]);\r
- \r
- return initializers;\r
- }\r
-\r
- public static object[] GetInitializers (Type type, LogicalMethodInfo[] methodInfos)\r
- {\r
- MimeFormatter ob = (MimeFormatter) Activator.CreateInstance (type);\r
- return ob.GetInitializers (methodInfos);\r
- }\r
-\r
- public abstract void Initialize (object initializer); \r
-\r
- internal static object StringToObj (Type type, string value)\r
- {\r
- switch (Type.GetTypeCode (type))\r
- {\r
- case TypeCode.Boolean: return XmlConvert.ToBoolean (value);\r
- case TypeCode.Byte: return XmlConvert.ToByte (value);\r
- case TypeCode.DateTime: return XmlConvert.ToDateTime (value);\r
- case TypeCode.Decimal: return XmlConvert.ToDecimal (value);\r
- case TypeCode.Double: return XmlConvert.ToDouble (value);\r
- case TypeCode.Int16: return XmlConvert.ToInt16 (value);\r
- case TypeCode.Int32: return XmlConvert.ToInt32 (value);\r
- case TypeCode.Int64: return XmlConvert.ToInt64 (value);\r
- case TypeCode.SByte: return XmlConvert.ToSByte (value);\r
- case TypeCode.Single: return XmlConvert.ToSingle (value);\r
- case TypeCode.UInt16: return XmlConvert.ToUInt16 (value);\r
- case TypeCode.UInt32: return XmlConvert.ToUInt32 (value);\r
- case TypeCode.UInt64: return XmlConvert.ToUInt64 (value);\r
- case TypeCode.String: return value;\r
- case TypeCode.Char:\r
- if (value.Length != 1) throw new InvalidOperationException ("Invalid char value");\r
- return value [0];\r
- }\r
- throw new InvalidOperationException ("Type not supported");\r
- }\r
-\r
- internal static string ObjToString (object value)\r
- {\r
- if (value == null) return "";\r
- switch (Type.GetTypeCode (value.GetType ()))\r
- {\r
- case TypeCode.Boolean: return XmlConvert.ToString ((bool)value);\r
- case TypeCode.Byte: return XmlConvert.ToString ((byte)value);\r
- case TypeCode.Char: return XmlConvert.ToString ((char)value);\r
- case TypeCode.DateTime: return XmlConvert.ToString ((DateTime)value);\r
- case TypeCode.Decimal: return XmlConvert.ToString ((decimal)value);\r
- case TypeCode.Double: return XmlConvert.ToString ((double)value);\r
- case TypeCode.Int16: return XmlConvert.ToString ((Int16)value);\r
- case TypeCode.Int32: return XmlConvert.ToString ((Int32)value);\r
- case TypeCode.Int64: return XmlConvert.ToString ((Int64)value);\r
- case TypeCode.SByte: return XmlConvert.ToString ((sbyte)value);\r
- case TypeCode.Single: return XmlConvert.ToString ((Single)value);\r
- case TypeCode.UInt16: return XmlConvert.ToString ((UInt16)value);\r
- case TypeCode.UInt32: return XmlConvert.ToString ((UInt32)value);\r
- case TypeCode.UInt64: return XmlConvert.ToString ((UInt64)value);\r
- case TypeCode.String: return value as string;\r
- }\r
- throw new InvalidOperationException ("Type not supported");\r
- }\r
- \r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.MimeParameterReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class MimeParameterReader : MimeFormatter {\r
-\r
- #region Constructors\r
-\r
- protected MimeParameterReader () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public abstract object[] Read (HttpRequest request);\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.MimeParameterWriter.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Net;\r
-using System.Text;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class MimeParameterWriter : MimeFormatter {\r
-\r
- #region Constructors\r
-\r
- protected MimeParameterWriter () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties \r
-\r
- public virtual Encoding RequestEncoding {\r
- get { return null; }\r
- set { ; }\r
- }\r
-\r
- public virtual bool UsesWriteRequest {\r
- get { return false; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public virtual string GetRequestUrl (string url, object[] parameters)\r
- {\r
- return url;\r
- }\r
-\r
- public virtual void InitializeRequest (WebRequest request, object[] values)\r
- {\r
- }\r
-\r
- public virtual void WriteRequest (Stream requestStream, object[] values)\r
- {\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.MimeReturnReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Net;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class MimeReturnReader : MimeFormatter {\r
-\r
- #region Constructors\r
-\r
- protected MimeReturnReader () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public abstract object Read (WebResponse response, Stream responseStream);\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.MimeReturnWriter.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Web;\r
-\r
-namespace System.Web.Services.Protocols {\r
- internal abstract class MimeReturnWriter : MimeFormatter {\r
-\r
- #region Methods \r
-\r
- public abstract void Write (HttpResponse response, Stream outputStream, object returnValue);\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-Notes on the Soap Client
-------------------------
-
-* Preparing an invocation.
-
- To send a SOAP request to a remote server, applications will
- instantiate a class created by the WSDL compiler that derives
- from SoapHttpClientProtocol.
-
- The classes generated are fairly simple, they contain stubs
- for all of the methods generated just pass the name of the
- method and the arguments they receive to the protected
- Invoke() method on SoapHttpClientProtocol.
-
- To invoke a method on a SOAP server it is necessary to
- instantiate the generated class, and possibly configure the
- Url property of it (to point to the right server) and then
- invoking the stubs.
-
- SoapHttpClientProtocol will create a SoapClientMessage based
- on this information. The SoapClientMessage class is used to
- pass the information to hooks or extensions in the .NET
- Framework. These hooks are invoked at various phases to
- customize the SOAP message.
-
- For the first pass of our implementation, we will not invoke
- any of those hooks. They are required for things like WSS,
- but we do not need this now.
-
- A WebRequest object of type POST is created, and we will use
- this to send our Soap message.
-
-* Creating the SOAP request
-
- The SOAP request is fairly simple; For our initial
- implementation we will only support the schema encoding.
-
- For each stub method, we need to create an XmlSerializer for
- the parameter values, and another one for the return value.
-
- The encoding is fairly simple, see the post on
- mono-serialization-list for a sample program.
-
-* Processing the return value.
-
- Soon.
-
-* Metadata
-
- Methods.cs extracts class and method information: it basically
- pulls all the attributes that can be applied to the class and
- methods, and stores them into TypeStubInfo and MethodStubInfo.
-
- Also, serializers for input and output types are created and
- stored into the MethodStubInfo.
-
- There is a cache managed by TypeStubManager (it has to be
- threadsafe, as SoapHttpClientProtocol will call this and will
- require thread safe semantics).
-
- The cache tracks types, and types track their methods. This
- information needs to be computed ahead of time, due to the
- possible name-clash resolution that VisualStudio uses.
-
-* Current shortcomings and problems.
-
- * Need a cache that maps (type, method-name) to the
- precomputed MethodMetadata. The type has to be a derived
- class from SoapHttpClientProtocol.
-
- * We do not support SoapExtensions.
-
- * We do not support extracting the parameter information and
- pass the result attribute names to the XmlSerializer, as specified in
- `Customizing SOAP Messages/Customizing the SOAP Message with XML Serialization'
-
- * We do not pass the SoapClientMessage as we should to any
- extensions
-
- * Ignored elements in the MethodStubInfo:
- * ParameterStyle, have to understand what this does.
- * Binding
- * RoutingStyle.
-
-* Other notes.
-
- VisualStudio does not allow method overloaded in web
- services, it requires that:
-
- [WebMethod (MethodName="AlternateName")]
- public int Name ()
-
- I tried this:
-
- [WebMethod] public string A () {}
- [WebMethod] public string A (int b) {}
-
- Had to change it to:
-
- [WebMethod] public string A () {}
- [WebMethod (MethodName="B")] public string A (int b) {}
-
- The generated stubs though for "Invoke" does not use the
- actual name of the web method in the call to "Invoke", it
- uses a sequential number:
-
- [System.Web.Services.WebMethodAttribute(MessageName="A1")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/B", RequestElementName="B", RequestNamespace="http://tempuri.org/", ResponseElementName="BResponse", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- [return: System.Xml.Serialization.XmlElementAttribute("BResult")]
- public string A(int a) {
- object[] results = this.Invoke("A1", new object[] {
- a});
- return ((string)(results[0]));
- }
-
- /// <remarks/>
- public System.IAsyncResult BeginA1(int a, System.AsyncCallback callback, object asyncState) {
- return this.BeginInvoke("A1", new object[] {
- a}, callback, asyncState);
- }
-
- /// <remarks/>
- public string EndA1(System.IAsyncResult asyncResult) {
- object[] results = this.EndInvoke(asyncResult);
- return ((string)(results[0]));
- }
-
-
- The above is interesting, because it means that the method to
- invoke on the target should be pulled from
- `RequestElementName', if the value is not found, then we use
- the name of the method provided.
\ No newline at end of file
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.NopReturnReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Net;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class NopReturnReader : MimeReturnReader {\r
-\r
- #region Constructors\r
-\r
- public NopReturnReader () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public override object GetInitializer (LogicalMethodInfo methodInfo)\r
- {\r
- return this;\r
- }\r
-\r
- public override void Initialize (object initializer)\r
- {\r
- }\r
-\r
- public override object Read (WebResponse response, Stream responseStream)\r
- {\r
- responseStream.Close ();\r
- return null;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.PatternMatcher.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.Reflection;\r
-using System.Text.RegularExpressions;\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Protocols \r
-{\r
- public sealed class PatternMatcher \r
- {\r
- Type _returnType;\r
- MatchInfo[] _matchInfos;\r
- \r
- public PatternMatcher (Type type) \r
- {\r
- _returnType = type;\r
- \r
- FieldInfo[] fields = type.GetFields ();\r
- ArrayList matchInfos = new ArrayList ();\r
- \r
- foreach (FieldInfo field in fields)\r
- {\r
- object[] ats = field.GetCustomAttributes (typeof(MatchAttribute), true);\r
- if (ats.Length == 0) continue;\r
- \r
- MatchInfo mi = new MatchInfo ();\r
- mi.Field = field;\r
- mi.Match = (MatchAttribute) ats[0];\r
- \r
- RegexOptions opts = RegexOptions.Multiline;\r
- if (mi.Match.IgnoreCase) opts |= RegexOptions.IgnoreCase;\r
- mi.Regex = new Regex (mi.Match.Pattern, opts);\r
- \r
- matchInfos.Add (mi);\r
- }\r
- _matchInfos = (MatchInfo[]) matchInfos.ToArray (typeof(MatchInfo));\r
- }\r
- \r
- public object Match (string text)\r
- {\r
- object ob = Activator.CreateInstance (_returnType);\r
- \r
- foreach (MatchInfo mi in _matchInfos)\r
- {\r
- MatchCollection matches = mi.Regex.Matches (text);\r
- \r
- object res = null;\r
- \r
- if (mi.Field.FieldType.IsArray)\r
- {\r
- int max = mi.Match.MaxRepeats;\r
- if (max == -1) max = matches.Count;\r
- \r
- Type elemType = mi.Field.FieldType.GetElementType();\r
- Array array = Array.CreateInstance (elemType, max);\r
- for (int n=0; n<max; n++)\r
- array.SetValue (mi.GetMatchValue (matches[n], elemType), n);\r
- res = array;\r
- }\r
- else if (matches.Count > 0)\r
- res = mi.GetMatchValue (matches[0], mi.Field.FieldType);\r
- \r
- mi.Field.SetValue (ob, res);\r
- }\r
- return ob;\r
- }\r
-\r
- }\r
-\r
- class MatchInfo\r
- {\r
- public FieldInfo Field;\r
- public MatchAttribute Match;\r
- public Regex Regex;\r
- \r
- const string GroupError = "{0} is not a valid group index for match '{1}'. The highest valid group index for this match is {2}";\r
- const string CaptureError = "{0} is not a valid capture index for match '{1}'. The highest valid capture index for this match is {2}";\r
- \r
- public object GetMatchValue (Match match, Type castType)\r
- {\r
- if (Match.Group >= match.Groups.Count)\r
- throw new Exception (string.Format (GroupError, Match.Group, Field.Name, match.Groups.Count-1));\r
- \r
- Group group = match.Groups [Match.Group];\r
- if (Match.Capture >= group.Captures.Count)\r
- throw new Exception (string.Format (CaptureError, Match.Capture, Field.Name, group.Captures.Count-1));\r
- \r
- string val = group.Captures [Match.Capture].Value;\r
- return Convert.ChangeType (val, castType);\r
- }\r
- }\r
-\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.ServerProtocol.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Web;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- [MonoTODO ("Figure out what this class does.")]\r
- internal abstract class ServerProtocol {\r
-\r
- HttpContext _context;\r
-\r
- #region Constructors\r
-\r
- internal ServerProtocol (HttpContext context)\r
- {\r
- _context = context;\r
- }\r
-\r
- protected ServerProtocol ()\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- #endregion\r
-\r
- #region Properties\r
-\r
- public HttpContext Context {\r
- get { return _context; }\r
- }\r
-\r
- public abstract bool IsOneWay {\r
- get;\r
- }\r
-\r
- public abstract LogicalMethodInfo MethodInfo {\r
- get;\r
- }\r
-\r
- [MonoTODO]\r
- public virtual Exception OnewayInitException {\r
- get { throw new NotImplementedException (); }\r
- }\r
-\r
- public HttpRequest Request {\r
- get { return _context.Request; }\r
- }\r
-\r
- public HttpResponse Response {\r
- get { return _context.Response; }\r
- }\r
-\r
- #endregion\r
-\r
- #region Methods\r
-\r
- [MonoTODO]\r
- protected void AddToCache (Type t1, Type t2, object o)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public virtual void CreateServerInstance ()\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public virtual void DisposeServerInstance ()\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public string GenerateFaultString (Exception exception)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- protected object GetFromCache (Type t1, Type t2)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- public abstract bool Initialize ();\r
-\r
- public abstract object[] ReadParameters ();\r
-\r
- [MonoTODO]\r
- public virtual bool WriteException (Exception e, Stream outputStream)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public void WriteOneWayResponse ()\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- public abstract void WriteReturns (object[] returnValues, Stream outputStream);\r
-\r
- #endregion\r
- }\r
-}
+++ /dev/null
-//
-// System.Web.Services.Protocols.Soap12FaultCodes.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Xml;
-
-namespace System.Web.Services.Protocols
-{
- public sealed class Soap12FaultCodes
- {
- private Soap12FaultCodes ()
- {
- }
-
- public static readonly XmlQualifiedName DataEncodingUnknownFaultCode
- = new XmlQualifiedName ("DataEncodingUnknown", "http://www.w3.org/2003/05/soap-envelope");
-
- public static readonly XmlQualifiedName EncodingMissingIDFaultCode
- = new XmlQualifiedName ("MissingID", "http://www.w3.org/2003/05/soap-encoding");
-
- public static readonly XmlQualifiedName EncodingUntypedValueFaultCode
- = new XmlQualifiedName ("UntypedValue", "http://www.w3.org/2003/05/soap-encoding");
-
- public static readonly XmlQualifiedName MustUnderstandFaultCode
- = new XmlQualifiedName ("MustUnderstand", "http://www.w3.org/2003/05/soap-envelope");
-
- public static readonly XmlQualifiedName ReceiverFaultCode
- = new XmlQualifiedName ("Receiver", "http://www.w3.org/2003/05/soap-envelope");
-
- public static readonly XmlQualifiedName RpcBadArgumentsFaultCode
- = new XmlQualifiedName ("BadArguments", "http://www.w3.org/2003/05/soap-rpc");
-
- public static readonly XmlQualifiedName RpcProcedureNotPresentFaultCode
- = new XmlQualifiedName ("ProcedureNotPresent", "http://www.w3.org/2003/05/soap-rpc");
-
- public static readonly XmlQualifiedName SenderFaultCode
- = new XmlQualifiedName ("Sender", "http://www.w3.org/2003/05/soap-envelope");
-
- public static readonly XmlQualifiedName VersionMismatchFaultCode
- = new XmlQualifiedName ("VersionMismatch", "http://www.w3.org/2003/05/soap-envelope");
- }
-}
-
-#endif
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapClientMessage.cs\r
-//\r
-// Authors:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Miguel de Icaza (miguel@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-// Copyright (C) Ximian, Inc. 2003\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.Web.Services.Protocols;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public sealed class SoapClientMessage : SoapMessage {\r
-\r
- #region Fields\r
-\r
- SoapHttpClientProtocol client;\r
- string url;\r
- internal SoapMethodStubInfo MethodStubInfo;\r
-\r
- //\r
- // Expose this one internally\r
- //\r
- internal object [] Parameters;\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- //\r
- // Constructs the SoapClientMessage\r
- //\r
- internal SoapClientMessage (SoapHttpClientProtocol client, SoapMethodStubInfo msi, string url, object [] parameters)\r
- {\r
- this.MethodStubInfo = msi;\r
- this.client = client;\r
- this.url = url;\r
- Parameters = parameters;\r
- }\r
-\r
- #endregion \r
-\r
- #region Properties\r
-\r
- public override string Action {\r
- get { return MethodStubInfo.Action; }\r
- }\r
-\r
- public SoapHttpClientProtocol Client {\r
- get { return client; }\r
- }\r
-\r
- public override LogicalMethodInfo MethodInfo {\r
- get { return MethodStubInfo.MethodInfo; }\r
- }\r
-\r
- public override bool OneWay {\r
- get { return MethodStubInfo.OneWay; }\r
- }\r
-\r
- public override string Url {\r
- get { return url; }\r
- }\r
- \r
-#if NET_2_0\r
- [MonoTODO]\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public override SoapProtocolVersion SoapVersion {\r
- get { throw new NotImplementedException (); }\r
- }\r
-#endif\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- protected override void EnsureInStage ()\r
- {\r
- EnsureStage (SoapMessageStage.BeforeSerialize);\r
- }\r
-\r
- protected override void EnsureOutStage ()\r
- {\r
- EnsureStage (SoapMessageStage.AfterDeserialize);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapClientMethod.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.Web.Services.Description;\r
-\r
-namespace System.Web.Services.Protocols {\r
-\r
- internal class SoapClientMethod {\r
-\r
- #region Fields\r
-\r
- public string action;\r
- public LogicalMethodInfo methodInfo;\r
- public bool oneWay;\r
- public bool rpc;\r
- public SoapBindingUse use;\r
-\r
- #endregion // Fields\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapDocumentMethodAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Description;\r
-\r
-namespace System.Web.Services.Protocols {\r
- [AttributeUsage (AttributeTargets.Method, Inherited = true)]\r
- public sealed class SoapDocumentMethodAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- string action;\r
- string binding;\r
- bool oneWay;\r
- SoapParameterStyle parameterStyle;\r
- string requestElementName;\r
- string requestNamespace;\r
- string responseElementName;\r
- string responseNamespace;\r
- SoapBindingUse use;\r
-\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- public SoapDocumentMethodAttribute () \r
- {\r
- }\r
-\r
- public SoapDocumentMethodAttribute (string action)\r
- : this ()\r
- {\r
- this.action = action;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public string Action {\r
- get { return action; }\r
- set { action = value; }\r
- }\r
-\r
- public string Binding {\r
- get {\r
- if (binding != null)\r
- return binding;\r
- return "";\r
- }\r
- set { binding = value; }\r
- }\r
-\r
- public bool OneWay {\r
- get { return oneWay; }\r
- set { oneWay = value; }\r
- }\r
-\r
- public SoapParameterStyle ParameterStyle {\r
- get { return parameterStyle; }\r
- set { parameterStyle = value; }\r
- }\r
-\r
- public string RequestElementName {\r
- get {\r
- if (requestElementName == null)\r
- return "";\r
- return requestElementName;\r
- }\r
- set { requestElementName = value; }\r
- }\r
-\r
- public string RequestNamespace {\r
- get {\r
- if (requestNamespace == null)\r
- return "";\r
- \r
- return requestNamespace;\r
- }\r
- set { requestNamespace = value; }\r
- }\r
-\r
- public string ResponseElementName {\r
- get {\r
- if (responseElementName == null)\r
- return "";\r
- return responseElementName;\r
- }\r
- set { responseElementName = value; }\r
- }\r
-\r
- public string ResponseNamespace {\r
- get {\r
- if (responseNamespace == null)\r
- return "";\r
- return responseNamespace;\r
- }\r
- set { responseNamespace = value; }\r
- }\r
-\r
- public SoapBindingUse Use {\r
- get { return use; }\r
- set { use = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapDocumentServiceAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Description;\r
-\r
-namespace System.Web.Services.Protocols {\r
- [AttributeUsage (AttributeTargets.Class, Inherited = true)]\r
- public sealed class SoapDocumentServiceAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- SoapParameterStyle paramStyle;\r
- SoapServiceRoutingStyle routingStyle;\r
- SoapBindingUse use;\r
-\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- public SoapDocumentServiceAttribute () \r
- {\r
- paramStyle = SoapParameterStyle.Wrapped;\r
- routingStyle = SoapServiceRoutingStyle.SoapAction;\r
- use = SoapBindingUse.Literal;\r
- }\r
-\r
- public SoapDocumentServiceAttribute (SoapBindingUse use) \r
- : this ()\r
- {\r
- this.use = use;\r
- }\r
-\r
- public SoapDocumentServiceAttribute (SoapBindingUse use, SoapParameterStyle paramStyle) \r
- : this ()\r
- {\r
- this.use = use;\r
- this.paramStyle = paramStyle;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public SoapParameterStyle ParameterStyle {\r
- get { return paramStyle; }\r
- set { paramStyle = value; }\r
- }\r
-\r
- public SoapServiceRoutingStyle RoutingStyle {\r
- get { return routingStyle; }\r
- set { routingStyle = value; }\r
- }\r
-\r
- public SoapBindingUse Use {\r
- get { return use; }\r
- set { use = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Protocols.SoapDocumentationHandler.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Ximian, Inc. 2003
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Web;
-using System.IO;
-using System.Xml;
-using System.Text;
-using System.Xml.Serialization;
-using System.Xml.Schema;
-using System.Web.Services.Description;
-using System.Web.Services.Discovery;
-using System.Web.Services.Configuration;
-using System.CodeDom;
-using System.CodeDom.Compiler;
-using Microsoft.CSharp;
-using System.Web.UI;
-
-namespace System.Web.Services.Protocols
-{
- internal class SoapDocumentationHandler: WebServiceHandler
- {
- SoapTypeStubInfo _typeStubInfo;
- ServiceDescriptionCollection _descriptions;
- XmlSchemas _schemas;
- string _url;
- IHttpHandler _pageHandler = null;
-
- public SoapDocumentationHandler (Type type, HttpContext context): base (type)
- {
- _url = context.Request.Url.ToString();
- int i = _url.LastIndexOf ('?');
- if (i != -1) _url = _url.Substring (0,i);
- _typeStubInfo = (SoapTypeStubInfo) TypeStubManager.GetTypeStub (ServiceType, "Soap");
-
- HttpRequest req = context.Request;
- string key = null;
- if (req.QueryString.Count == 1)
- key = req.QueryString.GetKey(0).ToLower();
-
- if (key == "wsdl" || key == "schema" || key == "code" || key == "disco")
- return;
-
- string help = WSConfig.Instance.WsdlHelpPage;
- string path = Path.GetDirectoryName (WSConfig.Instance.ConfigFilePath);
- string appPath = AppDomain.CurrentDomain.GetData (".appPath").ToString ();
- string vpath;
- if (path.StartsWith (appPath)) {
- vpath = path.Substring (appPath.Length);
- vpath = vpath.Replace ("\\", "/");
- } else {
- vpath = "/";
- }
-
- if (vpath.EndsWith ("/"))
- vpath += help;
- else
- vpath += "/" + help;
-
- string physPath = Path.Combine (path, help);
-
- if (!File.Exists (physPath))
- throw new InvalidOperationException ("Documentation page '" + physPath + "' not found");
-
- _pageHandler = PageParser.GetCompiledPageInstance (vpath, physPath, context);
-
- }
-
- internal IHttpHandler PageHandler {
- get { return _pageHandler; }
- }
-
- public override bool IsReusable
- {
- get { return false; }
- }
-
- public override void ProcessRequest (HttpContext context)
- {
- if (_pageHandler != null)
- {
- context.Items["wsdls"] = GetDescriptions ();
- context.Items["schemas"] = GetSchemas ();
- _pageHandler.ProcessRequest (context);
- }
- else
- {
- HttpRequest req = context.Request;
- string key = req.QueryString.GetKey(0).ToLower();
- if (key == "wsdl") GenerateWsdlDocument (context, req.QueryString ["wsdl"]);
- else if (key == "schema") GenerateSchema (context, req.QueryString ["schema"]);
- else if (key == "code") GenerateCode (context, req.QueryString ["code"]);
- else if (key == "disco") GenerateDiscoDocument (context);
- else throw new Exception ("This should never happen");
- }
- }
-
- void GenerateWsdlDocument (HttpContext context, string wsdlId)
- {
- int di = 0;
- if (wsdlId != null && wsdlId != "") di = int.Parse (wsdlId);
-
- context.Response.ContentType = "text/xml; charset=utf-8";
- XmlTextWriter xtw = new XmlTextWriter (context.Response.OutputStream, new UTF8Encoding (false));
- xtw.Formatting = Formatting.Indented;
- GetDescriptions() [di].Write (xtw);
- }
-
- void GenerateDiscoDocument (HttpContext context)
- {
- ServiceDescriptionCollection descs = GetDescriptions ();
-
- DiscoveryDocument doc = new DiscoveryDocument ();
- ContractReference cref = new ContractReference ();
- cref.Ref = _url + "?wsdl";
- cref.DocRef = _url;
- doc.References.Add (cref);
-
- foreach (ServiceDescription desc in descs)
- foreach (Service ser in desc.Services)
- foreach (Port port in ser.Ports)
- {
- SoapAddressBinding sab = port.Extensions.Find (typeof(SoapAddressBinding)) as SoapAddressBinding;
- if (sab != null)
- {
- System.Web.Services.Discovery.SoapBinding dsb = new System.Web.Services.Discovery.SoapBinding ();
- dsb.Address = sab.Location;
- dsb.Binding = port.Binding;
- doc.AdditionalInfo.Add (dsb);
- }
- }
-
- context.Response.ContentType = "text/xml; charset=utf-8";
- XmlTextWriter xtw = new XmlTextWriter (context.Response.OutputStream, new UTF8Encoding (false));
- xtw.Formatting = Formatting.Indented;
- doc.Write (xtw);
- }
-
- void GenerateSchema (HttpContext context, string schemaId)
- {
- int di = 0;
- if (schemaId != null && schemaId != "") di = int.Parse (schemaId);
-
- context.Response.ContentType = "text/xml; charset=utf-8";
- XmlTextWriter xtw = new XmlTextWriter (context.Response.OutputStream, new UTF8Encoding (false));
- xtw.Formatting = Formatting.Indented;
- GetSchemas() [di].Write (xtw);
- }
-
- void GenerateCode (HttpContext context, string langId)
- {
- context.Response.ContentType = "text/plain; charset=utf-8";
- CodeNamespace codeNamespace = new CodeNamespace();
- CodeCompileUnit codeUnit = new CodeCompileUnit();
-
- codeUnit.Namespaces.Add (codeNamespace);
-
- ServiceDescriptionImporter importer = new ServiceDescriptionImporter();
-
- foreach (ServiceDescription sd in GetDescriptions ())
- importer.AddServiceDescription(sd, null, null);
-
- foreach (XmlSchema sc in GetSchemas())
- importer.Schemas.Add (sc);
-
- importer.Import(codeNamespace, codeUnit);
-
- if (langId == null || langId == "") langId = "cs";
- CodeDomProvider provider = GetProvider (langId);
- ICodeGenerator generator = provider.CreateGenerator();
- CodeGeneratorOptions options = new CodeGeneratorOptions();
-
- generator.GenerateCodeFromCompileUnit(codeUnit, context.Response.Output, options);
- }
-
- private CodeDomProvider GetProvider(string langId)
- {
- // FIXME these should be loaded dynamically using reflection
- CodeDomProvider provider;
-
- switch (langId.ToUpper())
- {
- case "CS":
- provider = new CSharpCodeProvider();
- break;
-
- default:
- throw new Exception("Unknown language: " + langId);
- }
-
- return provider;
- }
-
- internal ServiceDescriptionCollection GetDescriptions ()
- {
- if (_descriptions == null)
- {
- ServiceDescriptionReflector reflector = new ServiceDescriptionReflector ();
- reflector.Reflect (ServiceType,_url);
- _schemas = reflector.Schemas;
- _descriptions = reflector.ServiceDescriptions;
- }
- return _descriptions;
- }
-
- internal XmlSchemas GetSchemas()
- {
- GetDescriptions();
- return _schemas;
- }
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapException.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@novell.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml;\r
-\r
-namespace System.Web.Services.Protocols \r
-{\r
- [Serializable]\r
- public class SoapException : SystemException \r
- {\r
- #region Fields\r
-\r
- public static readonly XmlQualifiedName ClientFaultCode = new XmlQualifiedName ("Client", "http://schemas.xmlsoap.org/soap/envelope/");\r
- public static readonly XmlQualifiedName DetailElementName = new XmlQualifiedName ("detail");\r
- public static readonly XmlQualifiedName MustUnderstandFaultCode = new XmlQualifiedName ("MustUnderstand", "http://schemas.xmlsoap.org/soap/envelope/");\r
- public static readonly XmlQualifiedName ServerFaultCode = new XmlQualifiedName ("Server", "http://schemas.xmlsoap.org/soap/envelope/");\r
- public static readonly XmlQualifiedName VersionMismatchFaultCode = new XmlQualifiedName ("VersionMismatch", "http://schemas.xmlsoap.org/soap/envelope/");\r
-\r
- string actor;\r
- XmlQualifiedName code;\r
- XmlNode detail;\r
- \r
-#if NET_2_0\r
- string lang;\r
- string role;\r
- SoapFaultSubcode subcode;\r
-#endif\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- public SoapException (string message, XmlQualifiedName code)\r
- : base (message)\r
- {\r
- this.code = code;\r
- }\r
-\r
- public SoapException (string message, XmlQualifiedName code, Exception innerException)\r
- : base (message, innerException)\r
- {\r
- this.code = code;\r
- }\r
-\r
- public SoapException (string message, XmlQualifiedName code, string actor)\r
- : base (message)\r
- {\r
- this.code = code;\r
- this.actor = actor;\r
- }\r
-\r
- public SoapException (string message, XmlQualifiedName code, string actor, Exception innerException)\r
- : base (message, innerException)\r
- {\r
- this.code = code;\r
- this.actor = actor;\r
- }\r
-\r
- public SoapException (string message, XmlQualifiedName code, string actor, XmlNode detail)\r
- : base (message)\r
- {\r
- this.code = code;\r
- this.actor = actor;\r
- this.detail = detail;\r
- }\r
-\r
- public SoapException (string message, XmlQualifiedName code, string actor, XmlNode detail, Exception innerException)\r
- : base (message, innerException)\r
- {\r
- this.code = code;\r
- this.actor = actor;\r
- this.detail = detail;\r
- }\r
-\r
-#if NET_2_0\r
- public SoapException (string message, XmlQualifiedName code, SoapFaultSubcode subcode)\r
- : base (message)\r
- {\r
- this.code = code;\r
- this.subcode = subcode;\r
- }\r
- \r
- public SoapException (string message, XmlQualifiedName code, string actor, string role, XmlNode detail, SoapFaultSubcode subcode, Exception innerException)\r
- : base (message, innerException)\r
- {\r
- this.code = code;\r
- this.subcode = subcode;\r
- this.detail = detail;\r
- this.actor = actor;\r
- this.role = role;\r
- }\r
- \r
- public SoapException (string message, XmlQualifiedName code, string actor, string role, string lang, XmlNode detail, SoapFaultSubcode subcode, Exception innerException)\r
- {\r
- this.code = code;\r
- this.subcode = subcode;\r
- this.detail = detail;\r
- this.actor = actor;\r
- this.role = role;\r
- this.lang = lang;\r
- }\r
-\r
- public static bool IsClientFaultCode (XmlQualifiedName code)\r
- {\r
- if (code == ClientFaultCode) return true;\r
- if (code == Soap12FaultCodes.SenderFaultCode) return true;\r
- return false;\r
- }\r
-\r
- public static bool IsMustUnderstandFaultCode (XmlQualifiedName code)\r
- {\r
- if (code == MustUnderstandFaultCode) return true;\r
- if (code == Soap12FaultCodes.MustUnderstandFaultCode) return true;\r
- return false;\r
- }\r
- \r
- public static bool IsServerFaultCode (XmlQualifiedName code)\r
- {\r
- if (code == ServerFaultCode) return true;\r
- if (code == Soap12FaultCodes.ReceiverFaultCode) return true;\r
- return false;\r
- }\r
- \r
- public static bool IsVersionMismatchFaultCode (XmlQualifiedName code)\r
- {\r
- if (code == VersionMismatchFaultCode) return true;\r
- if (code == Soap12FaultCodes.VersionMismatchFaultCode) return true;\r
- return false;\r
- }\r
-\r
-#endif\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public string Actor {\r
- get { return actor; }\r
- }\r
-\r
- public XmlQualifiedName Code {\r
- get { return code; }\r
- }\r
-\r
- public XmlNode Detail {\r
- get { return detail; }\r
- }\r
-\r
-#if NET_2_0\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public string Lang {\r
- get { return lang; }\r
- }\r
- \r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public string Role {\r
- get { return role; }\r
- }\r
- \r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public SoapFaultSubcode Subcode {\r
- get { return subcode; }\r
- }\r
- \r
- // Same value as actor\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public string Node {\r
- get { return actor; }\r
- }\r
-#endif\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapExtension.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Collections;\r
-using System.Web.Services.Configuration;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class SoapExtension {\r
-\r
- #region Fields\r
-\r
- Stream stream;\r
-\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- protected SoapExtension ()\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public virtual Stream ChainStream (Stream stream)\r
- {\r
- return stream;\r
- }\r
-\r
- public abstract object GetInitializer (Type serviceType);\r
- public abstract object GetInitializer (LogicalMethodInfo methodInfo, SoapExtensionAttribute attribute);\r
- public abstract void Initialize (object initializer);\r
- public abstract void ProcessMessage (SoapMessage message);\r
-\r
-\r
- static ArrayList[] globalExtensions;\r
-\r
- internal static SoapExtension[] CreateExtensionChain (SoapExtensionRuntimeConfig[] extensionConfigs)\r
- {\r
- if (extensionConfigs == null) return null;\r
- SoapExtension[] res = new SoapExtension [extensionConfigs.Length];\r
- CreateExtensionChain (extensionConfigs, res, 0);\r
- return res;\r
- }\r
-\r
- internal static SoapExtension[] CreateExtensionChain (SoapExtensionRuntimeConfig[] hiPrioExts, SoapExtensionRuntimeConfig[] medPrioExts, SoapExtensionRuntimeConfig[] lowPrioExts)\r
- {\r
- int len = 0;\r
- if (hiPrioExts != null) len += hiPrioExts.Length;\r
- if (medPrioExts != null) len += medPrioExts.Length;\r
- if (lowPrioExts != null) len += lowPrioExts.Length;\r
- if (len == 0) return null;\r
-\r
- SoapExtension[] res = new SoapExtension [len];\r
- int pos = 0;\r
- if (hiPrioExts != null) pos = CreateExtensionChain (hiPrioExts, res, pos);\r
- if (medPrioExts != null) pos = CreateExtensionChain (medPrioExts, res, pos);\r
- if (lowPrioExts != null) pos = CreateExtensionChain (lowPrioExts, res, pos);\r
- return res;\r
- }\r
-\r
- static int CreateExtensionChain (SoapExtensionRuntimeConfig[] extensionConfigs, SoapExtension[] destArray, int pos)\r
- {\r
- for (int n=0; n<extensionConfigs.Length; n++)\r
- {\r
- SoapExtensionRuntimeConfig econf = extensionConfigs [n];\r
- SoapExtension ext = (SoapExtension) Activator.CreateInstance (econf.Type);\r
- ext.Initialize (econf.InitializationInfo);\r
- destArray [pos++] = ext;\r
- }\r
- return pos;\r
- }\r
-\r
- static void InitializeGlobalExtensions ()\r
- {\r
- globalExtensions = new ArrayList[2];\r
- \r
- ArrayList exts = WSConfig.Instance.ExtensionTypes;\r
- if (exts == null) return;\r
-\r
- foreach (WSExtensionConfig econf in exts)\r
- {\r
- if (globalExtensions [(int)econf.Group] == null) globalExtensions [(int)econf.Group] = new ArrayList ();\r
- ArrayList destList = globalExtensions [(int) econf.Group];\r
- bool added = false;\r
- for (int n=0; n<destList.Count && !added; n++)\r
- if (((WSExtensionConfig)destList [n]).Priority > econf.Priority) {\r
- destList.Insert (n, econf);\r
- added = true;\r
- }\r
- if (!added) destList.Add (econf);\r
- }\r
- }\r
-\r
- internal static SoapExtensionRuntimeConfig[][] GetTypeExtensions (Type serviceType)\r
- {\r
- if (globalExtensions == null) InitializeGlobalExtensions();\r
- \r
- SoapExtensionRuntimeConfig[][] exts = new SoapExtensionRuntimeConfig[2][];\r
-\r
- for (int group = 0; group < 2; group++)\r
- {\r
- ArrayList globList = globalExtensions[group];\r
- if (globList == null) continue;\r
- exts [group] = new SoapExtensionRuntimeConfig [globList.Count];\r
- for (int n=0; n<globList.Count; n++)\r
- {\r
- WSExtensionConfig econf = (WSExtensionConfig) globList [n];\r
- SoapExtensionRuntimeConfig typeconf = new SoapExtensionRuntimeConfig ();\r
- typeconf.Type = econf.Type;\r
- SoapExtension ext = (SoapExtension) Activator.CreateInstance (econf.Type);\r
- typeconf.InitializationInfo = ext.GetInitializer (serviceType);\r
- exts [group][n] = typeconf;\r
- }\r
- }\r
- return exts;\r
- }\r
-\r
- internal static SoapExtensionRuntimeConfig[] GetMethodExtensions (LogicalMethodInfo method)\r
- {\r
- object[] ats = method.GetCustomAttributes (typeof (SoapExtensionAttribute));\r
- SoapExtensionRuntimeConfig[] exts = new SoapExtensionRuntimeConfig [ats.Length];\r
- int[] priorities = new int[ats.Length];\r
-\r
- for (int n=0; n<ats.Length; n++)\r
- {\r
- SoapExtensionAttribute at = (SoapExtensionAttribute) ats[n];\r
- SoapExtensionRuntimeConfig econf = new SoapExtensionRuntimeConfig ();\r
- econf.Type = at.ExtensionType;\r
- priorities [n] = at.Priority;\r
- SoapExtension ext = (SoapExtension) Activator.CreateInstance (econf.Type);\r
- econf.InitializationInfo = ext.GetInitializer (method, at);\r
- exts [n] = econf;\r
- }\r
- Array.Sort (priorities, exts);\r
- return exts;\r
- }\r
-\r
- internal static Stream ExecuteChainStream (SoapExtension[] extensions, Stream stream)\r
- {\r
- if (extensions == null) return stream;\r
-\r
- Stream newStream = stream;\r
- foreach (SoapExtension ext in extensions)\r
- newStream = ext.ChainStream (newStream);\r
- return newStream;\r
- }\r
-\r
- internal static void ExecuteProcessMessage(SoapExtension[] extensions, SoapMessage message, bool inverseOrder)\r
- {\r
- if (extensions == null) return;\r
-\r
- if (inverseOrder)\r
- {\r
- for (int n = extensions.Length-1; n >= 0; n--)\r
- extensions[n].ProcessMessage (message);\r
- }\r
- else\r
- {\r
- for (int n = 0; n < extensions.Length; n++)\r
- extensions[n].ProcessMessage (message);\r
- }\r
- }
-\r
- #endregion // Methods\r
- }\r
-\r
- internal class SoapExtensionRuntimeConfig\r
- {\r
- public Type Type;\r
- public int Priority;\r
- public object InitializationInfo;\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapExtensionAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class SoapExtensionAttribute : Attribute {\r
-\r
- #region Constructors\r
-\r
- protected SoapExtensionAttribute () \r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public abstract Type ExtensionType {\r
- get;\r
- }\r
-\r
- public abstract int Priority {\r
- get;\r
- set;\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Protocols.SoapFaultSubcode.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System.Xml;
-
-namespace System.Web.Services.Protocols
-{
- public class SoapFaultSubcode
- {
- XmlQualifiedName _code;
- SoapFaultSubcode _subcode;
-
- public SoapFaultSubcode (XmlQualifiedName code)
- {
- _code = code;
- }
-
- public SoapFaultSubcode (XmlQualifiedName code, SoapFaultSubcode subcode)
- {
- _code = code;
- _subcode = subcode;
- }
-
- public XmlQualifiedName Code {
- get { return _code; }
- }
-
- public SoapFaultSubcode Subcode {
- get { return _subcode; }
- }
-
- }
-}
-
-#endif
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapHeader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Xml.Serialization;
-using System.Xml;\r
-\r
-namespace System.Web.Services.Protocols {\r
- [SoapType (IncludeInSchema = false)]\r
- [XmlType (IncludeInSchema = false)]\r
- public abstract class SoapHeader {\r
-\r
- #region Fields\r
-\r
- string actor;\r
- bool didUnderstand;\r
- bool mustUnderstand;\r
- \r
-#if NET_2_0\r
- string role;\r
- bool relay;\r
-#endif\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- protected SoapHeader ()\r
- {\r
- actor = String.Empty; \r
- didUnderstand = false;\r
- mustUnderstand = false;\r
- }\r
-\r
- internal SoapHeader (XmlElement elem)\r
- {\r
- actor = elem.GetAttribute ("actor", "http://schemas.xmlsoap.org/soap/envelope/");
- string me = elem.GetAttribute ("mustUnderstand", "http://schemas.xmlsoap.org/soap/envelope/");\r
- if (me != "") EncodedMustUnderstand = me;\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [DefaultValue ("")]\r
- [SoapAttribute ("actor", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]\r
- [XmlAttribute ("actor", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]\r
- public string Actor { \r
- get { return actor; }\r
- set { actor = value; }\r
- }\r
-\r
- [SoapIgnore]\r
- [XmlIgnore]\r
- public bool DidUnderstand {\r
- get { return didUnderstand; }\r
- set { didUnderstand = value; }\r
- }\r
-\r
- [DefaultValue ("0")]\r
- [SoapAttribute ("mustUnderstand", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]\r
- [XmlAttribute ("mustUnderstand", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]\r
- public string EncodedMustUnderstand {\r
- get { return (MustUnderstand ? "1" : "0"); }\r
- set { \r
- if (value == "true" || value == "1") \r
- MustUnderstand = true;\r
- else if (value == "false" || value == "0")\r
- MustUnderstand = false;\r
- else\r
- throw new ArgumentException ();\r
- }\r
- }\r
-\r
- [SoapIgnore]\r
- [XmlIgnore]\r
- public bool MustUnderstand {\r
- get { return mustUnderstand; }\r
- set { mustUnderstand = value; }\r
- }\r
- \r
-#if NET_2_0\r
-\r
- [DefaultValue ("0")]\r
- [SoapAttribute ("mustUnderstand", Namespace = "http://www.w3.org/2003/05/soap-envelope")]\r
- [XmlAttribute ("mustUnderstand", Namespace = "http://www.w3.org/2003/05/soap-envelope")]\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public string EncodedMustUnderstand12 {\r
- get { return (MustUnderstand ? "1" : "0"); }\r
- set { \r
- if (value == "true" || value == "1") \r
- MustUnderstand = true;\r
- else if (value == "false" || value == "0")\r
- MustUnderstand = false;\r
- else\r
- throw new ArgumentException ();\r
- }\r
- }\r
-\r
- [DefaultValue ("0")]\r
- [SoapAttribute ("relay", Namespace = "http://www.w3.org/2003/05/soap-envelope")]\r
- [XmlAttribute ("relay", Namespace = "http://www.w3.org/2003/05/soap-envelope")]\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public string EncodedRelay\r
- {\r
- get { return (Relay ? "1" : "0"); }\r
- set { \r
- if (value == "true" || value == "1") \r
- Relay = true;\r
- else if (value == "false" || value == "0")\r
- Relay = false;\r
- else\r
- throw new ArgumentException ();\r
- }\r
- }\r
- \r
- [SoapIgnore]\r
- [XmlIgnore]\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public bool Relay {\r
- get { return relay; }\r
- set { relay = value; }\r
- }\r
- \r
- [DefaultValue ("")]\r
- [SoapAttribute ("role", Namespace = "http://www.w3.org/2003/05/soap-envelope")]\r
- [XmlAttribute ("role", Namespace = "http://www.w3.org/2003/05/soap-envelope")]\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public string Role {\r
- get { return role; }\r
- set { role = value; }\r
- }\r
- \r
-#endif\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapHeaderAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Protocols {\r
- [AttributeUsage (AttributeTargets.Method, AllowMultiple = true, Inherited = true)]\r
- public sealed class SoapHeaderAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- SoapHeaderDirection direction;\r
- string memberName;\r
- bool required;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public SoapHeaderAttribute (string memberName) \r
- {\r
- direction = SoapHeaderDirection.In;\r
- this.memberName = memberName;\r
- required = true;\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public SoapHeaderDirection Direction {\r
- get { return direction; }\r
- set { direction = value; }\r
- }\r
-\r
- public string MemberName { \r
- get { return memberName; }\r
- set { memberName = value; }\r
- }\r
-\r
-#if NET_1_1\r
- [Obsolete ("This property will be removed from a future"\r
- + " version. The presence of a particular header"\r
- + " in a SOAP message is no longer enforced", false)]\r
-#endif\r
- public bool Required {\r
- get { return required; }\r
- set { required = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapHeaderCollection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class SoapHeaderCollection : CollectionBase {\r
-\r
- #region Constructors\r
-\r
- public SoapHeaderCollection ()\r
- {\r
- }\r
-\r
- #endregion\r
-\r
- #region Properties\r
-\r
- public SoapHeader this [int index] {\r
- get { return (SoapHeader) List[index]; }\r
- set { List[index] = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public int Add (SoapHeader header)\r
- {\r
- Insert (Count, header);\r
- return (Count - 1);\r
- }\r
-\r
- public bool Contains (SoapHeader header)\r
- {\r
- return List.Contains (header);\r
- }\r
-\r
- public void CopyTo (SoapHeader[] array, int index)\r
- {\r
- List.CopyTo (array, index);\r
- }\r
-\r
- public int IndexOf (SoapHeader header)\r
- {\r
- return List.IndexOf (header);\r
- }\r
-\r
- public void Insert (int index, SoapHeader header)\r
- {\r
- if (index < 0 || index > Count)\r
- throw new ArgumentOutOfRangeException ();\r
- List.Insert (index, header);\r
- }\r
-\r
- public void Remove (SoapHeader header)\r
- {\r
- List.Remove (header);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapHeaderDirection.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Protocols {\r
- [Flags]\r
- [Serializable]\r
- public enum SoapHeaderDirection {\r
- In = 0x1,\r
- InOut = 0x3,\r
- Out = 0x2,\r
-#if NET_1_1\r
- Fault = 0x4\r
-#endif\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapHeaderException.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml;\r
-\r
-namespace System.Web.Services.Protocols \r
-{\r
- [Serializable]\r
- public class SoapHeaderException : SoapException {\r
-\r
- #region Constructors\r
-\r
- public SoapHeaderException (string message, XmlQualifiedName code)\r
- : base (message, code)\r
- {\r
- }\r
-\r
- public SoapHeaderException (string message, XmlQualifiedName code, Exception innerException)\r
- : base (message, code, innerException)\r
- {\r
- }\r
-\r
- public SoapHeaderException (string message, XmlQualifiedName code, string actor)\r
- : base (message, code, actor)\r
- {\r
- }\r
-\r
- public SoapHeaderException (string message, XmlQualifiedName code, string actor, Exception innerException)\r
- : base (message, code, actor, innerException)\r
- {\r
- }\r
- \r
-#if NET_2_0\r
-\r
- public SoapHeaderException (\r
- string message, \r
- XmlQualifiedName code, \r
- string actor, \r
- string role, \r
- string lang, \r
- SoapFaultSubcode subcode, \r
- Exception innerException)\r
- \r
- : base (message, code, actor, role, lang, null, subcode, innerException)\r
- {\r
- \r
- }\r
-\r
- public SoapHeaderException (\r
- string message, \r
- XmlQualifiedName code, \r
- string actor, \r
- string role, \r
- SoapFaultSubcode subcode, \r
- Exception innerException)\r
- \r
- : base (message, code, actor, role, null, subcode, innerException)\r
- {\r
- \r
- }\r
-\r
-#endif\r
-\r
- #endregion // Constructors\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapHttpClientProtocol.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Miguel de Icaza (miguel@ximian.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-// Copyright (C) Ximian, Inc, 2003\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Net;\r
-using System.Web;\r
-using System.Xml;\r
-using System.Text;\r
-using System.Reflection;\r
-using System.Web.Services;\r
-using System.Diagnostics;\r
-using System.Runtime.CompilerServices;\r
-using System.Web.Services.Description;\r
-using System.Web.Services.Discovery;\r
-using System.Xml.Serialization;\r
-using System.Xml.Schema;\r
-using System.Collections;\r
-using System.Threading;\r
-\r
-namespace System.Web.Services.Protocols \r
-{\r
- public class SoapHttpClientProtocol : HttpWebClientProtocol \r
- {\r
- SoapTypeStubInfo type_info;\r
-#if NET_2_0\r
- WsiClaims conformanceClaims;\r
- SoapProtocolVersion soapVersion;\r
-#endif\r
-\r
- #region SoapWebClientAsyncResult class\r
-\r
- internal class SoapWebClientAsyncResult: WebClientAsyncResult\r
- {\r
- public SoapWebClientAsyncResult (WebRequest request, AsyncCallback callback, object asyncState)\r
- : base (request, callback, asyncState)\r
- {\r
- }\r
- \r
- public SoapClientMessage Message;\r
- public SoapExtension[] Extensions;\r
- }\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- public SoapHttpClientProtocol () \r
- {\r
- type_info = (SoapTypeStubInfo) TypeStubManager.GetTypeStub (this.GetType (), "Soap");\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- protected IAsyncResult BeginInvoke (string methodName, object[] parameters, AsyncCallback callback, object asyncState)\r
- {\r
- SoapMethodStubInfo msi = (SoapMethodStubInfo) type_info.GetMethod (methodName);\r
-\r
- SoapWebClientAsyncResult ainfo = null;\r
- try\r
- {\r
- SoapClientMessage message = new SoapClientMessage (this, msi, Url, parameters);\r
- message.CollectHeaders (this, message.MethodStubInfo.Headers, SoapHeaderDirection.In);\r
- \r
- WebRequest request = GetRequestForMessage (uri, message);\r
- \r
- ainfo = new SoapWebClientAsyncResult (request, callback, asyncState);\r
- ainfo.Message = message;\r
- ainfo.Extensions = SoapExtension.CreateExtensionChain (type_info.SoapExtensions[0], msi.SoapExtensions, type_info.SoapExtensions[1]);\r
-\r
- ainfo.Request.BeginGetRequestStream (new AsyncCallback (AsyncGetRequestStreamDone), ainfo);\r
- }\r
- catch (Exception ex)\r
- {\r
- if (ainfo != null)\r
- ainfo.SetCompleted (null, ex, false);\r
- }\r
-\r
- return ainfo;\r
- }\r
-\r
- void AsyncGetRequestStreamDone (IAsyncResult ar)\r
- {\r
- SoapWebClientAsyncResult ainfo = (SoapWebClientAsyncResult) ar.AsyncState;\r
- try\r
- {\r
- SendRequest (ainfo.Request.EndGetRequestStream (ar), ainfo.Message, ainfo.Extensions);\r
- ainfo.Request.BeginGetResponse (new AsyncCallback (AsyncGetResponseDone), ainfo);\r
- }\r
- catch (Exception ex)\r
- {\r
- ainfo.SetCompleted (null, ex, true);\r
- }\r
- }\r
-\r
- void AsyncGetResponseDone (IAsyncResult ar)\r
- {\r
- SoapWebClientAsyncResult ainfo = (SoapWebClientAsyncResult) ar.AsyncState;\r
- WebResponse response = null;\r
-\r
- try {\r
- response = GetWebResponse (ainfo.Request, ar);\r
- }\r
- catch (WebException ex) {\r
- response = ex.Response;\r
- HttpWebResponse http_response = response as HttpWebResponse;\r
- if (http_response == null || http_response.StatusCode != HttpStatusCode.InternalServerError) {\r
- ainfo.SetCompleted (null, ex, true);\r
- return;\r
- }\r
- }\r
- catch (Exception ex) {\r
- ainfo.SetCompleted (null, ex, true);\r
- return;\r
- }\r
-\r
- try {\r
- object[] result = ReceiveResponse (response, ainfo.Message, ainfo.Extensions);\r
- ainfo.SetCompleted (result, null, true);\r
- }\r
- catch (Exception ex) {\r
- ainfo.SetCompleted (null, ex, true);\r
- }\r
- }\r
-\r
- protected object[] EndInvoke (IAsyncResult asyncResult)\r
- {\r
- if (!(asyncResult is SoapWebClientAsyncResult)) throw new ArgumentException ("asyncResult is not the return value from BeginInvoke");\r
-\r
- SoapWebClientAsyncResult ainfo = (SoapWebClientAsyncResult) asyncResult;\r
- lock (ainfo)\r
- {\r
- if (!ainfo.IsCompleted) ainfo.WaitForComplete ();\r
- if (ainfo.Exception != null) throw ainfo.Exception;\r
- else return (object[]) ainfo.Result;\r
- }\r
- }\r
-\r
- public void Discover ()\r
- {\r
- BindingInfo bnd = (BindingInfo) type_info.Bindings [0];\r
- \r
- DiscoveryClientProtocol discoverer = new DiscoveryClientProtocol ();\r
- discoverer.Discover (Url);\r
- \r
- foreach (object info in discoverer.AdditionalInformation)\r
- {\r
- System.Web.Services.Discovery.SoapBinding sb = info as System.Web.Services.Discovery.SoapBinding;\r
- if (sb != null && sb.Binding.Name == bnd.Name && sb.Binding.Namespace == bnd.Namespace) {\r
- Url = sb.Address;\r
- return;\r
- }\r
- }\r
- \r
- string msg = string.Format ("The binding named '{0}' from namespace '{1}' was not found in the discovery document at '{2}'", bnd.Name, bnd.Namespace, Url);\r
- throw new Exception (msg);\r
- }\r
-\r
- protected override WebRequest GetWebRequest (Uri uri)\r
- {\r
- return base.GetWebRequest (uri);\r
- }\r
-\r
- WebRequest GetRequestForMessage (Uri uri, SoapClientMessage message)\r
- {\r
- WebRequest request = GetWebRequest (uri);\r
- request.Method = "POST";\r
- WebHeaderCollection headers = request.Headers;\r
- headers.Add ("SOAPAction", "\"" + message.Action + "\"");\r
- request.ContentType = message.ContentType + "; charset=utf-8";\r
- return request;\r
- }\r
- \r
- void SendRequest (Stream s, SoapClientMessage message, SoapExtension[] extensions)\r
- {\r
- using (s) {\r
-\r
- if (extensions != null) {\r
- s = SoapExtension.ExecuteChainStream (extensions, s);\r
- message.SetStage (SoapMessageStage.BeforeSerialize);\r
- SoapExtension.ExecuteProcessMessage (extensions, message, true);
- }
-\r
- XmlTextWriter xtw = WebServiceHelper.CreateXmlWriter (s);\r
- \r
- WebServiceHelper.WriteSoapMessage (xtw, type_info, message.MethodStubInfo.Use, message.MethodStubInfo.RequestSerializer, message.Parameters, message.Headers);\r
-\r
- if (extensions != null) {\r
- message.SetStage (SoapMessageStage.AfterSerialize);\r
- SoapExtension.ExecuteProcessMessage (extensions, message, true);
- }
-\r
- xtw.Flush ();\r
- xtw.Close ();\r
- }\r
- }\r
-\r
-\r
- //\r
- // TODO:\r
- // Handle other web responses (multi-output?)\r
- // \r
- object [] ReceiveResponse (WebResponse response, SoapClientMessage message, SoapExtension[] extensions)\r
- {\r
- SoapMethodStubInfo msi = message.MethodStubInfo;\r
- HttpWebResponse http_response = response as HttpWebResponse;\r
- \r
- if (http_response != null)\r
- {\r
- HttpStatusCode code = http_response.StatusCode;\r
- \r
- if (!(code == HttpStatusCode.Accepted || code == HttpStatusCode.OK || code == HttpStatusCode.InternalServerError)) {\r
- string msg = "The request failed with HTTP status {0}: {1}";\r
- msg = String.Format (msg, (int) code, code);\r
- throw new WebException (msg, null, WebExceptionStatus.ProtocolError, http_response);\r
- }\r
- if (response.ContentLength == 0 && (code == HttpStatusCode.Accepted || code == HttpStatusCode.OK)) {\r
- return new object[0];\r
- }\r
- }\r
- \r
- //\r
- // Remove optional encoding\r
- //\r
- string ctype;
- Encoding encoding = WebServiceHelper.GetContentEncoding (response.ContentType, out ctype);\r
- if (ctype != "text/xml")
- WebServiceHelper.InvalidOperation (
- "Content is not 'text/xml' but '" + response.ContentType + "'",
- response, encoding);
-\r
- message.ContentType = ctype;\r
- message.ContentEncoding = encoding.WebName;\r
- \r
- Stream stream = response.GetResponseStream ();\r
-\r
- if (extensions != null) {\r
- stream = SoapExtension.ExecuteChainStream (extensions, stream);\r
- message.SetStage (SoapMessageStage.BeforeDeserialize);\r
- SoapExtension.ExecuteProcessMessage (extensions, message, false);
- }
- \r
- // Deserialize the response\r
-\r
- SoapHeaderCollection headers;\r
- object content;\r
-\r
- using (StreamReader reader = new StreamReader (stream, encoding, false)) {
- XmlTextReader xml_reader = new XmlTextReader (reader);
-
- WebServiceHelper.ReadSoapMessage (xml_reader, type_info, msi.Use, msi.ResponseSerializer,
- out content, out headers);
- }
-
- \r
- if (content is Fault)\r
- {\r
- Fault fault = (Fault) content;\r
- SoapException ex = new SoapException (fault.faultstring, fault.faultcode, fault.faultactor, fault.detail);\r
- message.SetException (ex);\r
- }\r
- else\r
- message.OutParameters = (object[]) content;\r
- \r
- message.SetHeaders (headers);\r
- message.UpdateHeaderValues (this, message.MethodStubInfo.Headers);\r
-\r
- if (extensions != null) {\r
- message.SetStage (SoapMessageStage.AfterDeserialize);\r
- SoapExtension.ExecuteProcessMessage (extensions, message, false);
- }
-\r
- if (message.Exception == null)\r
- return message.OutParameters;\r
- else\r
- throw message.Exception;\r
- }\r
-\r
- protected object[] Invoke (string method_name, object[] parameters)\r
- {\r
- SoapMethodStubInfo msi = (SoapMethodStubInfo) type_info.GetMethod (method_name);\r
- \r
- SoapClientMessage message = new SoapClientMessage (this, msi, Url, parameters);\r
- message.CollectHeaders (this, message.MethodStubInfo.Headers, SoapHeaderDirection.In);\r
-\r
- SoapExtension[] extensions = SoapExtension.CreateExtensionChain (type_info.SoapExtensions[0], msi.SoapExtensions, type_info.SoapExtensions[1]);\r
-\r
- WebResponse response;\r
- try\r
- {\r
- WebRequest request = GetRequestForMessage (uri, message);\r
- SendRequest (request.GetRequestStream (), message, extensions);\r
- response = GetWebResponse (request);\r
- }\r
- catch (WebException ex)\r
- {\r
- response = ex.Response;\r
- HttpWebResponse http_response = response as HttpWebResponse;\r
- if (http_response == null || http_response.StatusCode != HttpStatusCode.InternalServerError)\r
- throw ex;\r
- }\r
-\r
- return ReceiveResponse (response, message, extensions);\r
- }\r
- \r
-#if NET_2_0\r
-\r
- [MonoTODO ("Do something with this")]\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- [Obsolete]\r
- public WsiClaims ConformanceClaims {\r
- get { return conformanceClaims; }\r
- set { conformanceClaims = value; }\r
- }\r
- \r
- [MonoTODO ("Do something with this")]\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public SoapProtocolVersion SoapVersion {\r
- get { return soapVersion; }\r
- set { soapVersion = value; }\r
- }\r
- \r
- protected void InvokeAsync (string methodName, object[] parameters, SendOrPostCallback callback)\r
- {\r
- InvokeAsync (methodName, parameters, callback, null);\r
- }\r
-\r
- protected void InvokeAsync (string methodName, object[] parameters, SendOrPostCallback callback, object userState)\r
- {\r
- InvokeAsyncInfo info = new InvokeAsyncInfo (callback, userState);\r
- BeginInvoke (methodName, parameters, new AsyncCallback (InvokeAsyncCallback), info);\r
- }\r
- \r
- void InvokeAsyncCallback (IAsyncResult ar)\r
- {\r
- InvokeAsyncInfo info = (InvokeAsyncInfo) ar.AsyncState;\r
- SoapWebClientAsyncResult sar = (SoapWebClientAsyncResult) ar;\r
- InvokeCompletedEventArgs args = new InvokeCompletedEventArgs (sar.Exception, false, info.UserState, (object[]) sar.Result);\r
- if (info.Context != null)\r
- info.Context.SendOrPost (info.Callback, args);\r
- else\r
- info.Callback (args);\r
- }\r
-\r
-#endif\r
-\r
- #endregion // Methods\r
- }\r
-}
-\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapMessage.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class SoapMessage {\r
-\r
- #region Fields\r
-\r
- string content_type = "text/xml";\r
- string content_encoding;\r
- SoapException exception = null;\r
- SoapHeaderCollection headers;\r
- SoapMessageStage stage;\r
- Stream stream;\r
- object[] inParameters;\r
- object[] outParameters;\r
- \r
-#if NET_2_0\r
- SoapProtocolVersion soapVersion;\r
-#endif\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- internal SoapMessage ()\r
- {\r
- headers = new SoapHeaderCollection ();\r
- }\r
-\r
- internal SoapMessage (Stream stream)\r
- {\r
- this.stream = stream;\r
- }\r
-\r
- internal SoapMessage (Stream stream, SoapException exception)\r
- {\r
- this.exception = exception;\r
- this.stream = stream;\r
- headers = new SoapHeaderCollection ();\r
- }\r
-\r
- #endregion\r
-\r
- #region Properties\r
-\r
- internal object[] InParameters \r
- {\r
- get { return inParameters; }\r
- set { inParameters = value; }\r
- }\r
-\r
- internal object[] OutParameters \r
- {\r
- get { return outParameters; }\r
- set { outParameters = value; }\r
- }\r
-\r
- public abstract string Action \r
- {\r
- get;\r
- }\r
-\r
- public string ContentType {\r
- get { return content_type; }\r
- set { content_type = value; }\r
- }\r
-\r
- public SoapException Exception {\r
- get { return exception; }\r
-#if NET_2_0\r
- set { exception = value; }\r
-#endif\r
- }\r
-\r
- public SoapHeaderCollection Headers {\r
- get { return headers; }\r
- }\r
-\r
- public abstract LogicalMethodInfo MethodInfo {\r
- get;\r
- }\r
-\r
- public abstract bool OneWay {\r
- get;\r
- }\r
-\r
- public SoapMessageStage Stage {\r
- get { return stage; }\r
- }\r
-\r
- internal void SetStage (SoapMessageStage stage)\r
- {\r
- this.stage = stage;\r
- }\r
- \r
- public Stream Stream {\r
- get {\r
- return stream;\r
- }\r
- }\r
-\r
- public abstract string Url {\r
- get;\r
- }\r
- \r
-#if NET_1_1\r
- public string ContentEncoding\r
- {\r
- get { return content_encoding; }\r
- set { content_encoding = value; }\r
- }\r
-#else\r
- internal string ContentEncoding\r
- {\r
- get { return content_encoding; }\r
- set { content_encoding = value; }\r
- }\r
-#endif\r
-\r
-#if NET_2_0\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public virtual SoapProtocolVersion SoapVersion {\r
- get { return soapVersion; }\r
- }\r
-#endif\r
- \r
- #endregion Properties\r
-\r
- #region Methods\r
-\r
- protected abstract void EnsureInStage ();\r
- protected abstract void EnsureOutStage ();\r
-\r
- protected void EnsureStage (SoapMessageStage stage) \r
- {\r
- if ((((int) stage) & ((int) Stage)) == 0)\r
- throw new InvalidOperationException ("The current SoapMessageStage is not the asserted stage or stages.");\r
- }\r
-\r
- public object GetInParameterValue (int index) \r
- {\r
- return inParameters [index];\r
- }\r
-\r
- public object GetOutParameterValue (int index) \r
- {\r
- if (MethodInfo.IsVoid) return outParameters [index];\r
- else return outParameters [index + 1];\r
- }\r
-\r
- public object GetReturnValue ()\r
- {\r
- if (!MethodInfo.IsVoid && exception == null) return outParameters [0];\r
- else return null;\r
- }\r
-\r
- internal void SetHeaders (SoapHeaderCollection headers)\r
- {\r
- this.headers = headers;\r
- }\r
-\r
- internal void SetException (SoapException ex)\r
- {\r
- exception = ex;\r
- }\r
-\r
- internal void CollectHeaders (object target, HeaderInfo[] headers, SoapHeaderDirection direction)\r
- {\r
- Headers.Clear ();\r
- foreach (HeaderInfo hi in headers) \r
- {\r
- if ((hi.Direction & direction) != 0 && !hi.IsUnknownHeader) \r
- {\r
- SoapHeader headerVal = hi.GetHeaderValue (target) as SoapHeader;\r
- if (headerVal != null)\r
- Headers.Add (headerVal);\r
- }\r
- }\r
- }\r
-\r
- internal void UpdateHeaderValues (object target, HeaderInfo[] headersInfo)\r
- {\r
- foreach (SoapHeader header in Headers)\r
- {\r
- HeaderInfo hinfo = FindHeader (headersInfo, header.GetType ());\r
- if (hinfo != null) {\r
- hinfo.SetHeaderValue (target, header);
- header.DidUnderstand = !hinfo.IsUnknownHeader;
- }\r
- }\r
- }\r
-\r
- HeaderInfo FindHeader (HeaderInfo[] headersInfo, Type headerType)\r
- {
- HeaderInfo unknownHeaderInfo = null;
- \r
- foreach (HeaderInfo headerInfo in headersInfo) {
- if (headerInfo.HeaderType == headerType)
- return headerInfo;
- else if (headerInfo.IsUnknownHeader)
- unknownHeaderInfo = headerInfo;
- }
- return unknownHeaderInfo;
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapMessageStage.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Protocols {\r
-\r
- [Serializable]\r
- public enum SoapMessageStage {\r
- AfterDeserialize = 0x8,\r
- AfterSerialize = 0x2,\r
- BeforeDeserialize = 0x4,\r
- BeforeSerialize = 0x1\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapParameterStyle.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Protocols {\r
- [Serializable]\r
- public enum SoapParameterStyle {\r
- Default = 0x0,\r
- Bare = 0x1,\r
- Wrapped = 0x2\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Protocols.SoapProtocolVersion.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-namespace System.Web.Services.Protocols
-{
- [Serializable]
- public enum SoapProtocolVersion
- {
- Default,
- Soap11,
- Soap12
- }
-}
-
-#endif
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapRpcMethodAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Description;\r
-\r
-namespace System.Web.Services.Protocols {\r
- [AttributeUsage (AttributeTargets.Method, Inherited = true)]\r
- public sealed class SoapRpcMethodAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- string action;\r
- string binding;\r
- bool oneWay;\r
- string requestElementName;\r
- string requestNamespace;\r
- string responseElementName;\r
- string responseNamespace;\r
- \r
-#if NET_2_0\r
- SoapBindingUse use;\r
-#endif\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public SoapRpcMethodAttribute ()\r
- {\r
- }\r
-\r
- public SoapRpcMethodAttribute (string action)\r
- : this ()\r
- {\r
- this.action = action;\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public string Action {\r
- get { return action != null ? action : ""; }\r
- set { action = value; }\r
- }\r
-\r
- public string Binding {\r
- get { return binding; }\r
- set { binding = value; }\r
- }\r
-\r
- public bool OneWay {\r
- get { return oneWay; }\r
- set { oneWay = value; }\r
- }\r
-\r
- public string RequestElementName {\r
- get { return requestElementName != null ? requestElementName : ""; }\r
- set { requestElementName = value; }\r
- }\r
-\r
- public string RequestNamespace {\r
- get { return requestNamespace != null ? requestNamespace : ""; }\r
- set { requestNamespace = value; }\r
- }\r
-\r
- public string ResponseElementName {\r
- get { return responseElementName != null ? responseElementName : ""; }\r
- set { responseElementName = value; }\r
- }\r
-\r
- public string ResponseNamespace {\r
- get { return responseNamespace != null ? responseNamespace : ""; }\r
- set { responseNamespace = value; }\r
- }\r
- \r
-#if NET_2_0\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public SoapBindingUse Use {\r
- get { return use; }\r
- set { use = value; }\r
- }\r
-#endif\r
-\r
- #endregion // Properties\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapRpcServiceAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services.Description;\r
-\r
-namespace System.Web.Services.Protocols {\r
- [AttributeUsage (AttributeTargets.Class, Inherited = true)]\r
- public sealed class SoapRpcServiceAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- SoapServiceRoutingStyle routingStyle;\r
-#if NET_2_0\r
- SoapBindingUse use;\r
-#endif\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public SoapRpcServiceAttribute ()\r
- {\r
- routingStyle = SoapServiceRoutingStyle.SoapAction;\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public SoapServiceRoutingStyle RoutingStyle {\r
- get { return routingStyle; }\r
- set { routingStyle = value; }\r
- }\r
-\r
-#if NET_2_0\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public SoapBindingUse Use {\r
- get { return use; }\r
- set { use = value; }\r
- }\r
-#endif\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapServerMessage.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.IO;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public sealed class SoapServerMessage : SoapMessage {\r
-\r
- #region Fields\r
-\r
- string action;\r
- SoapMethodStubInfo stubInfo;\r
- object server;\r
- string url;\r
- object[] parameters;\r
-\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- internal SoapServerMessage (HttpRequest request, object server, Stream stream)\r
- : base (stream, null)\r
- {\r
- this.action = request.Headers ["SOAPAction"];\r
- this.server = server;\r
- this.url = request.Url.ToString();\r
- }\r
-\r
- internal SoapServerMessage (HttpRequest request, SoapException exception, SoapMethodStubInfo stubInfo, object server, Stream stream)\r
- : base (stream, exception)\r
- {\r
- this.action = request.Headers ["SOAPAction"];\r
- this.stubInfo = stubInfo;\r
- this.server = server;\r
- this.url = request.Url.ToString();\r
- }\r
-\r
- #endregion\r
-\r
- #region Properties\r
-\r
- public override LogicalMethodInfo MethodInfo {\r
- get { return stubInfo.MethodInfo; }\r
- }\r
-\r
- public override string Action {\r
- get { return action; }\r
- }\r
-\r
- internal SoapMethodStubInfo MethodStubInfo {\r
- get { return stubInfo; }\r
- set { stubInfo = value; }\r
- }\r
-\r
- public override bool OneWay {\r
- get { return stubInfo.OneWay; }\r
- }\r
-\r
- public object Server {\r
- get { return server; }\r
- } \r
-\r
- public override string Url {\r
- get { return url; }\r
- }\r
-\r
-#if NET_2_0\r
- [MonoTODO]\r
- [System.Runtime.InteropServices.ComVisible(false)]\r
- public override SoapProtocolVersion SoapVersion {\r
- get { throw new NotImplementedException (); }\r
- }\r
-#endif\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- protected override void EnsureInStage ()\r
- {\r
- EnsureStage (SoapMessageStage.AfterDeserialize);\r
- }\r
-\r
- protected override void EnsureOutStage ()\r
- {\r
- EnsureStage (SoapMessageStage.BeforeSerialize);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapServerProtocol.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- [MonoTODO ("Figure out what this class does.")]\r
- internal class SoapServerProtocol : ServerProtocol {\r
-\r
- #region Fields\r
-\r
- bool isOneWay;\r
-\r
- #endregion // Fields\r
-\r
- #region Properties\r
-\r
- public override bool IsOneWay {\r
- get { return isOneWay; }\r
- }\r
-\r
- [MonoTODO]\r
- public override LogicalMethodInfo MethodInfo {\r
- get { throw new NotImplementedException (); }\r
- }\r
-\r
- [MonoTODO]\r
- public override Exception OnewayInitException {\r
- get { throw new NotImplementedException (); }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- [MonoTODO]\r
- public override bool Initialize ()\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- [MonoTODO]\r
- public override object[] ReadParameters ()\r
- {\r
- throw new NotImplementedException ();\r
- }\r
- \r
- [MonoTODO]\r
- public override bool WriteException (Exception e, Stream outputStream)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
- \r
- [MonoTODO]\r
- public override void WriteReturns (object[] returnValues, Stream outputStream)\r
- {\r
- throw new NotImplementedException ();\r
- }\r
-\r
- #endregion\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapServiceRoutingStyle.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services.Protocols {\r
- [Serializable]\r
- public enum SoapServiceRoutingStyle {\r
- SoapAction = 0x0,\r
- RequestElement = 0x1\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.SoapUnknownHeader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public sealed class SoapUnknownHeader : SoapHeader {\r
-\r
- #region Fields\r
-\r
- XmlElement element;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public SoapUnknownHeader ()\r
- {\r
- element = null;\r
- }\r
-\r
- internal SoapUnknownHeader (XmlElement elem): base (elem)\r
- {\r
- element = elem;\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [XmlIgnore]\r
- public XmlElement Element {\r
- get { return element; }\r
- set { element = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.TextReturnReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System;\r
-using System.IO;\r
-using System.Net;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class TextReturnReader : MimeReturnReader {\r
-\r
- PatternMatcher _matcher;\r
- \r
- #region Constructors\r
-\r
- public TextReturnReader () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public override object GetInitializer (LogicalMethodInfo methodInfo)\r
- {\r
- return new PatternMatcher (methodInfo.ReturnType);\r
- }\r
-\r
- public override void Initialize (object o)\r
- {\r
- _matcher = (PatternMatcher) o;\r
- }\r
-\r
- public override object Read (WebResponse response, Stream responseStream)\r
- {\r
- StreamReader sr = new StreamReader (responseStream);\r
- string text = sr.ReadToEnd ();\r
- return _matcher.Match (text);\r
- }\r
- \r
- #endregion // Methods\r
- } \r
-}\r
-\r
+++ /dev/null
-//
-// Methods.cs: Information about a method and its mapping to a SOAP web service.
-//
-// Author:
-// Miguel de Icaza
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// (C) 2003 Ximian, Inc.
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Reflection;
-using System.Collections;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Description;
-
-namespace System.Web.Services.Protocols {
-
- //
- // This class represents all the information we extract from a MethodInfo
- // in the WebClientProtocol derivative stub class
- //
- internal class MethodStubInfo
- {
- internal LogicalMethodInfo MethodInfo;
- internal TypeStubInfo TypeStub;
-
- // The name used by the stub class to reference this method.
- internal string Name;
- internal WebMethodAttribute MethodAttribute;
-
- internal string OperationName
- {
- get { return MethodInfo.Name; }
- }
-
- //
- // Constructor
- //
- public MethodStubInfo (TypeStubInfo parent, LogicalMethodInfo source)
- {
- TypeStub = parent;
- MethodInfo = source;
-
- object [] o = source.GetCustomAttributes (typeof (WebMethodAttribute));
- if (o.Length > 0)
- {
- MethodAttribute = (WebMethodAttribute) o [0];
- Name = MethodAttribute.MessageName;
- if (Name == "") Name = source.Name;
- }
- else
- Name = source.Name;
- }
- }
-
- //
- // Holds the metadata loaded from the type stub, as well as
- // the metadata for all the methods in the type
- //
- internal class TypeStubInfo
- {
- Hashtable name_to_method = new Hashtable ();
- MethodStubInfo[] methods;
- ArrayList bindings = new ArrayList ();
- LogicalTypeInfo logicalType;
- string defaultBinding;
- ArrayList mappings;
- XmlSerializer[] serializers;
-
- public TypeStubInfo (LogicalTypeInfo logicalTypeInfo)
- {
- this.logicalType = logicalTypeInfo;
-
- defaultBinding = logicalType.WebServiceName + ProtocolName;
- BindingInfo binfo = new BindingInfo (defaultBinding, logicalType.WebServiceNamespace);
- Bindings.Add (binfo);
- }
-
- public LogicalTypeInfo LogicalType
- {
- get { return logicalType; }
- }
-
- public Type Type
- {
- get { return logicalType.Type; }
- }
-
- public string DefaultBinding
- {
- get { return defaultBinding; }
- }
-
- public virtual XmlReflectionImporter XmlImporter
- {
- get { return null; }
- }
-
- public virtual SoapReflectionImporter SoapImporter
- {
- get { return null; }
- }
-
- public virtual string ProtocolName
- {
- get { return null; }
- }
-
- public XmlSerializer GetSerializer (int n)
- {
- return serializers [n];
- }
-
- public int RegisterSerializer (XmlMapping map)
- {
- if (mappings == null) mappings = new ArrayList ();
- return mappings.Add (map);
- }
-
- public void Initialize ()
- {
- BuildTypeMethods ();
-
- if (mappings != null)
- {
- // Build all the serializers at once
- XmlMapping[] maps = (XmlMapping[]) mappings.ToArray(typeof(XmlMapping));
- serializers = XmlSerializer.FromMappings (maps);
- }
- }
-
- //
- // Extract all method information
- //
- protected virtual void BuildTypeMethods ()
- {
- bool isClientProxy = typeof(WebClientProtocol).IsAssignableFrom (Type);
-
- ArrayList metStubs = new ArrayList ();
- foreach (LogicalMethodInfo mi in logicalType.LogicalMethods)
- {
- if (!isClientProxy && mi.CustomAttributeProvider.GetCustomAttributes (typeof(WebMethodAttribute), true).Length == 0)
- continue;
-
- MethodStubInfo msi = CreateMethodStubInfo (this, mi, isClientProxy);
-
- if (msi == null)
- continue;
-
- if (name_to_method.ContainsKey (msi.Name)) {
- string msg = "Both " + msi.MethodInfo.ToString () + " and " + GetMethod (msi.Name).MethodInfo + " use the message name '" + msi.Name + "'. ";
- msg += "Use the MessageName property of WebMethod custom attribute to specify unique message names for the methods";
- throw new InvalidOperationException (msg);
- }
-
- name_to_method [msi.Name] = msi;
- metStubs.Add (msi);
- }
- methods = (MethodStubInfo[]) metStubs.ToArray (typeof (MethodStubInfo));
- }
-
- protected virtual MethodStubInfo CreateMethodStubInfo (TypeStubInfo typeInfo, LogicalMethodInfo methodInfo, bool isClientProxy)
- {
- return new MethodStubInfo (typeInfo, methodInfo);
- }
-
- public MethodStubInfo GetMethod (string name)
- {
- return (MethodStubInfo) name_to_method [name];
- }
-
- public MethodStubInfo[] Methods
- {
- get { return methods; }
- }
-
- internal ArrayList Bindings
- {
- get { return bindings; }
- }
-
- internal void AddBinding (BindingInfo info)
- {
- bindings.Add (info);
- }
-
- internal BindingInfo GetBinding (string name)
- {
- if (name == null || name.Length == 0) return (BindingInfo) bindings[0];
-
- for (int n=1; n<bindings.Count; n++)
- if (((BindingInfo)bindings[n]).Name == name) return (BindingInfo)bindings[n];
- return null;
- }
- }
-
- internal class BindingInfo
- {
- public BindingInfo (WebServiceBindingAttribute at, string ns)
- {
- Name = at.Name;
- Namespace = at.Namespace;
- if (Namespace == "") Namespace = ns;
- Location = at.Location;
- }
-
- public BindingInfo (string name, string ns)
- {
- Name = name;
- Namespace = ns;
- }
-
- public string Name;
- public string Namespace;
- public string Location;
- }
-
-
- //
- // This class has information abou a web service. Through providess
- // access to the TypeStubInfo instances for each protocol.
- //
- internal class LogicalTypeInfo
- {
- LogicalMethodInfo[] logicalMethods;
-
- internal string WebServiceName;
- internal string WebServiceNamespace;
- string WebServiceLiteralNamespace;
- string WebServiceEncodedNamespace;
- internal string WebServiceAbstractNamespace;
- internal string Description;
- internal Type Type;
- bool useEncoded;
-
- TypeStubInfo soapProtocol;
- TypeStubInfo httpGetProtocol;
- TypeStubInfo httpPostProtocol;
-
- public LogicalTypeInfo (Type t)
- {
- this.Type = t;
-
- object [] o = Type.GetCustomAttributes (typeof (WebServiceAttribute), false);
- if (o.Length == 1){
- WebServiceAttribute a = (WebServiceAttribute) o [0];
- WebServiceName = (a.Name != string.Empty) ? a.Name : Type.Name;
- WebServiceNamespace = (a.Namespace != string.Empty) ? a.Namespace : WebServiceAttribute.DefaultNamespace;
- Description = a.Description;
- } else {
- WebServiceName = Type.Name;
- WebServiceNamespace = WebServiceAttribute.DefaultNamespace;
- }
-
- // Determine the namespaces for literal and encoded schema types
-
- useEncoded = false;
-
- o = t.GetCustomAttributes (typeof(SoapDocumentServiceAttribute), true);
- if (o.Length > 0) {
- SoapDocumentServiceAttribute at = (SoapDocumentServiceAttribute) o[0];
- useEncoded = (at.Use == SoapBindingUse.Encoded);
- }
- else if (t.GetCustomAttributes (typeof(SoapRpcServiceAttribute), true).Length > 0)
- useEncoded = true;
-
- string sep = WebServiceNamespace.EndsWith ("/") ? "" : "/";
-
- if (useEncoded) {
- WebServiceEncodedNamespace = WebServiceNamespace;
- WebServiceLiteralNamespace = WebServiceNamespace + sep + "literalTypes";
- }
- else {
- WebServiceEncodedNamespace = WebServiceNamespace + sep + "encodedTypes";
- WebServiceLiteralNamespace = WebServiceNamespace;
- }
-
- WebServiceAbstractNamespace = WebServiceNamespace + sep + "AbstractTypes";
-
- MethodInfo [] type_methods = Type.GetMethods (BindingFlags.Instance | BindingFlags.Public);
- logicalMethods = LogicalMethodInfo.Create (type_methods, LogicalMethodTypes.Sync);
- }
-
- public LogicalMethodInfo[] LogicalMethods
- {
- get { return logicalMethods; }
- }
-
- public TypeStubInfo GetTypeStub (string protocolName)
- {
- lock (this)
- {
- switch (protocolName)
- {
- case "Soap":
- if (soapProtocol == null) soapProtocol = CreateTypeStubInfo (typeof(SoapTypeStubInfo));
- return soapProtocol;
- case "HttpGet":
- if (httpGetProtocol == null) httpGetProtocol = CreateTypeStubInfo (typeof(HttpGetTypeStubInfo));
- return httpGetProtocol;
- case "HttpPost":
- if (httpPostProtocol == null) httpPostProtocol = CreateTypeStubInfo (typeof(HttpPostTypeStubInfo));
- return httpPostProtocol;
- }
- }
- throw new InvalidOperationException ("Protocol " + protocolName + " not supported");
- }
-
- TypeStubInfo CreateTypeStubInfo (Type type)
- {
- TypeStubInfo tsi = (TypeStubInfo) Activator.CreateInstance (type, new object[] {this});
- tsi.Initialize ();
- return tsi;
- }
-
- public string GetWebServiceLiteralNamespace (string baseNamespace)
- {
- if (useEncoded) {
- string sep = baseNamespace.EndsWith ("/") ? "" : "/";
- return baseNamespace + sep + "literalTypes";
- }
- else
- return baseNamespace;
- }
-
- public string GetWebServiceEncodedNamespace (string baseNamespace)
- {
- if (useEncoded)
- return baseNamespace;
- else {
- string sep = baseNamespace.EndsWith ("/") ? "" : "/";
- return baseNamespace + sep + "encodedTypes";
- }
- }
-
- public string GetWebServiceNamespace (string baseNamespace, SoapBindingUse use)
- {
- if (use == SoapBindingUse.Literal) return GetWebServiceLiteralNamespace (baseNamespace);
- else return GetWebServiceEncodedNamespace (baseNamespace);
- }
-
- }
-
- //
- // Manages type stubs
- //
- internal class TypeStubManager
- {
- static Hashtable type_to_manager;
-
- static TypeStubManager ()
- {
- type_to_manager = new Hashtable ();
- }
-
- static internal TypeStubInfo GetTypeStub (Type t, string protocolName)
- {
- LogicalTypeInfo tm = GetLogicalTypeInfo (t);
- return tm.GetTypeStub (protocolName);
- }
-
- //
- // This needs to be thread safe
- //
- static internal LogicalTypeInfo GetLogicalTypeInfo (Type t)
- {
- lock (type_to_manager)
- {
- LogicalTypeInfo tm = (LogicalTypeInfo) type_to_manager [t];
-
- if (tm != null)
- return tm;
-
- tm = new LogicalTypeInfo (t);
- type_to_manager [t] = tm;
-
- return tm;
- }
- }
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.UrlEncodedParameterWriter.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Text;\r
-using System.Web.Services;\r
-using System.Web;\r
-using System.Reflection;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class UrlEncodedParameterWriter : MimeParameterWriter {\r
-\r
- Encoding requestEncoding;\r
- ParameterInfo[] parameters;\r
- \r
- #region Constructors\r
-\r
- protected UrlEncodedParameterWriter () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties \r
-\r
- public override Encoding RequestEncoding {\r
- get { return requestEncoding; }\r
- set { requestEncoding = value; }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- protected void Encode (TextWriter writer, object[] values)\r
- {\r
- for (int n=0; n<values.Length; n++)\r
- {\r
- if (n>0) writer.Write ("&");\r
- Encode (writer, parameters[n].Name, values[n]);\r
- }\r
- }\r
-\r
- protected void Encode (TextWriter writer, string name, object value)\r
- {\r
- if (requestEncoding != null)\r
- {\r
- writer.Write (HttpUtility.UrlEncode (name, requestEncoding));\r
- writer.Write ("=");\r
- writer.Write (HttpUtility.UrlEncode (ObjToString (value), requestEncoding));\r
- }\r
- else\r
- {\r
- writer.Write (HttpUtility.UrlEncode (name));\r
- writer.Write ("=");\r
- writer.Write (HttpUtility.UrlEncode (ObjToString (value)));\r
- }\r
- \r
- }\r
-\r
- public override object GetInitializer (LogicalMethodInfo methodInfo)\r
- {\r
- if (methodInfo.OutParameters.Length > 0) return null;\r
- else return methodInfo.Parameters;\r
- }\r
-\r
- public override void Initialize (object initializer)\r
- {\r
- parameters = (ParameterInfo[]) initializer;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.UrlParameterReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class UrlParameterReader : ValueCollectionParameterReader {\r
-\r
- #region Constructors\r
-\r
- public UrlParameterReader () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public override object[] Read (HttpRequest request)\r
- {\r
- return Read (request.QueryString);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.UrlParameterWriter.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Web.Services;\r
-using System.IO;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class UrlParameterWriter : UrlEncodedParameterWriter {\r
-\r
- #region Constructors\r
-\r
- public UrlParameterWriter () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public override string GetRequestUrl (string url, object[] parameters)\r
- {\r
- StringWriter sw = new StringWriter ();\r
- Encode (sw, parameters);\r
- return url + "?" + sw.ToString ();\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.ValueCollectionParameterReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections.Specialized;\r
-using System.Reflection;\r
-using System.Web;\r
-using System.Xml;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class ValueCollectionParameterReader : MimeParameterReader {\r
-\r
- ParameterInfo[] parameters;\r
-\r
- #region Constructors\r
-\r
- protected ValueCollectionParameterReader () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public override object GetInitializer (LogicalMethodInfo methodInfo)\r
- {\r
- if (IsSupported (methodInfo)) return methodInfo.Parameters;\r
- else return null;\r
- }\r
-\r
- public override void Initialize (object o)\r
- {\r
- parameters = (ParameterInfo[]) o;\r
- }\r
-\r
- public static bool IsSupported (LogicalMethodInfo methodInfo)\r
- {\r
- foreach (ParameterInfo param in methodInfo.Parameters)\r
- if (!IsSupported (param)) return false;\r
- return true;\r
- }\r
-\r
- public static bool IsSupported (ParameterInfo paramInfo)\r
- {\r
- Type type = paramInfo.ParameterType;\r
- if (type.IsByRef || paramInfo.IsOut) return false;\r
- if (type.IsArray) return IsSupportedPrimitive (type.GetElementType());\r
- else return IsSupportedPrimitive (type);\r
- }\r
- \r
- internal static bool IsSupportedPrimitive (Type type)\r
- {\r
- return ( type.IsPrimitive || \r
- type == typeof(string) ||\r
- type == typeof(DateTime) ||\r
- type == typeof(Decimal)\r
- );\r
- }\r
-\r
- protected object[] Read (NameValueCollection collection)\r
- {\r
- object[] res = new object [parameters.Length];\r
- for (int n=0; n<res.Length; n++)\r
- {\r
- string val = collection [parameters[n].Name];\r
- if (val == null) throw new InvalidOperationException ("Missing parameter: " + parameters[n].Name);\r
- try\r
- {\r
- res [n] = StringToObj (parameters[n].ParameterType, val);\r
- }\r
- catch (Exception ex)\r
- {\r
- string error = "Cannot convert '" + val + "' to " + parameters[n].ParameterType.FullName + "\n";\r
- error += "Parameter name: " + parameters[n].Name + " --> " + ex.Message;\r
- throw new InvalidOperationException (error);\r
- }\r
- }\r
- return res;\r
- }\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.WebClientAsyncResult.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-// Lluis Sanchez Gual (lluis@ximian.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Net;\r
-using System.Threading;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class WebClientAsyncResult : IAsyncResult {\r
-\r
- #region Fields\r
-\r
- AsyncCallback _callback;\r
- object _asyncState;\r
-\r
- bool _completedSynchronously;\r
- bool _done;\r
- ManualResetEvent _waitHandle;\r
- \r
- internal object Result;\r
- internal Exception Exception;\r
- internal WebRequest Request;\r
- \r
- #endregion // Fields\r
-\r
- #region Constructors \r
-\r
- internal WebClientAsyncResult (WebRequest request, AsyncCallback callback, object asyncState)\r
- {\r
- _callback = callback; \r
- Request = request;\r
- _asyncState = asyncState;\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public object AsyncState {\r
- get { return _asyncState; }\r
- }\r
-\r
- public WaitHandle AsyncWaitHandle \r
- {\r
- get\r
- {\r
- lock (this) {\r
- if (_waitHandle != null) return _waitHandle;\r
- _waitHandle = new ManualResetEvent (_done);\r
- return _waitHandle;\r
- }\r
- }\r
- }\r
-\r
- public bool CompletedSynchronously \r
- {\r
- get { return _completedSynchronously; }\r
- }\r
-\r
- public bool IsCompleted \r
- {\r
- get { lock (this) { return _done; } }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public void Abort ()\r
- {\r
- Request.Abort ();\r
- }\r
-\r
- internal void SetCompleted (object result, Exception exception, bool async)\r
- {\r
- lock (this)\r
- {\r
- Exception = exception;\r
- Result = result;\r
- _done = true;\r
- _completedSynchronously = async;\r
- if (_waitHandle != null) _waitHandle.Set ();\r
- Monitor.PulseAll (this);\r
- }\r
- if (_callback != null) _callback (this);\r
- }\r
-\r
- internal void WaitForComplete ()\r
- {\r
- lock (this)\r
- {\r
- Monitor.Wait (this);\r
- }\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.WebClientProtocol.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.Collections.Specialized;\r
-using System.ComponentModel;\r
-using System.Net;\r
-using System.Text;\r
-using System.Threading;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public abstract class WebClientProtocol : Component {\r
-\r
- #region Fields\r
-\r
- string connectionGroupName;\r
- ICredentials credentials;\r
- bool preAuthenticate;\r
- Encoding requestEncoding;\r
- int timeout;\r
- string url;\r
- bool abort;\r
-\r
- //\r
- // Used by SoapHttpClientProtocol, use this to avoid creating a new Uri on each invocation.\r
- //\r
- internal Uri uri;\r
- \r
- //\r
- // Points to the current request, so we can call Abort() on it\r
- //\r
- WebRequest current_request;\r
- \r
- static HybridDictionary cache;\r
- #endregion\r
-\r
- #region Constructors\r
-\r
- static WebClientProtocol ()\r
- {\r
- cache = new HybridDictionary ();\r
- }\r
-\r
- protected WebClientProtocol () \r
- {\r
- connectionGroupName = String.Empty;\r
- credentials = null;\r
- preAuthenticate = false;\r
- requestEncoding = null;\r
- timeout = 100000;\r
- url = String.Empty;\r
- abort = false;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [DefaultValue ("")]\r
- public string ConnectionGroupName {\r
- get { return connectionGroupName; }\r
- set { connectionGroupName = value; }\r
- }\r
-\r
- public ICredentials Credentials {\r
- get { return credentials; }\r
- set { credentials = value; }\r
- }\r
-\r
- [DefaultValue (false)]\r
- [WebServicesDescription ("Enables pre authentication of the request.")]\r
- public bool PreAuthenticate {\r
- get { return preAuthenticate; }\r
- set { preAuthenticate = value; }\r
- }\r
-\r
- [DefaultValue ("")]\r
- [RecommendedAsConfigurable (true)]\r
- [WebServicesDescription ("The encoding to use for requests.")]\r
- public Encoding RequestEncoding {\r
- get { return requestEncoding; }\r
- set { requestEncoding = value; }\r
- }\r
-\r
- [DefaultValue (100000)]\r
- [RecommendedAsConfigurable (true)]\r
- [WebServicesDescription ("Sets the timeout in milliseconds to be used for synchronous calls. The default of -1 means infinite.")]\r
- public int Timeout {\r
- get { return timeout; }\r
- set { timeout = value; }\r
- }\r
-\r
- [DefaultValue ("")]\r
- [RecommendedAsConfigurable (true)]\r
- [WebServicesDescription ("The base URL to the server to use for requests.")]\r
- public string Url {\r
- get { return url; }\r
- set {\r
- url = value;\r
- uri = new Uri (url);\r
- }\r
- }\r
-\r
- #endregion // Properties\r
-\r
- #region Methods\r
-\r
- public virtual void Abort ()\r
- {\r
- if (current_request != null){\r
- current_request.Abort ();\r
- current_request = null;\r
- }\r
- abort = true;\r
- }\r
-\r
- protected static void AddToCache (Type type, object value)\r
- {\r
- cache [type] = value;\r
- }\r
-\r
- protected static object GetFromCache (Type type)\r
- {\r
- return cache [type];\r
- }\r
-\r
- protected virtual WebRequest GetWebRequest (Uri uri)\r
- {\r
- if (uri == null)\r
- throw new InvalidOperationException ("uri is null");\r
-\r
- current_request = WebRequest.Create (uri);\r
- current_request.Timeout = timeout;\r
- current_request.PreAuthenticate = preAuthenticate;\r
- current_request.ConnectionGroupName = connectionGroupName;\r
-\r
- if (credentials != null)\r
- current_request.Credentials = credentials;\r
-\r
- return current_request;\r
- }\r
-\r
- protected virtual WebResponse GetWebResponse (WebRequest request)\r
- {\r
- if (abort)\r
- throw new WebException ("The operation has been aborted.", WebExceptionStatus.RequestCanceled);\r
-\r
- WebResponse response = null;\r
- try {\r
- request.Timeout = timeout;\r
- response = request.GetResponse ();\r
- } catch (WebException e) {\r
- response = e.Response;\r
- if (response == null)\r
- throw;\r
- }\r
-\r
- return response;\r
- }\r
-\r
- protected virtual WebResponse GetWebResponse (WebRequest request, IAsyncResult result)\r
- {\r
- if (abort)\r
- throw new WebException ("The operation has been aborted.", WebExceptionStatus.RequestCanceled);\r
-\r
- return request.EndGetResponse (result);\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.Protocols.WebServiceHandler.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Tim Coleman, 2002
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.Reflection;
-using System.Web;
-using System.Web.Services;
-using System.Web.SessionState;
-
-namespace System.Web.Services.Protocols
-{
- internal class WebServiceHandler: IHttpHandler
- {
- Type _type;
- HttpContext _context;
- HttpSessionState session;
-
-
- public WebServiceHandler (Type type)
- {
- _type = type;
- }
-
- public Type ServiceType
- {
- get { return _type; }
- }
-
- public virtual bool IsReusable
- {
- get { return false; }
- }
-
- protected HttpContext Context {
- set { _context = value; }
- }
-
- protected HttpSessionState Session {
- set { this.session = value; }
- }
-
- internal virtual MethodStubInfo GetRequestMethod (HttpContext context)
- {
- return null;
- }
-
- public virtual void ProcessRequest (HttpContext context)
- {
- }
-
- protected object CreateServerInstance ()
- {
- return Activator.CreateInstance (ServiceType);
- }
- }
-}
-
+++ /dev/null
-//
-// System.Web.Services.Protocols.WebServiceHandlerFactory.cs
-//
-// Authors:
-// Tim Coleman (tim@timcoleman.com)
-// Dave Bettin (dave@opendotnet.com)
-// Gonzalo Paniagua Javier (gonzalo@ximian.com)
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Tim Coleman, 2002
-// Copyright (c) 2003 Ximian, Inc. (http://www.ximian.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.IO;
-using System.Web.Services;
-using System.Web.Services.Configuration;
-using System.Web.SessionState;
-using System.Web.UI;
-using System.Collections.Specialized;
-
-namespace System.Web.Services.Protocols
-{
- class DummyHttpHandler : IHttpHandler
- {
- bool IHttpHandler.IsReusable {
- get { return false; }
- }
-
- void IHttpHandler.ProcessRequest (HttpContext context)
- {
- // Do nothing
- }
- }
-
- class SessionWrapperHandler : IHttpHandler, IRequiresSessionState
- {
- IHttpHandler handler;
-
- public SessionWrapperHandler (IHttpHandler handler)
- {
- this.handler = handler;
- }
-
- public bool IsReusable {
- get { return handler.IsReusable; }
- }
-
- public void ProcessRequest (HttpContext context)
- {
- handler.ProcessRequest (context);
- }
- }
-
- class ReadOnlySessionWrapperHandler : IHttpHandler, IRequiresSessionState, IReadOnlySessionState
- {
- IHttpHandler handler;
-
- public ReadOnlySessionWrapperHandler (IHttpHandler handler)
- {
- this.handler = handler;
- }
-
- public bool IsReusable {
- get { return handler.IsReusable; }
- }
-
- public void ProcessRequest (HttpContext context)
- {
- handler.ProcessRequest (context);
- }
- }
- public class WebServiceHandlerFactory : IHttpHandlerFactory
- {
-
- #region Constructors
-
- public WebServiceHandlerFactory ()
- {
- }
-
- #endregion // Constructors
-
- #region Methods
-
- public IHttpHandler GetHandler (HttpContext context, string verb, string url, string filePath)
- {
- Type type = WebServiceParser.GetCompiledType (filePath, context);
-
- WSProtocol protocol = GuessProtocol (context, verb);
- IHttpHandler handler = null;
-
- if (!WSConfig.IsSupported (protocol))
- return new DummyHttpHandler ();
-
- switch (protocol) {
- case WSProtocol.HttpSoap:
- handler = GetTypeHandler (context, new HttpSoapWebServiceHandler (type));
- break;
- case WSProtocol.HttpPost:
- case WSProtocol.HttpGet:
- handler = GetTypeHandler (context, new HttpSimpleWebServiceHandler (type, protocol.ToString ()));
- break;
- case WSProtocol.Documentation:
- SoapDocumentationHandler soapHandler;
- soapHandler = new SoapDocumentationHandler (type, context);
- if (soapHandler.PageHandler is IRequiresSessionState) {
- if (soapHandler.PageHandler is IReadOnlySessionState)
- handler = new ReadOnlySessionWrapperHandler (soapHandler);
- else
- handler = new SessionWrapperHandler (soapHandler);
- } else {
- handler = soapHandler;
- }
- break;
- }
-
- return handler;
- }
-
- IHttpHandler GetTypeHandler (HttpContext context, WebServiceHandler handler)
- {
- MethodStubInfo method = handler.GetRequestMethod (context);
- if (method == null) return null;
-
- if (method.MethodInfo.EnableSession)
- return new SessionWrapperHandler (handler);
- else
- return handler;
- }
-
- static WSProtocol GuessProtocol (HttpContext context, string verb)
- {
- if (context.Request.PathInfo == null || context.Request.PathInfo == "")
- {
- if (context.Request.RequestType == "GET")
- return WSProtocol.Documentation;
- else
- return WSProtocol.HttpSoap;
- }
- else
- {
- if (context.Request.RequestType == "GET")
- return WSProtocol.HttpGet;
- else
- return WSProtocol.HttpPost;
- }
- }
-
- public void ReleaseHandler (IHttpHandler handler)
- {
- }
-
- #endregion // Methods
- }
-}
+++ /dev/null
-//
-// System.Web.Services.Protocols.WebServiceHelper.cs
-//
-// Author:
-// Lluis Sanchez Gual (lluis@ximian.com)
-//
-// Copyright (C) Ximian, Inc. 2003
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System;
-using System.IO;
-using System.Net;
-using System.Text;
-using System.Xml;
-using System.Xml.Schema;
-using System.Xml.Serialization;
-using System.Web.Services.Description;
-
-namespace System.Web.Services.Protocols
-{
- internal class WebServiceHelper
- {
- public const string SoapEnvelopeNamespace = "http://schemas.xmlsoap.org/soap/envelope/";
- static readonly char [] trimChars = { '"', '\'' };
- static readonly bool prettyXml;
-
- static WebServiceHelper ()
- {
- string pxml = Environment.GetEnvironmentVariable ("MONO_WEBSERVICES_PRETTYXML");
- prettyXml = (pxml != null && pxml != "no");
- }
-
- public static XmlTextWriter CreateXmlWriter (Stream s)
- {
- // What a waste of UTF8encoders, but it has to be thread safe.
- XmlTextWriter xtw = new XmlTextWriter (s, new UTF8Encoding (false));
-
- if (prettyXml)
- xtw.Formatting = Formatting.Indented;
-
- return xtw;
- }
-
- public static Encoding GetContentEncoding (string cts, out string content_type)
- {
- string encoding;
-
- if (cts == null) cts = "";
-
- encoding = "utf-8";
- int start = 0;
- int idx = cts.IndexOf (';');
- if (idx == -1)
- content_type = cts;
- else
- content_type = cts.Substring (0, idx);
-
- content_type = content_type.Trim ();
- for (start = idx + 1; idx != -1;)
- {
- idx = cts.IndexOf (";", start);
- string body;
- if (idx == -1)
- body = cts.Substring (start);
- else
- {
- body = cts.Substring (start, idx - start);
- start = idx + 1;
- }
- body = body.Trim ();
- if (body.StartsWith ("charset="))
- {
- encoding = body.Substring (8);
- encoding = encoding.TrimStart (trimChars).TrimEnd (trimChars);
- }
- }
-
- return Encoding.GetEncoding (encoding);
- }
-
- public static void WriteSoapMessage (XmlTextWriter xtw, SoapTypeStubInfo info, SoapBindingUse methodUse, XmlSerializer bodySerializer, object bodyContent, SoapHeaderCollection headers)
- {
- xtw.WriteStartDocument ();
- xtw.WriteStartElement ("soap", "Envelope", WebServiceHelper.SoapEnvelopeNamespace);
- xtw.WriteAttributeString ("xmlns", "xsi", null, XmlSchema.InstanceNamespace);
- xtw.WriteAttributeString ("xmlns", "xsd", null, XmlSchema.Namespace);
-
- // Serialize headers
- if (headers != null)
- {
- foreach (SoapHeader header in headers)
- {
- XmlSerializer ser = info.GetHeaderSerializer (header.GetType(), methodUse);
- xtw.WriteStartElement ("soap", "Header", WebServiceHelper.SoapEnvelopeNamespace);
- ser.Serialize (xtw, header);
- xtw.WriteEndElement ();
- }
- }
-
- // Serialize body
- xtw.WriteStartElement ("soap", "Body", WebServiceHelper.SoapEnvelopeNamespace);
-
- if (methodUse == SoapBindingUse.Encoded)
- xtw.WriteAttributeString ("encodingStyle", WebServiceHelper.SoapEnvelopeNamespace, "http://schemas.xmlsoap.org/soap/encoding/");
-
- bodySerializer.Serialize (xtw, bodyContent);
-
- xtw.WriteEndElement ();
- xtw.WriteEndElement ();
- xtw.Flush ();
- }
-
- public static void ReadSoapMessage (XmlTextReader xmlReader, SoapTypeStubInfo typeStubInfo, SoapBindingUse methodUse, XmlSerializer bodySerializer, out object body, out SoapHeaderCollection headers)
- {
- xmlReader.MoveToContent ();\r
- xmlReader.ReadStartElement ("Envelope", WebServiceHelper.SoapEnvelopeNamespace);\r
-\r
- headers = ReadHeaders (typeStubInfo, methodUse, xmlReader);\r
-\r
- xmlReader.MoveToContent ();\r
- xmlReader.ReadStartElement ("Body", WebServiceHelper.SoapEnvelopeNamespace);\r
- xmlReader.MoveToContent ();
-
- if (xmlReader.LocalName == "Fault" && xmlReader.NamespaceURI == SoapEnvelopeNamespace)
- bodySerializer = Fault.Serializer;
-\r
- body = bodySerializer.Deserialize (xmlReader);\r
- }
-
- static SoapHeaderCollection ReadHeaders (SoapTypeStubInfo typeStubInfo, SoapBindingUse methodUse, XmlTextReader xmlReader)
- {
- SoapHeaderCollection headers = new SoapHeaderCollection ();
- while (! (xmlReader.NodeType == XmlNodeType.Element && xmlReader.LocalName == "Body" && xmlReader.NamespaceURI == WebServiceHelper.SoapEnvelopeNamespace))
- {
- if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.LocalName == "Header"
- && xmlReader.NamespaceURI == WebServiceHelper.SoapEnvelopeNamespace && !xmlReader.IsEmptyElement)
- {
- xmlReader.ReadStartElement ();
- xmlReader.MoveToContent ();
-
- while (xmlReader.NodeType != XmlNodeType.Element && xmlReader.NodeType != XmlNodeType.EndElement)
- xmlReader.Skip ();
-
- xmlReader.MoveToContent ();
-
- if (xmlReader.NodeType == XmlNodeType.Element) {
- XmlQualifiedName qname = new XmlQualifiedName (xmlReader.LocalName, xmlReader.NamespaceURI);
- XmlSerializer headerSerializer = typeStubInfo.GetHeaderSerializer (qname, methodUse);
- if (headerSerializer != null)
- {
- SoapHeader header = (SoapHeader) headerSerializer.Deserialize (xmlReader);
- headers.Add (header);
- }
- else
- {
- XmlDocument doc = new XmlDocument ();
- XmlElement elem = (XmlElement) doc.ReadNode (xmlReader);
- headers.Add (new SoapUnknownHeader (elem));
- }
- }
-
- while (xmlReader.NodeType != XmlNodeType.EndElement)
- xmlReader.Skip ();
-
- xmlReader.ReadEndElement ();
- }
- else
- xmlReader.Skip ();
- }
- return headers;
- }
-
- public static void InvalidOperation (string message, WebResponse response, Encoding enc)
- {
- if (response == null)
- throw new InvalidOperationException (message);
-
- if (enc == null)
- enc = Encoding.UTF8;
-
- StringBuilder sb = new StringBuilder ();
- sb.Append (message);
- sb.Append ("\r\nResponse error message:\r\n--\r\n");
-
- try {
- StreamReader resp = new StreamReader (response.GetResponseStream (), enc);
- sb.Append (resp.ReadToEnd ());
- } catch (Exception) {
- }
-
- throw new InvalidOperationException (sb.ToString ());
- }
- }
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.XmlReturnReader.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Net;\r
-using System.Xml.Serialization;\r
-using System.Web.Services;\r
-\r
-namespace System.Web.Services.Protocols {\r
- public class XmlReturnReader : MimeReturnReader {\r
-\r
- XmlSerializer serializer;\r
- \r
- #region Constructors\r
-\r
- public XmlReturnReader () \r
- {\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Methods\r
-\r
- public override object GetInitializer (LogicalMethodInfo methodInfo)\r
- {\r
- LogicalTypeInfo sti = TypeStubManager.GetLogicalTypeInfo (methodInfo.DeclaringType);\r
- object[] ats = methodInfo.ReturnTypeCustomAttributeProvider.GetCustomAttributes (typeof(XmlRootAttribute), true);
- XmlRootAttribute root = ats.Length > 0 ? ats[0] as XmlRootAttribute : null;
- return new XmlSerializer (methodInfo.ReturnType, null, null, root, sti.GetWebServiceLiteralNamespace (sti.WebServiceNamespace));\r
- }\r
-\r
- public override object[] GetInitializers (LogicalMethodInfo[] methodInfos)\r
- {\r
- XmlReflectionImporter importer = new XmlReflectionImporter ();\r
- XmlMapping[] sers = new XmlMapping [methodInfos.Length];\r
- for (int n=0; n<sers.Length; n++)\r
- {\r
- LogicalMethodInfo metinfo = methodInfos[n];\r
- if (metinfo.IsVoid) \r
- sers[n] = null;\r
- else\r
- {\r
- LogicalTypeInfo sti = TypeStubManager.GetLogicalTypeInfo (metinfo.DeclaringType);
- object[] ats = methodInfos[n].ReturnTypeCustomAttributeProvider.GetCustomAttributes (typeof(XmlRootAttribute), true);
- XmlRootAttribute root = ats.Length > 0 ? ats[0] as XmlRootAttribute : null;
- sers[n] = importer.ImportTypeMapping (methodInfos[n].ReturnType, root, sti.GetWebServiceLiteralNamespace (sti.WebServiceNamespace));\r
- }\r
- }\r
- return XmlSerializer.FromMappings (sers);\r
- }\r
- \r
- public override void Initialize (object o)\r
- {\r
- serializer = (XmlSerializer)o;\r
- }\r
-\r
- public override object Read (WebResponse response, Stream responseStream)\r
- {\r
- object result = null;\r
- if (serializer != null)\r
- {\r
- if (response.ContentType.IndexOf ("text/xml") == -1)\r
- throw new InvalidOperationException ("Result was not XML");\r
- \r
- result = serializer.Deserialize (responseStream);\r
- }\r
- responseStream.Close ();\r
- return result;\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-// \r
-// System.Web.Services.Protocols.XmlReturnWriter.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.IO;\r
-using System.Web;\r
-using System.Xml.Serialization;\r
-using System.Xml;\r
-using System.Text;\r
-\r
-namespace System.Web.Services.Protocols {\r
- internal class XmlReturnWriter : MimeReturnWriter {\r
-\r
- XmlSerializer serializer;\r
- \r
- #region Methods\r
-\r
- public override object GetInitializer (LogicalMethodInfo methodInfo)\r
- {\r
- LogicalTypeInfo sti = TypeStubManager.GetLogicalTypeInfo (methodInfo.DeclaringType);
- object[] ats = methodInfo.ReturnTypeCustomAttributeProvider.GetCustomAttributes (typeof(XmlRootAttribute), true);
- XmlRootAttribute root = ats.Length > 0 ? ats[0] as XmlRootAttribute : null; \r
- \r
- XmlReflectionImporter importer = new XmlReflectionImporter ();\r
- importer.IncludeTypes (methodInfo.CustomAttributeProvider);\r
- XmlTypeMapping map = importer.ImportTypeMapping (methodInfo.ReturnType, root, sti.GetWebServiceLiteralNamespace (sti.WebServiceNamespace));
- return new XmlSerializer (map);\r
- }\r
- \r
- public override object[] GetInitializers (LogicalMethodInfo[] methodInfos)\r
- {\r
- XmlReflectionImporter importer = new XmlReflectionImporter ();\r
- XmlMapping[] sers = new XmlMapping [methodInfos.Length];\r
- for (int n=0; n<sers.Length; n++)\r
- {\r
- LogicalMethodInfo metinfo = methodInfos[n];\r
- if (metinfo.IsVoid) \r
- sers[n] = null;\r
- else\r
- {\r
- importer.IncludeTypes (metinfo.CustomAttributeProvider);\r
- LogicalTypeInfo sti = TypeStubManager.GetLogicalTypeInfo (metinfo.DeclaringType);\r
- object[] ats = methodInfos[n].ReturnTypeCustomAttributeProvider.GetCustomAttributes (typeof(XmlRootAttribute), true);
- XmlRootAttribute root = ats.Length > 0 ? ats[0] as XmlRootAttribute : null;
- sers[n] = importer.ImportTypeMapping (methodInfos[n].ReturnType, root, sti.GetWebServiceLiteralNamespace (sti.WebServiceNamespace));\r
- }\r
- }\r
- return XmlSerializer.FromMappings (sers);\r
- }\r
-\r
- public override void Initialize (object initializer) \r
- {\r
- serializer = (XmlSerializer) initializer;\r
- }\r
-\r
- public override void Write (HttpResponse response, Stream outputStream, object returnValue)\r
- {\r
- if (serializer != null)\r
- {\r
- response.ContentType = "text/xml; charset=utf-8";\r
- XmlTextWriter xtw = new XmlTextWriter (outputStream, new UTF8Encoding (false));\r
- xtw.Formatting = Formatting.Indented;\r
- serializer.Serialize (xtw, returnValue);\r
- }\r
- outputStream.Close ();\r
- }\r
-\r
- #endregion // Methods\r
- }\r
-}
+++ /dev/null
-Assembly/AssemblyInfo.cs
-Assembly/Locale.cs
-System.Web.Services/TODOAttribute.cs
-System.Web.Services/WebMethodAttribute.cs
-System.Web.Services/WebService.cs
-System.Web.Services/WebServiceAttribute.cs
-System.Web.Services/WebServiceBindingAttribute.cs
-System.Web.Services/WebServicesDescriptionAttribute.cs
-System.Web.Services/WsiClaims.cs
-System.Web.Services.Configuration/WebServicesConfigurationSectionHandler.cs
-System.Web.Services.Configuration/XmlFormatExtensionAttribute.cs
-System.Web.Services.Configuration/XmlFormatExtensionPointAttribute.cs
-System.Web.Services.Configuration/XmlFormatExtensionPrefixAttribute.cs
-System.Web.Services.Description/BasicProfileChecker.cs
-System.Web.Services.Description/BasicProfileViolation.cs
-System.Web.Services.Description/BasicProfileViolationCollection.cs
-System.Web.Services.Description/Binding.cs
-System.Web.Services.Description/BindingCollection.cs
-System.Web.Services.Description/ConformanceChecker.cs
-System.Web.Services.Description/DocumentableItem.cs
-System.Web.Services.Description/FaultBinding.cs
-System.Web.Services.Description/FaultBindingCollection.cs
-System.Web.Services.Description/HttpAddressBinding.cs
-System.Web.Services.Description/HttpBinding.cs
-System.Web.Services.Description/HttpGetProtocolImporter.cs
-System.Web.Services.Description/HttpGetProtocolReflector.cs
-System.Web.Services.Description/HttpOperationBinding.cs
-System.Web.Services.Description/HttpPostProtocolImporter.cs
-System.Web.Services.Description/HttpPostProtocolReflector.cs
-System.Web.Services.Description/HttpSimpleProtocolImporter.cs
-System.Web.Services.Description/HttpSimpleProtocolReflector.cs
-System.Web.Services.Description/HttpUrlEncodedBinding.cs
-System.Web.Services.Description/HttpUrlReplacementBinding.cs
-System.Web.Services.Description/Import.cs
-System.Web.Services.Description/ImportCollection.cs
-System.Web.Services.Description/InputBinding.cs
-System.Web.Services.Description/Message.cs
-System.Web.Services.Description/MessageBinding.cs
-System.Web.Services.Description/MessageCollection.cs
-System.Web.Services.Description/MessagePart.cs
-System.Web.Services.Description/MessagePartCollection.cs
-System.Web.Services.Description/MimeContentBinding.cs
-System.Web.Services.Description/MimeMultipartRelatedBinding.cs
-System.Web.Services.Description/MimePart.cs
-System.Web.Services.Description/MimePartCollection.cs
-System.Web.Services.Description/MimeTextBinding.cs
-System.Web.Services.Description/MimeTextMatch.cs
-System.Web.Services.Description/MimeTextMatchCollection.cs
-System.Web.Services.Description/MimeXmlBinding.cs
-System.Web.Services.Description/NamedItem.cs
-System.Web.Services.Description/Operation.cs
-System.Web.Services.Description/OperationBinding.cs
-System.Web.Services.Description/OperationBindingCollection.cs
-System.Web.Services.Description/OperationCollection.cs
-System.Web.Services.Description/OperationFault.cs
-System.Web.Services.Description/OperationFaultCollection.cs
-System.Web.Services.Description/OperationFlow.cs
-System.Web.Services.Description/OperationInput.cs
-System.Web.Services.Description/OperationMessage.cs
-System.Web.Services.Description/OperationMessageCollection.cs
-System.Web.Services.Description/OperationOutput.cs
-System.Web.Services.Description/OutputBinding.cs
-System.Web.Services.Description/Port.cs
-System.Web.Services.Description/PortCollection.cs
-System.Web.Services.Description/PortType.cs
-System.Web.Services.Description/PortTypeCollection.cs
-System.Web.Services.Description/ProtocolImporter.cs
-System.Web.Services.Description/ProtocolReflector.cs
-System.Web.Services.Description/Service.cs
-System.Web.Services.Description/ServiceCollection.cs
-System.Web.Services.Description/ServiceDescription.cs
-System.Web.Services.Description/ServiceDescriptionBaseCollection.cs
-System.Web.Services.Description/ServiceDescriptionCollection.cs
-System.Web.Services.Description/ServiceDescriptionFormatExtension.cs
-System.Web.Services.Description/ServiceDescriptionFormatExtensionCollection.cs
-System.Web.Services.Description/ServiceDescriptionImportStyle.cs
-System.Web.Services.Description/ServiceDescriptionImportWarnings.cs
-System.Web.Services.Description/ServiceDescriptionImporter.cs
-System.Web.Services.Description/ServiceDescriptionSerializerBase.cs
-System.Web.Services.Description/ServiceDescriptionReflector.cs
-System.Web.Services.Description/ExtensionManager.cs
-System.Web.Services.Description/Soap12AddressBinding.cs
-System.Web.Services.Description/Soap12Binding.cs
-System.Web.Services.Description/Soap12BodyBinding.cs
-System.Web.Services.Description/Soap12FaultBinding.cs
-System.Web.Services.Description/Soap12HeaderBinding.cs
-System.Web.Services.Description/Soap12OperationBinding.cs
-System.Web.Services.Description/SoapAddressBinding.cs
-System.Web.Services.Description/SoapBinding.cs
-System.Web.Services.Description/SoapBindingStyle.cs
-System.Web.Services.Description/SoapBindingUse.cs
-System.Web.Services.Description/SoapBodyBinding.cs
-System.Web.Services.Description/SoapExtensionImporter.cs
-System.Web.Services.Description/SoapExtensionReflector.cs
-System.Web.Services.Description/SoapFaultBinding.cs
-System.Web.Services.Description/SoapHeaderBinding.cs
-System.Web.Services.Description/SoapHttpTransportImporter.cs
-System.Web.Services.Description/SoapOperationBinding.cs
-System.Web.Services.Description/SoapHeaderFaultBinding.cs
-System.Web.Services.Description/SoapProtocolImporter.cs
-System.Web.Services.Description/SoapProtocolReflector.cs
-System.Web.Services.Description/SoapTransportImporter.cs
-System.Web.Services.Description/Types.cs
-System.Web.Services.Description/WebReference.cs
-System.Web.Services.Description/WebReferenceCollection.cs
-System.Web.Services.Description/WebServicesInteroperability.cs
-System.Web.Services.Protocols/Methods.cs
-System.Web.Services.Protocols/AnyReturnReader.cs
-System.Web.Services.Protocols/Fault.cs
-System.Web.Services.Protocols/HtmlFormParameterReader.cs
-System.Web.Services.Protocols/HtmlFormParameterWriter.cs
-System.Web.Services.Protocols/HttpGetClientProtocol.cs
-System.Web.Services.Protocols/HttpGetTypeStubInfo.cs
-System.Web.Services.Protocols/HttpMethodAttribute.cs
-System.Web.Services.Protocols/HttpPostClientProtocol.cs
-System.Web.Services.Protocols/HttpPostTypeStubInfo.cs
-System.Web.Services.Protocols/HttpServerProtocol.cs
-System.Web.Services.Protocols/HttpSimpleClientProtocol.cs
-System.Web.Services.Protocols/HttpSimpleTypeStubInfo.cs
-System.Web.Services.Protocols/HttpSimpleWebServiceHandler.cs
-System.Web.Services.Protocols/HttpSoapWebServiceHandler.cs
-System.Web.Services.Protocols/HttpWebClientProtocol.cs
-System.Web.Services.Protocols/InvokeCompletedEventArgs.cs
-System.Web.Services.Protocols/InvokeCompletedEventHandler.cs
-System.Web.Services.Protocols/LogicalMethodInfo.cs
-System.Web.Services.Protocols/LogicalMethodTypes.cs
-System.Web.Services.Protocols/MatchAttribute.cs
-System.Web.Services.Protocols/MimeFormatter.cs
-System.Web.Services.Protocols/MimeParameterReader.cs
-System.Web.Services.Protocols/MimeParameterWriter.cs
-System.Web.Services.Protocols/MimeReturnReader.cs
-System.Web.Services.Protocols/MimeReturnWriter.cs
-System.Web.Services.Protocols/NopReturnReader.cs
-System.Web.Services.Protocols/PatternMatcher.cs
-System.Web.Services.Protocols/Soap12FaultCodes.cs
-System.Web.Services.Protocols/ServerProtocol.cs
-System.Web.Services.Protocols/SoapClientMessage.cs
-System.Web.Services.Protocols/SoapClientMethod.cs
-System.Web.Services.Protocols/SoapDocumentationHandler.cs
-System.Web.Services.Protocols/SoapDocumentMethodAttribute.cs
-System.Web.Services.Protocols/SoapDocumentServiceAttribute.cs
-System.Web.Services.Protocols/SoapException.cs
-System.Web.Services.Protocols/SoapExtension.cs
-System.Web.Services.Protocols/SoapExtensionAttribute.cs
-System.Web.Services.Protocols/SoapFaultSubcode.cs
-System.Web.Services.Protocols/SoapHeader.cs
-System.Web.Services.Protocols/SoapHeaderAttribute.cs
-System.Web.Services.Protocols/SoapHeaderCollection.cs
-System.Web.Services.Protocols/SoapHeaderDirection.cs
-System.Web.Services.Protocols/SoapHeaderException.cs
-System.Web.Services.Protocols/SoapHttpClientProtocol.cs
-System.Web.Services.Protocols/SoapMessage.cs
-System.Web.Services.Protocols/SoapMessageStage.cs
-System.Web.Services.Protocols/SoapParameterStyle.cs
-System.Web.Services.Protocols/SoapProtocolVersion.cs
-System.Web.Services.Protocols/SoapRpcMethodAttribute.cs
-System.Web.Services.Protocols/SoapRpcServiceAttribute.cs
-System.Web.Services.Protocols/SoapServerMessage.cs
-System.Web.Services.Protocols/SoapServerProtocol.cs
-System.Web.Services.Protocols/SoapServiceRoutingStyle.cs
-System.Web.Services.Protocols/SoapUnknownHeader.cs
-System.Web.Services.Protocols/TextReturnReader.cs
-System.Web.Services.Protocols/TypeStubManager.cs
-System.Web.Services.Protocols/UrlEncodedParameterWriter.cs
-System.Web.Services.Protocols/UrlParameterReader.cs
-System.Web.Services.Protocols/UrlParameterWriter.cs
-System.Web.Services.Protocols/ValueCollectionParameterReader.cs
-System.Web.Services.Protocols/WebClientAsyncResult.cs
-System.Web.Services.Protocols/WebClientProtocol.cs
-System.Web.Services.Protocols/WebServiceHandler.cs
-System.Web.Services.Protocols/WebServiceHandlerFactory.cs
-System.Web.Services.Protocols/WebServiceHelper.cs
-System.Web.Services.Protocols/XmlReturnReader.cs
-System.Web.Services.Protocols/XmlReturnWriter.cs
-System.Web.Services.Discovery/ContractReference.cs
-System.Web.Services.Discovery/ContractSearchPattern.cs
-System.Web.Services.Discovery/DiscoveryClientDocumentCollection.cs
-System.Web.Services.Discovery/DiscoveryClientProtocol.cs
-System.Web.Services.Discovery/DiscoveryClientReferenceCollection.cs
-System.Web.Services.Discovery/DiscoveryClientResultCollection.cs
-System.Web.Services.Discovery/DiscoveryClientResult.cs
-System.Web.Services.Discovery/DiscoveryDocument.cs
-System.Web.Services.Discovery/DiscoveryDocumentLinksPattern.cs
-System.Web.Services.Discovery/DiscoveryDocumentReference.cs
-System.Web.Services.Discovery/DiscoveryDocumentSearchPattern.cs
-System.Web.Services.Discovery/DiscoveryDocumentSerializer.cs
-System.Web.Services.Discovery/DiscoveryExceptionDictionary.cs
-System.Web.Services.Discovery/DiscoveryReferenceCollection.cs
-System.Web.Services.Discovery/DiscoveryReference.cs
-System.Web.Services.Discovery/DiscoveryRequestHandler.cs
-System.Web.Services.Discovery/DiscoverySearchPattern.cs
-System.Web.Services.Discovery/DynamicDiscoveryDocument.cs
-System.Web.Services.Discovery/ExcludePathInfo.cs
-System.Web.Services.Discovery/SchemaReference.cs
-System.Web.Services.Discovery/SoapBinding.cs
-System.Web.Services.Discovery/XmlSchemaSearchPattern.cs
+++ /dev/null
-2004-08-25 Lluis Sanchez Gual <lluis@novell.com>
-
- * WebService.cs: Get the HttpContext from the HttpContext.Current, do not
- wait to be set with SetContext. In this way the context is available
- in the web service constructor.
-
-2004-07-13 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebServiceBindingAttribute.cs, WsiClaims.cs: Added missing attributes.
-
-2004-07-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebService.cs: Added SoapVersion property.
- * WebServiceBindingAttribute.cs: New 2.0 properties.
- * WsiClaims.cs: Added new enumeration.
-
-2004-05-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebService.cs: Take the session from the context.
-
-2004-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * WebService.cs: added a HttpSessionState field and a setter method.
- Session now returns null if EnableSession is not set for the method
- invoked.
-
-2004-02-05 Alon Gazit <along@mainsoft.com>
-
- * WebMethodAttribute.cs:
- * WebServicesDescriptionAttribute.cs:
- * WebServiceAttribute.cs:
- * WebServiceBindingAttribute.cs: This attribute is inherited by derived
- classes.changed the AttributeUsage attribute.
-
-2004-02-05 Alon Gazit <along@mainsoft.com>
-
- * WebServiceBindingAttribute.cs: This attribute is multiuse.
- Changed the AttributeUsage attribute.
-
-2004-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
-
- * WebService.cs: added SetContext ().
-
-2003-02-25 Dave Bettin <dave@opendotnet.com>
- * WebService.cs:
- Changed private application to HttpContext
-
-2002-08-19 Tim Coleman <tim@timcoleman.com>
- * WebService.cs:
- Change the attribute on Application to Description
- instead of WebServicesDescription.2002-08-19 Tim Coleman
-
-2002-08-15 Tim Coleman <tim@timcoleman.com>
- * WebServicesDescriptionAttribute:
- Added Description property. Should've known I spoke
- too soon about being complete. :-)
-
-2002-08-07 Tim Coleman <tim@timcoleman.com>
- * WebMethodAttribute.cs:
- Remove FIXME and reorganize constructors to all
- call this () with the big constructor.
- * WebServiceAttribute.cs:
- Remove FIXME.
- * WebServiceBindingAttribute.cs:
- Remove FIXME, and change ns to be String.Empty by
- default (this is the MS implementation). Reorganize
- constructors.
- * WebServicesDescriptionAttribute.cs:
- Code reformat.
- * TODOAttribute.cs:
- Changed namespace.
-
- *** This namespace should now be complete. ***
-
-2002-07-23 Tim Coleman <tim@timcoleman.com>
- * WebService.cs:
- Change Description to WebServicesDescription
- * WebServicesDescriptionAttribute.cs:
- Add back constructor as MS build doesn't
- seem to like it missing. Now calls base()
- with the string. Also remove the sealed
- modifier and change the attribute targets.
-
-2002-07-23 Tim Coleman <tim@timcoleman.com>
- * WebServicesDescriptionAttribute.cs:
- Removed the "guts" because they are defined in
- System.ComponentModel.DescriptionAttribute.
- * WebService.cs:
- Added attributes which were missing based on the
- class status page. Also added an HttpApplication
- object and modified the properties to use that
- object.
-
-2002-07-22 Tim Coleman <tim@timcoleman.com>
- * WebServicesDescriptionAttribute.cs:
- Added for build in System.Web.Services.Protocols
-
-2002-07-22 Tim Coleman <tim@timcoleman.com>
- * WebMethodAttribute.cs:
- Remove comments around TransactionOption bits
- because I added that enum.
- * WebServiceAttribute.cs:
- * WebServiceBindingAttribute.cs:
- Added "sealed" to protection level, which I missed
- before.
-
-2002-07-19 Tim Coleman <tim@timcoleman.com>
- * ChangeLog:
- * TODOAttribute.cs:
- * WebMethodAttribute.cs:
- * WebService.cs:
- * WebServiceAttribute.cs:
- * WebServiceBindingAttribute.cs:
- Initial implementation
+++ /dev/null
-//
-// TODOAttribute.cs
-//
-// Author:
-// Ravi Pratap (ravi@ximian.com)
-//
-// (C) Ximian, Inc. http://www.ximian.com
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-namespace System.Web.Services {
-
- /// <summary>
- /// The TODO attribute is used to flag all incomplete bits in our class libraries
- /// </summary>
- ///
- /// <remarks>
- /// Use this to decorate any element which you think is not complete
- /// </remarks>
- [AttributeUsage (AttributeTargets.All)]
- internal class MonoTODOAttribute : Attribute {
-
- string comment;
-
- public MonoTODOAttribute ()
- {}
-
- public MonoTODOAttribute (string comment)
- {
- this.comment = comment;
- }
-
- public string Comment {
- get { return comment; }
- }
- }
-}
+++ /dev/null
- // \r
-// System.Web.Services.WebMethodAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.EnterpriseServices;\r
-\r
-namespace System.Web.Services {\r
- [AttributeUsage(AttributeTargets.Method, Inherited = true)]\r
- public sealed class WebMethodAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- bool bufferResponse;\r
- int cacheDuration;\r
- string description;\r
- bool enableSession;\r
- string messageName;\r
- TransactionOption transactionOption;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public WebMethodAttribute ()\r
- : this (false, TransactionOption.Disabled, 0, true)\r
- {\r
- }\r
-\r
- public WebMethodAttribute (bool enableSession)\r
- : this (enableSession, TransactionOption.Disabled, 0, true)\r
- {\r
- }\r
-\r
- public WebMethodAttribute (bool enableSession, TransactionOption transactionOption)\r
- : this (enableSession, transactionOption, 0, true)\r
- {\r
- }\r
-\r
- public WebMethodAttribute (bool enableSession, TransactionOption transactionOption, int cacheDuration)\r
- : this (enableSession, transactionOption, cacheDuration, true)\r
- {\r
- }\r
-\r
- public WebMethodAttribute (bool enableSession, TransactionOption transactionOption, int cacheDuration, bool bufferResponse)\r
- {\r
- this.bufferResponse = bufferResponse;\r
- this.cacheDuration = cacheDuration;\r
- this.enableSession = enableSession;\r
- this.transactionOption = transactionOption;\r
-\r
- this.description = String.Empty;\r
- this.messageName = String.Empty;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public bool BufferResponse {\r
- get { return bufferResponse; }\r
- set { bufferResponse = value; }\r
- }\r
-\r
- public int CacheDuration {\r
- get { return cacheDuration; }\r
- set { cacheDuration = value; }\r
- }\r
-\r
- public string Description { \r
- get { return description; }\r
- set { description = value; }\r
- }\r
-\r
- public bool EnableSession {\r
- get { return enableSession; }\r
- set { enableSession = value; }\r
- }\r
-\r
- public string MessageName {\r
- get { return messageName; }\r
- set { messageName = value; }\r
- }\r
-\r
- public TransactionOption TransactionOption {\r
- get { return transactionOption; }\r
- set { transactionOption = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
- // \r
-// System.Web.Services.WebService.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-using System.Security.Principal;\r
-using System.Web;\r
-using System.Web.SessionState;\r
-\r
-namespace System.Web.Services {\r
- public class WebService : MarshalByValueComponent {\r
-\r
- #region Fields\r
-\r
- HttpContext _context;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- public WebService ()\r
- {\r
- _context = HttpContext.Current;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- [Browsable (false)]\r
- [Description ("The ASP.NET application object for the current request.")]\r
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
- public HttpApplicationState Application {\r
- get { return _context.Application; }\r
- }\r
-\r
- [Browsable (false)]\r
- [WebServicesDescription ("The ASP.NET context object for the current request.")]\r
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
- public HttpContext Context {\r
- get { return _context; }\r
- }\r
-\r
- [Browsable (false)]\r
- [WebServicesDescription ("The ASP.NET utility object for the current request.")]\r
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
- public HttpServerUtility Server {\r
- get { return _context.Server; }\r
- }\r
-\r
- [Browsable (false)]\r
- [WebServicesDescription ("The ASP.NET session object for the current request.")]\r
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
- public HttpSessionState Session {\r
- get { return _context.Session; }\r
- }\r
-\r
- [Browsable (false)]\r
- [WebServicesDescription ("The ASP.NET user object for the current request. The object is used for authorization.")]\r
- [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]\r
- public IPrincipal User {\r
- get { return _context.User; }\r
- }\r
-\r
-#if NET_2_0\r
- [MonoTODO]\r
- public virtual System.Web.Services.Protocols.SoapProtocolVersion SoapVersion {\r
- get { throw new NotImplementedException (); }\r
- }\r
-#endif\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
- // \r
-// System.Web.Services.WebServiceAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services {\r
- [AttributeUsage (AttributeTargets.Class, Inherited = true)]\r
- public sealed class WebServiceAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- public const string DefaultNamespace = "http://tempuri.org/";\r
- string description;\r
- string name;\r
- string ns;\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
-\r
- \r
- public WebServiceAttribute ()\r
- {\r
- description = String.Empty;\r
- name = String.Empty;\r
- ns = DefaultNamespace;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public string Description { \r
- get { return description; }\r
- set { description = value; }\r
- }\r
- \r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
- \r
- public string Namespace {\r
- get { return ns; }\r
- set { ns = value; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
- // \r
-// System.Web.Services.WebServiceBindingAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-namespace System.Web.Services {\r
- [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]\r
- public sealed class WebServiceBindingAttribute : Attribute {\r
-\r
- #region Fields\r
-\r
- string location;\r
- string name;\r
- string ns;\r
- \r
-#if NET_2_0\r
- bool emitConformanceClaims;\r
- WsiClaims conformanceClaims;\r
-#endif\r
-\r
- #endregion // Fields\r
-\r
- #region Constructors\r
- \r
- public WebServiceBindingAttribute ()\r
- : this (String.Empty, String.Empty, String.Empty)\r
- {\r
- }\r
-\r
- public WebServiceBindingAttribute (string name)\r
- : this (name, String.Empty, String.Empty)\r
- {\r
- }\r
-\r
- public WebServiceBindingAttribute (string name, string ns)\r
- : this (name, ns, String.Empty)\r
- {\r
- }\r
-\r
- public WebServiceBindingAttribute (string name, string ns, string location)\r
- {\r
- this.name = name;\r
- this.ns = ns;\r
- this.location = location;\r
- }\r
- \r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public string Location { \r
- get { return location; }\r
- set { location = value; }\r
- }\r
- \r
- public string Name {\r
- get { return name; }\r
- set { name = value; }\r
- }\r
- \r
- public string Namespace {\r
- get { return ns; }\r
- set { ns = value; }\r
- }\r
- \r
-#if NET_2_0\r
-\r
- [System.Runtime.InteropServices.ComVisibleAttribute (false)]\r
- public WsiClaims ConformanceClaims {\r
- get { return conformanceClaims; }\r
- set { conformanceClaims = value; }\r
- }\r
- \r
- [System.Runtime.InteropServices.ComVisibleAttribute (false)]\r
- public bool EmitConformanceClaims {\r
- get { return emitConformanceClaims; }\r
- set { emitConformanceClaims = value; }\r
- } \r
-#endif\r
-\r
-\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-// \r
-// System.Web.Services.WebServicesDescriptionAttribute.cs\r
-//\r
-// Author:\r
-// Tim Coleman (tim@timcoleman.com)\r
-//\r
-// Copyright (C) Tim Coleman, 2002\r
-//\r
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-\r
-using System.ComponentModel;\r
-\r
-namespace System.Web.Services {\r
- [AttributeUsage (AttributeTargets.Property | AttributeTargets.Event, Inherited = true)]\r
- internal class WebServicesDescriptionAttribute : DescriptionAttribute {\r
-\r
- #region Constructors\r
-\r
- public WebServicesDescriptionAttribute (string description) \r
- : base (description)\r
- {\r
- }\r
-\r
- #endregion // Constructors\r
-\r
- #region Properties\r
-\r
- public override string Description {\r
- get { return DescriptionValue; }\r
- }\r
-\r
- #endregion // Properties\r
- }\r
-}\r
+++ /dev/null
-//
-// System.Web.Services.WsiClaims.cs
-//
-// Author:
-// Lluis Sanchez (lluis@novell.com)
-//
-// Copyright (C) Novell, Inc., 2004
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#if NET_2_0
-
-using System;
-
-namespace System.Web.Services
-{
- [Flags]
- [Serializable]
- public enum WsiClaims
- {
- None,
- BP10
- }
-}
-
-#endif
+++ /dev/null
-System.Web.Services/WebMethodAttributeTest.cs
-System.Web.Services/WebServiceAttributeTest.cs
-System.Web.Services.Configuration/XmlFormatExtensionAttributeTest.cs
-System.Web.Services.Discovery/ContractReferenceTest.cs
-System.Web.Services.Description/BindingCollectionTest.cs
-System.Web.Services.Description/DocumentableItemTest.cs
-System.Web.Services.Description/TypesTest.cs
-System.Web.Services.Description/OperationCollectionTest.cs
-System.Web.Services.Description/OperationMessageTest.cs
-System.Web.Services.Description/OperationMessageCollectionTest.cs
-System.Web.Services.Description/PortTypeCollectionTest.cs
-System.Web.Services.Description/PortTypeTest.cs
-System.Web.Services.Description/ServiceCollectionTest.cs
-System.Web.Services.Description/ServiceDescriptionCollectionTest.cs
-System.Web.Services.Description/SoapBodyBindingTest.cs
-System.Web.Services.Description/SoapOperationBindingTest.cs
+++ /dev/null
-*.dll
-*.suo
-*.sln
-*.csproj.user
-bin
-obj
-.makefrag
-.response
-library-deps.stamp
+++ /dev/null
-2003-02-23 Dave Bettin <dave@opendotnet.com>
- * Added makefile.gnu
- * Added list for test classes to compile
- * Moved all tests over to nunit2
-
-2002-08-09 Tim Coleman <tim@timcoleman.com>
- * AllTests.cs:
- New test suites added.
-
-2002-08-07 Tim Coleman <tim@timcoleman.com>
- * AllTests.cs:
- * ChangeLog:
- * System.Web.Services:
- * System.Web.Services_test.build:
- New files and directories added for test suite.
+++ /dev/null
-2003-05-13 Martin Willemoes Hansen <mwh@sysrq.dk>
- * XmlFormatExtensionAttributeTest.cs: Inherits from Assertion and
- Assertion. prefixes removed.
-
-2003-02-22 Dave Bettin <dave@opendotnet.com>
- * Moved over to Nunit2 Tests
- * Removed AllTests.cs
-
-2002-08-09 Tim Coleman <tim@timcoleman.com>
- * AllTests.cs:
- * ChangeLog:
- * XmlFormatExtensionAttributeTest.cs:
- New files added for test suite.
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Configuration.XmlFormatExtensionAttributeTest.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Dave Bettin (dave@opendotnet.com)
-//
-// Copyright (C) Tim Coleman, 2002
-// Copyright (C) Dave Bettin, 2003
-//
-
-using NUnit.Framework;
-using System;
-using System.Web.Services.Configuration;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Configuration {
-
- [TestFixture]
- public class XmlFormatExtensionAttributeTest : Assertion {
-
-
- [Test]
- public void TestConstructors ()
- {
- XmlFormatExtensionAttribute attribute;
-
- /* attribute = new XmlFormatExtensionAttribute ();
- AssertEquals (String.Empty, attribute.ElementName);
- AssertEquals (null, attribute.ExtensionPoints);
- AssertEquals (String.Empty, attribute.Namespace);
-
- string elementName = "binding";
- string ns = "http://schemas.xmlsoap.org/wsdl/http/";
- Type[] types = new Type[4] {typeof (Binding), typeof (Binding), typeof (Binding), typeof (Binding)};
-
- attribute = new XmlFormatExtensionAttribute (elementName, ns, types[0]);
- AssertEquals (elementName, attribute.ElementName);
- AssertEquals (new Type[1] {types[0]}, attribute.ExtensionPoints);
- AssertEquals (ns, attribute.Namespace);
-
- attribute = new XmlFormatExtensionAttribute (elementName, ns, types[0], types[1]);
- AssertEquals (elementName, attribute.ElementName);
- AssertEquals (new Type[2] {types[0], types[1]}, attribute.ExtensionPoints);
- AssertEquals (ns, attribute.Namespace);
-
- attribute = new XmlFormatExtensionAttribute (elementName, ns, types[0], types[1], types[2]);
- AssertEquals (elementName, attribute.ElementName);
- AssertEquals (new Type[3] {types[0], types[1], types[2]}, attribute.ExtensionPoints);
- AssertEquals (ns, attribute.Namespace);
-
- attribute = new XmlFormatExtensionAttribute (elementName, ns, types[0], types[1], types[2], types[3]);
- AssertEquals (elementName, attribute.ElementName);
- AssertEquals (new Type[4] {types[0], types[1], types[2], types[3]}, attribute.ExtensionPoints);
- AssertEquals (ns, attribute.Namespace);
-
- attribute = new XmlFormatExtensionAttribute (elementName, ns, types);
- AssertEquals (elementName, attribute.ElementName);
- AssertEquals (types, attribute.ExtensionPoints);
- AssertEquals (ns, attribute.Namespace);*/
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.BindingCollectionTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class BindingCollectionTest
- {
- BindingCollection bc;
-
- [SetUp]
- public void InitializeBindingCollection ()
- {
- // workaround for internal constructor
- ServiceDescription desc = new ServiceDescription ();
- bc = desc.Bindings;
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertNull (bc["hello"]);
- Assertion.AssertEquals (0, bc.Count);
- }
-
- [Test]
- public void TestAddBinding ()
- {
- const string bindingName = "testBinding";
-
- Binding b = new Binding ();
- b.Name = bindingName;
-
- bc.Add (b);
-
- Assertion.AssertEquals (1, bc.Count);
- Assertion.AssertEquals (b, bc[bindingName]);
- }
- }
-}
+++ /dev/null
-2003-09-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * BindingCollectionTest.cs ChangeLog DocumentableItemTest.cs
- OperationCollectionTest.cs OperationMessageCollectionTest.cs
- OperationMessageTest.cs PortTypeCollectionTest.cs PortTypeTest.cs
- ServiceCollectionTest.cs ServiceDescriptionCollectionTest.cs
- SoapBodyBindingTest.cs SoapOperationBindingTest.cs TypesTest.cs
- New test files by Erik LeBel.
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.DocumentableItemTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class DocumentableItemTest
- {
- DocumentableItem item;
-
- [SetUp]
- public void InitializeItem()
- {
- // workaround for base class
- item = new Types();
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertEquals(String.Empty, item.Documentation);
- }
-
- [Test]
- public void TestNullDocumentationString()
- {
- item.Documentation = null;
- Assertion.AssertEquals(String.Empty, item.Documentation);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.OperationCollectionTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class OperationCollectionTest
- {
- OperationCollection operations;
-
- [SetUp]
- public void InitializeOperations()
- {
- // workaround for internal constructor
- PortType portType = new PortType();
- operations = portType.Operations;
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertEquals(0, operations.Count);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void TestAddNullObject()
- {
- operations.Add(null);
- }
-
- [Test]
- public void TestAddValidOperation()
- {
- operations.Add(new Operation());
- Assertion.AssertEquals(1, operations.Count);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.OperationMessageCollectionTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-using System.Xml;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class OperationMessageCollectionTest
- {
- OperationMessageCollection operations;
-
- [SetUp]
- public void InitializeOperation()
- {
- // workaround for internal constructor
- Operation op = new Operation();
- operations = op.Messages;
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertEquals(OperationFlow.None, operations.Flow);
- Assertion.AssertNull(operations.Input);
- Assertion.AssertNull(operations.Output);
- Assertion.AssertEquals(0, operations.Count);
- }
-
- [Test]
- public void TestAddInput()
- {
- operations.Add(new OperationInput());
-
- Assertion.AssertEquals(OperationFlow.OneWay, operations.Flow);
- Assertion.AssertNotNull(operations.Input);
- Assertion.AssertNull(operations.Output);
- Assertion.AssertEquals(1, operations.Count);
- }
-
- [Test]
- public void TestAddOutput()
- {
- operations.Add(new OperationOutput());
-
- Assertion.AssertEquals(OperationFlow.Notification, operations.Flow);
- Assertion.AssertNull(operations.Input);
- Assertion.AssertNotNull(operations.Output);
- Assertion.AssertEquals(1, operations.Count);
- }
-
- [Test]
- public void TestAddInputAndOutput()
- {
- operations.Add(new OperationInput());
- operations.Add(new OperationOutput());
-
- Assertion.AssertEquals(OperationFlow.RequestResponse, operations.Flow);
- Assertion.AssertNotNull(operations.Input);
- Assertion.AssertNotNull(operations.Output);
- Assertion.AssertEquals(2, operations.Count);
- }
-
- [Test]
- public void TestAddOutputAndInput()
- {
- operations.Add(new OperationOutput());
- operations.Add(new OperationInput());
-
- Assertion.AssertEquals(OperationFlow.SolicitResponse, operations.Flow);
- Assertion.AssertNotNull(operations.Input);
- Assertion.AssertNotNull(operations.Output);
- Assertion.AssertEquals(2, operations.Count);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void TestAddNull()
- {
- operations.Add(null);
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void TestAddFault()
- {
- operations.Add(new OperationFault());
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TestAddInputAndInput()
- {
- operations.Add(new OperationInput());
- operations.Add(new OperationInput());
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TestAddOutputAndOutput()
- {
- operations.Add(new OperationOutput());
- operations.Add(new OperationOutput());
- }
-
- [Test]
- [ExpectedException (typeof (InvalidOperationException))]
- public void TestAddThreeOperationMessages()
- {
- operations.Add(new OperationOutput());
- operations.Add(new OperationOutput());
- operations.Add(new OperationOutput());
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentException))]
- public void TestAddInputAndFault()
- {
- operations.Add(new OperationInput());
- operations.Add(new OperationFault());
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.OperationMessageTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-using System.Xml;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class OperationMessageTest
- {
- OperationMessage operation;
-
- [SetUp]
- public void InitializeOperation()
- {
- // workaround: OperationInput, OperationOutput and OperationFault are all empty derivations of OperationMessage
- operation = new OperationInput();
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertEquals(String.Empty, operation.Documentation);
- Assertion.AssertNull(operation.Name);
- Assertion.AssertEquals(XmlQualifiedName.Empty, operation.Message);
- Assertion.AssertNull(operation.Operation);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.PortTypeCollectionTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class PortTypeCollectionTest
- {
- PortTypeCollection ptc;
-
- [SetUp]
- public void InitializePortTypeCollection ()
- {
- // workaround for internal constructor
- ServiceDescription desc = new ServiceDescription ();
- ptc = desc.PortTypes;
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertNull (ptc["hello"]);
- Assertion.AssertEquals (0, ptc.Count);
- }
-
- [Test]
- public void TestAddPortType ()
- {
- const string portTypeName = "testPortType";
-
- PortType p = new PortType ();
- p.Name = portTypeName;
-
- ptc.Add (p);
-
- Assertion.AssertEquals (1, ptc.Count);
- Assertion.AssertEquals (p, ptc[portTypeName]);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.PortTypeTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class PortTypeTest
- {
- PortType portType;
-
- [SetUp]
- public void InitializePortType()
- {
- portType = new PortType();
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertNull(portType.Name);
- Assertion.AssertNotNull(portType.Operations);
- Assertion.AssertEquals(0, portType.Operations.Count);
- Assertion.AssertNull(portType.ServiceDescription);
- }
-
- [Test]
- public void TestEmptyName()
- {
- portType.Name = String.Empty;
- Assertion.AssertEquals(String.Empty, portType.Name);
- }
-
- [Test]
- public void TestLongName()
- {
- const string LongName = "abcdefghijklmnopqrstuvwxyz";
- portType.Name = LongName;
- Assertion.AssertEquals(LongName, portType.Name);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.ServiceCollectionTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class ServiceCollectionTest
- {
- ServiceCollection sc;
-
- [SetUp]
- public void InitializeServiceCollection ()
- {
- // workaround for internal constructor
- ServiceDescription desc = new ServiceDescription ();
- sc = desc.Services;
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertNull (sc["hello"]);
- Assertion.AssertEquals (0, sc.Count);
- }
-
- [Test]
- public void TestAddService ()
- {
- const string serviceName = "testService";
-
- Service s = new Service ();
- s.Name = serviceName;
-
- sc.Add (s);
-
- Assertion.AssertEquals (1, sc.Count);
- Assertion.AssertEquals (s, sc[serviceName]);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.ServiceDescriptionCollectionTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class ServiceDescriptionCollectionTest
- {
- ServiceDescriptionCollection sdc;
-
- [SetUp]
- public void InitializeServiceDescriptionCollection ()
- {
- sdc = new ServiceDescriptionCollection ();
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertNull (sdc["hello"]);
- Assertion.AssertEquals (0, sdc.Count);
- }
-
- [Test]
- public void TestAddServiceDescriptionWithoutTargetNS ()
- {
- const string serviceDescriptionNamespace = "testServiceDescription";
-
- ServiceDescription sd = new ServiceDescription ();
- sdc.Add (sd);
-
- Assertion.AssertEquals (1, sdc.Count);
- Assertion.AssertNull (sdc[serviceDescriptionNamespace]);
- }
-
- [Test]
- public void TestAddServiceDescriptionWithTargetNS ()
- {
- const string serviceDescriptionNamespace = "http://some.urn";
-
- ServiceDescription sd = new ServiceDescription ();
- sd.TargetNamespace = serviceDescriptionNamespace;
-
- sdc.Add (sd);
-
- Assertion.AssertEquals (1, sdc.Count);
- Assertion.AssertEquals (sd, sdc[serviceDescriptionNamespace]);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.SoapBodyBindingTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class SoapBodyBindingTest
- {
- SoapBodyBinding sbb;
-
- [SetUp]
- public void InitializeSoapBodyBinding()
- {
- sbb = new SoapBodyBinding();
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertEquals(String.Empty, sbb.Encoding);
- Assertion.AssertNull(sbb.Parts);
- Assertion.AssertNull(sbb.PartsString);
- Assertion.AssertEquals(String.Empty, sbb.Namespace);
- Assertion.AssertEquals(SoapBindingUse.Default, sbb.Use);
- }
-
- [Test]
- public void TestAssignNullPartsString()
- {
- sbb.PartsString = null;
- Assertion.AssertNull(sbb.Parts);
- Assertion.AssertEquals(null, sbb.PartsString);
- }
-
- [Test]
- public void TestAssignEmptyPartsString()
- {
- sbb.PartsString = String.Empty;
- Assertion.AssertNotNull(sbb.Parts);
- Assertion.AssertEquals(1, sbb.Parts.Length);
- Assertion.AssertEquals(String.Empty, sbb.PartsString);
- }
-
- [Test]
- public void TestAssignSpacesToPartsString()
- {
- const string Spaces = " ";
- sbb.PartsString = Spaces;
- Assertion.AssertNotNull(sbb.Parts);
- Assertion.AssertEquals(2, sbb.Parts.Length);
- Assertion.AssertEquals(Spaces, sbb.PartsString);
- }
-
- [Test]
- public void TestAssignNullParts()
- {
- sbb.Parts = null;
- Assertion.AssertNull(sbb.Parts);
- Assertion.AssertNull(sbb.PartsString);
- }
-
- [Test]
- public void TestAssignValueParts()
- {
- string[] vals = {"a", "b"};
- sbb.Parts = vals;
- Assertion.AssertNotNull(sbb.Parts);
- Assertion.AssertEquals("a b", sbb.PartsString);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.SoapOperationBindingTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class SoapOperationBindingTest
- {
- SoapOperationBinding sob;
-
- [SetUp]
- public void InitializeSoapOperationBinding()
- {
- sob = new SoapOperationBinding();
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertEquals(String.Empty, sob.SoapAction);
- Assertion.AssertEquals(SoapBindingStyle.Default, sob.Style);
- Assertion.AssertEquals(false, sob.Required);
- Assertion.AssertNull(sob.Parent);
- Assertion.AssertEquals(false, sob.Handled);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Description.TypesTest.cs
-//
-// Author:
-// Erik LeBel <eriklebel@yahoo.ca>
-//
-// (C) 2003 Erik LeBel
-//
-
-using NUnit.Framework;
-
-using System;
-using System.Web.Services.Description;
-using System.Xml.Serialization;
-
-namespace MonoTests.System.Web.Services.Description
-{
- [TestFixture]
- public class TypesTest
- {
- Types types;
-
- [SetUp]
- public void InitializeTypes()
- {
- types = new Types();
- }
-
- [Test]
- public void TestDefaultProperties()
- {
- Assertion.AssertEquals(String.Empty, types.Documentation);
- Assertion.AssertNotNull(types.Schemas);
- Assertion.AssertEquals(0, types.Schemas.Count);
- Assertion.AssertNotNull(types.Extensions);
- Assertion.AssertEquals(0, types.Extensions.Count);
- }
- }
-}
+++ /dev/null
-2003-05-13 Martin Willemoes Hansen <mwh@sysrq.dk>
- * ContractReferenceTest.cs: Inherits from Assertion and Assertion.
- prefixes removed.
-
-2003-02-22 Dave Bettin <dave@opendotnet.com>
- * Moved over to Nunit2 Tests
- * Removed AllTests.cs
-
-2002-08-09 Tim Coleman <tim@timcoleman.com>
- * AllTests.cs:
- * ChangeLog:
- * ContractReferenceTest.cs:
- New files added for test suite.
+++ /dev/null
-//
-// MonoTests.System.Web.Services.Discovery.ContractReferenceTest.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Dave Bettin (dave@opendotnet.com)
-//
-// Copyright (C) Tim Coleman, 2002
-// Copyright (C) Dave Bettin, 2003
-//
-
-using NUnit.Framework;
-using System;
-using System.Web.Services.Discovery;
-
-namespace MonoTests.System.Web.Services.Discovery {
-
- [TestFixture]
- public class ContractReferenceTest : Assertion {
-
- [Test]
- public void TestConstructors ()
- {
- ContractReference contractReference;
- }
-
- [Test]
- public void TestConstants ()
- {
- AssertEquals ("http://schemas.xmlsoap.org/disco/scl/", ContractReference.Namespace);
- }
- }
-}
+++ /dev/null
-2003-05-13 Martin Willemoes Hansen <mwh@sysrq.dk>
- * Tests inherits from Assertion and Assertion. prefix is removed.
-
-2003-02-22 Dave Bettin <dave@opendotnet.com>
- * Moved over to Nunit2 Tests
- * Removed AllTests.cs
-
-2002-08-07 Tim Coleman <tim@timcoleman.com>
- * AllTests.cs:
- * ChangeLog:
- * WebMethodAttributeTest.cs:
- * WebServiceAttributeTest.cs:
- New files and directories added for test suite.
+++ /dev/null
-//
-// MonoTests.System.Web.Services.WebMethodAttributeTest.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Dave Bettin (dave@opendotnet.com)
-//
-// Copyright (C) Tim Coleman, 2002
-// Copyright (C) Dave Bettin, 2003
-//
-
-using NUnit.Framework;
-using System;
-using System.Web.Services;
-using System.EnterpriseServices;
-
-namespace MonoTests.System.Web.Services {
-
- [TestFixture]
- public class WebMethodAttributeTest : Assertion {
-
- [Test]
- public void TestConstructors ()
- {
- WebMethodAttribute attribute;
-
- attribute = new WebMethodAttribute ();
- AssertEquals (true, attribute.BufferResponse);
- AssertEquals (0, attribute.CacheDuration);
- AssertEquals (String.Empty, attribute.Description);
- AssertEquals (false, attribute.EnableSession);
- AssertEquals (String.Empty, attribute.MessageName);
- AssertEquals (TransactionOption.Disabled, attribute.TransactionOption);
- }
- }
-}
+++ /dev/null
-//
-// MonoTests.System.Web.Services.WebServiceAttributeTest.cs
-//
-// Author:
-// Tim Coleman (tim@timcoleman.com)
-// Dave Bettin (dave@opendotnet.com)
-//
-// Copyright (C) Tim Coleman, 2002
-// Copyright (C) Dave Bettin, 2003
-//
-
-using NUnit.Framework;
-using System;
-using System.Web.Services;
-
-namespace MonoTests.System.Web.Services {
-
- [TestFixture]
- public class WebServiceAttributeTest : Assertion {
-
- [Test]
- public void TestConstructors ()
- {
- WebServiceAttribute attribute;
-
- attribute = new WebServiceAttribute ();
- AssertEquals (String.Empty, attribute.Description);
- AssertEquals (String.Empty, attribute.Name);
- AssertEquals ("http://tempuri.org/", attribute.Namespace);
- }
- }
-}
+++ /dev/null
---target library
--o System.Web.Services_test.dll
---noconfig
--r ../../lib/corlib.dll
--r ../../lib/System.dll
--r ../../lib/System.Web.Services.dll
--r ../../lib/System.EnterpriseServices.dll
--r ../../../nunit20/NUnit.Framework.dll
-System.Web.Services/WebMethodAttributeTest.cs
-System.Web.Services/WebServiceAttributeTest.cs
-System.Web.Services.Configuration/XmlFormatExtensionAttributeTest.cs
-System.Web.Services.Discovery/ContractReferenceTest.cs
+++ /dev/null
-*.dll
-*.mdb
-TestResult.xml
-WsdlTestResult.xml
-client.sources
-error
-proxies
-proxies.diff.xml
-proxies.mono.xml
-proxies.net.xml
-proxies.sources
-proxy-gen-error.xml
-semantic.cache
-serviceStatus.xml
-somefile
-wsdlcache
+++ /dev/null
-2005-02-07 Lluis Sanchez Gual <lluis@novell.com>
-
- * client/localhost/TestBinding4Test.cs: Fix build.
-
-2004-11-08 Raja R Harinath <rharinath@novell.com>
-
- * Makefile (test-clients): Refer to 'nunit-console.exe' in
- profile-specific directory.
-
-2004-09-29 Lluis Sanchez Gual <lluis@novell.com>
-
- * Makefile: Remove error directory on every run.
- * wstest.cs: Added a timeout when calling the wsdl tool. No more
- hangs there.
-
-2004-09-29 Raja R Harinath <rharinath@novell.com>
-
- * Makefile (test-clients): nunit-console.exe is now in a
- profile-specific directory.
- Report from Mayank Ritvik <mritvik@novell.com>.
-
-2004-08-25 Lluis Sanchez Gual <lluis@novell.com>
-
- * server/SessionCounter.asmx: Check that Context != null in the constructor.
-
-2004-07-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Conv.asmx.template, Conv.cs.template, client/localhost/ConvDoc*,
- server/Conv*: Added tests for unknown headers.
- * proxies.net.xml.gz, wsdlfiles.tar.gz: Updated.
-
-2004-07-01 Lluis Sanchez Gual <lluis@ximian.com>
-
- * WebServiceTest.cs, client/external/BankCodeEJBHomeTest.cs,
- client/external/GlobalWeatherTest.cs, client/external/HPcatalogTest.cs,
- client/external/IODCODESPOSTAUXTest.cs,
- client/external/TemperatureServiceTest.cs,
- client/localhost/DataServiceTest.cs,
- client/localhost/DuplicateArrayTestTest.cs,
- client/localhost/IncludeTestTest.cs,
- client/localhost/TestBinding4Test.cs: Use new nunit 2.2 api.
-
- * server/ConvDocLitWra.asmx, server/ConvDocEncWra.asmx,
- server/ConvDocLitBar.asmx, server/ConvDocLitWra.asmx,
- server/ConvRpc.asmx,
-
- * wstest.cs: Added support for generating tests cases from a template.
- Useful to test the same case in all formats and protocols.
-
- * proxies.net.xml.gz, wsdlfiles.tar.gz: Updated.
-
- * client/localhost/ConvDocEncBarTest.cs,
- client/localhost/ConvDocLitBarTest.cs,
- client/localhost/ConvDocLitWraTest.cs,
- client/localhost/ConvRpcTest.cs,
- client/localhost/ConvDocEncBar.asmx:
- Improved tests. Use new nunit 2.2 api.
-
- * Conv.cs.template: template for ConverterService client tests.
-
- * Conv.asmx.template: template for ConverterService services.
-
- * templates.xml: Configuration file for generating the tests.
-
-2004-06-22 Lluis Sanchez Gual <lluis@ximian.com>
-
- * proxies.net.xml.gz: Updated.
- * wsdlfiles.tar.gz: Updated.
-
-2004-06-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Makefile: Fix ms.net api file before the comparison.
- * cormissing.xsl: Removed html encoding. Now generates plain text.
- * proxies.net.xml.gz: Updated.
- * services.xml: Updated.
- * wsdlfiles.tar.gz: Updated.
- * wstest.cs: Added option for removing wrong extra classes from ms.net
- api xml file. Improved checkdiff option.
-
-2004-06-04 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Makefile: Changed nunit dll, to make it easier to integrate in the result
- web page.
- * wstest.cs: Little fix.
-
-2004-06-03 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Makefile: generate client source file list before compiling the test
- suite.
-
-2004-06-03 Lluis Sanchez Gual <lluis@ximian.com>
-
- * wsdlfiles.tar.gz: New file that contains all test wsdl documents.
- * proxies.net.xml.gz: Description of the proxies generated by MS.NET.
- * cormissing.xml: Formatting stuff.
-
-2004-06-03 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Makefile: Added new targets for running the tests. Now the generated
- proxies are checked against the ones generated by MS.NET.
- * services.xml: Updated service list.
- * wstest.cs: new command checkdiff: generates a xml file using nunit format
- with all differences between mono generated proxies and MS.NET ones.
- * client/localhost/ConvRpcTest.cs: Fixed url.
-
-2004-05-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Makefile: Added reference to System.Data.
- * services.xml, wsdl.ignore: Updated.
- * wstest.cs: Small improvements.
- * external/BankCodeEJBHomeTest.cs, external/GlobalWeatherTest.cs,
- external/HPcatalogTest.cs, external/IODCODESPOSTAUXTest.cs,
- external/TemperatureServiceTest.cs, localhost/ConvDocEncBarTest.cs,
- localhost/ConvDocEncWraTest.cs, localhost/ConvDocLitBarTest.cs,
- localhost/ConvDocLitWraTest.cs, localhost/ConvRpcTest.cs
- Changed namespace to make it easier to select tests in gnunit.
- * localhost/ConvRpcTest.cs: Added test for method that returns "Object".
- * server/ConvDocEncWra.asmx, ConvDocLitWra.asmx, ConvRpc.asmx: New test
- methods.
- * server/web.config: Added version to vsdisco handler type name.
- * client/localhost/DataServiceTest.cs
- client/localhost/DuplicateArrayTestTest.cs
- client/localhost/SessionCounterTest.cs
- server/DataService.asmx
- server/DuplicateArrayTest.asmx
- server/SessionCounter.asmx: New tests.
-
-
-2004-03-10 Lluis Sanchez Gual <lluis@ximian.com>
-
- * client/localhost/ConvDocLitWraTest.cs: Test Discover() method.
-
-2004-03-02 Lluis Sanchez Gual <lluis@ximian.com>
-
- * services.xml: More services.
- * wstest.cs: Added null check.
- * client/localhost/IncludeTestTest.cs: New test.
- * server/localhost/IncludeTest.asmx, server/localhost/Test1.asmx,
- server/localhost/Test2.asmx, server/localhost/TestBinding6.asmx.
-
-2004-02-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * services.xml: Updated service list.
- * wstest.cs: New feature: it generates a serviceStatus.xml file that
- helps keeping track of services that are not available any more.
- * client/localhost/ConvDocEncBarTest.cs, ConvDocEncWraTest.cs:
- Improved tests.
- * server/ConvDocLitBar.asmx: Removed inheritance from WebService, to make
- sure that this works.
-
-2004-02-04 Lluis Sanchez Gual <lluis@ximian.com>
-
- * wstest.cs: Added new option that downloads and cahces the wsdl docs.
- * services.xml: More services.
- * Makefile: Updated.
- * server/TestBinding5.asmx: new test service.
-
-2004-01-27 Lluis Sanchez Gual <lluis@ximian.com>
-
- * wstest.cs: Improved the way wsdl documents are downloaded.
- * services.xml: updated service list.
- * wsdl.ignore: updated ignore list.
- * client/external/GlobalWeatherTest.cs: new test.
- * client/external/syndicateTest.cs: new test.
- * client/external/TemperatureServiceTest.cs: new test.
- * client/external/BankCodeEJBHomeTest.cs: added comment.
- * server/TestBinding1.asmx, server/TestBinding2.asmx,
- * server/TestBinding3.asmx, server/TestBinding4.asmx: new test services
-
-2004-01-14 Lluis Sanchez Gual <lluis@ximian.com>
-
- * wstest.cs: Wsdl documents are cached locally.
- * services.xml: updated services.
-
-2003-12-23 Lluis Sanchez Gual <lluis@ximian.com>
-
- * wstest.cs: Removed debug WriteLine.
- * services.xml: updated services.
- * server/web.config: Added.
-
-2003-12-22 Lluis Sanchez Gual <lluis@ximian.com>
-
- * wstest.cs: Changed default directory for client tests. Added some tests.
- * Makefile: Use xsp.vsdisco instead of xsp.disco.
-
-2003-12-19 Lluis Sanchez Gual <lluis@ximian.com>
-
- * services.xml: Enabled test for a couple of services.
- * wstest.cs: Improved "stat" option.
-
-2003-12-15 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Makefile.cs: Generate list of client test files in target "gen".
- * services.xml: Added a couple of services.
- * wstest.cs: Added "stat" option.
-
-2003-12-12 Lluis Sanchez Gual <lluis@ximian.com>
-
- * Added web service test suite
-
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="ConverterService.asmx.cs" Class="WebServiceTests.ConverterService" %>
-
-/*
-$TEMPLATE_WARNING$
-*/
-
-using System;
-using System.Collections;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Web.Services.Description;
-
-namespace WebServiceTests
-{
- public class UserInfo : SoapHeader
- {
- public int userId;
- }
-
- public class CurrencyInfo
- {
- public CurrencyInfo ()
- {
- }
-
- public CurrencyInfo (string name, double rate)
- {
- Name = name;
- Rate = rate;
- }
-
- public string Name;
- public double Rate;
- }
-
- public class Simple
- {
- public int Dada;
- }
-
- [WebServiceAttribute (Namespace="urn:mono-ws-tests", Description="Web service that can make currency conversions")]
- $SERVICE_ATTRIBUTE$
- public class ConverterService : System.Web.Services.WebService
- {
- static int userCount = 0;
- static Hashtable conversionTable;
-
- public UserInfo userInfo;
-
- public SoapHeader unknown1;
- public SoapHeader[] unknown2;
- public SoapUnknownHeader unknown3;
- public SoapUnknownHeader[] unknown4;
-
- static ConverterService ()
- {
- conversionTable = new Hashtable ();
- InternalSetCurrencyRate ("USD", 1);
- InternalSetCurrencyRate ("EUR", 0.883884 );
- InternalSetCurrencyRate ("GBP", 0.611817 );
- InternalSetCurrencyRate ("JPY", 118.271 );
- InternalSetCurrencyRate ("CAD", 1.36338 );
- InternalSetCurrencyRate ("AUD", 1.51485 );
- InternalSetCurrencyRate ("CHF", 1.36915 );
- InternalSetCurrencyRate ("RUR", 30.4300 );
- InternalSetCurrencyRate ("CNY", 8.27740 );
- InternalSetCurrencyRate ("ZAR", 7.62645 );
- InternalSetCurrencyRate ("MXN", 10.5025 );
- }
-
- [WebMethod (Description="Registers the user into the system")]
- [SoapHeaderAttribute ("userInfo", Direction = SoapHeaderDirection.Out)]
- public void Login (string a)
- {
- userInfo = new UserInfo ();
- userInfo.userId = ++userCount;
- }
-
- [WebMethod (Description="Converts an amount from one currency to another currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double Convert (string sourceCurrency, string targetCurrency, double value)
- {
- CheckUser ();
- double usd = (1 / GetCurrencyRate (sourceCurrency)) * value;
- return usd * GetCurrencyRate (targetCurrency);
- }
-
- [WebMethod (Description="Returns a list of currency rates")]
- [SoapHeaderAttribute ("userInfo")]
- public CurrencyInfo[] GetCurrencyInfo ()
- {
- CheckUser ();
-
- lock (conversionTable)
- {
- CurrencyInfo[] info = new CurrencyInfo[conversionTable.Count];
- int n = 0;
- foreach (CurrencyInfo cinfo in conversionTable.Values)
- info [n++] = cinfo;
- return info;
- }
- }
-
- [WebMethod (Description="Sets the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public void SetCurrencyRate (string currency, double rate)
- {
- CheckUser ();
- InternalSetCurrencyRate (currency, rate);
- }
-
- static void InternalSetCurrencyRate (string currency, double rate)
- {
- lock (conversionTable)
- {
- conversionTable [currency] = new CurrencyInfo (currency, rate);
- }
- }
-
- [WebMethod (Description="Returns the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double GetCurrencyRate ([XmlElement(DataType="Name")]string cname)
- {
- CheckUser ();
- lock (conversionTable)
- {
- if (!conversionTable.ContainsKey (cname))
- throw new SoapException ("Unknown currency '" + cname + "'", SoapException.ServerFaultCode);
-
- return ((CurrencyInfo) conversionTable [cname]).Rate;
- }
- }
-
- [WebMethod]
- public void Test (Simple dada1, int dada)
- {
- dada = 1;
- }
-
- [WebMethod (MessageName="Test2")]
- public void Test (int[] dada2, byte[] dada3, int dada)
- {
- dada = 1;
- }
-
- [WebMethod]
- public System.Collections.Specialized.StringCollection TestArrays (string[] info, string lang)
- {
- return null;
- }
-
- void CheckUser ()
- {
- if (userInfo == null)
- throw new SoapException ("User not logged", SoapException.ServerFaultCode);
- }
-
- [WebMethod]
- [return: $XML_ELEMENT$("retret")]
- public MyInfo GetTestInfo (string s, out string d)
- {
- d = "iii";
- return new MyInfo();
- }
-
- [SoapHeaderAttribute ("unknown1")]
- [WebMethod]
- public void TestUnknownHeader1 ()
- {
- if (unknown1 == null)
- throw new Exception ("Header is null");
-
- if (unknown1.Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown2")]
- [WebMethod]
- public void TestUnknownHeader2 ()
- {
- if (unknown2 == null || unknown2.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown2[0].Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown3")]
- [WebMethod]
- public int TestUnknownHeader3 ()
- {
- if (unknown3 == null)
- throw new Exception ("Header is null");
-
- if (unknown3.Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown3.Element ["userId"];
- return int.Parse (child.InnerText);
- }
-
- [SoapHeaderAttribute ("unknown4")]
- [WebMethod]
- public int TestUnknownHeader4 ()
- {
- if (unknown4 == null || unknown4.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown4[0].Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown4[0].Element ["userId"];
- return int.Parse (child.InnerText);
- }
- }
-
- public class MyInfo
- {
- public int a = 4;
- public string b = "hi";
- }
-}
+++ /dev/null
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Threading;
-using NUnit.Framework;
-using System.Web.Services.Protocols;
-using System.Xml;
-using $PROXY_NAMESPACE$;
-
-namespace Localhost.$TEST_NAMESPACE$
-{
- [TestFixture]
- public class ConverterTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- ConverterService cs = new ConverterService ();
- cs.Login ("lluis");
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.AreEqual (0.5, cs.GetCurrencyRate ("EUR"), "#1");
-
- double res = cs.Convert ("EUR","USD",6);
- Assert.AreEqual ((int)res, (int)12, "#2");
-
- CurrencyInfo[] infos = cs.GetCurrencyInfo ();
- Assert.IsNotNull (infos, "infos");
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- Assert.IsNotNull (info.Name, "info.Name");
-
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- Assert.AreEqual (val, info.Rate, "#3 " + info.Name);
- }
- cs.SetCurrencyRate ("EUR", 0.9);
- }
-
- // Async tests
-
- ConverterService acs;
- bool a1;
- bool a2;
- bool a3;
- AutoResetEvent eve = new AutoResetEvent (false);
-
- [Test]
- public void AsyncTestService ()
- {
- IAsyncResult ar;
- acs = new ConverterService ();
-
- ar = acs.BeginLogin ("lluis", null, null);
- acs.EndLogin (ar);
-
- acs.BeginSetCurrencyRate ("EUR", 0.5, new AsyncCallback(Callback1), null);
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#0");
- Assert.IsTrue (a1, "#1");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#2");
- Assert.IsTrue (a2, "#3");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#4");
- Assert.IsTrue (a3, "#5");
- }
-
- void Callback1 (IAsyncResult ar)
- {
- acs.EndSetCurrencyRate (ar);
- acs.BeginGetCurrencyRate ("EUR", new AsyncCallback(Callback2), null);
- }
-
- void Callback2 (IAsyncResult ar)
- {
- double res = acs.EndGetCurrencyRate (ar);
- a1 = (res == 0.5);
- eve.Set ();
-
- acs.BeginConvert ("EUR","USD",6, new AsyncCallback(Callback3), null);
- }
-
- void Callback3 (IAsyncResult ar)
- {
- double res = acs.EndConvert (ar);
- a2 = (res == 12);
- eve.Set ();
-
- acs.BeginGetCurrencyInfo (new AsyncCallback(Callback4),null);
- }
-
- void Callback4 (IAsyncResult ar)
- {
- CurrencyInfo[] infos = acs.EndGetCurrencyInfo (ar);
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- a3 = (val == info.Rate);
- if (!a3) break;
- }
- eve.Set ();
- }
-
- [Test]
- public void TestException ()
- {
- ConverterService cs = new ConverterService ();
- try
- {
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void AsyncTestException ()
- {
- ConverterService cs = new ConverterService ();
- IAsyncResult ar = cs.BeginSetCurrencyRate ("EUR", 0.5, null, null);
- try
- {
- cs.EndSetCurrencyRate (ar);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void TestObjectReturn ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
-
- // Test the Discover method.
- et.Url = "http://localhost:8080/$ASMX_NAME$?disco";
- et.Discover ();
-
- string d;
- object res = et.GetTestInfo ("hi", out d);
-
- Assert.AreEqual ("iii", d, "t1");
- Assert.IsNotNull (res, "t2");
- Assert.IsTrue (res is XmlNode[], "t3");
- XmlNode[] nods = res as XmlNode[];
- Assert.AreEqual (5, nods.Length, "t4");
-
- Assert.IsTrue (nods[0] is XmlAttribute, "t5");
- XmlAttribute at = nods[0] as XmlAttribute;
- Assert.AreEqual ("id", at.LocalName, "t6");
-
- Assert.IsTrue (nods[1] is XmlAttribute, "t7");
- at = nods[1] as XmlAttribute;
- Assert.AreEqual ("type", at.LocalName, "t8");
-
- Assert.IsTrue (nods[2] is XmlAttribute, "t9");
- at = nods[2] as XmlAttribute;
-
- Assert.IsTrue (nods[3] is XmlElement, "t10");
- XmlElement el = nods[3] as XmlElement;
- Assert.AreEqual ("a", el.Name, "t11");
-
- Assert.IsTrue (nods[4] is XmlElement, "t12");
- el = nods[4] as XmlElement;
- Assert.AreEqual ("b", el.Name, "t13");
- }
-
- [Test]
- public void TestUnknownHeaders ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
- et.Url = "http://localhost:8080/$ASMX_NAME$";
-
- et.myUserInfo = new MyUserInfo ();
- et.myUserInfo.userId = 5;
- et.myUserInfo.Actor = "hi";
-
- et.TestUnknownHeader1 ();
-
- et.TestUnknownHeader2 ();
-
- int res = et.TestUnknownHeader3 ();
- Assert.AreEqual (5, res, "TestUnknownHeader3");
-
- res = et.TestUnknownHeader4 ();
- Assert.AreEqual (5, res, "TestUnknownHeader4");
- }
- }
-
- [System.Web.Services.WebServiceBindingAttribute(Name="ConverterServiceSoap", Namespace="urn:mono-ws-tests")]
- public class ConverterServiceExtraTest : System.Web.Services.Protocols.SoapHttpClientProtocol
- {
- public MyUserInfo myUserInfo;
-
- [System.Web.Services.Protocols.$METHOD_ATTRIBUTE$("urn:mono-ws-tests/GetTestInfo", RequestNamespace="urn:mono-ws-tests", ResponseNamespace="urn:mono-ws-tests" $METHOD_ATTRIBUTE_PARAMS$)]
- public object GetTestInfo(string s, out string d) {
- object[] results = this.Invoke("GetTestInfo", new object[] {s});
- d = (string) results[1];
- return ((object)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.$METHOD_ATTRIBUTE$("urn:mono-ws-tests/TestUnknownHeader1",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" $METHOD_ATTRIBUTE_PARAMS$)]
- public virtual void TestUnknownHeader1() {
- this.Invoke("TestUnknownHeader1", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.$METHOD_ATTRIBUTE$("urn:mono-ws-tests/TestUnknownHeader2",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" $METHOD_ATTRIBUTE_PARAMS$)]
- public virtual void TestUnknownHeader2() {
- this.Invoke("TestUnknownHeader2", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.$METHOD_ATTRIBUTE$("urn:mono-ws-tests/TestUnknownHeader3",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" $METHOD_ATTRIBUTE_PARAMS$)]
- public virtual int TestUnknownHeader3() {
- System.Object[] results = this.Invoke("TestUnknownHeader3", new object[0]);
- return ((int)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.$METHOD_ATTRIBUTE$("urn:mono-ws-tests/TestUnknownHeader4",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" $METHOD_ATTRIBUTE_PARAMS$)]
- public virtual int TestUnknownHeader4() {
- System.Object[] results = this.Invoke("TestUnknownHeader4", new object[0]);
- return ((int)(results[0]));
- }
- }
-
- public class MyUserInfo : System.Web.Services.Protocols.SoapHeader
- {
- public int userId;
- }
-
-}
+++ /dev/null
-MCS=mcs -g
-sourcefile = proxies.sources
-
-tools: wstest.exe
-
-proxies: proxies.dll
-
-wstest.exe: wstest.cs
- $(MCS) wstest.cs /r:System.Web.Services.dll
-
-clean:
- rm -f *.dll *.exe *~ *.pdb
- rm -rf proxies
- rm -rf wsdlcache
- rm error/*
-
-proxies.dll:
- $(MCS) /r:System.Web.Services.dll /r:System.Data /target:library -out:proxies.dll @proxies.sources
-
-tests: proxies
- $(MCS) /r:proxies.dll /r:System.Web.Services.dll /r:nunit.framework.dll /r:System.Data /target:library -out:System.Web.Services-standalone_test.dll @client.sources WebServiceTest.cs
-
-update:
- mono --debug wstest.exe ur http://www.xmethods.net/default.disco wsdl.ignore
- mono --debug wstest.exe ur http://localhost:8080/xsp.vsdisco
- mono --debug wstest.exe dw
- rm -f wsdlfiles.tar.gz
- tar --gzip -cf wsdlfiles.tar.gz wsdl
-
-gen:
- mono --debug wstest.exe gp
- mono --debug wstest.exe gc
-
-regen:
- mono --debug wstest.exe gp all
-
-cls:
- mono --debug wstest.exe clean
-
-pack:
- tar --gzip -cf wsdlfiles.tar.gz wsdlcache
- gzip proxies.net.xml
-
-winbase:
- csc wstest.cs
- rm -rf wsdl
- rm -rf proxies
- rm -f proxies.dll
- tar xvfz wsdlfiles.tar.gz
- wstest.exe gp
- csc /r:System.Web.Services.dll /r:System.Data /target:library -out:proxies.dll @proxies.sources
- mono ../../../../tools/corcompare/mono-api-info.exe proxies.net.dll > proxies.net.xml
-
-test-wsdl: tools
- rm -rf error/*
- rm -rf wsdlcache
- rm -rf proxies
- rm -f proxies.dll
- tar xvfz wsdlfiles.tar.gz
- gunzip -c proxies.net.xml.gz > proxies.net.xml
- mono wstest.exe gp
- mono wstest.exe gc
- mcs /r:System.Web.Services.dll /r:System.Data /target:library -out:proxies.dll @proxies.sources
- mono ../../../../tools/corcompare/mono-api-info.exe proxies.dll > proxies.mono.xml
- mono wstest.exe msfix proxies.net.xml
- mono ../../../../tools/corcompare/mono-api-diff.exe proxies.net.xml proxies.mono.xml > proxies.diff.xml
- mono wstest.exe checkdiff proxies.diff.xml
-
-test-clients: tests
- rm -f somefile && touch somefile
- (tail -f somefile | xsp --root server)&
- sleep 2
- -harness=../../../lib/default/nunit-console.exe; \
- if test -f $$harness; then :; else harness=../../../lib/nunit-console.exe; fi; \
- mono $$harness System.Web.Services-standalone_test.dll
- echo "" >> somefile
-
-test: test-wsdl test-clients
-
-respage:
- mono transform.exe proxies.diff.xml ../../../../tools/corcompare/mono-api.xsl > proxies.data.html
- cat header.html proxies.data.html > proxies.html
- rm proxies.data.html
-
-genfiles:
- mono wstest.exe genfiles templates.xml
+++ /dev/null
-Web Service Test Suite
-----------------------
-
-This directory contains a test suite for testing Web Services. It tests:
-
-* Proxy generation using the wsdl tool
-* Access to web services using the generated client proxies
-* Execution of web services in the server
-
-This suite not only tests web services running on XSP, but it can also test
-services running on other platforms and that are available in internet. This
-will help track down interoperability issues.
-
-To build the test suite, just run:
-
-> xsp --nonstop --root server &
-> make
-
-This will download the wsdl documents, generate the proxies, build a dll with
-the proxies, and build the nunit tests. Then you can use nunit-console or
-gnunit to run the tests (the nunit dll is testclient.dll).
-
-Which services are tested?
---------------------------
-
-The file services.xml contains the list of services to test. There is an
-xml element for each web service with the following structure:
-
- <service>
- <wsdl>url</wsdl> // url to the wsdl document
- <name>name</name> // name of the service
- <protocols> // List of protocols for which to
- <protocol>Soap</protocol> // generate a proxy
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest> // True if there is a nunit test
- </service> // for the service
-
-Notice that not all web services will have a corresponding nunit test, since
-such test is not allways possible. However, proxy generation will be tested
-for all of them.
-
-You can manually add new services to the list or use the wstest tool to add
-a list of references included in a DISCO document. For example:
-
-> ./wstest ur <url> <ignore-file>
-
-This will download the DISCO document from the provided <url> and add an entry
-for each service referenced in the document. The second parameter is optional,
-it is a file that contains a list of wsdl urls that should be ignored from the
-document.
-
-The current Makefile downloads references from the following locations:
-
-* http://www.xmethods.net/default.disco
-* http://localhost:8080/xsp.disco
-
-Creating a new nunit test
--------------------------
-
-To test services running in XSP, just add the asmx file in the "server"
-directory and update the xsp.disco file in there. Then run "make".
-
-To create a nunit test for a web service already registered, just run:
-
-> ./wstest gc <url>
-
-Where url is the URL of the service's WSDL document. This will generate a class
-in the "client" directory with a basic structure. You should then manually
-implement the test.
-
-Other useful targets in of the makefile
----------------------------------------
-
-make update: Updates the services.xml list with the references from
- http://www.xmethods.net/default.disco and
- http://localhost:8080/xsp.disco
-
-make gen: Generates proxies for new service references.
-
-make regen: Regenerates all proxies
-
-make cls: Removes obsolete proxies and tests.
-
-make proxies: Builds the proxy library.
-
-make tests: Builds the nunit library.
-
-make tools: Builds wstest.
-
+++ /dev/null
-using NUnit.Framework;
-
-public class WebServiceTest
-{
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://appserver.pepperzak.net/bankcode/BankCodeEJBHome/wsdl.jsp
-
-using System;
-using NUnit.Framework;
-using BankCodeEJBHomeTests.Soap;
-
-namespace External.BankCodeEJBHomeTests
-{
- [TestFixture]
- public class BankCodeEJBHomeTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- // BEA Weblogic / RPC
-
- BankCode bc = new BankCode ();
-
- Assert.AreEqual ("10020000 ", bc.getCodeByName ("Berlin"), "#1");
- string s = bc.getNameByCode ("10020000 ");
- Assert.AreEqual ("10020000 ", bc.getCodeByName (s), "#2");
- }
- }
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://live.capescience.com/wsdl/GlobalWeather.wsdl
-
-using System;
-using NUnit.Framework;
-using GlobalWeatherTests.Soap;
-
-namespace External.GlobalWeatherTests
-{
- [TestFixture]
- public class GlobalWeatherTest: WebServiceTest
- {
- // CapeConnect / RPC
-
- [Test]
- public void TestStationInfo ()
- {
- StationInfo si = new StationInfo ();
- string[] countries = si.listCountries ();
- Assert.IsNotNull (countries);
- Assert.AreEqual (215, countries.Length);
- Assert.AreEqual ("afghanistan", countries[0]);
- Assert.AreEqual ("spain", countries[177]);
- Assert.AreEqual ("zimbabwe", countries[214]);
-
- Station[] stations = si.searchByCountry ("spain");
- Assert.IsNotNull (stations);
- foreach (Station sta in stations)
- {
- Assert.IsNotNull (sta);
- if (sta.icao == "LEBL")
- Assert.AreEqual ("Barcelona / Aeropuerto", sta.name);
- }
-
- Station[] st = si.searchByCode ("LEBL");
- Assert.IsNotNull (st);
- Assert.AreEqual (1, st.Length);
- Assert.AreEqual ("Barcelona / Aeropuerto", st[0].name);
- }
-
- [Test]
- public void TestGlobalWeather ()
- {
- GlobalWeather gw = new GlobalWeather ();
- WeatherReport wr = gw.getWeatherReport ("LEBL");
-
- Assert.IsNotNull (wr.station);
- Assert.AreEqual ("LEBL", wr.station.icao);
- Assert.AreEqual ("Barcelona / Aeropuerto", wr.station.name);
- }
- }
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://www.lixusnet.com/lixusnet/HPcatalog.jws?wsdl
-
-using System;
-using NUnit.Framework;
-using HPcatalogTests.Soap;
-
-namespace External.HPcatalogTests
-{
- [TestFixture]
- public class HPcatalogTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- // AXIS / rpc
-
- HPcatalogService ser = new HPcatalogService ();
- string[][] list = ser.getList ("F2444KG");
-
- Assert.IsNotNull (list);
- Assert.AreEqual (121, list.Length);
-
- list = ser.getList ("D5319A");
- Assert.IsNotNull (list);
- Assert.AreEqual (2, list.Length);
-
- Assert.IsNotNull (list[0]);
- Assert.AreEqual ("8120-8382", list[0][0]);
- Assert.AreEqual ("Power cord (Flint Gray) - 18 AWG, 1.8m (6.0ft) long - Has straight (F) receptacle (For 120V in the USA and Canada)", list[0][1]);
-
- Assert.IsNotNull (list[1]);
- Assert.AreEqual ("5182-8895", list[1][0]);
- Assert.AreEqual ("Heat sink support base / retention base - For Pentium II (Klamath) processor", list[1][1]);
-
- }
- }
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://www.e-naxos.com/scripts/enwscp.dll/wsdl/IODCODESPOSTAUX
-
-using System;
-using NUnit.Framework;
-using IODCODESPOSTAUXTests.Soap;
-
-namespace External.IODCODESPOSTAUXTests
-{
- [TestFixture]
- public class IODCODESPOSTAUXTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- // Delphi / RPC
-
- IODCODESPOSTAUXservice ser = new IODCODESPOSTAUXservice ();
-
-// ser.GetTownsForSoundex ("Pyrénées Orientales",",");
- string res = ser.GetDepartmentForCode ("66");
- Console.WriteLine ("á");
- Console.WriteLine (res);
- Console.WriteLine ("Pyrénées Orientales");
- Assert.AreEqual ("Pyrénées Orientales", res);
-
- res = ser.GetZipForTown ("Perpignan",",",true);
- Assert.AreEqual ("66000=Perpignan,66100=Perpignan", res);
- }
- }
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://www.xmethods.net/sd/2001/TemperatureService.wsdl
-
-using System;
-using NUnit.Framework;
-using TemperatureServiceTests.Soap;
-
-namespace External.TemperatureServiceTests
-{
- [TestFixture]
- public class TemperatureServiceTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- // Apache SOAP / RPC
-
- TemperatureService ts = new TemperatureService ();
- float temp = ts.getTemp ("95110");
- Assert.IsTrue (temp < 140 && temp > -60);
-
- temp = ts.getTemp ("hola");
- Assert.IsTrue (temp == -999);
- }
- }
-}
+++ /dev/null
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Threading;
-using NUnit.Framework;
-using System.Web.Services.Protocols;
-using System.Xml;
-using ConvDocEncBarTests.Soap;
-
-namespace Localhost.ConvDocEncBarTests
-{
- [TestFixture]
- public class ConverterTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- ConverterService cs = new ConverterService ();
- cs.Login ("lluis");
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.AreEqual (0.5, cs.GetCurrencyRate ("EUR"), "#1");
-
- double res = cs.Convert ("EUR","USD",6);
- Assert.AreEqual ((int)res, (int)12, "#2");
-
- CurrencyInfo[] infos = cs.GetCurrencyInfo ();
- Assert.IsNotNull (infos, "infos");
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- Assert.IsNotNull (info.Name, "info.Name");
-
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- Assert.AreEqual (val, info.Rate, "#3 " + info.Name);
- }
- cs.SetCurrencyRate ("EUR", 0.9);
- }
-
- // Async tests
-
- ConverterService acs;
- bool a1;
- bool a2;
- bool a3;
- AutoResetEvent eve = new AutoResetEvent (false);
-
- [Test]
- public void AsyncTestService ()
- {
- IAsyncResult ar;
- acs = new ConverterService ();
-
- ar = acs.BeginLogin ("lluis", null, null);
- acs.EndLogin (ar);
-
- acs.BeginSetCurrencyRate ("EUR", 0.5, new AsyncCallback(Callback1), null);
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#0");
- Assert.IsTrue (a1, "#1");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#2");
- Assert.IsTrue (a2, "#3");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#4");
- Assert.IsTrue (a3, "#5");
- }
-
- void Callback1 (IAsyncResult ar)
- {
- acs.EndSetCurrencyRate (ar);
- acs.BeginGetCurrencyRate ("EUR", new AsyncCallback(Callback2), null);
- }
-
- void Callback2 (IAsyncResult ar)
- {
- double res = acs.EndGetCurrencyRate (ar);
- a1 = (res == 0.5);
- eve.Set ();
-
- acs.BeginConvert ("EUR","USD",6, new AsyncCallback(Callback3), null);
- }
-
- void Callback3 (IAsyncResult ar)
- {
- double res = acs.EndConvert (ar);
- a2 = (res == 12);
- eve.Set ();
-
- acs.BeginGetCurrencyInfo (new AsyncCallback(Callback4),null);
- }
-
- void Callback4 (IAsyncResult ar)
- {
- CurrencyInfo[] infos = acs.EndGetCurrencyInfo (ar);
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- a3 = (val == info.Rate);
- if (!a3) break;
- }
- eve.Set ();
- }
-
- [Test]
- public void TestException ()
- {
- ConverterService cs = new ConverterService ();
- try
- {
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void AsyncTestException ()
- {
- ConverterService cs = new ConverterService ();
- IAsyncResult ar = cs.BeginSetCurrencyRate ("EUR", 0.5, null, null);
- try
- {
- cs.EndSetCurrencyRate (ar);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void TestObjectReturn ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
-
- // Test the Discover method.
- et.Url = "http://localhost:8080/ConvDocEncBar.asmx?disco";
- et.Discover ();
-
- string d;
- object res = et.GetTestInfo ("hi", out d);
-
- Assert.AreEqual ("iii", d, "t1");
- Assert.IsNotNull (res, "t2");
- Assert.IsTrue (res is XmlNode[], "t3");
- XmlNode[] nods = res as XmlNode[];
- Assert.AreEqual (5, nods.Length, "t4");
-
- Assert.IsTrue (nods[0] is XmlAttribute, "t5");
- XmlAttribute at = nods[0] as XmlAttribute;
- Assert.AreEqual ("id", at.LocalName, "t6");
-
- Assert.IsTrue (nods[1] is XmlAttribute, "t7");
- at = nods[1] as XmlAttribute;
- Assert.AreEqual ("type", at.LocalName, "t8");
-
- Assert.IsTrue (nods[2] is XmlAttribute, "t9");
- at = nods[2] as XmlAttribute;
-
- Assert.IsTrue (nods[3] is XmlElement, "t10");
- XmlElement el = nods[3] as XmlElement;
- Assert.AreEqual ("a", el.Name, "t11");
-
- Assert.IsTrue (nods[4] is XmlElement, "t12");
- el = nods[4] as XmlElement;
- Assert.AreEqual ("b", el.Name, "t13");
- }
-
- [Test]
- public void TestUnknownHeaders ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
- et.Url = "http://localhost:8080/ConvDocEncBar.asmx";
-
- et.myUserInfo = new MyUserInfo ();
- et.myUserInfo.userId = 5;
- et.myUserInfo.Actor = "hi";
-
- et.TestUnknownHeader1 ();
-
- et.TestUnknownHeader2 ();
-
- int res = et.TestUnknownHeader3 ();
- Assert.AreEqual (5, res, "TestUnknownHeader3");
-
- res = et.TestUnknownHeader4 ();
- Assert.AreEqual (5, res, "TestUnknownHeader4");
- }
- }
-
- [System.Web.Services.WebServiceBindingAttribute(Name="ConverterServiceSoap", Namespace="urn:mono-ws-tests")]
- public class ConverterServiceExtraTest : System.Web.Services.Protocols.SoapHttpClientProtocol
- {
- public MyUserInfo myUserInfo;
-
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/GetTestInfo", RequestNamespace="urn:mono-ws-tests", ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Bare)]
- public object GetTestInfo(string s, out string d) {
- object[] results = this.Invoke("GetTestInfo", new object[] {s});
- d = (string) results[1];
- return ((object)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader1",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Bare)]
- public virtual void TestUnknownHeader1() {
- this.Invoke("TestUnknownHeader1", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader2",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Bare)]
- public virtual void TestUnknownHeader2() {
- this.Invoke("TestUnknownHeader2", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader3",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Bare)]
- public virtual int TestUnknownHeader3() {
- System.Object[] results = this.Invoke("TestUnknownHeader3", new object[0]);
- return ((int)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader4",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Bare)]
- public virtual int TestUnknownHeader4() {
- System.Object[] results = this.Invoke("TestUnknownHeader4", new object[0]);
- return ((int)(results[0]));
- }
- }
-
- public class MyUserInfo : System.Web.Services.Protocols.SoapHeader
- {
- public int userId;
- }
-
-}
+++ /dev/null
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Threading;
-using NUnit.Framework;
-using System.Web.Services.Protocols;
-using System.Xml;
-using ConvDocEncWraTests.Soap;
-
-namespace Localhost.ConvDocEncWraTests
-{
- [TestFixture]
- public class ConverterTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- ConverterService cs = new ConverterService ();
- cs.Login ("lluis");
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.AreEqual (0.5, cs.GetCurrencyRate ("EUR"), "#1");
-
- double res = cs.Convert ("EUR","USD",6);
- Assert.AreEqual ((int)res, (int)12, "#2");
-
- CurrencyInfo[] infos = cs.GetCurrencyInfo ();
- Assert.IsNotNull (infos, "infos");
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- Assert.IsNotNull (info.Name, "info.Name");
-
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- Assert.AreEqual (val, info.Rate, "#3 " + info.Name);
- }
- cs.SetCurrencyRate ("EUR", 0.9);
- }
-
- // Async tests
-
- ConverterService acs;
- bool a1;
- bool a2;
- bool a3;
- AutoResetEvent eve = new AutoResetEvent (false);
-
- [Test]
- public void AsyncTestService ()
- {
- IAsyncResult ar;
- acs = new ConverterService ();
-
- ar = acs.BeginLogin ("lluis", null, null);
- acs.EndLogin (ar);
-
- acs.BeginSetCurrencyRate ("EUR", 0.5, new AsyncCallback(Callback1), null);
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#0");
- Assert.IsTrue (a1, "#1");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#2");
- Assert.IsTrue (a2, "#3");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#4");
- Assert.IsTrue (a3, "#5");
- }
-
- void Callback1 (IAsyncResult ar)
- {
- acs.EndSetCurrencyRate (ar);
- acs.BeginGetCurrencyRate ("EUR", new AsyncCallback(Callback2), null);
- }
-
- void Callback2 (IAsyncResult ar)
- {
- double res = acs.EndGetCurrencyRate (ar);
- a1 = (res == 0.5);
- eve.Set ();
-
- acs.BeginConvert ("EUR","USD",6, new AsyncCallback(Callback3), null);
- }
-
- void Callback3 (IAsyncResult ar)
- {
- double res = acs.EndConvert (ar);
- a2 = (res == 12);
- eve.Set ();
-
- acs.BeginGetCurrencyInfo (new AsyncCallback(Callback4),null);
- }
-
- void Callback4 (IAsyncResult ar)
- {
- CurrencyInfo[] infos = acs.EndGetCurrencyInfo (ar);
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- a3 = (val == info.Rate);
- if (!a3) break;
- }
- eve.Set ();
- }
-
- [Test]
- public void TestException ()
- {
- ConverterService cs = new ConverterService ();
- try
- {
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void AsyncTestException ()
- {
- ConverterService cs = new ConverterService ();
- IAsyncResult ar = cs.BeginSetCurrencyRate ("EUR", 0.5, null, null);
- try
- {
- cs.EndSetCurrencyRate (ar);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void TestObjectReturn ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
-
- // Test the Discover method.
- et.Url = "http://localhost:8080/ConvDocEncWra.asmx?disco";
- et.Discover ();
-
- string d;
- object res = et.GetTestInfo ("hi", out d);
-
- Assert.AreEqual ("iii", d, "t1");
- Assert.IsNotNull (res, "t2");
- Assert.IsTrue (res is XmlNode[], "t3");
- XmlNode[] nods = res as XmlNode[];
- Assert.AreEqual (5, nods.Length, "t4");
-
- Assert.IsTrue (nods[0] is XmlAttribute, "t5");
- XmlAttribute at = nods[0] as XmlAttribute;
- Assert.AreEqual ("id", at.LocalName, "t6");
-
- Assert.IsTrue (nods[1] is XmlAttribute, "t7");
- at = nods[1] as XmlAttribute;
- Assert.AreEqual ("type", at.LocalName, "t8");
-
- Assert.IsTrue (nods[2] is XmlAttribute, "t9");
- at = nods[2] as XmlAttribute;
-
- Assert.IsTrue (nods[3] is XmlElement, "t10");
- XmlElement el = nods[3] as XmlElement;
- Assert.AreEqual ("a", el.Name, "t11");
-
- Assert.IsTrue (nods[4] is XmlElement, "t12");
- el = nods[4] as XmlElement;
- Assert.AreEqual ("b", el.Name, "t13");
- }
-
- [Test]
- public void TestUnknownHeaders ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
- et.Url = "http://localhost:8080/ConvDocEncWra.asmx";
-
- et.myUserInfo = new MyUserInfo ();
- et.myUserInfo.userId = 5;
- et.myUserInfo.Actor = "hi";
-
- et.TestUnknownHeader1 ();
-
- et.TestUnknownHeader2 ();
-
- int res = et.TestUnknownHeader3 ();
- Assert.AreEqual (5, res, "TestUnknownHeader3");
-
- res = et.TestUnknownHeader4 ();
- Assert.AreEqual (5, res, "TestUnknownHeader4");
- }
- }
-
- [System.Web.Services.WebServiceBindingAttribute(Name="ConverterServiceSoap", Namespace="urn:mono-ws-tests")]
- public class ConverterServiceExtraTest : System.Web.Services.Protocols.SoapHttpClientProtocol
- {
- public MyUserInfo myUserInfo;
-
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/GetTestInfo", RequestNamespace="urn:mono-ws-tests", ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Wrapped)]
- public object GetTestInfo(string s, out string d) {
- object[] results = this.Invoke("GetTestInfo", new object[] {s});
- d = (string) results[1];
- return ((object)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader1",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Wrapped)]
- public virtual void TestUnknownHeader1() {
- this.Invoke("TestUnknownHeader1", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader2",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Wrapped)]
- public virtual void TestUnknownHeader2() {
- this.Invoke("TestUnknownHeader2", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader3",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Wrapped)]
- public virtual int TestUnknownHeader3() {
- System.Object[] results = this.Invoke("TestUnknownHeader3", new object[0]);
- return ((int)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader4",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Wrapped)]
- public virtual int TestUnknownHeader4() {
- System.Object[] results = this.Invoke("TestUnknownHeader4", new object[0]);
- return ((int)(results[0]));
- }
- }
-
- public class MyUserInfo : System.Web.Services.Protocols.SoapHeader
- {
- public int userId;
- }
-
-}
+++ /dev/null
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Threading;
-using NUnit.Framework;
-using System.Web.Services.Protocols;
-using System.Xml;
-using ConvDocLitBarTests.Soap;
-
-namespace Localhost.ConvDocLitBarTests
-{
- [TestFixture]
- public class ConverterTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- ConverterService cs = new ConverterService ();
- cs.Login ("lluis");
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.AreEqual (0.5, cs.GetCurrencyRate ("EUR"), "#1");
-
- double res = cs.Convert ("EUR","USD",6);
- Assert.AreEqual ((int)res, (int)12, "#2");
-
- CurrencyInfo[] infos = cs.GetCurrencyInfo ();
- Assert.IsNotNull (infos, "infos");
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- Assert.IsNotNull (info.Name, "info.Name");
-
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- Assert.AreEqual (val, info.Rate, "#3 " + info.Name);
- }
- cs.SetCurrencyRate ("EUR", 0.9);
- }
-
- // Async tests
-
- ConverterService acs;
- bool a1;
- bool a2;
- bool a3;
- AutoResetEvent eve = new AutoResetEvent (false);
-
- [Test]
- public void AsyncTestService ()
- {
- IAsyncResult ar;
- acs = new ConverterService ();
-
- ar = acs.BeginLogin ("lluis", null, null);
- acs.EndLogin (ar);
-
- acs.BeginSetCurrencyRate ("EUR", 0.5, new AsyncCallback(Callback1), null);
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#0");
- Assert.IsTrue (a1, "#1");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#2");
- Assert.IsTrue (a2, "#3");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#4");
- Assert.IsTrue (a3, "#5");
- }
-
- void Callback1 (IAsyncResult ar)
- {
- acs.EndSetCurrencyRate (ar);
- acs.BeginGetCurrencyRate ("EUR", new AsyncCallback(Callback2), null);
- }
-
- void Callback2 (IAsyncResult ar)
- {
- double res = acs.EndGetCurrencyRate (ar);
- a1 = (res == 0.5);
- eve.Set ();
-
- acs.BeginConvert ("EUR","USD",6, new AsyncCallback(Callback3), null);
- }
-
- void Callback3 (IAsyncResult ar)
- {
- double res = acs.EndConvert (ar);
- a2 = (res == 12);
- eve.Set ();
-
- acs.BeginGetCurrencyInfo (new AsyncCallback(Callback4),null);
- }
-
- void Callback4 (IAsyncResult ar)
- {
- CurrencyInfo[] infos = acs.EndGetCurrencyInfo (ar);
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- a3 = (val == info.Rate);
- if (!a3) break;
- }
- eve.Set ();
- }
-
- [Test]
- public void TestException ()
- {
- ConverterService cs = new ConverterService ();
- try
- {
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void AsyncTestException ()
- {
- ConverterService cs = new ConverterService ();
- IAsyncResult ar = cs.BeginSetCurrencyRate ("EUR", 0.5, null, null);
- try
- {
- cs.EndSetCurrencyRate (ar);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void TestObjectReturn ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
-
- // Test the Discover method.
- et.Url = "http://localhost:8080/ConvDocLitBar.asmx?disco";
- et.Discover ();
-
- string d;
- object res = et.GetTestInfo ("hi", out d);
-
- Assert.AreEqual ("iii", d, "t1");
- Assert.IsNotNull (res, "t2");
- Assert.IsTrue (res is XmlNode[], "t3");
- XmlNode[] nods = res as XmlNode[];
- Assert.AreEqual (5, nods.Length, "t4");
-
- Assert.IsTrue (nods[0] is XmlAttribute, "t5");
- XmlAttribute at = nods[0] as XmlAttribute;
- Assert.AreEqual ("id", at.LocalName, "t6");
-
- Assert.IsTrue (nods[1] is XmlAttribute, "t7");
- at = nods[1] as XmlAttribute;
- Assert.AreEqual ("type", at.LocalName, "t8");
-
- Assert.IsTrue (nods[2] is XmlAttribute, "t9");
- at = nods[2] as XmlAttribute;
-
- Assert.IsTrue (nods[3] is XmlElement, "t10");
- XmlElement el = nods[3] as XmlElement;
- Assert.AreEqual ("a", el.Name, "t11");
-
- Assert.IsTrue (nods[4] is XmlElement, "t12");
- el = nods[4] as XmlElement;
- Assert.AreEqual ("b", el.Name, "t13");
- }
-
- [Test]
- public void TestUnknownHeaders ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
- et.Url = "http://localhost:8080/ConvDocLitBar.asmx";
-
- et.myUserInfo = new MyUserInfo ();
- et.myUserInfo.userId = 5;
- et.myUserInfo.Actor = "hi";
-
- et.TestUnknownHeader1 ();
-
- et.TestUnknownHeader2 ();
-
- int res = et.TestUnknownHeader3 ();
- Assert.AreEqual (5, res, "TestUnknownHeader3");
-
- res = et.TestUnknownHeader4 ();
- Assert.AreEqual (5, res, "TestUnknownHeader4");
- }
- }
-
- [System.Web.Services.WebServiceBindingAttribute(Name="ConverterServiceSoap", Namespace="urn:mono-ws-tests")]
- public class ConverterServiceExtraTest : System.Web.Services.Protocols.SoapHttpClientProtocol
- {
- public MyUserInfo myUserInfo;
-
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/GetTestInfo", RequestNamespace="urn:mono-ws-tests", ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
- public object GetTestInfo(string s, out string d) {
- object[] results = this.Invoke("GetTestInfo", new object[] {s});
- d = (string) results[1];
- return ((object)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader1",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
- public virtual void TestUnknownHeader1() {
- this.Invoke("TestUnknownHeader1", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader2",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
- public virtual void TestUnknownHeader2() {
- this.Invoke("TestUnknownHeader2", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader3",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
- public virtual int TestUnknownHeader3() {
- System.Object[] results = this.Invoke("TestUnknownHeader3", new object[0]);
- return ((int)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader4",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
- public virtual int TestUnknownHeader4() {
- System.Object[] results = this.Invoke("TestUnknownHeader4", new object[0]);
- return ((int)(results[0]));
- }
- }
-
- public class MyUserInfo : System.Web.Services.Protocols.SoapHeader
- {
- public int userId;
- }
-
-}
+++ /dev/null
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Threading;
-using NUnit.Framework;
-using System.Web.Services.Protocols;
-using System.Xml;
-using ConvDocLitWraTests.Soap;
-
-namespace Localhost.ConvDocLitWraTests
-{
- [TestFixture]
- public class ConverterTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- ConverterService cs = new ConverterService ();
- cs.Login ("lluis");
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.AreEqual (0.5, cs.GetCurrencyRate ("EUR"), "#1");
-
- double res = cs.Convert ("EUR","USD",6);
- Assert.AreEqual ((int)res, (int)12, "#2");
-
- CurrencyInfo[] infos = cs.GetCurrencyInfo ();
- Assert.IsNotNull (infos, "infos");
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- Assert.IsNotNull (info.Name, "info.Name");
-
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- Assert.AreEqual (val, info.Rate, "#3 " + info.Name);
- }
- cs.SetCurrencyRate ("EUR", 0.9);
- }
-
- // Async tests
-
- ConverterService acs;
- bool a1;
- bool a2;
- bool a3;
- AutoResetEvent eve = new AutoResetEvent (false);
-
- [Test]
- public void AsyncTestService ()
- {
- IAsyncResult ar;
- acs = new ConverterService ();
-
- ar = acs.BeginLogin ("lluis", null, null);
- acs.EndLogin (ar);
-
- acs.BeginSetCurrencyRate ("EUR", 0.5, new AsyncCallback(Callback1), null);
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#0");
- Assert.IsTrue (a1, "#1");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#2");
- Assert.IsTrue (a2, "#3");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#4");
- Assert.IsTrue (a3, "#5");
- }
-
- void Callback1 (IAsyncResult ar)
- {
- acs.EndSetCurrencyRate (ar);
- acs.BeginGetCurrencyRate ("EUR", new AsyncCallback(Callback2), null);
- }
-
- void Callback2 (IAsyncResult ar)
- {
- double res = acs.EndGetCurrencyRate (ar);
- a1 = (res == 0.5);
- eve.Set ();
-
- acs.BeginConvert ("EUR","USD",6, new AsyncCallback(Callback3), null);
- }
-
- void Callback3 (IAsyncResult ar)
- {
- double res = acs.EndConvert (ar);
- a2 = (res == 12);
- eve.Set ();
-
- acs.BeginGetCurrencyInfo (new AsyncCallback(Callback4),null);
- }
-
- void Callback4 (IAsyncResult ar)
- {
- CurrencyInfo[] infos = acs.EndGetCurrencyInfo (ar);
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- a3 = (val == info.Rate);
- if (!a3) break;
- }
- eve.Set ();
- }
-
- [Test]
- public void TestException ()
- {
- ConverterService cs = new ConverterService ();
- try
- {
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void AsyncTestException ()
- {
- ConverterService cs = new ConverterService ();
- IAsyncResult ar = cs.BeginSetCurrencyRate ("EUR", 0.5, null, null);
- try
- {
- cs.EndSetCurrencyRate (ar);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void TestObjectReturn ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
-
- // Test the Discover method.
- et.Url = "http://localhost:8080/ConvDocLitWra.asmx?disco";
- et.Discover ();
-
- string d;
- object res = et.GetTestInfo ("hi", out d);
-
- Assert.AreEqual ("iii", d, "t1");
- Assert.IsNotNull (res, "t2");
- Assert.IsTrue (res is XmlNode[], "t3");
- XmlNode[] nods = res as XmlNode[];
- Assert.AreEqual (5, nods.Length, "t4");
-
- Assert.IsTrue (nods[0] is XmlAttribute, "t5");
- XmlAttribute at = nods[0] as XmlAttribute;
- Assert.AreEqual ("id", at.LocalName, "t6");
-
- Assert.IsTrue (nods[1] is XmlAttribute, "t7");
- at = nods[1] as XmlAttribute;
- Assert.AreEqual ("type", at.LocalName, "t8");
-
- Assert.IsTrue (nods[2] is XmlAttribute, "t9");
- at = nods[2] as XmlAttribute;
-
- Assert.IsTrue (nods[3] is XmlElement, "t10");
- XmlElement el = nods[3] as XmlElement;
- Assert.AreEqual ("a", el.Name, "t11");
-
- Assert.IsTrue (nods[4] is XmlElement, "t12");
- el = nods[4] as XmlElement;
- Assert.AreEqual ("b", el.Name, "t13");
- }
-
- [Test]
- public void TestUnknownHeaders ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
- et.Url = "http://localhost:8080/ConvDocLitWra.asmx";
-
- et.myUserInfo = new MyUserInfo ();
- et.myUserInfo.userId = 5;
- et.myUserInfo.Actor = "hi";
-
- et.TestUnknownHeader1 ();
-
- et.TestUnknownHeader2 ();
-
- int res = et.TestUnknownHeader3 ();
- Assert.AreEqual (5, res, "TestUnknownHeader3");
-
- res = et.TestUnknownHeader4 ();
- Assert.AreEqual (5, res, "TestUnknownHeader4");
- }
- }
-
- [System.Web.Services.WebServiceBindingAttribute(Name="ConverterServiceSoap", Namespace="urn:mono-ws-tests")]
- public class ConverterServiceExtraTest : System.Web.Services.Protocols.SoapHttpClientProtocol
- {
- public MyUserInfo myUserInfo;
-
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/GetTestInfo", RequestNamespace="urn:mono-ws-tests", ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
- public object GetTestInfo(string s, out string d) {
- object[] results = this.Invoke("GetTestInfo", new object[] {s});
- d = (string) results[1];
- return ((object)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader1",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
- public virtual void TestUnknownHeader1() {
- this.Invoke("TestUnknownHeader1", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader2",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
- public virtual void TestUnknownHeader2() {
- this.Invoke("TestUnknownHeader2", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader3",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
- public virtual int TestUnknownHeader3() {
- System.Object[] results = this.Invoke("TestUnknownHeader3", new object[0]);
- return ((int)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader4",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
- public virtual int TestUnknownHeader4() {
- System.Object[] results = this.Invoke("TestUnknownHeader4", new object[0]);
- return ((int)(results[0]));
- }
- }
-
- public class MyUserInfo : System.Web.Services.Protocols.SoapHeader
- {
- public int userId;
- }
-
-}
+++ /dev/null
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Threading;
-using NUnit.Framework;
-using System.Web.Services.Protocols;
-using System.Xml;
-using ConvRpcTests.Soap;
-
-namespace Localhost.ConvRpcTests
-{
- [TestFixture]
- public class ConverterTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- ConverterService cs = new ConverterService ();
- cs.Login ("lluis");
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.AreEqual (0.5, cs.GetCurrencyRate ("EUR"), "#1");
-
- double res = cs.Convert ("EUR","USD",6);
- Assert.AreEqual ((int)res, (int)12, "#2");
-
- CurrencyInfo[] infos = cs.GetCurrencyInfo ();
- Assert.IsNotNull (infos, "infos");
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- Assert.IsNotNull (info.Name, "info.Name");
-
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- Assert.AreEqual (val, info.Rate, "#3 " + info.Name);
- }
- cs.SetCurrencyRate ("EUR", 0.9);
- }
-
- // Async tests
-
- ConverterService acs;
- bool a1;
- bool a2;
- bool a3;
- AutoResetEvent eve = new AutoResetEvent (false);
-
- [Test]
- public void AsyncTestService ()
- {
- IAsyncResult ar;
- acs = new ConverterService ();
-
- ar = acs.BeginLogin ("lluis", null, null);
- acs.EndLogin (ar);
-
- acs.BeginSetCurrencyRate ("EUR", 0.5, new AsyncCallback(Callback1), null);
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#0");
- Assert.IsTrue (a1, "#1");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#2");
- Assert.IsTrue (a2, "#3");
-
- Assert.IsTrue (eve.WaitOne (5000, false), "#4");
- Assert.IsTrue (a3, "#5");
- }
-
- void Callback1 (IAsyncResult ar)
- {
- acs.EndSetCurrencyRate (ar);
- acs.BeginGetCurrencyRate ("EUR", new AsyncCallback(Callback2), null);
- }
-
- void Callback2 (IAsyncResult ar)
- {
- double res = acs.EndGetCurrencyRate (ar);
- a1 = (res == 0.5);
- eve.Set ();
-
- acs.BeginConvert ("EUR","USD",6, new AsyncCallback(Callback3), null);
- }
-
- void Callback3 (IAsyncResult ar)
- {
- double res = acs.EndConvert (ar);
- a2 = (res == 12);
- eve.Set ();
-
- acs.BeginGetCurrencyInfo (new AsyncCallback(Callback4),null);
- }
-
- void Callback4 (IAsyncResult ar)
- {
- CurrencyInfo[] infos = acs.EndGetCurrencyInfo (ar);
-
- foreach (CurrencyInfo info in infos)
- {
- double val = 0;
- switch (info.Name)
- {
- case "USD": val = 1; break;
- case "EUR": val = 0.5; break;
- case "GBP": val = 0.611817; break;
- case "JPY": val = 118.271; break;
- case "CAD": val = 1.36338; break;
- case "AUD": val = 1.51485; break;
- case "CHF": val = 1.36915; break;
- case "RUR": val = 30.4300; break;
- case "CNY": val = 8.27740; break;
- case "ZAR": val = 7.62645; break;
- case "MXN": val = 10.5025; break;
- }
- a3 = (val == info.Rate);
- if (!a3) break;
- }
- eve.Set ();
- }
-
- [Test]
- public void TestException ()
- {
- ConverterService cs = new ConverterService ();
- try
- {
- cs.SetCurrencyRate ("EUR", 0.5);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void AsyncTestException ()
- {
- ConverterService cs = new ConverterService ();
- IAsyncResult ar = cs.BeginSetCurrencyRate ("EUR", 0.5, null, null);
- try
- {
- cs.EndSetCurrencyRate (ar);
- Assert.Fail ("#0");
- }
- catch (SoapException ex)
- {
- Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
- Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
- }
- }
-
- [Test]
- public void TestObjectReturn ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
-
- // Test the Discover method.
- et.Url = "http://localhost:8080/ConvRpc.asmx?disco";
- et.Discover ();
-
- string d;
- object res = et.GetTestInfo ("hi", out d);
-
- Assert.AreEqual ("iii", d, "t1");
- Assert.IsNotNull (res, "t2");
- Assert.IsTrue (res is XmlNode[], "t3");
- XmlNode[] nods = res as XmlNode[];
- Assert.AreEqual (5, nods.Length, "t4");
-
- Assert.IsTrue (nods[0] is XmlAttribute, "t5");
- XmlAttribute at = nods[0] as XmlAttribute;
- Assert.AreEqual ("id", at.LocalName, "t6");
-
- Assert.IsTrue (nods[1] is XmlAttribute, "t7");
- at = nods[1] as XmlAttribute;
- Assert.AreEqual ("type", at.LocalName, "t8");
-
- Assert.IsTrue (nods[2] is XmlAttribute, "t9");
- at = nods[2] as XmlAttribute;
-
- Assert.IsTrue (nods[3] is XmlElement, "t10");
- XmlElement el = nods[3] as XmlElement;
- Assert.AreEqual ("a", el.Name, "t11");
-
- Assert.IsTrue (nods[4] is XmlElement, "t12");
- el = nods[4] as XmlElement;
- Assert.AreEqual ("b", el.Name, "t13");
- }
-
- [Test]
- public void TestUnknownHeaders ()
- {
- ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
- et.Url = "http://localhost:8080/ConvRpc.asmx";
-
- et.myUserInfo = new MyUserInfo ();
- et.myUserInfo.userId = 5;
- et.myUserInfo.Actor = "hi";
-
- et.TestUnknownHeader1 ();
-
- et.TestUnknownHeader2 ();
-
- int res = et.TestUnknownHeader3 ();
- Assert.AreEqual (5, res, "TestUnknownHeader3");
-
- res = et.TestUnknownHeader4 ();
- Assert.AreEqual (5, res, "TestUnknownHeader4");
- }
- }
-
- [System.Web.Services.WebServiceBindingAttribute(Name="ConverterServiceSoap", Namespace="urn:mono-ws-tests")]
- public class ConverterServiceExtraTest : System.Web.Services.Protocols.SoapHttpClientProtocol
- {
- public MyUserInfo myUserInfo;
-
- [System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:mono-ws-tests/GetTestInfo", RequestNamespace="urn:mono-ws-tests", ResponseNamespace="urn:mono-ws-tests" )]
- public object GetTestInfo(string s, out string d) {
- object[] results = this.Invoke("GetTestInfo", new object[] {s});
- d = (string) results[1];
- return ((object)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:mono-ws-tests/TestUnknownHeader1",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" )]
- public virtual void TestUnknownHeader1() {
- this.Invoke("TestUnknownHeader1", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:mono-ws-tests/TestUnknownHeader2",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" )]
- public virtual void TestUnknownHeader2() {
- this.Invoke("TestUnknownHeader2", new object[0]);
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:mono-ws-tests/TestUnknownHeader3",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" )]
- public virtual int TestUnknownHeader3() {
- System.Object[] results = this.Invoke("TestUnknownHeader3", new object[0]);
- return ((int)(results[0]));
- }
-
- [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
- [System.Web.Services.Protocols.SoapRpcMethodAttribute("urn:mono-ws-tests/TestUnknownHeader4",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" )]
- public virtual int TestUnknownHeader4() {
- System.Object[] results = this.Invoke("TestUnknownHeader4", new object[0]);
- return ((int)(results[0]));
- }
- }
-
- public class MyUserInfo : System.Web.Services.Protocols.SoapHeader
- {
- public int userId;
- }
-
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://localhost:8080/DataService.asmx?wsdl
-
-using System;
-using System.Data;
-using NUnit.Framework;
-using DataServiceTests.Soap;
-//using DataServiceTests.HttpGet;
-//using DataServiceTests.HttpPost;
-
-namespace Localhost.DataServiceTests
-{
- [TestFixture]
- public class DataServiceTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- DataService service = new DataService ();
- DataSet dset = service.QueryData ("some query");
- DataTable t = dset.Tables["PhoneNumbers"];
-
- Assert.IsNotNull (t, "#1");
- Assert.AreEqual (2, t.Rows.Count, "#2");
-
- DataRow row = t.Rows[0];
- Assert.AreEqual ("Lluis", row["name"], "#3");
- Assert.AreEqual ("23452345", row["home"], "#4");
- row = t.Rows[1];
- Assert.AreEqual ("Pep", row["name"], "#5");
- Assert.AreEqual ("435345", row["home"], "#6");
-
- DataRow newRow = t.NewRow();
- newRow["name"] = "Pau";
- newRow["home"] = "9028374";
- t.Rows.Add (newRow);
- int n = service.SaveData (dset);
- Assert.AreEqual (3, n, "#7");
- }
- }
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://localhost:8080/DuplicateArrayTest.asmx?wsdl
-
-using System;
-using NUnit.Framework;
-using DuplicateArrayTestTests.Soap;
-
-namespace Localhost.DuplicateArrayTestTests
-{
- [TestFixture]
- public class DuplicateArrayTestTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- DuplicateArrayTest s = new DuplicateArrayTest();
-
- string title = "hello";
- string url = "tmp";
- correctionsCorrection c = new correctionsCorrection();
- c.word = "bye";
- c.suggestions = new string[]{"end","test"};
- correctionsCorrection[] arr = new correctionsCorrection[2]{c,c};
- arr = s.SpellCheck(ref title,ref url,arr);
-
- Assert.AreEqual (2, arr.Length, "t1");
-
- for (int i =0; i< arr.Length ; i++)
- {
- c = arr[i];
- Assert.IsNotNull (c, "t2."+i);
- Assert.AreEqual ("bye", c.word, "t3."+i);
- Assert.IsNotNull (c.suggestions, "t4."+i);
- Assert.AreEqual (2, c.suggestions.Length, "t5."+i);
- Assert.AreEqual ("end", c.suggestions[0], "t6."+i);
- Assert.AreEqual ("test", c.suggestions[1], "t7."+i);
- }
- Assert.AreEqual ("hello", title, "t8");
- Assert.AreEqual ("tmp", url, "t9");
- }
- }
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://localhost:8080/IncludeTest.asmx?wsdl
-
-using System;
-using NUnit.Framework;
-using IncludeTestTests.Soap;
-
-namespace Localhost.IncludeTestTests
-{
- [TestFixture]
- public class IncludeTestTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- IncludeTest test = new IncludeTest();
- object[] data = test.foo ();
- Assert.IsNotNull (data);
-
- ComplexThing c1 = data[0] as ComplexThing;
- Assert.IsNotNull (c1);
- Assert.AreEqual ("abc",c1.name);
-
- ComplexThing c2 = data[1] as ComplexThing;
- Assert.IsNotNull (c2);
- Assert.AreEqual ("xyz",c2.name);
- }
- }
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://localhost:8080/SessionCounter.asmx?wsdl
-
-using System;
-using System.Net;
-using NUnit.Framework;
-using SessionCounterTests.Soap;
-
-namespace Localhost.SessionCounterTests
-{
- [TestFixture]
- public class SessionCounterTest: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- SessionCounter s = new SessionCounter ();
- s.CookieContainer = new CookieContainer ();
- s.Reset ();
- for (int n=1; n<10; n++)
- Assert.AreEqual (n, s.AddOne (), "t"+n);
- }
- }
-}
+++ /dev/null
-// Web service test for WSDL document:
-// http://localhost:8080/TestBinding4.asmx?wsdl
-
-using System;
-using NUnit.Framework;
-using TestBinding4Tests.Soap;
-using System.Xml;
-
-namespace Localhost.TestBinding4Tests
-{
- [TestFixture]
- public class TestBinding4Test: WebServiceTest
- {
- [Test]
- public void TestService ()
- {
- GetData data = new GetData ();
-
- XmlDocument doc = new XmlDocument ();
- XmlElement elem1 = doc.CreateElement ("one");
- elem1.SetAttribute ("someAtt","someValue");
- XmlElement elem2 = doc.CreateElement ("two");
- elem2.SetAttribute ("someAtt","someValue");
- XmlNode[] nodes = new XmlNode[] {elem1,elem2};
-
- nodes = data.GetTabList (nodes);
- Check ("GetTabList", nodes);
-
- nodes = data.GetTabStruct ("hello", nodes);
- Check ("GetTabStruct", nodes);
-
- Assert.IsTrue (data.RebuildTabList (true), "RebuildTabList 1");
- Assert.IsTrue (!data.RebuildTabList (false), "RebuildTabList 2");
-
- Assert.IsTrue (data.RebuildTabStruct ("a", true), "RebuildTabStruct 1");
- Assert.IsTrue (!data.RebuildTabStruct ("b", false), "RebuildTabStruct 2");
- }
-
- void Check (string met, XmlNode[] nodes)
- {
- Assert.IsNotNull (nodes, met + " #1");
- Assert.AreEqual (2, nodes.Length, met + " #2");
- Assert.AreEqual ("<one someAtt=\"someValue\" xmlns=\"\" />", nodes[0].OuterXml, met + " #3");
- Assert.AreEqual ("<two someAtt=\"someValue\" xmlns=\"\" />", nodes[1].OuterXml, met + " #4");
- }
- }
-}
+++ /dev/null
-<?xml version="1.0" ?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
- <xsl:output method="text" indent="no"/>
- <!-- <xsl:output method="xml"/>-->
- <xsl:strip-space elements="*"/>
-
- <!-- assembly -->
- <xsl:template match="/assemblies">
- <xsl:apply-templates select="assembly">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="assemblies/assembly">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">y</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- namespace -->
- <xsl:template match="assembly/namespaces">
- <xsl:apply-templates select="namespace">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="namespaces/namespace">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">n</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <xsl:template match="namespace/classes">
- <xsl:apply-templates select="interface">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="class">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="struct">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="delegate">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="enum">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
-
- <!-- class -->
- <xsl:template match="classes/class">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">c</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="(@missing_total or @todo_total or @extra_total or @warning_total or @error) and not(@presence)">
- <xsl:apply-templates select="attributes"/>
- <xsl:apply-templates select="interfaces"/>
- <xsl:apply-templates select="constructors"/>
- <xsl:apply-templates select="./*[local-name() != 'attributes' and local-name() != 'constructors' and local-name() != 'interfaces']"/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- struct -->
- <xsl:template match="classes/struct[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">s</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
-
- <!-- interface -->
- <xsl:template match="interfaces">
- <xsl:apply-templates select="interface">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="interface[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">i</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- delegate -->
- <xsl:template match="classes/delegate[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">d</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- enumeration -->
- <xsl:template match="classes/enum[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">en</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- method -->
- <xsl:template match="methods">
- <xsl:apply-templates select="method">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="methods/method[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">m</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- property -->
- <xsl:template match="properties">
- <xsl:apply-templates select="property">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="properties/property[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">p</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- event -->
- <xsl:template match="events">
- <xsl:apply-templates select="event">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="events/event[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">e</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- constructor -->
- <xsl:template match="constructors">
- <xsl:apply-templates select="constructor">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="constructors/constructor[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">x</xsl:with-param>
- <xsl:with-param name="image">m</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- field -->
- <xsl:template match="fields">
- <xsl:apply-templates select="field">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="fields/field[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">f</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
- <!-- accessor -->
- <xsl:template match="property/accessors">
- <xsl:apply-templates select="method">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="property[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]/accessors/method[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">o</xsl:with-param>
- <xsl:with-param name="image">m</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
- <!-- attribute -->
- <xsl:template match="attributes">
- <xsl:apply-templates select="attribute">
- <xsl:sort select="@name"/>
- </xsl:apply-templates>
- </xsl:template>
-
- <xsl:template match="attributes/attribute[@missing_total or @todo_total or @extra_total or @warning_total or @error or @presence]">
- <xsl:call-template name="ELEMENT">
- <xsl:with-param name="class">r</xsl:with-param>
- </xsl:call-template>
- <xsl:if test="not(@presence)">
- <xsl:apply-templates/>
- </xsl:if>
- </xsl:template>
-
-
-
- <!-- support templates -->
-
- <xsl:template name="ELEMENT">
- <xsl:param name="class"/>
- <xsl:param name="image"/>
- <xsl:for-each select="ancestor::node()"><xsl:text> </xsl:text></xsl:for-each>
- <xsl:choose>
- <xsl:when test="@error != 'todo'">[E] </xsl:when>
- <xsl:when test="@error = 'todo'">[T] </xsl:when>
- <xsl:when test="@presence = 'missing'">[-] </xsl:when>
- <xsl:when test="@presence = 'extra'">[+] </xsl:when>
- <xsl:otherwise>[ ] </xsl:otherwise>
- </xsl:choose>
- <xsl:value-of select="$image"/>
- <xsl:call-template name="name"/>
- <xsl:if test="not(@presence)">
- <xsl:call-template name="status"/>
- </xsl:if>
- <xsl:text>
-</xsl:text>
- </xsl:template>
-
- <xsl:template name="status">
- <xsl:if test="@complete_total and @complete_total != 0">
- <xsl:text>:</xsl:text>
- <xsl:value-of select="@complete_total"/>
- <xsl:text>%</xsl:text>
- </xsl:if>
- <xsl:if test="@todo_total"> TODO:<xsl:value-of select="@todo_total"/></xsl:if>
- <xsl:if test="@missing_total"> MISSING:<xsl:value-of select="@missing_total"/></xsl:if>
- <xsl:if test="@extra_total"> EXTRA:<xsl:value-of select="@extra_total"/></xsl:if>
- <xsl:if test="@warning_total"> WARNING:<xsl:value-of select="@warning_total"/></xsl:if>
- </xsl:template>
-
- <xsl:template name="name">
- <xsl:if test="@name">
- <xsl:value-of select="@name"/>
- </xsl:if>
- </xsl:template>
-
- <xsl:template match="warnings/warning" mode="hover">
- <xsl:text>WARNING: </xsl:text>
- <xsl:value-of select="@text"/>
- </xsl:template>
-
-</xsl:stylesheet>
+++ /dev/null
-<html>
-<head>
-<title>wsdl tests</title>
-<LINK rel="stylesheet" type="text/css" href="cm/cormissing.css">
-<SCRIPT src="cm/cormissing.js"></SCRIPT>
-</head>
-<body bgcolor="#ffffff" text="#000000">
+++ /dev/null
-addresslookupTests.HttpGet/ArrayOfAnyType1
-addresslookupTests.HttpPost/ArrayOfAnyType1
-evTests.HttpGet/ArrayOfAnyType1
-evTests.HttpPost/ArrayOfAnyType1
-xsecurityTests.HttpGet/ArrayOfLookupItem
-xsecurityTests.HttpGet/ArrayOfSecurity
-xsecurityTests.HttpPost/ArrayOfLookupItem
-xsecurityTests.HttpPost/ArrayOfSecurity
-placelookupTests.HttpGet/ArrayOfGeoPlaceDetails
-placelookupTests.HttpGet/ArrayOfGeoPlaceDistance
-placelookupTests.HttpGet/ArrayOfUserPlaceDetail
-placelookupTests.HttpPost/ArrayOfGeoPlaceDetails
-placelookupTests.HttpPost/ArrayOfGeoPlaceDistance
-placelookupTests.HttpPost/ArrayOfUserPlaceDetail
-StockQuotesTests.HttpGet/ArrayOfQuote
-StockQuotesTests.HttpPost/ArrayOfQuote
-netpress1Tests.HttpGet/ArrayOfAnyType1
-netpress1Tests.HttpPost/ArrayOfAnyType1
-xsimulationTests.HttpGet/ArrayOfPercentile
-xsimulationTests.HttpGet/ArrayOfRun
-xsimulationTests.HttpPost/ArrayOfPercentile
-xsimulationTests.HttpPost/ArrayOfRun
-zipcodelookupTests.HttpGet/ArrayOfGeoPlaceDistance
-zipcodelookupTests.HttpGet/ArrayOfUserPlaceDetail
-zipcodelookupTests.HttpGet/ArrayOfZipCodeDistances
-zipcodelookupTests.HttpPost/ArrayOfGeoPlaceDistance
-zipcodelookupTests.HttpPost/ArrayOfUserPlaceDetail
-zipcodelookupTests.HttpPost/ArrayOfZipCodeDistances
-xretirementTests.HttpGet/ArrayOfAllocation
-xretirementTests.HttpPost/ArrayOfAllocation
-xnewsTests.HttpGet/ArrayOfBriefing
-xnewsTests.HttpGet/ArrayOfEarningAnnouncement
-xnewsTests.HttpGet/ArrayOfMarketNews
-xnewsTests.HttpGet/ArrayOfStockNews
-xnewsTests.HttpPost/ArrayOfBriefing
-xnewsTests.HttpPost/ArrayOfEarningAnnouncement
-xnewsTests.HttpPost/ArrayOfMarketNews
-xnewsTests.HttpPost/ArrayOfStockNews
-populationTests.HttpGet/ArrayOfString
-populationTests.HttpPost/ArrayOfString
-xstatisticsTests.HttpGet/ArrayOfCategory
-xstatisticsTests.HttpPost/ArrayOfCategory
-IndoEconoCatorTests.HttpGet/ArrayOfIndicatorData
-IndoEconoCatorTests.HttpPost/ArrayOfIndicatorData
-ZipServiceTests.HttpGet/ArrayOfString
-ZipServiceTests.HttpPost/ArrayOfString
-xrealtimeTests.HttpGet/ArrayOfRealTimeQuote
-xrealtimeTests.HttpGet/ArrayOfSearchResult
-xrealtimeTests.HttpGet/ArrayOfTop
-xrealtimeTests.HttpPost/ArrayOfRealTimeQuote
-xrealtimeTests.HttpPost/ArrayOfSearchResult
-xrealtimeTests.HttpPost/ArrayOfTop
-HoroscopeTests.HttpGet/ArrayOfZodiacSigns
-HoroscopeTests.HttpPost/ArrayOfZodiacSigns
-xquotesTests.HttpGet/ArrayOfHistoricalQuote
-xquotesTests.HttpGet/ArrayOfMarketIndex
-xquotesTests.HttpGet/ArrayOfQuickQuote
-xquotesTests.HttpGet/ArrayOfQuote
-xquotesTests.HttpGet/ArrayOfTop
-xquotesTests.HttpPost/ArrayOfHistoricalQuote
-xquotesTests.HttpPost/ArrayOfMarketIndex
-xquotesTests.HttpPost/ArrayOfQuickQuote
-xquotesTests.HttpPost/ArrayOfQuote
-xquotesTests.HttpPost/ArrayOfTop
-xEdgarTests.HttpGet/ArrayOfCIKLookup
-xEdgarTests.HttpGet/ArrayOfFiling
-xEdgarTests.HttpGet/ArrayOfSICCode
-xEdgarTests.HttpGet/ArrayOfSubmission
-xEdgarTests.HttpPost/ArrayOfCIKLookup
-xEdgarTests.HttpPost/ArrayOfFiling
-xEdgarTests.HttpPost/ArrayOfSICCode
-xEdgarTests.HttpPost/ArrayOfSubmission
-booksTests.HttpGet/ArrayOfBookInfo
-booksTests.HttpPost/ArrayOfBookInfo
-ConvDocEncBarTests.HttpGet/ArrayOfCurrencyInfo
-ConvDocEncBarTests.HttpPost/ArrayOfCurrencyInfo
-ConvDocLitWraTests.HttpGet/ArrayOfCurrencyInfo
-ConvDocLitWraTests.HttpGet/ArrayOfString
-ConvDocLitWraTests.HttpPost/ArrayOfCurrencyInfo
-ConvDocLitWraTests.HttpPost/ArrayOfString
-ConvDocLitBarTests.HttpGet/ArrayOfCurrencyInfo
-ConvDocLitBarTests.HttpPost/ArrayOfCurrencyInfo
-ConvRpcTests.HttpGet/ArrayOfCurrencyInfo
-ConvRpcTests.HttpPost/ArrayOfCurrencyInfo
-ConvDocEncWraTests.HttpGet/ArrayOfCurrencyInfo
-ConvDocEncWraTests.HttpGet/ArrayOfString
-ConvDocEncWraTests.HttpPost/ArrayOfCurrencyInfo
-ConvDocEncWraTests.HttpPost/ArrayOfString
-xInsiderTests.HttpGet/ArrayOfInsider
-xInsiderTests.HttpGet/ArrayOfRole
-xInsiderTests.HttpPost/ArrayOfInsider
-xInsiderTests.HttpPost/ArrayOfRole
-Test1Tests.HttpGet/ArrayOfString
-Test1Tests.HttpPost/ArrayOfString
-IncludeTestTests.HttpGet/ArrayOfAnyType1
-IncludeTestTests.HttpPost/ArrayOfAnyType1
-xratesTests.HttpGet/ArrayOfInterestRate
-xratesTests.HttpGet/ArrayOfRateStatistics
-xratesTests.HttpPost/ArrayOfInterestRate
-xratesTests.HttpPost/ArrayOfRateStatistics
-channelsTests.HttpGet/ArrayOfEntry
-channelsTests.HttpPost/ArrayOfEntry
-xIndicesTests.HttpGet/ArrayOfIndexQuote
-xIndicesTests.HttpGet/ArrayOfSecurity
-xIndicesTests.HttpPost/ArrayOfIndexQuote
-xIndicesTests.HttpPost/ArrayOfSecurity
-DictServiceTests.HttpGet/ArrayOfDictionary
-DictServiceTests.HttpGet/ArrayOfDictionaryWord
-DictServiceTests.HttpGet/ArrayOfStrategy
-DictServiceTests.HttpPost/ArrayOfDictionary
-DictServiceTests.HttpPost/ArrayOfDictionaryWord
-DictServiceTests.HttpPost/ArrayOfStrategy
-xHistoricalTests.HttpGet/ArrayOfHistoricalQuote
-xHistoricalTests.HttpGet/ArrayOfTop
-xHistoricalTests.HttpPost/ArrayOfHistoricalQuote
-xHistoricalTests.HttpPost/ArrayOfTop
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="ConverterService.asmx.cs" Class="WebServiceTests.ConverterService" %>
-
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Collections;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Web.Services.Description;
-
-namespace WebServiceTests
-{
- public class UserInfo : SoapHeader
- {
- public int userId;
- }
-
- public class CurrencyInfo
- {
- public CurrencyInfo ()
- {
- }
-
- public CurrencyInfo (string name, double rate)
- {
- Name = name;
- Rate = rate;
- }
-
- public string Name;
- public double Rate;
- }
-
- public class Simple
- {
- public int Dada;
- }
-
- [WebServiceAttribute (Namespace="urn:mono-ws-tests", Description="Web service that can make currency conversions")]
- [SoapDocumentServiceAttribute (Use=SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Bare)]
- public class ConverterService : System.Web.Services.WebService
- {
- static int userCount = 0;
- static Hashtable conversionTable;
-
- public UserInfo userInfo;
-
- public SoapHeader unknown1;
- public SoapHeader[] unknown2;
- public SoapUnknownHeader unknown3;
- public SoapUnknownHeader[] unknown4;
-
- static ConverterService ()
- {
- conversionTable = new Hashtable ();
- InternalSetCurrencyRate ("USD", 1);
- InternalSetCurrencyRate ("EUR", 0.883884 );
- InternalSetCurrencyRate ("GBP", 0.611817 );
- InternalSetCurrencyRate ("JPY", 118.271 );
- InternalSetCurrencyRate ("CAD", 1.36338 );
- InternalSetCurrencyRate ("AUD", 1.51485 );
- InternalSetCurrencyRate ("CHF", 1.36915 );
- InternalSetCurrencyRate ("RUR", 30.4300 );
- InternalSetCurrencyRate ("CNY", 8.27740 );
- InternalSetCurrencyRate ("ZAR", 7.62645 );
- InternalSetCurrencyRate ("MXN", 10.5025 );
- }
-
- [WebMethod (Description="Registers the user into the system")]
- [SoapHeaderAttribute ("userInfo", Direction = SoapHeaderDirection.Out)]
- public void Login (string a)
- {
- userInfo = new UserInfo ();
- userInfo.userId = ++userCount;
- }
-
- [WebMethod (Description="Converts an amount from one currency to another currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double Convert (string sourceCurrency, string targetCurrency, double value)
- {
- CheckUser ();
- double usd = (1 / GetCurrencyRate (sourceCurrency)) * value;
- return usd * GetCurrencyRate (targetCurrency);
- }
-
- [WebMethod (Description="Returns a list of currency rates")]
- [SoapHeaderAttribute ("userInfo")]
- public CurrencyInfo[] GetCurrencyInfo ()
- {
- CheckUser ();
-
- lock (conversionTable)
- {
- CurrencyInfo[] info = new CurrencyInfo[conversionTable.Count];
- int n = 0;
- foreach (CurrencyInfo cinfo in conversionTable.Values)
- info [n++] = cinfo;
- return info;
- }
- }
-
- [WebMethod (Description="Sets the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public void SetCurrencyRate (string currency, double rate)
- {
- CheckUser ();
- InternalSetCurrencyRate (currency, rate);
- }
-
- static void InternalSetCurrencyRate (string currency, double rate)
- {
- lock (conversionTable)
- {
- conversionTable [currency] = new CurrencyInfo (currency, rate);
- }
- }
-
- [WebMethod (Description="Returns the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double GetCurrencyRate ([XmlElement(DataType="Name")]string cname)
- {
- CheckUser ();
- lock (conversionTable)
- {
- if (!conversionTable.ContainsKey (cname))
- throw new SoapException ("Unknown currency '" + cname + "'", SoapException.ServerFaultCode);
-
- return ((CurrencyInfo) conversionTable [cname]).Rate;
- }
- }
-
- [WebMethod]
- public void Test (Simple dada1, int dada)
- {
- dada = 1;
- }
-
- [WebMethod (MessageName="Test2")]
- public void Test (int[] dada2, byte[] dada3, int dada)
- {
- dada = 1;
- }
-
- [WebMethod]
- public System.Collections.Specialized.StringCollection TestArrays (string[] info, string lang)
- {
- return null;
- }
-
- void CheckUser ()
- {
- if (userInfo == null)
- throw new SoapException ("User not logged", SoapException.ServerFaultCode);
- }
-
- [WebMethod]
- [return: SoapElement("retret")]
- public MyInfo GetTestInfo (string s, out string d)
- {
- d = "iii";
- return new MyInfo();
- }
-
- [SoapHeaderAttribute ("unknown1")]
- [WebMethod]
- public void TestUnknownHeader1 ()
- {
- if (unknown1 == null)
- throw new Exception ("Header is null");
-
- if (unknown1.Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown2")]
- [WebMethod]
- public void TestUnknownHeader2 ()
- {
- if (unknown2 == null || unknown2.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown2[0].Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown3")]
- [WebMethod]
- public int TestUnknownHeader3 ()
- {
- if (unknown3 == null)
- throw new Exception ("Header is null");
-
- if (unknown3.Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown3.Element ["userId"];
- return int.Parse (child.InnerText);
- }
-
- [SoapHeaderAttribute ("unknown4")]
- [WebMethod]
- public int TestUnknownHeader4 ()
- {
- if (unknown4 == null || unknown4.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown4[0].Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown4[0].Element ["userId"];
- return int.Parse (child.InnerText);
- }
- }
-
- public class MyInfo
- {
- public int a = 4;
- public string b = "hi";
- }
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="ConverterService.asmx.cs" Class="WebServiceTests.ConverterService" %>
-
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Collections;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Web.Services.Description;
-
-namespace WebServiceTests
-{
- public class UserInfo : SoapHeader
- {
- public int userId;
- }
-
- public class CurrencyInfo
- {
- public CurrencyInfo ()
- {
- }
-
- public CurrencyInfo (string name, double rate)
- {
- Name = name;
- Rate = rate;
- }
-
- public string Name;
- public double Rate;
- }
-
- public class Simple
- {
- public int Dada;
- }
-
- [WebServiceAttribute (Namespace="urn:mono-ws-tests", Description="Web service that can make currency conversions")]
- [SoapDocumentServiceAttribute (Use=SoapBindingUse.Encoded, ParameterStyle=SoapParameterStyle.Wrapped)]
- public class ConverterService : System.Web.Services.WebService
- {
- static int userCount = 0;
- static Hashtable conversionTable;
-
- public UserInfo userInfo;
-
- public SoapHeader unknown1;
- public SoapHeader[] unknown2;
- public SoapUnknownHeader unknown3;
- public SoapUnknownHeader[] unknown4;
-
- static ConverterService ()
- {
- conversionTable = new Hashtable ();
- InternalSetCurrencyRate ("USD", 1);
- InternalSetCurrencyRate ("EUR", 0.883884 );
- InternalSetCurrencyRate ("GBP", 0.611817 );
- InternalSetCurrencyRate ("JPY", 118.271 );
- InternalSetCurrencyRate ("CAD", 1.36338 );
- InternalSetCurrencyRate ("AUD", 1.51485 );
- InternalSetCurrencyRate ("CHF", 1.36915 );
- InternalSetCurrencyRate ("RUR", 30.4300 );
- InternalSetCurrencyRate ("CNY", 8.27740 );
- InternalSetCurrencyRate ("ZAR", 7.62645 );
- InternalSetCurrencyRate ("MXN", 10.5025 );
- }
-
- [WebMethod (Description="Registers the user into the system")]
- [SoapHeaderAttribute ("userInfo", Direction = SoapHeaderDirection.Out)]
- public void Login (string a)
- {
- userInfo = new UserInfo ();
- userInfo.userId = ++userCount;
- }
-
- [WebMethod (Description="Converts an amount from one currency to another currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double Convert (string sourceCurrency, string targetCurrency, double value)
- {
- CheckUser ();
- double usd = (1 / GetCurrencyRate (sourceCurrency)) * value;
- return usd * GetCurrencyRate (targetCurrency);
- }
-
- [WebMethod (Description="Returns a list of currency rates")]
- [SoapHeaderAttribute ("userInfo")]
- public CurrencyInfo[] GetCurrencyInfo ()
- {
- CheckUser ();
-
- lock (conversionTable)
- {
- CurrencyInfo[] info = new CurrencyInfo[conversionTable.Count];
- int n = 0;
- foreach (CurrencyInfo cinfo in conversionTable.Values)
- info [n++] = cinfo;
- return info;
- }
- }
-
- [WebMethod (Description="Sets the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public void SetCurrencyRate (string currency, double rate)
- {
- CheckUser ();
- InternalSetCurrencyRate (currency, rate);
- }
-
- static void InternalSetCurrencyRate (string currency, double rate)
- {
- lock (conversionTable)
- {
- conversionTable [currency] = new CurrencyInfo (currency, rate);
- }
- }
-
- [WebMethod (Description="Returns the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double GetCurrencyRate ([XmlElement(DataType="Name")]string cname)
- {
- CheckUser ();
- lock (conversionTable)
- {
- if (!conversionTable.ContainsKey (cname))
- throw new SoapException ("Unknown currency '" + cname + "'", SoapException.ServerFaultCode);
-
- return ((CurrencyInfo) conversionTable [cname]).Rate;
- }
- }
-
- [WebMethod]
- public void Test (Simple dada1, int dada)
- {
- dada = 1;
- }
-
- [WebMethod (MessageName="Test2")]
- public void Test (int[] dada2, byte[] dada3, int dada)
- {
- dada = 1;
- }
-
- [WebMethod]
- public System.Collections.Specialized.StringCollection TestArrays (string[] info, string lang)
- {
- return null;
- }
-
- void CheckUser ()
- {
- if (userInfo == null)
- throw new SoapException ("User not logged", SoapException.ServerFaultCode);
- }
-
- [WebMethod]
- [return: SoapElement("retret")]
- public MyInfo GetTestInfo (string s, out string d)
- {
- d = "iii";
- return new MyInfo();
- }
-
- [SoapHeaderAttribute ("unknown1")]
- [WebMethod]
- public void TestUnknownHeader1 ()
- {
- if (unknown1 == null)
- throw new Exception ("Header is null");
-
- if (unknown1.Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown2")]
- [WebMethod]
- public void TestUnknownHeader2 ()
- {
- if (unknown2 == null || unknown2.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown2[0].Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown3")]
- [WebMethod]
- public int TestUnknownHeader3 ()
- {
- if (unknown3 == null)
- throw new Exception ("Header is null");
-
- if (unknown3.Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown3.Element ["userId"];
- return int.Parse (child.InnerText);
- }
-
- [SoapHeaderAttribute ("unknown4")]
- [WebMethod]
- public int TestUnknownHeader4 ()
- {
- if (unknown4 == null || unknown4.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown4[0].Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown4[0].Element ["userId"];
- return int.Parse (child.InnerText);
- }
- }
-
- public class MyInfo
- {
- public int a = 4;
- public string b = "hi";
- }
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="ConverterService.asmx.cs" Class="WebServiceTests.ConverterService" %>
-
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Collections;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Web.Services.Description;
-
-namespace WebServiceTests
-{
- public class UserInfo : SoapHeader
- {
- public int userId;
- }
-
- public class CurrencyInfo
- {
- public CurrencyInfo ()
- {
- }
-
- public CurrencyInfo (string name, double rate)
- {
- Name = name;
- Rate = rate;
- }
-
- public string Name;
- public double Rate;
- }
-
- public class Simple
- {
- public int Dada;
- }
-
- [WebServiceAttribute (Namespace="urn:mono-ws-tests", Description="Web service that can make currency conversions")]
- [SoapDocumentServiceAttribute (Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
- public class ConverterService : System.Web.Services.WebService
- {
- static int userCount = 0;
- static Hashtable conversionTable;
-
- public UserInfo userInfo;
-
- public SoapHeader unknown1;
- public SoapHeader[] unknown2;
- public SoapUnknownHeader unknown3;
- public SoapUnknownHeader[] unknown4;
-
- static ConverterService ()
- {
- conversionTable = new Hashtable ();
- InternalSetCurrencyRate ("USD", 1);
- InternalSetCurrencyRate ("EUR", 0.883884 );
- InternalSetCurrencyRate ("GBP", 0.611817 );
- InternalSetCurrencyRate ("JPY", 118.271 );
- InternalSetCurrencyRate ("CAD", 1.36338 );
- InternalSetCurrencyRate ("AUD", 1.51485 );
- InternalSetCurrencyRate ("CHF", 1.36915 );
- InternalSetCurrencyRate ("RUR", 30.4300 );
- InternalSetCurrencyRate ("CNY", 8.27740 );
- InternalSetCurrencyRate ("ZAR", 7.62645 );
- InternalSetCurrencyRate ("MXN", 10.5025 );
- }
-
- [WebMethod (Description="Registers the user into the system")]
- [SoapHeaderAttribute ("userInfo", Direction = SoapHeaderDirection.Out)]
- public void Login (string a)
- {
- userInfo = new UserInfo ();
- userInfo.userId = ++userCount;
- }
-
- [WebMethod (Description="Converts an amount from one currency to another currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double Convert (string sourceCurrency, string targetCurrency, double value)
- {
- CheckUser ();
- double usd = (1 / GetCurrencyRate (sourceCurrency)) * value;
- return usd * GetCurrencyRate (targetCurrency);
- }
-
- [WebMethod (Description="Returns a list of currency rates")]
- [SoapHeaderAttribute ("userInfo")]
- public CurrencyInfo[] GetCurrencyInfo ()
- {
- CheckUser ();
-
- lock (conversionTable)
- {
- CurrencyInfo[] info = new CurrencyInfo[conversionTable.Count];
- int n = 0;
- foreach (CurrencyInfo cinfo in conversionTable.Values)
- info [n++] = cinfo;
- return info;
- }
- }
-
- [WebMethod (Description="Sets the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public void SetCurrencyRate (string currency, double rate)
- {
- CheckUser ();
- InternalSetCurrencyRate (currency, rate);
- }
-
- static void InternalSetCurrencyRate (string currency, double rate)
- {
- lock (conversionTable)
- {
- conversionTable [currency] = new CurrencyInfo (currency, rate);
- }
- }
-
- [WebMethod (Description="Returns the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double GetCurrencyRate ([XmlElement(DataType="Name")]string cname)
- {
- CheckUser ();
- lock (conversionTable)
- {
- if (!conversionTable.ContainsKey (cname))
- throw new SoapException ("Unknown currency '" + cname + "'", SoapException.ServerFaultCode);
-
- return ((CurrencyInfo) conversionTable [cname]).Rate;
- }
- }
-
- [WebMethod]
- public void Test (Simple dada1, int dada)
- {
- dada = 1;
- }
-
- [WebMethod (MessageName="Test2")]
- public void Test (int[] dada2, byte[] dada3, int dada)
- {
- dada = 1;
- }
-
- [WebMethod]
- public System.Collections.Specialized.StringCollection TestArrays (string[] info, string lang)
- {
- return null;
- }
-
- void CheckUser ()
- {
- if (userInfo == null)
- throw new SoapException ("User not logged", SoapException.ServerFaultCode);
- }
-
- [WebMethod]
- [return: XmlElement("retret")]
- public MyInfo GetTestInfo (string s, out string d)
- {
- d = "iii";
- return new MyInfo();
- }
-
- [SoapHeaderAttribute ("unknown1")]
- [WebMethod]
- public void TestUnknownHeader1 ()
- {
- if (unknown1 == null)
- throw new Exception ("Header is null");
-
- if (unknown1.Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown2")]
- [WebMethod]
- public void TestUnknownHeader2 ()
- {
- if (unknown2 == null || unknown2.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown2[0].Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown3")]
- [WebMethod]
- public int TestUnknownHeader3 ()
- {
- if (unknown3 == null)
- throw new Exception ("Header is null");
-
- if (unknown3.Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown3.Element ["userId"];
- return int.Parse (child.InnerText);
- }
-
- [SoapHeaderAttribute ("unknown4")]
- [WebMethod]
- public int TestUnknownHeader4 ()
- {
- if (unknown4 == null || unknown4.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown4[0].Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown4[0].Element ["userId"];
- return int.Parse (child.InnerText);
- }
- }
-
- public class MyInfo
- {
- public int a = 4;
- public string b = "hi";
- }
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="ConverterService.asmx.cs" Class="WebServiceTests.ConverterService" %>
-
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Collections;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Web.Services.Description;
-
-namespace WebServiceTests
-{
- public class UserInfo : SoapHeader
- {
- public int userId;
- }
-
- public class CurrencyInfo
- {
- public CurrencyInfo ()
- {
- }
-
- public CurrencyInfo (string name, double rate)
- {
- Name = name;
- Rate = rate;
- }
-
- public string Name;
- public double Rate;
- }
-
- public class Simple
- {
- public int Dada;
- }
-
- [WebServiceAttribute (Namespace="urn:mono-ws-tests", Description="Web service that can make currency conversions")]
- [SoapDocumentServiceAttribute (Use=SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Wrapped)]
- public class ConverterService : System.Web.Services.WebService
- {
- static int userCount = 0;
- static Hashtable conversionTable;
-
- public UserInfo userInfo;
-
- public SoapHeader unknown1;
- public SoapHeader[] unknown2;
- public SoapUnknownHeader unknown3;
- public SoapUnknownHeader[] unknown4;
-
- static ConverterService ()
- {
- conversionTable = new Hashtable ();
- InternalSetCurrencyRate ("USD", 1);
- InternalSetCurrencyRate ("EUR", 0.883884 );
- InternalSetCurrencyRate ("GBP", 0.611817 );
- InternalSetCurrencyRate ("JPY", 118.271 );
- InternalSetCurrencyRate ("CAD", 1.36338 );
- InternalSetCurrencyRate ("AUD", 1.51485 );
- InternalSetCurrencyRate ("CHF", 1.36915 );
- InternalSetCurrencyRate ("RUR", 30.4300 );
- InternalSetCurrencyRate ("CNY", 8.27740 );
- InternalSetCurrencyRate ("ZAR", 7.62645 );
- InternalSetCurrencyRate ("MXN", 10.5025 );
- }
-
- [WebMethod (Description="Registers the user into the system")]
- [SoapHeaderAttribute ("userInfo", Direction = SoapHeaderDirection.Out)]
- public void Login (string a)
- {
- userInfo = new UserInfo ();
- userInfo.userId = ++userCount;
- }
-
- [WebMethod (Description="Converts an amount from one currency to another currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double Convert (string sourceCurrency, string targetCurrency, double value)
- {
- CheckUser ();
- double usd = (1 / GetCurrencyRate (sourceCurrency)) * value;
- return usd * GetCurrencyRate (targetCurrency);
- }
-
- [WebMethod (Description="Returns a list of currency rates")]
- [SoapHeaderAttribute ("userInfo")]
- public CurrencyInfo[] GetCurrencyInfo ()
- {
- CheckUser ();
-
- lock (conversionTable)
- {
- CurrencyInfo[] info = new CurrencyInfo[conversionTable.Count];
- int n = 0;
- foreach (CurrencyInfo cinfo in conversionTable.Values)
- info [n++] = cinfo;
- return info;
- }
- }
-
- [WebMethod (Description="Sets the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public void SetCurrencyRate (string currency, double rate)
- {
- CheckUser ();
- InternalSetCurrencyRate (currency, rate);
- }
-
- static void InternalSetCurrencyRate (string currency, double rate)
- {
- lock (conversionTable)
- {
- conversionTable [currency] = new CurrencyInfo (currency, rate);
- }
- }
-
- [WebMethod (Description="Returns the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double GetCurrencyRate ([XmlElement(DataType="Name")]string cname)
- {
- CheckUser ();
- lock (conversionTable)
- {
- if (!conversionTable.ContainsKey (cname))
- throw new SoapException ("Unknown currency '" + cname + "'", SoapException.ServerFaultCode);
-
- return ((CurrencyInfo) conversionTable [cname]).Rate;
- }
- }
-
- [WebMethod]
- public void Test (Simple dada1, int dada)
- {
- dada = 1;
- }
-
- [WebMethod (MessageName="Test2")]
- public void Test (int[] dada2, byte[] dada3, int dada)
- {
- dada = 1;
- }
-
- [WebMethod]
- public System.Collections.Specialized.StringCollection TestArrays (string[] info, string lang)
- {
- return null;
- }
-
- void CheckUser ()
- {
- if (userInfo == null)
- throw new SoapException ("User not logged", SoapException.ServerFaultCode);
- }
-
- [WebMethod]
- [return: XmlElement("retret")]
- public MyInfo GetTestInfo (string s, out string d)
- {
- d = "iii";
- return new MyInfo();
- }
-
- [SoapHeaderAttribute ("unknown1")]
- [WebMethod]
- public void TestUnknownHeader1 ()
- {
- if (unknown1 == null)
- throw new Exception ("Header is null");
-
- if (unknown1.Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown2")]
- [WebMethod]
- public void TestUnknownHeader2 ()
- {
- if (unknown2 == null || unknown2.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown2[0].Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown3")]
- [WebMethod]
- public int TestUnknownHeader3 ()
- {
- if (unknown3 == null)
- throw new Exception ("Header is null");
-
- if (unknown3.Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown3.Element ["userId"];
- return int.Parse (child.InnerText);
- }
-
- [SoapHeaderAttribute ("unknown4")]
- [WebMethod]
- public int TestUnknownHeader4 ()
- {
- if (unknown4 == null || unknown4.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown4[0].Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown4[0].Element ["userId"];
- return int.Parse (child.InnerText);
- }
- }
-
- public class MyInfo
- {
- public int a = 4;
- public string b = "hi";
- }
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="ConverterService.asmx.cs" Class="WebServiceTests.ConverterService" %>
-
-/*
-WARNING: This code was generated by a tool.
-Changes to this file will be lost if the code is regenerated
-*/
-
-using System;
-using System.Collections;
-using System.Xml;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-using System.Web.Services.Description;
-
-namespace WebServiceTests
-{
- public class UserInfo : SoapHeader
- {
- public int userId;
- }
-
- public class CurrencyInfo
- {
- public CurrencyInfo ()
- {
- }
-
- public CurrencyInfo (string name, double rate)
- {
- Name = name;
- Rate = rate;
- }
-
- public string Name;
- public double Rate;
- }
-
- public class Simple
- {
- public int Dada;
- }
-
- [WebServiceAttribute (Namespace="urn:mono-ws-tests", Description="Web service that can make currency conversions")]
- [SoapRpcServiceAttribute()]
- public class ConverterService : System.Web.Services.WebService
- {
- static int userCount = 0;
- static Hashtable conversionTable;
-
- public UserInfo userInfo;
-
- public SoapHeader unknown1;
- public SoapHeader[] unknown2;
- public SoapUnknownHeader unknown3;
- public SoapUnknownHeader[] unknown4;
-
- static ConverterService ()
- {
- conversionTable = new Hashtable ();
- InternalSetCurrencyRate ("USD", 1);
- InternalSetCurrencyRate ("EUR", 0.883884 );
- InternalSetCurrencyRate ("GBP", 0.611817 );
- InternalSetCurrencyRate ("JPY", 118.271 );
- InternalSetCurrencyRate ("CAD", 1.36338 );
- InternalSetCurrencyRate ("AUD", 1.51485 );
- InternalSetCurrencyRate ("CHF", 1.36915 );
- InternalSetCurrencyRate ("RUR", 30.4300 );
- InternalSetCurrencyRate ("CNY", 8.27740 );
- InternalSetCurrencyRate ("ZAR", 7.62645 );
- InternalSetCurrencyRate ("MXN", 10.5025 );
- }
-
- [WebMethod (Description="Registers the user into the system")]
- [SoapHeaderAttribute ("userInfo", Direction = SoapHeaderDirection.Out)]
- public void Login (string a)
- {
- userInfo = new UserInfo ();
- userInfo.userId = ++userCount;
- }
-
- [WebMethod (Description="Converts an amount from one currency to another currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double Convert (string sourceCurrency, string targetCurrency, double value)
- {
- CheckUser ();
- double usd = (1 / GetCurrencyRate (sourceCurrency)) * value;
- return usd * GetCurrencyRate (targetCurrency);
- }
-
- [WebMethod (Description="Returns a list of currency rates")]
- [SoapHeaderAttribute ("userInfo")]
- public CurrencyInfo[] GetCurrencyInfo ()
- {
- CheckUser ();
-
- lock (conversionTable)
- {
- CurrencyInfo[] info = new CurrencyInfo[conversionTable.Count];
- int n = 0;
- foreach (CurrencyInfo cinfo in conversionTable.Values)
- info [n++] = cinfo;
- return info;
- }
- }
-
- [WebMethod (Description="Sets the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public void SetCurrencyRate (string currency, double rate)
- {
- CheckUser ();
- InternalSetCurrencyRate (currency, rate);
- }
-
- static void InternalSetCurrencyRate (string currency, double rate)
- {
- lock (conversionTable)
- {
- conversionTable [currency] = new CurrencyInfo (currency, rate);
- }
- }
-
- [WebMethod (Description="Returns the rate of a currency")]
- [SoapHeaderAttribute ("userInfo")]
- public double GetCurrencyRate ([XmlElement(DataType="Name")]string cname)
- {
- CheckUser ();
- lock (conversionTable)
- {
- if (!conversionTable.ContainsKey (cname))
- throw new SoapException ("Unknown currency '" + cname + "'", SoapException.ServerFaultCode);
-
- return ((CurrencyInfo) conversionTable [cname]).Rate;
- }
- }
-
- [WebMethod]
- public void Test (Simple dada1, int dada)
- {
- dada = 1;
- }
-
- [WebMethod (MessageName="Test2")]
- public void Test (int[] dada2, byte[] dada3, int dada)
- {
- dada = 1;
- }
-
- [WebMethod]
- public System.Collections.Specialized.StringCollection TestArrays (string[] info, string lang)
- {
- return null;
- }
-
- void CheckUser ()
- {
- if (userInfo == null)
- throw new SoapException ("User not logged", SoapException.ServerFaultCode);
- }
-
- [WebMethod]
- [return: SoapElement("retret")]
- public MyInfo GetTestInfo (string s, out string d)
- {
- d = "iii";
- return new MyInfo();
- }
-
- [SoapHeaderAttribute ("unknown1")]
- [WebMethod]
- public void TestUnknownHeader1 ()
- {
- if (unknown1 == null)
- throw new Exception ("Header is null");
-
- if (unknown1.Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown2")]
- [WebMethod]
- public void TestUnknownHeader2 ()
- {
- if (unknown2 == null || unknown2.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown2[0].Actor != "hi")
- throw new Exception ("Invalid actor");
- }
-
- [SoapHeaderAttribute ("unknown3")]
- [WebMethod]
- public int TestUnknownHeader3 ()
- {
- if (unknown3 == null)
- throw new Exception ("Header is null");
-
- if (unknown3.Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown3.Element ["userId"];
- return int.Parse (child.InnerText);
- }
-
- [SoapHeaderAttribute ("unknown4")]
- [WebMethod]
- public int TestUnknownHeader4 ()
- {
- if (unknown4 == null || unknown4.Length != 1)
- throw new Exception ("Header is null");
-
- if (unknown4[0].Actor != "hi")
- throw new Exception ("Invalid actor");
-
- XmlElement child = unknown4[0].Element ["userId"];
- return int.Parse (child.InnerText);
- }
- }
-
- public class MyInfo
- {
- public int a = 4;
- public string b = "hi";
- }
-}
+++ /dev/null
-<%@ WebService Language="c#" Class="DataService" %>
-using System.Data;
-using System.Web.Services;
-
-public class DataService
-{
- [WebMethod]
- public DataSet QueryData (string query)
- {
- DataSet ds = new DataSet();
- DataTable dt = ds.Tables.Add("PhoneNumbers");
- dt.Columns.Add("name");
- dt.Columns.Add("home");
- DataRow newRow;
- newRow = dt.NewRow();
- newRow["name"] = "Lluis";
- newRow["home"] = "23452345";
- dt.Rows.Add (newRow);
- newRow = dt.NewRow();
- newRow["name"] = "Pep";
- newRow["home"] = "435345";
- dt.Rows.Add (newRow);
- return ds;
- }
-
- [WebMethod]
- public int SaveData (DataSet dset)
- {
- DataTable t = dset.Tables["PhoneNumbers"];
- return t.Rows.Count;
- }
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="spellcheckservice.wsdl.cs" Class="WebService3.DuplicateArrayTest" %>
-
-using System.Xml.Serialization;
-using System;
-using System.Web.Services.Protocols;
-using System.ComponentModel;
-using System.Web.Services;
-
-namespace WebService3{
-
-/// <remarks/>
-[System.Web.Services.WebServiceBindingAttribute(Name="SpellCheckServiceSoap", Namespace="http://www.worldwidedesktop.com/spellcheck")]
-public class DuplicateArrayTest : System.Web.Services.WebService {
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.worldwidedesktop.com/spellcheck/SpellCheck", RequestNamespace="http://www.worldwidedesktop.com/spellcheck", ResponseNamespace="http://www.worldwidedesktop.com/spellcheck", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- [return: System.Xml.Serialization.XmlArrayItemAttribute("correction", Namespace="http://www.worldwidedesktop.com/spellcheck/SpellCheckResult.xsd", IsNullable=false)]
- public correctionsCorrection[] SpellCheck(ref string LicenseText, ref string TextToCheck, correctionsCorrection[] X_WS_ReturnValue_X)
- {
- //Fill Parameters
- // --- Param 0---
- LicenseText = LicenseText;
- // --- Param 1---
- TextToCheck = TextToCheck;
-
- //Return Value
- return X_WS_ReturnValue_X;
- }
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.worldwidedesktop.com/spellcheck/MSSpellCheck", RequestNamespace="http://www.worldwidedesktop.com/spellcheck", ResponseNamespace="http://www.worldwidedesktop.com/spellcheck", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public System.Xml.XmlNode MSSpellCheck(ref string LicenseText, ref string TextToCheck, System.Xml.XmlNode X_WS_ReturnValue_X)
- {
- //Fill Parameters
- // --- Param 0---
- LicenseText = LicenseText;
- // --- Param 1---
- TextToCheck = TextToCheck;
-
- //Return Value
- return X_WS_ReturnValue_X;
- }
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.worldwidedesktop.com/spellcheck/WSpellCheck", RequestNamespace="http://www.worldwidedesktop.com/spellcheck", ResponseNamespace="http://www.worldwidedesktop.com/spellcheck", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public System.Xml.XmlNode WSpellCheck(ref string LicenseText, ref string TextToCheck, System.Xml.XmlNode X_WS_ReturnValue_X)
- {
- //Fill Parameters
- // --- Param 0---
- LicenseText = LicenseText;
- // --- Param 1---
- TextToCheck = TextToCheck;
-
- //Return Value
- return X_WS_ReturnValue_X;
- }
-}
-
-/// <remarks/>
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.worldwidedesktop.com/spellcheck/SpellCheckResult.xsd")]
-public class correctionsCorrection {
-
- /// <remarks/>
- public string word;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlArrayItemAttribute("suggestion", IsNullable=false)]
- public string[] suggestions;
-}
-}
+++ /dev/null
-<%@ WebService Language="c#" Class="IncludeTest" %>
-
-using System;
-using System.Collections;
-using System.Xml.Serialization;
-using System.Web.Services;
-using System.Web.Services.Protocols;
-
-public class IncludeTest
-{
- [WebMethod]
- [XmlInclude(typeof(ComplexThing))]
- [SoapInclude(typeof(ComplexThing))]
- public ArrayList foo()
- {
- ArrayList list = new ArrayList();
- list.Add(new ComplexThing("abc", 1.1f));
- list.Add(new ComplexThing("xyz", 2.0f));
- return list;
- }
-}
-
-public class ComplexThing
-{
- public ComplexThing() {}
-
- public ComplexThing(string name, float val)
- {
- this.name = name;
- this.val = val;
- }
- public string name;
- public float val;
-}
+++ /dev/null
-<%@ WebService Language="c#" Class="Util.SessionCounter" %>
-
- using System;
- using System.Web;
- using System.Web.Services;
- using System.Web.SessionState;
- namespace Util
- {
- public class SessionCounter: System.Web.Services.WebService
- {
- public SessionCounter ()
- {
- if (Context == null)
- throw new Exception ("Context not set in constructor");
- }
-
- [ WebMethod(EnableSession=true) ]
- public void Reset()
- {
- Session["counter"] = 0;
- }
-
- [ WebMethod(EnableSession=true) ]
- public int AddOne()
- {
- if ( Session["counter"] == null )
- { Session["counter"]=0; }
- else
- { Session["counter"]=(int)Session["counter"]+1; }
-
- return (int)Session["counter"];
-
- }
- }
- }
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="InteropTestDocLitParameters.wsdl.cs" Class="InteropTestDocLitParameters.wsdl.WSDLInteropTestDocLitParameters" %>\r
-using System.Xml.Serialization;
-using System;
-using System.Web.Services.Protocols;
-using System.ComponentModel;
-using System.Web.Services;
-
-namespace InteropTestDocLitParameters.wsdl{
-
-/// <remarks/>
-[System.Web.Services.WebServiceBindingAttribute(Name="WSDLInteropTestDocLitParametersSoap", Namespace="http://soapinterop.org")]
-public class WSDLInteropTestDocLitParameters : System.Web.Services.WebService {
-
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://soapinterop.org/", RequestNamespace="http://soapinterop.org/xsd", ResponseNamespace="http://soapinterop.org/xsd", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- [return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public SOAPStruct echoStruct([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] SOAPStruct param0, SOAPStruct X_WS_ReturnValue_X)
- {\r
- return null;
- }
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://soapinterop.org/", RequestNamespace="http://soapinterop.org/xsd", ResponseNamespace="http://soapinterop.org/xsd", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- [return: System.Xml.Serialization.XmlArrayAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- [return: System.Xml.Serialization.XmlArrayItemAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
- public string[] echoStringArray([System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] [System.Xml.Serialization.XmlArrayItemAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] string[] param0, string[] X_WS_ReturnValue_X)
- {
- return null;
- }
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://soapinterop.org/", RequestNamespace="http://soapinterop.org/xsd", ResponseNamespace="http://soapinterop.org/xsd", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- [return: System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string echoString([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string param0, string X_WS_ReturnValue_X)
- {
- return null;
- }
-}
-
-/// <remarks/>
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://soapinterop.org/xsd")]
-public class SOAPStruct {
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public System.Single varFloat;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public int varInt;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
- public string varString;
-}
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="BusinessList.wsdl.cs" Class="BusinessList.wsdl.BusinessList" %>\r
-using System.Xml.Serialization;
-using System;
-using System.Web.Services.Protocols;
-using System.ComponentModel;
-using System.Web.Services;
-
-namespace BusinessList.wsdl{
-
-/// <remarks/>
-[System.Web.Services.WebServiceBindingAttribute(Name="BusinessListSoap", Namespace="http://tempuri.org/")]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(UddiCore))]
-public class BusinessList : System.Web.Services.WebService {
-
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetBusinessList", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public BusinessInfo[] GetBusinessList( string Name, BusinessInfo[] X_WS_ReturnValue_X)
- {
- return null;
- }
-}
-
-/// <remarks/>
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-public class BusinessInfo : UddiCore {
-
- /// <remarks/>
- public string name;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlElementAttribute("description")]
- public Description[] description;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlArrayItemAttribute("serviceInfo")]
- public ServiceInfo[] serviceInfos;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlAttributeAttribute()]
- public string businessKey;
-}
-
-/// <remarks/>
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-public class Description : UddiCore {
-
- /// <remarks/>
- [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
- public string lang;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlTextAttribute()]
- public string[] Text;
-}
-
-/// <remarks/>
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceInfo))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(Description))]
-[System.Xml.Serialization.XmlIncludeAttribute(typeof(BusinessInfo))]
-public class UddiCore {
-}
-
-/// <remarks/>
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
-public class ServiceInfo : UddiCore {
-
- /// <remarks/>
- public string name;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlAttributeAttribute()]
- public string serviceKey;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlAttributeAttribute()]
- public string businessKey;
-}
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="GetData.wsdl.cs" Class="GetData.wsdl.GetData" %>
-
-using System.Xml.Serialization;
-using System;
-using System.Web.Services.Protocols;
-using System.ComponentModel;
-using System.Web.Services;
-
-namespace GetData.wsdl{
-
- [System.Web.Services.WebServiceBindingAttribute(Name="GetDataSoap", Namespace="http://tempuri.org/")]
- public class GetData : System.Web.Services.WebService {
-
-
- [System.Web.Services.WebMethodAttribute()]
- public bool RebuildTabList(bool X_WS_ReturnValue_X)
- {
- return false;
- }
-
- [System.Web.Services.WebMethodAttribute()]
- [SoapDocumentMethod (Binding="GetDataSoap")]
- public bool OtherMethod(bool X_WS_ReturnValue_X)
- {
- return false;
- }
-
- }
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="GetData.wsdl.cs" Class="GetData.wsdl.GetData" %>
-
-using System.Xml.Serialization;
-using System;
-using System.Web.Services.Protocols;
-using System.ComponentModel;
-using System.Web.Services;
-
-namespace GetData.wsdl{
-
- [System.Web.Services.WebServiceBindingAttribute(Name="GetDataSoap2", Namespace="http://anotheruri/")]
- public class GetData : System.Web.Services.WebService {
-
-
- [System.Web.Services.WebMethodAttribute()]
- public bool RebuildTabList(bool X_WS_ReturnValue_X)
- {
- return false;
- }
-
- [System.Web.Services.WebMethodAttribute()]
- [SoapDocumentMethod (Binding="GetDataSoap2")]
- public bool OtherMethod(bool X_WS_ReturnValue_X)
- {
- return false;
- }
-
- }
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="main.wsdl.cs" Class="main.wsdl.Main" %>\r
-\r
-using System.Xml.Serialization;
-using System;
-using System.Web.Services.Protocols;
-using System.ComponentModel;
-using System.Web.Services;
-
-namespace main.wsdl{
-
-/// <remarks/>
-[System.Web.Services.WebServiceBindingAttribute(Name="MainSoap", Namespace="http://msdn.microsoft.com/vbasic/")]
-public class Main : System.Web.Services.WebService {
-
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://msdn.microsoft.com/vbasic/About", RequestNamespace="http://msdn.microsoft.com/vbasic/", ResponseNamespace="http://msdn.microsoft.com/vbasic/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public string About(string X_WS_ReturnValue_X)
- {
- return null;
- }
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://msdn.microsoft.com/vbasic/GetCustomerOrderHistory", RequestNamespace="http://msdn.microsoft.com/vbasic/", ResponseNamespace="http://msdn.microsoft.com/vbasic/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public CustomerAndOrderHistoryInfo GetCustomerOrderHistory( string strCustID, CustomerAndOrderHistoryInfo X_WS_ReturnValue_X)
- {
- return null;
- }
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://msdn.microsoft.com/vbasic/GetTenMostExpensiveProducts", RequestNamespace="http://msdn.microsoft.com/vbasic/", ResponseNamespace="http://msdn.microsoft.com/vbasic/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public System.Data.DataSet GetTenMostExpensiveProducts(System.Data.DataSet X_WS_ReturnValue_X)
- {
- return null;
- }
-}
-
-/// <remarks/>
-[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://msdn.microsoft.com/vbasic/")]
-public class CustomerAndOrderHistoryInfo {
-
- /// <remarks/>
- public System.Xml.XmlElement Orders;
-
- /// <remarks/>
- [System.Xml.Serialization.XmlAttributeAttribute()]
- public string Company;
-}
-}
\ No newline at end of file
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="GetData.wsdl.cs" Class="GetData.wsdl.GetData" %>\r
-\r
-using System.Xml.Serialization;
-using System;
-using System.Xml;
-using System.Web.Services.Protocols;
-using System.ComponentModel;
-using System.Web.Services;
-
-namespace GetData.wsdl{
-
-/// <remarks/>
-[System.Web.Services.WebServiceBindingAttribute(Name="GetDataSoap", Namespace="http://IUnknown.Team/ePortal/GetData")]
-public class GetData : System.Web.Services.WebService {
-
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://IUnknown.Team/ePortal/GetData/GetTabList", ResponseNamespace="http://IUnknown.Team/ePortal/GetData", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
- [return: System.Xml.Serialization.XmlTextAttribute()]
- [return: System.Xml.Serialization.XmlAnyElementAttribute()]
- public System.Xml.XmlNode[] GetTabList(System.Xml.XmlNode[] X_WS_ReturnValue_X)
- {
- return X_WS_ReturnValue_X;
- }
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://IUnknown.Team/ePortal/GetData/RebuildTabList", RequestNamespace="http://IUnknown.Team/ePortal/GetData", ResponseNamespace="http://IUnknown.Team/ePortal/GetData", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public bool RebuildTabList(bool X_WS_ReturnValue_X)
- {
- return X_WS_ReturnValue_X;
- }
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://IUnknown.Team/ePortal/GetData/RebuildTabStruct", RequestNamespace="http://IUnknown.Team/ePortal/GetData", ResponseNamespace="http://IUnknown.Team/ePortal/GetData", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
- public bool RebuildTabStruct(string tabname, bool X_WS_ReturnValue_X)
- {
- return X_WS_ReturnValue_X;
- }
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://IUnknown.Team/ePortal/GetData/GetTabStruct", ResponseNamespace="http://IUnknown.Team/ePortal/GetData", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
- [return: System.Xml.Serialization.XmlTextAttribute()]
- [return: System.Xml.Serialization.XmlAnyElementAttribute()]
- public System.Xml.XmlNode[] GetTabStruct([System.Xml.Serialization.XmlElementAttribute(Namespace="http://IUnknown.Team/ePortal/GetData")] string tabname, System.Xml.XmlNode[] X_WS_ReturnValue_X)
- {
- return X_WS_ReturnValue_X;
- }
- }
-}
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="GetData.wsdl.cs" Class="GetData.wsdl.GetData" %>\r
-\r
-using System.Xml.Serialization;
-using System;
-using System.Web.Services.Protocols;
-using System.ComponentModel;
-using System.Web.Services;
-
-namespace GetData.wsdl{
-
- [System.Web.Services.WebServiceBindingAttribute(Name="GetDataSoap", Namespace="http://IUnknown.Team/ePortal/GetData")]
- public class GetData : System.Web.Services.WebService {
-
-
- [System.Web.Services.WebMethodAttribute()]
- public bool RebuildTabList(bool X_WS_ReturnValue_X)
- {
- return false;
- }
-
-
-
- }
-}
\ No newline at end of file
+++ /dev/null
-<%@ WebService Language="c#" Codebehind="InteropTestExtensibilityRequired.wsdl.cs" Class="InteropTestExtensibilityRequired.wsdl.InteropTestExtensibilityRequired" %>\r
-using System.Xml.Serialization;
-using System;
-using System.Web.Services.Protocols;
-using System.ComponentModel;
-using System.Web.Services;
-
-namespace InteropTestExtensibilityRequired.wsdl{
-
-/// <remarks/>
-[System.Web.Services.WebServiceBindingAttribute(Name="InteropTestExtensibilityRequiredSoap", Namespace="http://tempuri.org/")]
-public class InteropTestExtensibilityRequired : System.Web.Services.WebService {
-
- //Added by ServerGeneration
-
- /// <remarks/>
- [System.Web.Services.WebMethodAttribute()]
- [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://soapinterop.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Bare)]
- [return: System.Xml.Serialization.XmlElementAttribute("echoStringReturn", Namespace="http://soapinterop.org/xsd")]
- public string echoString([System.Xml.Serialization.XmlElementAttribute(Namespace="http://soapinterop.org/xsd")] string echoStringParam, string X_WS_ReturnValue_X)
- {
- return null;
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-<configuration>
- <system.web>
- <httpHandlers>
- <add verb="*" path="*.vsdisco"
- type="System.Web.Services.Discovery.DiscoveryRequestHandler, System.Web.Services, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
- </httpHandlers>
- </system.web>
-</configuration>
+++ /dev/null
-<dynamicDiscovery xmlns="urn:schemas-dynamicdiscovery:disco.2000-03-17">
- <exclude path="d2"/>
- <exclude path="d1/d3"/>
-</dynamicDiscovery>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <service>
- <wsdl>http://upload.eraserver.net/circle24/autoloan.asmx?wsdl</wsdl>
- <name>autoloanTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.kannadakasturi.com/WebServices/kannadakasturiwebservice.asmx?WSDL</wsdl>
- <name>kannadakasturiwebserviceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/WebServices/eSynapsSearch.asmx?WSDL</wsdl>
- <name>eSynapsSearchTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.codemechanisms.co.uk/WebServices/UNSPSC.asmx?WSDL</wsdl>
- <name>UNSPSCTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmlme.com/WSCustNews.asmx?WSDL</wsdl>
- <name>WSCustNewsTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://arcweb.esri.com/services/v2/Proximity.wsdl</wsdl>
- <name>ProximityTest</name>
- <serverType>Netscape-Enterprise/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://addison.ra.cwru.edu/orc/calendar_copy/server.php?wsdl</wsdl>
- <name>serverTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET,PHP/4.3.1</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xml.redcoal.net/SMSSOAP/xmlserver.wsdl</wsdl>
- <name>xmlserverTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/ft/FastTax.asmx?WSDL</wsdl>
- <name>FastTaxTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xml.nig.ac.jp/wsdl/ClustalW.wsdl</wsdl>
- <name>ClustalWTest</name>
- <serverType>GLUE/3.2.1,Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.marotz.se/scripts/searchperson.exe/wsdl/ISearchSwedishPerson</wsdl>
- <name>ISearchSwedishPersonTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmlme.com/WSDailyXml.asmx?WSDL</wsdl>
- <name>WSDailyXmlTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.dev1.eraserver.net/REFLECTIONIT/Html2xml.asmx?WSDL</wsdl>
- <name>Html2xmlTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.barnaland.is/dev/puki.asmx?WSDL</wsdl>
- <name>pukiTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.hkwizard.com/WeatherService.asmx?wsdl</wsdl>
- <name>WeatherServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.dl-me.com/webservices/dic2.asmx?WSDL</wsdl>
- <name>dic2Test</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xoptions.asmx?WSDL</wsdl>
- <name>xoptionsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://wsdl.wsdlfeeds.com/holidays.cfc?wsdl</wsdl>
- <name>holidaysTest</name>
- <serverType>Apache/1.3.27 (Unix) (Red-Hat/Linux) JRun/4.0 mod_ssl/2.8.12 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://scores.serviceobjects.com/CupScores.asmx?WSDL</wsdl>
- <name>CupScoresTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.systinet.net/demos/Newsfeed/wsdl</wsdl>
- <name>NewsfeedTest</name>
- <serverType>Systinet WASP Server for Java/4.6.1 (Java/1.4.2; Linux/2.4.20-24.7) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmlme.com/WSElectronics.asmx?WSDL</wsdl>
- <name>WSElectronicsTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://arcweb.esri.com/services/v2/AddressFinder.wsdl</wsdl>
- <name>AddressFinderTest</name>
- <serverType>Netscape-Enterprise/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmlme.com/WSVideoGames.asmx?WSDL</wsdl>
- <name>WSVideoGamesTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/braille.asmx?WSDL</wsdl>
- <name>brailleTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.digiposs.com/WorldTime.jws?wsdl</wsdl>
- <name>WorldTimeTest</name>
- <serverType>Apache/2.0.43 (Win32) mod_ssl/2.0.43 OpenSSL/0.9.6g PHP/4.3.0 mod_jk/1.2.2-beta-1 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.cosme.nu/services/pop.php?wsdl</wsdl>
- <name>popTest</name>
- <serverType>Apache/1.3.26 (Unix) mod_ssl/2.8.9 OpenSSL/0.9.6a ApacheJServ/1.1.2 PHP/4.3.1 # PHP/4.3.1</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.marotz.se/PGPKeyServer/PGPKeyServiceX.exe/wsdl/IPGPKeyServer</wsdl>
- <name>IPGPKeyServerTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.alanbushtrust.org.uk/soap/compositions.wsdl</wsdl>
- <name>compositionsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://glkev.webs.innerhost.com/glkev_ws/businessnews.asmx?WSDL</wsdl>
- <name>businessnewsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://services.develop.co.za/GetLocalTime.asmx?WSDL</wsdl>
- <name>GetLocalTimeTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/ln/lotterynumbers.asmx?WSDL</wsdl>
- <name>lotterynumbersTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.blackstoneonline.com/webservices/dispenser.xml</wsdl>
- <name>dispenserTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/WebServices/DailyDiblert.asmx?WSDL</wsdl>
- <name>DailyDiblertTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.achchex.com/exec/achsoap.dll/wsdl/IACHSOAP</wsdl>
- <name>IACHSOAPTest</name>
- <serverType>Apache/2.0.43 (Win32) mod_ssl/2.0.43 OpenSSL/0.9.6g # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://transform.dataconcert.com/transform.wsdl</wsdl>
- <name>transformTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://icuisine.net/webservices/RecipeService.asmx?WSDL</wsdl>
- <name>RecipeServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.bitounis.com/WebEvents/events.asmx?WSDL</wsdl>
- <name>eventsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.OneOutBox.com/wsdl/FreeFaxService.wsdl</wsdl>
- <name>FreeFaxServiceTest</name>
- <serverType>Apache/1.3.27 (Unix) PHP/4.2.3 FrontPage/5.0.2.2510 Rewrit/1.1a # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.ebi.ac.uk/xembl/XEMBL.wsdl</wsdl>
- <name>XEMBLTest</name>
- <serverType>Apache/1.3.12 (Unix) ApacheJServ/1.1 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmethods.net/sd/2001/CATrafficService.wsdl</wsdl>
- <name>CATrafficServiceTest</name>
- <serverType>Enhydra-MultiServer/3.1.1b1 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.foxcentral.net/foxcentral.wsdl</wsdl>
- <name>foxcentralTest</name>
- <serverType> # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.cosme.nu/services/convert.php?wsdl</wsdl>
- <name>convertTest</name>
- <serverType>Apache/1.3.26 (Unix) mod_ssl/2.8.9 OpenSSL/0.9.6a ApacheJServ/1.1.2 PHP/4.3.1 # PHP/4.3.1</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.ripedev.com/webservices/ZipCode.asmx?WSDL</wsdl>
- <name>ZipCodeTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.cdyne.com/psaddress/addresslookup.asmx?wsdl</wsdl>
- <name>addresslookupTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.strikeiron.com/scripts/statistics.asmx?WSDL</wsdl>
- <name>statisticsTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.bitounis.com/W3CParser/LogFileParser.asmx?WSDL</wsdl>
- <name>LogFileParserTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/NAICS.asmx?wsdl</wsdl>
- <name>NAICSTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.cdyne.com/emailverify/ev.asmx?wsdl</wsdl>
- <name>evTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://62.212.78.36/cgi-bin/WagAddressServerSingle.exe/wsdl/IWagAddressServerSingle</wsdl>
- <name>IWagAddressServerSingleTest</name>
- <serverType>Apache/1.3.19 (Win32) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://slashdemocracy.org/links/ws4gotze.wsdl</wsdl>
- <name>ws4gotzeTest</name>
- <serverType>Apache # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://java.rus.uni-stuttgart.de/quiz/quiz.wsdl</wsdl>
- <name>quizTest</name>
- <serverType>Microsoft-IIS/5.0,GLUE/3.2.3 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.zanetti-dev.com/scripts/zpop3ws.exe/wsdl/IZPOP3</wsdl>
- <name>IZPOP3Test</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.gama-system.com/webservices/stockquotes.asmx?wsdl</wsdl>
- <name>stockquotesTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/barcode.asmx?WSDL</wsdl>
- <name>barcodeTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://service.graphmagic.com/GMService/GraphMagic.asmx?wsdl</wsdl>
- <name>GraphMagicTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://developerdays.com/cgi-bin/tempconverter.exe/wsdl/ITempConverter</wsdl>
- <name>ITempConverterTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/icd10.asmx?WSDL</wsdl>
- <name>icd10Test</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.marotz.se/scripts/SlashdotHeadlines.exe/wsdl/ISlashdotHeadlineProvider</wsdl>
- <name>ISlashdotHeadlineProviderTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmethods.net/sd/2001/CurrencyExchangeService.wsdl</wsdl>
- <name>CurrencyExchangeServiceTest</name>
- <serverType> # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://demo.soapam.com/services/FedEpayDirectory/FedEpayDirectoryService.wsdl</wsdl>
- <name>FedEpayDirectoryServiceTest</name>
- <serverType>NuWave Technologies SOAP/AM(tm) Server - Version 1.0.4002 (SP2) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.eraserver.net/zipcoderesolver/zipcoderesolver.asmx?WSDL</wsdl>
- <name>zipcoderesolverTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/icd9toicd10.asmx?WSDL</wsdl>
- <name>icd9toicd10Test</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.ebob42.com/cgi-bin/Romulan.exe/wsdl/IRoman</wsdl>
- <name>IRomanTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.sidespace.com/ws/fission/fissiondotnet.php?wsdl</wsdl>
- <name>fissiondotnetTest</name>
- <serverType>Apache/1.3.29 # PHP/4.3.4</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.x-ws.de/cgi-bin/bork/service.wsdl</wsdl>
- <name>serviceTest</name>
- <serverType>Apache/1.3.27 (Linux/SuSE) PHP/4.3.4 mod_perl/1.27 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/WebServices/eSynapsMonitor.wsdl</wsdl>
- <name>eSynapsMonitorTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmlme.com/WSAmazonBox.asmx?WSDL</wsdl>
- <name>WSAmazonBoxTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.west-wind.com/wconnect/soap/wwhelpservice.wsdl</wsdl>
- <name>wwhelpserviceTest</name>
- <serverType> # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.oakleaf.ws/cfrsectws/cfrsectws.asmx?wsdl</wsdl>
- <name>cfrsectwsTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.mp3.com/MP3Charts.wsdl</wsdl>
- <name>MP3ChartsTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.bitounis.com/RSAFunctions/RSAFuncs.asmx?WSDL</wsdl>
- <name>RSAFuncsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.systinet.net/demos/RpmFinder/wsdl</wsdl>
- <name>RpmFinderTest</name>
- <serverType>Systinet WASP Server for Java/4.6.1 (Java/1.4.2; Linux/2.4.20-24.7) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.ebob42.com/cgi-bin/DrBobsClinic.exe/wsdl/IHeadline</wsdl>
- <name>IHeadlineTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/periodictable.asmx?wsdl</wsdl>
- <name>periodictableTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.maillocate.com/soap/index.php?wsdl</wsdl>
- <name>indexTest</name>
- <serverType>Apache/2.0.40 (Red Hat Linux) # PHP/4.2.2</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://freene.dynip.com/RentDB2/RentDB2.asmx?wsdl</wsdl>
- <name>RentDB2Test</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://iis1.grantparksoftware.com:8080/gps/pos_public.asmx?WSDL</wsdl>
- <name>pos_publicTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.framewerks.com/WebServices/fWArticleService/fwArticles.asmx?WSDL</wsdl>
- <name>fwArticlesTest</name>
- <serverType>Microsoft-IIS/5.0 Geobytes-GeoSelect/2.1.0.1 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://sandbox.grandcentral.com/services/reports?WSDL</wsdl>
- <name>reportsTest</name>
- <serverType>Apache/1.3.29 (Unix) mod_jk/1.2.0 mod_perl/1.29 mod_ssl/2.8.16 OpenSSL/0.9.7c # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/CurrencyConvertor.asmx?wsdl</wsdl>
- <name>CurrencyConvertorTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.x-ws.de/cgi-bin/msn/imstatus.wsdl</wsdl>
- <name>imstatusTest</name>
- <serverType>Apache/1.3.27 (Linux/SuSE) PHP/4.3.4 mod_perl/1.27 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/WebServices/MsProxy.asmx?WSDL</wsdl>
- <name>MsProxyTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.siliconllama.com/services/wsdl/ISOcode2shortformatService.wsdl</wsdl>
- <name>ISOcode2shortformatServiceTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/usweather.asmx?WSDL</wsdl>
- <name>usweatherTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.forta.com/cf/tips/syndicate.cfc?wsdl</wsdl>
- <name>syndicateTest</name>
- <serverType>Apache/2.0.43 (Red Hat Linux) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://clientservice.muse.net/ClientService.asmx?WSDL</wsdl>
- <name>ClientServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.flash-db.com/services/ws/siteInspect.wsdl</wsdl>
- <name>siteInspectTest</name>
- <serverType>Apache/1.3.28 (Unix) mod_auth_passthrough/1.8 mod_bwprotect/0.2 mod_bwlimited/1.2 PHP/4.3.3 mod_log_bytes/1.2 FrontPage/5.0.2.2634 # PHP/4.3.3</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/stockquote.asmx?WSDL</wsdl>
- <name>stockquoteTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.worldwidedesktop.com/spellcheck/spellcheckservice.asmx?wsdl</wsdl>
- <name>spellcheckserviceTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.acrosscommunications.com/TAP.asmx?WSDL</wsdl>
- <name>TAPTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xsecurity.asmx?WSDL</wsdl>
- <name>xsecurityTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.codebump.com/services/placelookup.asmx?wsdl</wsdl>
- <name>placelookupTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.aspiringgeek.com/cfc/keyword/sekeyword.cfc?wsdl</wsdl>
- <name>sekeywordTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.x-ws.de/cgi-bin/eliza/chat.wsdl</wsdl>
- <name>chatTest</name>
- <serverType>Apache/1.3.27 (Linux/SuSE) PHP/4.3.4 mod_perl/1.27 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.cdyne.com/FontToGraphic/ftg.asmx?wsdl</wsdl>
- <name>ftgTest</name>
- <protocols />
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/pc/packcost.asmx?WSDL</wsdl>
- <name>packcostTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.systinet.net/demos/ZVONSearch/wsdl</wsdl>
- <name>ZVONSearchTest</name>
- <serverType>Systinet WASP Server for Java/4.6.1 (Java/1.4.2; Linux/2.4.20-24.7) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.richsolutions.com/RichPayments/RichCardValidator.asmx?WSDL</wsdl>
- <name>RichCardValidatorTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ww6.borland.com/webservices/BorlandBabel/BorlandBabel.exe/wsdl/IBorlandBabel</wsdl>
- <name>IBorlandBabelTest</name>
- <serverType>Microsoft-IIS/4.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.aspxpressway.com/maincontent/webservices/piglatin.asmx?wsdl</wsdl>
- <name>piglatinTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.cosme.nu/services/dns.php?wsdl</wsdl>
- <name>dnsTest</name>
- <serverType>Apache/1.3.26 (Unix) mod_ssl/2.8.9 OpenSSL/0.9.6a ApacheJServ/1.1.2 PHP/4.3.1 # PHP/4.3.1</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.cs.uga.edu/~sent/xmethods/CountryInfoLookup.wsdl</wsdl>
- <name>CountryInfoLookupTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://live.capescience.com/wsdl/FOPService.wsdl</wsdl>
- <name>FOPServiceTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.swanandmokashi.com/HomePage/WebServices/StockQuotes.asmx?WSDL</wsdl>
- <name>StockQuotesTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.scdi.org/~avernet/webservice/yim.wsdl</wsdl>
- <name>yimTest</name>
- <serverType>Apache/1.3.26 (Unix) Debian GNU/Linux # PHP/4.1.2</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://beta2.eraserver.net/webservices/mxchecker/mxchecker.asmx?WSDL</wsdl>
- <name>mxcheckerTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.cdyne.com/whoisquery/whois.asmx?wsdl</wsdl>
- <name>whoisTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.interfax.net/dfs.asmx?WSDL</wsdl>
- <name>dfsTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xworldnews.asmx?WSDL</wsdl>
- <name>xworldnewsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmlme.com/WSDailyNet.asmx?WSDL</wsdl>
- <name>WSDailyNetTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.matlus.com/scripts/sessionservice.dll/wsdl/IMsSessionBrokerService</wsdl>
- <name>IMsSessionBrokerServiceTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmethods.net/sd/2001/BNQuoteService.wsdl</wsdl>
- <name>BNQuoteServiceTest</name>
- <serverType>Enhydra-MultiServer/3.1.1b1 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.gxchart.com/webchart.wsdl</wsdl>
- <name>webchartTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/ds/domainspy.asmx?WSDL</wsdl>
- <name>domainspyTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ewsdemo.webmethods.com/WmEWS/directory/wsd.dsp?interface=wmpayflow.sample&service=Credit_Approval</wsdl>
- <name>Credit_ApprovalTest</name>
- <serverType> # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://sms.idws.com/soap/smsservice.dll/wsdl/ISMSService</wsdl>
- <name>ISMSServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://glkev.webs.innerhost.com/glkev_ws/HistoricalStockQuotes.asmx?WSDL</wsdl>
- <name>HistoricalStockQuotesTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/fw/FastWeather.asmx?WSDL</wsdl>
- <name>FastWeatherTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www22.brinkster.com/horaciovallejo/netpress1.asmx?wsdl</wsdl>
- <name>netpress1Test</name>
- <serverType>Microsoft-IIS/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.acrosscommunications.com/NumPager.asmx?WSDL</wsdl>
- <name>NumPagerTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.acrosscommunications.com/ICQ.asmx?WSDL</wsdl>
- <name>ICQTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://oneoutbox.com/wsdl/FaxService.wsdl</wsdl>
- <name>FaxServiceTest</name>
- <serverType>Apache/1.3.27 (Unix) PHP/4.2.3 FrontPage/5.0.2.2510 Rewrit/1.1a # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.cgi101.com/~msmithso/wsdl/mach.wsdl</wsdl>
- <name>machTest</name>
- <serverType>Apache/1.3.29 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://otn.oracle.com/ws/otnnews?WSDL</wsdl>
- <name>otnnewsTest</name>
- <serverType>Oracle9iAS/9.0.4 Oracle HTTP Server # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xml.nig.ac.jp/wsdl/GetEntry.wsdl</wsdl>
- <name>GetEntryTest</name>
- <serverType>GLUE/3.2.1,Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/aba.asmx?WSDL</wsdl>
- <name>abaTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.infoaccelerator.net/cfc/rtf2html.cfc?WSDL</wsdl>
- <name>rtf2htmlTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xeeinc.com/RateInformation/Rateinfo.asmx?WSDL</wsdl>
- <name>RateinfoTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/WebServices/eSynapsFeed.asmx?WSDL</wsdl>
- <name>eSynapsFeedTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/sendsmsworld.asmx?WSDL</wsdl>
- <name>sendsmsworldTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xml.nig.ac.jp/wsdl/SRS.wsdl</wsdl>
- <name>SRSTest</name>
- <serverType>GLUE/3.2.1,Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www28.brinkster.com/hegdes/NumberToWords.asmx?WSDL</wsdl>
- <name>NumberToWordsTest</name>
- <serverType>Microsoft-IIS/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.richsolutions.com/richpayments/richpay.asmx?WSDL</wsdl>
- <name>richpayTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://server1.pointwsp.net/ws/postal/main.asmx?WSDL</wsdl>
- <name>mainTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xmlrad.com/WSFindMP3Bin/WSFindMP3.dll/WSDL</wsdl>
- <name>WSFindMP3Test</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.siliconllama.com/services/wsdl/ISOcodesService.wsdl</wsdl>
- <name>ISOcodesServiceTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webserviceoftheday.com/ws/soap/wsotd.asmx?wsdl</wsdl>
- <name>wsotdTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.ripedev.com/webservices/LocalTime.asmx?WSDL</wsdl>
- <name>LocalTimeTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://majordojo.com/amazon_query/amazon_query.wsdl</wsdl>
- <name>amazon_queryTest</name>
- <serverType>Apache/1.3.29 (Unix) mod_jk/1.2.0 mod_ssl/2.8.16 OpenSSL/0.9.6g PHP/4.3.4 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.SoapClient.com/xml/SQLDataSoap.wsdl</wsdl>
- <name>SQLDataSoapTest</name>
- <serverType>SQLData Server/3.01 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.einsteinware.com/nascar/nascardataservice.asmx?WSDL</wsdl>
- <name>nascardataserviceTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://wsdl.wsdlfeeds.com/spell.cfc?wsdl</wsdl>
- <name>spellTest</name>
- <serverType>Apache/1.3.27 (Unix) (Red-Hat/Linux) JRun/4.0 mod_ssl/2.8.12 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/av/AddressValidate.asmx?WSDL</wsdl>
- <name>AddressValidateTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://arcweb.esri.com/services/v2/RouteFinder.wsdl</wsdl>
- <name>RouteFinderTest</name>
- <serverType>Netscape-Enterprise/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://arcweb.esri.com/services/v2/Query.wsdl</wsdl>
- <name>QueryTest</name>
- <serverType>Netscape-Enterprise/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/fax.asmx?wsdl</wsdl>
- <name>faxTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/gpp/GeoPinPoint.asmx?WSDL</wsdl>
- <name>GeoPinPointTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/gp/GeoPhone.asmx?WSDL</wsdl>
- <name>GeoPhoneTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.sld.cu/aldia.wsdl</wsdl>
- <name>aldiaTest</name>
- <serverType>Apache/1.3.27 (Unix) (Red-Hat/Linux) mod_ssl/2.8.12 OpenSSL/0.9.6b # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.inkostar.com/wsdl/iifws/iifws.wsdl</wsdl>
- <name>iifwsTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.nims.nl/soap/oms2.wsdl</wsdl>
- <name>oms2Test</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.lixusnet.com/lixusnet/AddFinder.jws?wsdl</wsdl>
- <name>AddFinderTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xsimulation.asmx?WSDL</wsdl>
- <name>xsimulationTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/uszip.asmx?WSDL</wsdl>
- <name>uszipTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.rightsecurity.biz/NRICWebServices/NRICWebServices.dll/wsdl/Iws_Verify_NRIC</wsdl>
- <name>Iws_Verify_NRICTest</name>
- <serverType>Netscape-Enterprise/3.5.1 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://live.capescience.com/wsdl/GlobalWeather.wsdl</wsdl>
- <name>GlobalWeatherTest</name>
- <serverType> # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://www.barnaland.is/dev/sms.asmx?WSDL</wsdl>
- <name>smsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.firelife.eu.com/dynamicflash/dynamicflash.asmx?WSDL</wsdl>
- <name>dynamicflashTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.e-naxos.com/scripts/enwscp.dll/wsdl/IODCODESPOSTAUX</wsdl>
- <name>IODCODESPOSTAUXTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://www.indobiz.com/OptionPricing.asmx?WSDL</wsdl>
- <name>OptionPricingTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xmlrad.com/WSGeneratorBin/WSGenerator.dll/WSDL</wsdl>
- <name>WSGeneratorTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xml.nig.ac.jp/wsdl/Blast.wsdl</wsdl>
- <name>BlastTest</name>
- <serverType>GLUE/3.2.1,Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xml.nig.ac.jp/wsdl/TxSearch.wsdl</wsdl>
- <name>TxSearchTest</name>
- <serverType>GLUE/3.2.1,Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.codebump.com/services/zipcodelookup.asmx?wsdl</wsdl>
- <name>zipcodelookupTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/webservices/YourHostInfo.asmx?WSDL</wsdl>
- <name>YourHostInfoTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.oakleaf.ws/cfrtocws/cfrtocws.asmx?wsdl</wsdl>
- <name>cfrtocwsTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.baxglobal.com/xmltracking/xmltracking.asmx?wsdl</wsdl>
- <name>xmltrackingTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.isitedesign.com/ws/chartWS.cfc?wsdl</wsdl>
- <name>chartWSTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ww6.borland.com/webservices/MapQuest/MapQuest.exe/wsdl/IMapQuest</wsdl>
- <name>IMapQuestTest</name>
- <serverType>Microsoft-IIS/4.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.pinellus.com/cfc/Cod_fiscale.cfc?wsdl</wsdl>
- <name>Cod_fiscaleTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.stgregorioschurchdc.org/wsdl/Bible.wsdl</wsdl>
- <name>BibleTest</name>
- <serverType>Apache/1.3.27 (Unix) PHP/4.2.3 FrontPage/5.0.2.2510 Rewrit/1.1a # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://aspnet.lamaan.com/webservices/QuranVerse.asmx?WSDL</wsdl>
- <name>QuranVerseTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.danmarinescu.com/WebServices/ChessCGIServer.exe/wsdl/IBorlandChess</wsdl>
- <name>IBorlandChessTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/EMBLNucleotideSequenceWebService.asmx?wsdl</wsdl>
- <name>EMBLNucleotideSequenceWebServiceTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://wavendon.dsdata.co.uk/axis/services/CarRentalQuotes?wsdl</wsdl>
- <name>CarRentalQuotesTest</name>
- <serverType>Apache/2.0.39 (Win32) mod_jk/1.2.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.systinet.net/demos/W3CSearch/wsdl</wsdl>
- <name>W3CSearchTest</name>
- <serverType>Systinet WASP Server for Java/4.6.1 (Java/1.4.2; Linux/2.4.20-24.7) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.codecube.net/services/xreonline.asmx?WSDL</wsdl>
- <name>xreonlineTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.tei.or.th/getQuakeData.cfc?wsdl</wsdl>
- <name>getQuakeDataTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://wavendon.dsdata.co.uk:8080/axis/services/SBGGetAirFareQuote?wsdl</wsdl>
- <name>SBGGetAirFareQuoteTest</name>
- <serverType>Apache/2.0.39 (Win32) mod_jk/1.2.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.cdyne.com/whoisforip/queryip.asmx?wsdl</wsdl>
- <name>queryipTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.acrosscommunications.com/SMS.asmx?WSDL</wsdl>
- <name>SMSTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://dotnet.cyberthink.net/computerdictionary/computerdictionary.asmx?wsdl</wsdl>
- <name>computerdictionaryTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.apniurdu.com/SOAP/Urdu2.wsdl</wsdl>
- <name>Urdu2Test</name>
- <serverType>Apache # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/airport.asmx?wsdl</wsdl>
- <name>airportTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://telecommerce.danet.de/axis/services/DocConverterServicePort?wsdl</wsdl>
- <name>DocConverterServicePortTest</name>
- <serverType>Apache/1.3.26 (Linux/SuSE) mod_webapp/1.2.0-dev PHP/4.2.2 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmlme.com/WSShakespeare.asmx?WSDL</wsdl>
- <name>WSShakespeareTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://glkev.webs.innerhost.com/glkev_ws/WeatherFetcher.asmx?WSDL</wsdl>
- <name>WeatherFetcherTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.dl-me.com/webservices/unitext.asmx?wsdl</wsdl>
- <name>unitextTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.suiyi.com/soap/economic.dll/wsdl/Ieconomic</wsdl>
- <name>IeconomicTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.isitedesign.com/ws/slashdotnews.cfc?wsdl</wsdl>
- <name>slashdotnewsTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xretirement.asmx?WSDL</wsdl>
- <name>xretirementTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/yp/YellowPages.asmx?WSDL</wsdl>
- <name>YellowPagesTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.securexml.net/securexml/securexml.wsdl</wsdl>
- <name>securexmlTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.4s4c.com/weblogs/subscribe.wsdl</wsdl>
- <name>subscribeTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.schemaweb.info/webservices/soap/SchemaWebSoap.asmx?wsdl</wsdl>
- <name>SchemaWebSoapTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.financialwebservices.ltd.uk/axis/services/bond?wsdl</wsdl>
- <name>bondTest</name>
- <serverType>Apache Tomcat/4.0.4 (HTTP/1.1 Connector) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xnews.asmx?WSDL</wsdl>
- <name>xnewsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.what-is-around.com/awwia.wsdl</wsdl>
- <name>awwiaTest</name>
- <serverType>Apache/2.0.47 (Unix) mod_ssl/2.0.47 OpenSSL/0.9.7b # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.eyemaginations.com/cgi-bin/getWSDL.pl?wsdl=WebFunction.wsdl</wsdl>
- <name>getWSDLTest</name>
- <serverType>Apache/1.3.27 (Unix) FrontPage/5.0.2.2510 mod_ssl/2.8.12 OpenSSL/0.9.6g # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.flash-db.com/services/ws/companyInfo.wsdl</wsdl>
- <name>companyInfoTest</name>
- <serverType>Apache/1.3.28 (Unix) mod_auth_passthrough/1.8 mod_bwprotect/0.2 mod_bwlimited/1.2 PHP/4.3.3 mod_log_bytes/1.2 FrontPage/5.0.2.2634 # PHP/4.3.3</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.abundanttech.com/webservices/population/population.wsdl</wsdl>
- <name>populationTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://wsdl.wsdlfeeds.com/odp.cfc?wsdl</wsdl>
- <name>odpTest</name>
- <serverType>Apache/1.3.27 (Unix) (Red-Hat/Linux) JRun/4.0 mod_ssl/2.8.12 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xstatistics.asmx?WSDL</wsdl>
- <name>xstatisticsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.nickhodge.com/nhodge/finnwords/finnwords.wsdl</wsdl>
- <name>finnwordsTest</name>
- <serverType>Apache/1.3.29 (Unix) mod_auth_passthrough/1.8 mod_gzip/1.3.26.1a mod_jk/1.2.0 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.3.4 FrontPage/5.0.2.2634 mod_ssl/2.8.16 OpenSSL/0.9.6b # PHP/4.3.4</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://terraservice.net/TerraService.asmx?WSDL</wsdl>
- <name>TerraServiceTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.swanandmokashi.com/HomePage/WebServices/QuoteOfTheDay.asmx?WSDL</wsdl>
- <name>QuoteOfTheDayTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://test.mapfrepr.net/Encryption/Encryption.asmx?WSDL</wsdl>
- <name>EncryptionTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://digilander.libero.it/mamo78/KRSS_DAML_Service.wsdl</wsdl>
- <name>KRSS_DAML_ServiceTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://glkev.webs.innerhost.com/glkev_ws/UPSTracking.asmx?WSDL</wsdl>
- <name>UPSTrackingTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/hcpcs.asmx?WSDL</wsdl>
- <name>hcpcsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.framewerks.com/WebServices/helpfulfunctions/helpfulfunctions.asmx?WSDL</wsdl>
- <name>helpfulfunctionsTest</name>
- <serverType>Microsoft-IIS/5.0 Geobytes-GeoSelect/2.1.0.1 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/WebServices/BusinessList.asmx?WSDL</wsdl>
- <name>BusinessListTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.wolfram.com/services/SearchServices/WolframSearch.wsdl</wsdl>
- <name>WolframSearchTest</name>
- <serverType>Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.matlus.com/scripts/emailwebservice.dll/wsdl/IEmailService</wsdl>
- <name>IEmailServiceTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.seshakiran.com/QuoteService/QuotesService.asmx?wsdl</wsdl>
- <name>QuotesServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/pa/phoneappend.asmx?wsdl</wsdl>
- <name>phoneappendTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/uklocation.asmx?WSDL</wsdl>
- <name>uklocationTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/icd9drug.asmx?WSDL</wsdl>
- <name>icd9drugTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://docserv.aurigalogic.com/docserv.wsdl</wsdl>
- <name>docservTest</name>
- <serverType>Apache/1.3.27 (Unix) mod_jk2/2.0.3-dev mod_webapp/1.2.0-dev PHP/4.1.2 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.barnaland.is/dev/phonebook.asmx?WSDL</wsdl>
- <name>phonebookTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmlme.com/WSSportingGoods.asmx?WSDL</wsdl>
- <name>WSSportingGoodsTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.saintlogin.com/SAINT_WS/SAINTlogin_service_mssoap.php?wsdl</wsdl>
- <name>SAINTlogin_service_mssoapTest</name>
- <serverType>Apache/2.0.46 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.wsindex.org/pages/wsindexLinks.wsdl</wsdl>
- <name>wsindexLinksTest</name>
- <serverType>Apache/1.3.28 (Unix) mod_auth_passthrough/1.8 mod_bwlimited/1.4 PHP/4.3.3 mod_log_bytes/1.2 FrontPage/5.0.2.2634 mod_ssl/2.8.15 OpenSSL/0.9.6g # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.einsteinware.com/email/emailservices.asmx?WSDL</wsdl>
- <name>emailservicesTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.ejse.com/WeatherService/Service.asmx?WSDL</wsdl>
- <name>ServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.indobiz.com/IndoEconoCator.asmx?WSDL</wsdl>
- <name>IndoEconoCatorTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.winisp.net/cheeso/zips/ZipService.asmx?WSDL</wsdl>
- <name>ZipServiceTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.abysal.com/soap/AbysalEmail.wsdl</wsdl>
- <name>AbysalEmailTest</name>
- <serverType>Abysal-webDTP/3.02 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/gc/GeoCash.asmx?WSDL</wsdl>
- <name>GeoCashTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.systinet.net/demos/FreeDB/wsdl</wsdl>
- <name>FreeDBTest</name>
- <serverType>Systinet WASP Server for Java/4.6.1 (Java/1.4.2; Linux/2.4.20-24.7) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/FinanceService.asmx?WSDL</wsdl>
- <name>FinanceServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://arcweb.esri.com/services/v2/PlaceFinderSample.wsdl</wsdl>
- <name>PlaceFinderSampleTest</name>
- <serverType>Netscape-Enterprise/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.PerfectXML.NET/WebServices/SalesRankNPrice/BookService.asmx?WSDL</wsdl>
- <name>BookServiceTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.xara.com/graphicrender/render3d.wsdl</wsdl>
- <name>render3dTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.bitwaste.com/xmethods/ATTPager/ATTPager.wsdl</wsdl>
- <name>ATTPagerTest</name>
- <serverType>Apache/2.0.40 (Red Hat Linux) PHP/4.2.2 DAV/2 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.empowered.com/statsws/stats.asmx?WSDL</wsdl>
- <name>statsTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://samples.bowstreet.com/bowstreet5/webengine/xmethods/gcd/Action!getWSDL</wsdl>
- <name>ActiongetWSDLTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.freshscore.com/service/FreshScoreLiveScores.asmx?WSDL</wsdl>
- <name>FreshScoreLiveScoresTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.berneda.com/scripts/TeeChartSOAP.exe/wsdl/ITeeChart</wsdl>
- <name>ITeeChartTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.discoverdance.co.uk/zipQuery/zipCodeService.asmx?wsdl</wsdl>
- <name>zipCodeServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.jusufdarmawan.com/wsprimegenerator.exe/wsdl/IPrimeGenerator</wsdl>
- <name>IPrimeGeneratorTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmethods.net/sd/2001/TemperatureService.wsdl</wsdl>
- <name>TemperatureServiceTest</name>
- <serverType>Enhydra-MultiServer/3.1.1b1 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmethods.net/wsdl/query.wsdl</wsdl>
- <name>queryTest</name>
- <serverType>Apache/1.3.26 (Unix) Enhydra-Director/3 PHP/4.0.6 DAV/1.0.3 AuthNuSphere/1.0.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://appserver.pepperzak.net/bankcode/BankCodeEJBHome/wsdl.jsp</wsdl>
- <name>BankCodeEJBHomeTest</name>
- <serverType>WebLogic WebLogic Server 6.1 SP1 09/18/2001 14:28:44 #138716 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/pt/PackTrack.asmx?WSDL</wsdl>
- <name>PackTrackTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.marotz.se/scripts/zipinfo.exe/wsdl/ISwedishZipInfo</wsdl>
- <name>ISwedishZipInfoTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://wavendon.dsdata.co.uk/axis/services/WhoisData?wsdl</wsdl>
- <name>WhoisDataTest</name>
- <serverType>Apache/2.0.39 (Win32) mod_jk/1.2.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xrealtime.asmx?WSDL</wsdl>
- <name>xrealtimeTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.extensio.com:8080/ExtensioInfoServer/mbsoap/MBWSSoapServices.wsdl</wsdl>
- <name>MBWSSoapServicesTest</name>
- <serverType>Apache/1.3.27 (Unix) mod_jk/1.1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xSurvey.asmx?WSDL</wsdl>
- <name>xSurveyTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.abundanttech.com/webservices/deadoralive/deadoralive.wsdl</wsdl>
- <name>deadoraliveTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl</wsdl>
- <name>urnxmethodsdelayedquotesTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.bindingpoint.com/ws/imalert/imalert.asmx?wsdl</wsdl>
- <name>imalertTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.PerfectXML.net/WebServices/MusicTeachers/MusicTeachers.asmx?wsdl</wsdl>
- <name>MusicTeachersTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://adrianr.dyndns.org/Fortune/Fortune.wsdl</wsdl>
- <name>FortuneTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.framewerks.com/WebServices/HTMLeMail/HTMLeMail.asmx?WSDL</wsdl>
- <name>HTMLeMailTest</name>
- <serverType>Microsoft-IIS/5.0 Geobytes-GeoSelect/2.1.0.1 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.quisque.com/fr/techno/eqimage/eqimage.asmx?WSDL</wsdl>
- <name>eqimageTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xml.nig.ac.jp/wsdl/Fasta.wsdl</wsdl>
- <name>FastaTest</name>
- <serverType>GLUE/3.2.1,Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://reto.checkit.ch/Scripts/Lotto.dll/wsdl/IgetNumbers</wsdl>
- <name>IgetNumbersTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/SendSMS.asmx?WSDL</wsdl>
- <name>SendSMSTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://wavendon.dsdata.co.uk/axis/services/SpamKiller?wsdl</wsdl>
- <name>SpamKillerTest</name>
- <serverType>Apache/2.0.39 (Win32) mod_jk/1.2.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.imacination.com/distance/Distance.jws?wsdl</wsdl>
- <name>DistanceTest</name>
- <serverType>Resin/2.1.7 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.barnaland.is/dev/personlookup.asmx?WSDL</wsdl>
- <name>personlookupTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/WebServices/WhoIsService.asmx?WSDL</wsdl>
- <name>WhoIsServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl</wsdl>
- <name>EBayWatcherServiceTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://api.google.com/GoogleSearch.wsdl</wsdl>
- <name>GoogleSearchTest</name>
- <serverType>GFE/1.3 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/webservices/codegenerator.asmx?WSDL</wsdl>
- <name>codegeneratorTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.flash-db.com/services/ws/barCodes.wsdl</wsdl>
- <name>barCodesTest</name>
- <serverType>Apache/1.3.28 (Unix) mod_auth_passthrough/1.8 mod_bwprotect/0.2 mod_bwlimited/1.2 PHP/4.3.3 mod_log_bytes/1.2 FrontPage/5.0.2.2634 # PHP/4.3.3</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/RssToHTML.asmx?WSDL</wsdl>
- <name>RssToHTMLTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://server1.pointwsp.net/ws/finance/currency.asmx?WSDL</wsdl>
- <name>currencyTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.ebob42.com/cgi-bin/NumberToWordsInDutch.exe/wsdl/IDutch</wsdl>
- <name>IDutchTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.lixusnet.com/lixusnet/HPcatalog.jws?wsdl</wsdl>
- <name>HPcatalogTest</name>
- <serverType>NGASI Managed Hosting Application Server/2.0,Apache Tomcat/4.0 (HTTP/1.1 Connector) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://www.oakleaf.ws/cfrsearchws/cfrsearchws.asmx?wsdl</wsdl>
- <name>cfrsearchwsTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://glkev.webs.innerhost.com/glkev_ws/StockServices.asmx?WSDL</wsdl>
- <name>StockServicesTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.acrosscommunications.com/Fax.asmx?WSDL</wsdl>
- <name>FaxTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.dl-me.com/etoaservice/engtoarabic.asmx?WSDL</wsdl>
- <name>engtoarabicTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/AustralianPostCode.asmx?WSDL</wsdl>
- <name>AustralianPostCodeTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/country.asmx?wsdl</wsdl>
- <name>countryTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/WebServices/SearchWS.asmx?WSDL</wsdl>
- <name>SearchWSTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.flash-db.com/services/ws/flashBarChart.wsdl</wsdl>
- <name>flashBarChartTest</name>
- <serverType>Apache/1.3.28 (Unix) mod_auth_passthrough/1.8 mod_bwprotect/0.2 mod_bwlimited/1.2 PHP/4.3.3 mod_log_bytes/1.2 FrontPage/5.0.2.2634 # PHP/4.3.3</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.cdyne.com/SpellChecker/check.asmx?wsdl</wsdl>
- <name>checkTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmethods.net/sd/2001/BabelFishService.wsdl</wsdl>
- <name>BabelFishServiceTest</name>
- <serverType>Apache/1.3.26 (Unix) Enhydra-Director/3 PHP/4.0.6 DAV/1.0.3 AuthNuSphere/1.0.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/sq/FastQuote.asmx?WSDL</wsdl>
- <name>FastQuoteTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://glkev.webs.innerhost.com/glkev_ws/Currencyws.asmx?WSDL</wsdl>
- <name>CurrencywsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.swanandmokashi.com/HomePage/WebServices/Horoscope.asmx?WSDL</wsdl>
- <name>HoroscopeTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/UDDIBusinessFinder.asmx?WSDL</wsdl>
- <name>UDDIBusinessFinderTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/uspo/USPatentOffice.asmx?WSDL</wsdl>
- <name>USPatentOfficeTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.cdyne.com/ziptogeo/zip2geo.asmx?wsdl</wsdl>
- <name>zip2geoTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/icd9.asmx?WSDL</wsdl>
- <name>icd9Test</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xquotes.asmx?WSDL</wsdl>
- <name>xquotesTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/BibleWebservice.asmx?wsdl</wsdl>
- <name>BibleWebserviceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws.acrosscommunications.com/Phone.asmx?WSDL</wsdl>
- <name>PhoneTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.esynaps.com/WebServices/NFLNews.asmx?WSDL</wsdl>
- <name>NFLNewsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.stgregorioschurchdc.org/wsdl/Calendar.wsdl</wsdl>
- <name>CalendarTest</name>
- <serverType>Apache/1.3.27 (Unix) PHP/4.2.3 FrontPage/5.0.2.2510 Rewrit/1.1a # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xEdgar.asmx?WSDL</wsdl>
- <name>xEdgarTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/globalweather.asmx?WSDL</wsdl>
- <name>globalweatherTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.abundanttech.com/webservices/bnprice/bnprice.wsdl</wsdl>
- <name>bnpriceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/upc/UPC.asmx?WSDL</wsdl>
- <name>UPCTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.bitounis.com/IBAN/IBANFuncs.asmx?WSDL</wsdl>
- <name>IBANFuncsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.winisp.net/cheeso/books/books.asmx?WSDL</wsdl>
- <name>booksTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/ev/EmailValidate.asmx?WSDL</wsdl>
- <name>EmailValidateTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/ValidateEmail.asmx?WSDL</wsdl>
- <name>ValidateEmailTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xmethods.net/sd/2001/XMethodsFilesystemService.wsdl</wsdl>
- <name>XMethodsFilesystemServiceTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ws2.serviceobjects.net/whi/WhoIs.asmx?WSDL</wsdl>
- <name>WhoIsTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://arcweb.esri.com/services/v2/MapImage.wsdl</wsdl>
- <name>MapImageTest</name>
- <serverType>Netscape-Enterprise/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xml.nig.ac.jp/wsdl/DDBJ.wsdl</wsdl>
- <name>DDBJTest</name>
- <serverType>GLUE/3.2.1,Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://urljr.com/soap</wsdl>
- <name>urljrTest</name>
- <serverType>Apache/2.0.44 (Win32) DAV/2 mod_ssl/2.0.43 OpenSSL/0.9.6g PHP/4.3.3 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/ConvDocEncBar.asmx?wsdl</wsdl>
- <name>ConvDocEncBarTest</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/ConvDocLitWra.asmx?wsdl</wsdl>
- <name>ConvDocLitWraTest</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/ConvDocLitBar.asmx?wsdl</wsdl>
- <name>ConvDocLitBarTest</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/ConvRpc.asmx?wsdl</wsdl>
- <name>ConvRpcTest</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/ConvDocEncWra.asmx?wsdl</wsdl>
- <name>ConvDocEncWraTest</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://www.abctext.com/webservices/SMS.asmx?WSDL</wsdl>
- <name>SMSTest2</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.barnaland.is/dev/names.asmx?WSDL</wsdl>
- <name>namesTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.net/isbn.asmx?WSDL</wsdl>
- <name>isbnTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.verbix.com/cgi-bin/soapx.exe/wsdl/IGetInflection</wsdl>
- <name>IGetInflectionTest</name>
- <serverType>Microsoft-IIS/5.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.culand.net/WebServices/bin/WSMaze_Server.dll/wsdl/IWSMazeServer</wsdl>
- <name>IWSMazeServerTest</name>
- <serverType>Microsoft-IIS/5.1 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://63.138.157.107/av/wsdl/ITAddressValidations</wsdl>
- <name>ITAddressValidationsTest</name>
- <serverType>Apache/1.3.28 (Win32) PHP/4.3.3 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.quisque.com/fr/chasses/blasons/search.asmx?WSDL</wsdl>
- <name>searchTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://survey.rila.net/SurveyService/SurveyService.asmx?wsdl</wsdl>
- <name>SurveyServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://greg.froh.ca/fun/random_bushism/soap/?wsdl</wsdl>
- <name>Test</name>
- <serverType>Apache/1.3.29 (Unix) PHP/4.3.3 # PHP/4.3.3</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://lokeuei.malaysiandevelopers.net/magnum4d/results.asmx?WSDL</wsdl>
- <name>resultsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.geomonster.com/GeoServe.asmx?WSDL</wsdl>
- <name>GeoServeTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://nagraj.hopto.org/axis/services/ZenQuoteService?wsdl</wsdl>
- <name>ZenQuoteServiceTest</name>
- <serverType>Apache-Coyote/1.1 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.ghettodriveby.com/soap/?wsdl</wsdl>
- <name>Test2</name>
- <serverType>Apache/1.3.29 (Unix) PHP/4.3.3 # PHP/4.3.3</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://ocean.cse.ucsc.edu/soap/getCAWeather.wsdl</wsdl>
- <name>getCAWeatherTest</name>
- <serverType>Apache/2.0.46 (Unix) mod_ssl/2.0.46 OpenSSL/0.9.6g DAV/2 SOAP/1.1 Catacomb/0.9.1-dev # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xInsider.asmx?WSDL</wsdl>
- <name>xInsiderTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.geomonster.com/GeoServe.asmx?wsdl</wsdl>
- <name>GeoServeTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/TestBinding1.asmx?wsdl</wsdl>
- <name>TestBinding1Test</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/TestBinding2.asmx?wsdl</wsdl>
- <name>TestBinding2Test</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/TestBinding4.asmx?wsdl</wsdl>
- <name>TestBinding4Test</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/TestBinding3.asmx?wsdl</wsdl>
- <name>TestBinding3Test</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/TestBinding5.asmx?wsdl</wsdl>
- <name>TestBinding5Test</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://paracite.ecs.soton.ac.uk/paracite.wsdl</wsdl>
- <name>paraciteTest</name>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://sms.smspoint.net:8080/special/services/Sms?wsdl</wsdl>
- <name>SmsTest</name>
- <serverType>Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.instantlogic.com/zipcodes.ils?wsdl</wsdl>
- <name>zipcodesTest</name>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.boyzoid.com/threat.cfc?wsdl</wsdl>
- <name>threatTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/Test1.asmx?wsdl</wsdl>
- <name>Test1Test</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/TestBinding6.asmx?wsdl</wsdl>
- <name>TestBinding6Test</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/Test2.asmx?wsdl</wsdl>
- <name>Test2Test</name>
- <serverType>Mono-XSP Server/0.6.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.rzg.mpg.de/~michel/SOPCWeb.wsdl</wsdl>
- <name>SOPCWebTest</name>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://helena.europe.webmatrixhosting.net/Morse.asmx?WSDL</wsdl>
- <name>MorseTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://iis1.grantparksoftware.com:8080/gps/gps.asmx?WSDL</wsdl>
- <name>gpsTest</name>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://isnpx1158.in2p3.fr:8180/axis/services/AMIWebService?wsdl</wsdl>
- <name>AMIWebServiceTest</name>
- <serverType>Apache-Coyote/1.1 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.dotnetclipper.com/clip.asmx?WSDL</wsdl>
- <name>clipTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/aba.asmx?WSDL</wsdl>
- <name>abaTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.newcomer.de/WebServices/Lohn.dll/wsdl/ILohn2004</wsdl>
- <name>ILohn2004Test</name>
- <serverType>Microsoft-IIS/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/fax.asmx?wsdl</wsdl>
- <name>faxTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/RssToHTML.asmx?WSDL</wsdl>
- <name>RssToHTMLTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/BibleWebservice.asmx?wsdl</wsdl>
- <name>BibleWebserviceTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/ValidateEmail.asmx?WSDL</wsdl>
- <name>ValidateEmailTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/icd9toicd10.asmx?WSDL</wsdl>
- <name>icd9toicd10Test2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/stockquote.asmx?WSDL</wsdl>
- <name>stockquoteTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/icd9.asmx?WSDL</wsdl>
- <name>icd9Test2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/hcpcs.asmx?WSDL</wsdl>
- <name>hcpcsTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/country.asmx?wsdl</wsdl>
- <name>countryTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/barcode.asmx?WSDL</wsdl>
- <name>barcodeTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/isbn.asmx?WSDL</wsdl>
- <name>isbnTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/icd9drug.asmx?WSDL</wsdl>
- <name>icd9drugTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/AustralianPostCode.asmx?WSDL</wsdl>
- <name>AustralianPostCodeTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/usweather.asmx?WSDL</wsdl>
- <name>usweatherTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/CurrencyConvertor.asmx?wsdl</wsdl>
- <name>CurrencyConvertorTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/airport.asmx?wsdl</wsdl>
- <name>airportTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/uszip.asmx?WSDL</wsdl>
- <name>uszipTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/icd10.asmx?WSDL</wsdl>
- <name>icd10Test2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/NAICS.asmx?wsdl</wsdl>
- <name>NAICSTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/SendSMS.asmx?WSDL</wsdl>
- <name>SendSMSTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/UDDIBusinessFinder.asmx?WSDL</wsdl>
- <name>UDDIBusinessFinderTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/FinanceService.asmx?WSDL</wsdl>
- <name>FinanceServiceTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/sendsmsworld.asmx?WSDL</wsdl>
- <name>sendsmsworldTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://api.ecommstats.com/services/statService.wsdl</wsdl>
- <name>statServiceTest</name>
- <serverType>TME-GLUE/5.0,Apache-Coyote/1.1 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/EMBLNucleotideSequenceWebService.asmx?wsdl</wsdl>
- <name>EMBLNucleotideSequenceWebServiceTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/uklocation.asmx?WSDL</wsdl>
- <name>uklocationTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/periodictable.asmx?wsdl</wsdl>
- <name>periodictableTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://66.165.154.102/globalweather.asmx?WSDL</wsdl>
- <name>globalweatherTest2</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/IncludeTest.asmx?wsdl</wsdl>
- <name>IncludeTestTest</name>
- <serverType>Mono-XSP Server/0.9.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/EMBLNucleotideSequenceWebService.asmx?wsdl</wsdl>
- <name>EMBLNucleotideSequenceWebServiceTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/icd10.asmx?WSDL</wsdl>
- <name>icd10Test3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/hcpcs.asmx?WSDL</wsdl>
- <name>hcpcsTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/isbn.asmx?WSDL</wsdl>
- <name>isbnTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/AustralianPostCode.asmx?WSDL</wsdl>
- <name>AustralianPostCodeTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/fax.asmx?wsdl</wsdl>
- <name>faxTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/aba.asmx?WSDL</wsdl>
- <name>abaTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/globalweather.asmx?WSDL</wsdl>
- <name>globalweatherTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/UDDIBusinessFinder.asmx?WSDL</wsdl>
- <name>UDDIBusinessFinderTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/CurrencyConvertor.asmx?wsdl</wsdl>
- <name>CurrencyConvertorTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/NAICS.asmx?wsdl</wsdl>
- <name>NAICSTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/BibleWebservice.asmx?wsdl</wsdl>
- <name>BibleWebserviceTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/ValidateEmail.asmx?WSDL</wsdl>
- <name>ValidateEmailTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/uklocation.asmx?WSDL</wsdl>
- <name>uklocationTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/stockquote.asmx?WSDL</wsdl>
- <name>stockquoteTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/usweather.asmx?WSDL</wsdl>
- <name>usweatherTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/icd9drug.asmx?WSDL</wsdl>
- <name>icd9drugTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/periodictable.asmx?wsdl</wsdl>
- <name>periodictableTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/uszip.asmx?WSDL</wsdl>
- <name>uszipTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/SendSMS.asmx?WSDL</wsdl>
- <name>SendSMSTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/airport.asmx?wsdl</wsdl>
- <name>airportTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/sendsmsworld.asmx?WSDL</wsdl>
- <name>sendsmsworldTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/icd9toicd10.asmx?WSDL</wsdl>
- <name>icd9toicd10Test3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/FinanceService.asmx?WSDL</wsdl>
- <name>FinanceServiceTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/country.asmx?wsdl</wsdl>
- <name>countryTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/RssToHTML.asmx?WSDL</wsdl>
- <name>RssToHTMLTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/barcode.asmx?WSDL</wsdl>
- <name>barcodeTest3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/icd9.asmx?WSDL</wsdl>
- <name>icd9Test3</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://projekt.wifo.uni-mannheim.de/elmar/api/ElmarSearchServices?wsdl</wsdl>
- <name>ElmarSearchServicesTest</name>
- <serverType>Apache/2.0.48 (Linux/SuSE) mod_perl/1.99_08 Perl/v5.8.0 PHP/4.3.4 mod_ssl/2.0.48 OpenSSL/0.9.6i mod_jk2/2.0.4-dev # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/TranslateService.asmx?WSDL</wsdl>
- <name>TranslateServiceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xrates.asmx?WSDL</wsdl>
- <name>xratesTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://helena.europe.webmatrixhosting.net/LetterSoup.asmx?WSDL</wsdl>
- <name>LetterSoupTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/DataService.asmx?wsdl</wsdl>
- <name>DataServiceTest</name>
- <serverType>Mono-XSP Server/0.9.99.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://www.javaportal.it/kservices/JIPNews?wsdl</wsdl>
- <name>JIPNewsTest</name>
- <serverType>Apache-AdvancedExtranetServer/1.3.26 (Mandrake Linux/6.1mdk) mod_jk/1.2.1 auth_ldap/1.6.0 mod_ssl/2.8.10 OpenSSL/0.9.6g sxnet/1.2.4 PHP/4.2.3 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.tilisoft.com/ws/LocInfo/ZipCode.asmx?WSDL</wsdl>
- <name>ZipCodeTest2</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.quisque.com/fr/chasses/crypto/cesar.asmx?WSDL</wsdl>
- <name>cesarTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.quisque.com/fr/chasses/crypto/vigenere1.asmx?WSDL</wsdl>
- <name>vigenere1Test</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://soap.achchex.com/exec/btrnsoap.dll/wsdl/IBTRNSOAP</wsdl>
- <name>IBTRNSOAPTest</name>
- <serverType>Apache/2.0.43 (Win32) mod_ssl/2.0.43 OpenSSL/0.9.6g # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.costudio.com/WSLinkChecker.asmx?WSDL</wsdl>
- <name>WSLinkCheckerTest</name>
- <serverType>Microsoft-IIS/6.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.webservicex.com/geoipservice.asmx?WSDL</wsdl>
- <name>geoipserviceTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.myweb-services.com/server/ShoppingBasket.wsdl</wsdl>
- <name>ShoppingBasketTest</name>
- <serverType>Apache/1.3.20 Sun Cobalt (Unix) mod_throttle/3.1.2 Chili!Soft-ASP/3.6.2 mod_ssl/2.8.4 OpenSSL/0.9.6b PHP/4.1.2 mod_auth_pam_external/0.1 FrontPage/4.0.4.3 mod_perl/1.25 # PHP/4.1.2</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.closerfar.com/dic2.asmx?WSDL</wsdl>
- <name>dic2Test2</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://69.194.99.154/av/wsdl/ITAddressValidations</wsdl>
- <name>ITAddressValidationsTest2</name>
- <serverType>Apache/1.3.28 (Win32) # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.closerfar.com/engtoarabic.asmx?WSDL</wsdl>
- <name>engtoarabicTest2</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.ingig.com/channels.asmx?WSDL</wsdl>
- <name>channelsTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.javaportal.it/kservices/JIPComuni?wsdl</wsdl>
- <name>JIPComuniTest</name>
- <serverType>Apache-AdvancedExtranetServer/1.3.26 (Mandrake Linux/6.1mdk) mod_jk/1.2.1 auth_ldap/1.6.0 mod_ssl/2.8.10 OpenSSL/0.9.6g sxnet/1.2.4 PHP/4.2.3 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.quisque.com/fr/chasses/crypto/hill.asmx?WSDL</wsdl>
- <name>hillTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.tilisoft.com/ws/eyeVeri/eyeVeri.asmx?WSDL</wsdl>
- <name>eyeVeriTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.strikeiron.com/WebServices/SMSMessagingService.asmx?WSDL</wsdl>
- <name>SMSMessagingServiceTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.strikeiron.com/WebServices/taxdata.asmx?WSDL</wsdl>
- <name>taxdataTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://smsserver.dotnetisp.com/ServiceSMS.asmx?WSDL</wsdl>
- <name>ServiceSMSTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.quisque.com/fr/chasses/crypto/crypta.asmx?WSDL</wsdl>
- <name>cryptaTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.netkoder.dk/postnummerws.asmx?wsdl</wsdl>
- <name>postnummerwsTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://addressmeister.bizware.com/service/wsdl/server.soap.wsdl</wsdl>
- <name>serverTest2</name>
- <serverType>Apache/1.3.26 (Unix) mod_ssl/2.8.10 OpenSSL/0.9.6b PHP/4.3.6 # PHP/4.3.6</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://server.dotnetisp.com/webservices/dotnetisp/src2html.asmx?WSDL</wsdl>
- <name>src2htmlTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.myweb-services.com/server/UserApps.wsdl</wsdl>
- <name>UserAppsTest</name>
- <serverType>Apache/1.3.20 Sun Cobalt (Unix) mod_throttle/3.1.2 Chili!Soft-ASP/3.6.2 mod_ssl/2.8.4 OpenSSL/0.9.6b PHP/4.1.2 mod_auth_pam_external/0.1 FrontPage/4.0.4.3 mod_perl/1.25 # PHP/4.1.2</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.mio.it/sendsms.asmx?WSDL</wsdl>
- <name>sendsmsTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://server.dotnetisp.com/webservices/dotnetisp/codepostal.asmx?WSDL</wsdl>
- <name>codepostalTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.strikeiron.com/webservices/medicaredata.asmx?WSDL</wsdl>
- <name>medicaredataTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.strikeiron.com/WebServices/dataenhancement.asmx?WSDL</wsdl>
- <name>dataenhancementTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://server.dotnetisp.com/webservices/dotnetisp/ville.asmx?WSDL</wsdl>
- <name>villeTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://webservices.wolfram.com/services/Integrator/Integrate.m?wsdl</wsdl>
- <name>IntegrateTest</name>
- <serverType>Apache Coyote/1.0 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.javaportal.it/kservices/JIPCodice?wsdl</wsdl>
- <name>JIPCodiceTest</name>
- <serverType>Apache-AdvancedExtranetServer/1.3.26 (Mandrake Linux/6.1mdk) mod_jk/1.2.1 auth_ldap/1.6.0 mod_ssl/2.8.10 OpenSSL/0.9.6g sxnet/1.2.4 PHP/4.2.3 # </serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.strikeiron.com/WebServices/datageneration.asmx?WSDL</wsdl>
- <name>datagenerationTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/DuplicateArrayTest.asmx?wsdl</wsdl>
- <name>DuplicateArrayTestTest</name>
- <serverType>Mono-XSP Server/0.13.0.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://localhost:8080/SessionCounter.asmx?wsdl</wsdl>
- <name>SessionCounterTest</name>
- <serverType>Mono-XSP Server/0.13.0.0 128 # Mono</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>true</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xIndices.asmx?WSDL</wsdl>
- <name>xIndicesTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://smsserver.dotnetisp.com/servicesms.asmx?WSDL</wsdl>
- <name>servicesmsTest</name>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://services.aonaware.com/DictService/DictService.asmx?WSDL</wsdl>
- <name>DictServiceTest</name>
- <serverType>Microsoft-IIS/6.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xCurrencies.asmx?WSDL</wsdl>
- <name>xCurrenciesTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://xml.whereisthatip.com/ip-location-service.wsdl</wsdl>
- <name>iplocationserviceTest</name>
- <serverType>Apache/2.0.49 (Unix) PHP/5.0.0RC2 # PHP/5.0.0RC2</serverType>
- <protocols>
- <protocol>Soap</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
- <service>
- <wsdl>http://www.xignite.com/xHistorical.asmx?WSDL</wsdl>
- <name>xHistoricalTest</name>
- <serverType>Microsoft-IIS/5.0 # ASP.NET</serverType>
- <protocols>
- <protocol>Soap</protocol>
- <protocol>HttpGet</protocol>
- <protocol>HttpPost</protocol>
- </protocols>
- <clientTest>false</clientTest>
- </service>
-</services>
\ No newline at end of file
+++ /dev/null
-http://mysic.com/Webservices/MysicSearchEngine.asmx?WSDL # Url is not a wsdl doc.
-http://www.w3.org/2001/XMLSchema:locatorSoapBinding # Not found
-http://www.transactionalweb.com/SOAP/globalskilocator.wsdl # Wrong WSDL
-http://paracite.eprints.org/paracite.wsdl # Wrong WSDL
-http://www.atlaz.net/webservices/GetCurrencyExchange.wsdl # Wrong WSDL
-http://www.transactionalweb.com/SOAP/globalocator.wsdl # Wrong WSDL
-http://soap.amazon.com/schemas/AmazonWebServices.wsdl # Old schema version
-http://www.compkarori.com/wsdl/discordian.wsdl # Old schema version
-http://soap.systinet.net/demos/FTPService/wsdl # Wrong WSDL
-http://www.c6.hu/ws/huzip.wsdl # Uses rpc + literal
-http://www.wlug.org.nz/phpwiki/soap.wsdl # Old schema version
-http://www.sid64.com/soap/sidrank.php?wsdl # Wrong WSDL
-http://www.cosme.nu/services/smtpserver.php?wsdl # Wrong WSDL
-http://www.forthlink.gr/TakisLib/TakisActiveLib.WSDL # Old schema version
-http://www.allesta.net:51110/webservices/wsdl/YahooUserPingService.xml # Old schema version
-http://www.siliconllama.com/services/wsdl/dConverterService.wsdl # Uses rpc + literal
-http://www.onepercentsoftware.com/axis/services/EvaluationService?wsdl # Wrong WSDL
-http://www.nims.nl/soap/oms.wsdl # Wrong WSDL
-http://webservices.matlus.com/scripts/whoiswebservice.dll/wsdl/IWhoIs # Wrong WSDL
-http://soapclient.com/xml/certService.wsdl # Wrong schema
-http://ws.xara.com/navbar/navbar.wsdl # Wrong schema
-http://www.cs.fsu.edu/~engelen/magic.wsdl # Wrong schema
-http://www.agnisoft.com/soap/mssoapmp3search.xml # Wrong schema
-http://www.cs.fsu.edu/~engelen/lu.wsdl # Old schema version
-http://www.drouet-web.com/webservices/soap_cdtek.php?wsdl # Wrong WSDL (empty)
-http://www.dotnetisp.com/webservices/dotnetisp/src2html.asmx?WSDL # Not a wsdl doc
-http://www.dotnetisp.com/webservices/dotnetisp/ville.asmx?WSDL # Not a wsdl doc
-http://www.dotnetisp.com/webservices/dotnetisp/codepostal.asmx?WSDL # Not a wsdl doc
-http://interpressfact.net/webservices/promotionService.asmx?wsdl # Not a wsdl doc
-http://www.interpressfact.net/webservices/getAds.asmx?wsdl # Not a wsdl doc
-http://soap.prowizorka.com/spam/wsdl/ISpamCheck # Not working
-http://www.interpressfact.net/webservices/getJoke.asmx?wsdl # Not working
-http://ws.cdyne.com/ip2geo/ip2geo.asmx?wsdl # Incomplete WSDL
-http://test.mapfrepr.net/Encryption/Encryption.asmx?WSDL # Error
-http://www.bitwaste.com/xmethods/ATTPager/ATTPager.wsdl # Not found
-http://www.freshscore.com/service/FreshScoreLiveScores.asmx?WSDL # Not found
-http://www.orbitarium.com/schemas/ows.wsdl # Not valid WSDL
-http://www.drbob42.co.uk/cgi-bin/Euro42/wsdl/IEuro # Not valid WSDL
-http://www.transactionalweb.com/SOAP/geoserve.wsdl # Bug in Mono!!
+++ /dev/null
-mono --debug wstest.exe "$@"
+++ /dev/null
-using System;
-using System.IO;
-using System.Collections;
-using System.Text;
-using System.Xml;
-using System.Xml.Xsl;
-using System.Xml.Serialization;
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Threading;
-using System.Web.Services.Discovery;
-using System.Web.Services.Description;
-using System.Net;
-
-public class Driver
-{
- static bool foundErrors = false;
- static string basePath;
- static int runningCount;
-
- static ServiceCollection services;
- static ServiceStatusCollection serviceStatus;
-
- public static void Main (string[] args)
- {
- if (args.Length == 0)
- {
- Console.WriteLine ();
- Console.WriteLine ("Usage: wstest [options]");
- Console.WriteLine ();
- Console.WriteLine ("Options:");
- Console.WriteLine (" ur <url>: Update service references from DISCO or WSDL document");
- Console.WriteLine (" dw: download wsdl documents for registered services");
- Console.WriteLine (" gp: Generate proxies");
- Console.WriteLine (" gc <url>: Generate test client class");
- Console.WriteLine ();
- return;
- }
-
- basePath = ".";
-
- LoadInfo ();
-
- if (args[0] == "gp")
- {
- BuildProxies (GetArg (args,1));
- }
- else if (args[0] == "gc")
- {
- BuildClients (GetArg (args,1));
- }
- else if (args[0] == "ur")
- {
- UpdateReferences (GetArg (args,1), GetArg (args,2));
- }
- else if (args[0] == "stat")
- {
- ShowStatus ();
- }
- else if (args[0] == "dw")
- {
- DownloadWsdls (GetArg (args,1));
- }
- else if (args[0] == "clean")
- {
- Clean ();
- }
- else if (args[0] == "checkdiff")
- {
- CheckDiff (GetArg (args,1));
- }
- else if (args[0] == "msfix")
- {
- MsFix (GetArg (args,1));
- }
- else if (args[0] == "genfiles")
- {
- GenerateFiles (GetArg (args,1));
- }
-
- SaveInfo ();
-
- if (foundErrors)
- Console.WriteLine ("Please check error log at " + Path.Combine (GetErrorPath(), "error.log"));
- }
-
- static void LoadInfo ()
- {
- XmlSerializer ser = new XmlSerializer (typeof(ServiceCollection));
-
- string servicesFile = Path.Combine (basePath, "services.xml");
- if (!File.Exists (servicesFile))
- services = new ServiceCollection ();
- else
- {
- StreamReader sr = new StreamReader (servicesFile);
- services = (ServiceCollection) ser.Deserialize (sr);
- sr.Close ();
- }
-
- ser = new XmlSerializer (typeof(ServiceStatusCollection));
-
- servicesFile = Path.Combine (basePath, "serviceStatus.xml");
- if (!File.Exists (servicesFile))
- serviceStatus = new ServiceStatusCollection ();
- else
- {
- StreamReader sr = new StreamReader (servicesFile);
- serviceStatus = (ServiceStatusCollection) ser.Deserialize (sr);
- sr.Close ();
- }
- }
-
- static void SaveInfo ()
- {
- XmlSerializer ser = new XmlSerializer (typeof(ServiceCollection));
- string servicesFile = Path.Combine (basePath, "services.xml");
- StreamWriter sw = new StreamWriter (servicesFile);
- ser.Serialize (sw, services);
- sw.Close ();
-
- ser = new XmlSerializer (typeof(ServiceStatusCollection));
- servicesFile = Path.Combine (basePath, "serviceStatus.xml");
- sw = new StreamWriter (servicesFile);
- ser.Serialize (sw, serviceStatus);
- sw.Close ();
- }
-
- static string GetArg (string[] args, int n)
- {
- if (n >= args.Length) return null;
- else return args[n];
- }
-
- static void Cleanup ()
- {
- string pp = GetProxyPath ();
- DirectoryInfo di = new DirectoryInfo (pp);
- if (di.Exists) di.Delete (true);
- di.Create ();
- }
-
- static void Clean ()
- {
- Hashtable clientHash = new Hashtable ();
-
- foreach (ServiceData sd in services.services)
- {
- if (sd.ClientTest)
- clientHash [GetClientFile (sd)] = sd;
-
- if (sd.Protocols != null)
- {
- foreach (string prot in sd.Protocols)
- clientHash [GetProxyFile (sd, prot)] = sd;
- }
- clientHash [GetWsdlFile (sd)] = sd;
- }
-
- Clean (clientHash, GetClientPath ());
- Clean (clientHash, GetProxyPath ());
- Clean (clientHash, GetWsdlPath ());
- }
-
- static void Clean (Hashtable clientHash, string path)
- {
- if (Path.GetFileName (path) == "CVS") return;
-
- string[] files = Directory.GetFiles (path);
-
- foreach (string file in files)
- {
- ServiceData sd = clientHash [file] as ServiceData;
- if (sd != null) continue;
-
- File.Delete (file);
- Console.WriteLine ("Deleted file '" + file + "'");
- }
-
- string [] dirs = Directory.GetDirectories (path);
- foreach (string dir in dirs)
- Clean (clientHash, dir);
-
- int count = Directory.GetFiles (path).Length + Directory.GetDirectories (path).Length;
- if (count == 0 && path != GetClientPath () && path != GetProxyPath ())
- {
- Directory.Delete (path);
- Console.WriteLine ("Deleted directory '" + path + "'");
- }
- }
-
- static void UpdateReferences (string url, string ignoreFile)
- {
- Console.WriteLine ();
- Console.WriteLine ("Updating service references");
- Console.WriteLine ("---------------------------");
-
- ArrayList ignoreList = new ArrayList ();
-
- if (ignoreFile != null)
- {
- StreamReader sr = new StreamReader (ignoreFile);
- string line;
- while ((line = sr.ReadLine ()) != null)
- {
- int i = line.IndexOfAny (new char[] {' ','\t'});
- if (i != -1) line = line.Substring (0,i);
- ignoreList.Add (line);
- }
- }
-
- DiscoveryClientProtocol client = new DiscoveryClientProtocol ();
- client.DiscoverAny (url);
-
- ArrayList list = new ArrayList (client.References.Values);
- foreach (DiscoveryReference re in list)
- {
- if (!(re is ContractReference)) continue;
-
- bool ignore = ignoreList.Contains (re.Url);
-
- ServiceData sd = FindService (re.Url);
-
- if (ignore)
- {
- if (sd != null) {
- RemoveService (re.Url);
- Console.WriteLine ("Removed " + re.Url);
- }
- continue;
- }
-
- if (sd == null)
- {
- sd = CreateServiceData (re);
- Console.WriteLine ("Added " + re.Url);
- services.services.Add (sd);
- }
- }
- Console.WriteLine ("Done");
- Console.WriteLine ();
- }
-
- static void DownloadWsdls (string host)
- {
- Console.WriteLine ();
- Console.WriteLine ("Downloading WSDL documents");
- Console.WriteLine ("---------------------------");
-
- foreach (ServiceData sd in services.services) {
- if (host != null && host != new Uri (sd.Wsdl).Host) continue;
- if (!File.Exists (GetWsdlFile(sd)))
- Resolve (sd);
- }
-
- Console.WriteLine ("Done");
- Console.WriteLine ();
- }
-
- static void Resolve (ServiceData sd)
- {
- Console.Write ("Resolving " + sd.Wsdl + " ");
- try
- {
- DiscoveryClientProtocol contract = new DiscoveryClientProtocol ();
- contract.DiscoverAny (sd.Wsdl);
-
- if (sd.Protocols == null || sd.Protocols.Length==0)
- RetrieveServiceData (sd, contract);
-
- string wsdlFile = GetWsdlFile (sd);
- CreateFolderForFile (wsdlFile);
-
- ServiceDescription doc = (ServiceDescription) contract.Documents [sd.Wsdl];
- doc.Write (wsdlFile);
-
- Console.WriteLine ("OK");
- CleanFailures (sd);
- }
- catch (Exception ex)
- {
- Console.WriteLine ("FAILED");
- ReportError ("Error resolving: " + sd.Wsdl, ex.ToString ());
- RegisterFailure (sd);
- }
- }
-
- public static ServiceData CreateServiceData (DiscoveryReference dref)
- {
- ServiceData sd = new ServiceData ();
-
- string name = GetServiceName (dref);
- sd.Name = name;
- int nc = 2;
- while (FindServiceByName (sd.Name) != null)
- {
- sd.Name = name + nc;
- nc++;
- }
-
- sd.Wsdl = dref.Url;
- return sd;
- }
-
- public static void RetrieveServiceData (ServiceData sd, DiscoveryClientProtocol contract)
- {
- ServiceDescriptionCollection col = new ServiceDescriptionCollection ();
- foreach (object doc in contract.Documents.Values)
- if (doc is ServiceDescription) col.Add ((ServiceDescription)doc);
-
- string loc = GetLocation (col[0]);
- if (loc != null)
- {
- WebResponse res = null;
- try
- {
- WebRequest req = (WebRequest)WebRequest.Create (loc);
- req.Timeout = 15000;
- res = req.GetResponse ();
- }
- catch (Exception ex)
- {
- WebException wex = ex as WebException;
- if (wex != null) res = wex.Response;
- }
- if (res != null)
- {
- sd.ServerType = res.Headers ["Server"] + " # " + res.Headers ["X-Powered-By"];
- }
- }
-
- ArrayList bins = GetBindingTypes (col);
- sd.Protocols = (string[]) bins.ToArray(typeof(string));
- }
-
- static ArrayList GetBindingTypes (ServiceDescriptionCollection col)
- {
- ServiceDescription doc = col [0];
- ArrayList list = new ArrayList ();
- foreach (Service s in doc.Services)
- {
- foreach (Port p in s.Ports)
- {
- Binding bin = col.GetBinding (p.Binding);
- if (bin.Extensions.Find (typeof (System.Web.Services.Description.SoapBinding)) != null)
- if (!list.Contains ("Soap")) list.Add ("Soap");
-
- HttpBinding ext = (HttpBinding) bin.Extensions.Find (typeof (HttpBinding));
- if (ext != null)
- {
- if (ext.Verb == "POST") list.Add ("HttpPost");
- else list.Add ("HttpGet");
- }
- }
- }
- return list;
- }
-
- static string GetLocation (ServiceDescription doc)
- {
- foreach (Service s in doc.Services)
- {
- foreach (Port p in s.Ports)
- {
- SoapAddressBinding loc = (SoapAddressBinding) p.Extensions.Find (typeof (System.Web.Services.Description.SoapAddressBinding));
- if (loc != null)
- return loc.Location;
- }
- }
- return null;
- }
-
- static string GetServiceName (DiscoveryReference dref)
- {
- string name = dref.DefaultFilename;
-
- if (name.EndsWith (".wsdl")) name = name.Substring (0,name.Length-5);
- if (name == "wsd")
- {
- int i = dref.Url.IndexOf ("service=");
- if (i == -1) name = dref.Url.Substring (7);
- else name = dref.Url.Substring (i+8);
- }
-
- name = name + "Test";
- if (Char.IsDigit (name,0)) name = "Ws" + name;
- return Normalize (name);
- }
-
- static string Normalize (string s)
- {
- System.Text.StringBuilder sb = new System.Text.StringBuilder ();
- for (int n=0; n<s.Length; n++)
- if (Char.IsLetterOrDigit (s[n]) || s[n] == '_') sb.Append (s[n]);
-
- return sb.ToString ();
- }
-
-/* static string GetFileName (DiscoveryReference dref)
- {
- return Path.Combine (classPath, GetServiceName (dref) + ".cs");
- }
-*/
-
- static ServiceData FindService (string url)
- {
- foreach (ServiceData sd in services.services)
- if (sd.Wsdl == url) return sd;
-
- return null;
- }
-
- static void RemoveService (string url)
- {
- for (int n=0; n<services.services.Count; n++)
- {
- ServiceData sd = (ServiceData) services.services [n];
- if (sd.Wsdl == url) { services.services.RemoveAt (n); return; }
- }
- }
-
- static ServiceData FindServiceByName (string name)
- {
- foreach (ServiceData sd in services.services)
- if (sd.Name == name) return sd;
-
- return null;
- }
-
- static void ShowStatus ()
- {
- int total = 0;
- int soap = 0;
- int post = 0;
- int get = 0;
- int tests = 0;
-
- Hashtable servers = new Hashtable ();
-
- foreach (ServiceData sd in services.services)
- {
- if (sd.Protocols != null)
- {
- if (Array.IndexOf(sd.Protocols, "Soap") != -1) soap++;
- if (Array.IndexOf(sd.Protocols, "HttpPost") != -1) post++;
- if (Array.IndexOf(sd.Protocols, "HttpGet") != -1) get++;
- }
-
- if (sd.ClientTest) tests++;
-
- string st = sd.ServerType;
- if (st == null) st = "Unknown";
- object on = servers [st];
-
- if (on == null)
- servers [st] = 1;
- else
- servers [st] = ((int)on)+1;
- }
-
- Console.WriteLine ("Total services: " + services.services.Count);
- Console.WriteLine ("Soap Protocol: " + soap);
- Console.WriteLine ("HttpPost Protocol: " + post);
- Console.WriteLine ("HttpGet Protocol: " + get);
- Console.WriteLine ("Total proxies: " + (soap + post + get));
- Console.WriteLine ("Nunit Tests: " + tests);
- Console.WriteLine ();
- Console.WriteLine ("Server Types:");
-
- string[] serverNames = new string[servers.Count];
- int[] serverCounts = new int[servers.Count];
- int n=0;
-
- foreach (DictionaryEntry ent in servers)
- {
- serverNames [n] = (string) ent.Key;
- serverCounts [n++] = (int) ent.Value;
- }
-
- Array.Sort (serverCounts, serverNames);
- for (n=serverNames.Length-1; n >=0; n--)
- Console.WriteLine ("{0,-3} {1}", serverCounts[n], serverNames[n]);
- }
-
- static void BuildProxies (string host)
- {
- Console.WriteLine ();
- Console.WriteLine ("Generating proxies");
- Console.WriteLine ("------------------");
-
- XmlDocument doc = new XmlDocument ();
- XmlElement ele = doc.CreateElement ("errors");
- doc.AppendChild (ele);
-
- bool buildAll = host == "*";
- if (buildAll) host = null;
-
- ArrayList proxies = new ArrayList ();
-
- foreach (ServiceData fd in services.services) {
- if (host != null && host != new Uri (fd.Wsdl).Host) continue;
- BuildProxy (fd, buildAll, proxies, ele);
- }
-
- StreamWriter sw = new StreamWriter (Path.Combine (basePath, "proxies.sources"));
- foreach (string f in proxies)
- sw.WriteLine (f);
- sw.Close ();
-
- doc.Save ("proxy-gen-error.xml");
- Console.WriteLine ("Done");
- Console.WriteLine ();
- }
-
- static void BuildProxy (ServiceData fd, bool rebuild, ArrayList proxies, XmlElement errdoc)
- {
- string wsdl = GetWsdlFile (fd);
- if (!File.Exists (wsdl))
- return;
-
- if (fd.Protocols == null)
- {
- ReportError ("Client test '" + fd.Name + "': no protocols declared", "");
- return;
- }
-
- foreach (string prot in fd.Protocols)
- {
- string ns = fd.Namespace;
- ns = CodeIdentifier.MakeValid (ns) + "." + prot;
-
- string pfile = GetProxyFile (fd, prot);
- if (File.Exists (pfile) && !rebuild) { proxies.Add (pfile); continue; }
-
- CreateFolderForFile (pfile);
-
- Console.Write (prot + " proxy for " + wsdl + "... ");
- Process proc = new Process ();
- proc.StartInfo.UseShellExecute = false;
- proc.StartInfo.RedirectStandardOutput = true;
- proc.StartInfo.RedirectStandardError = true;
- proc.StartInfo.FileName = "wsdl";
- proc.StartInfo.Arguments = "/out:" + pfile + " /nologo /namespace:" + ns + " /protocol:" + prot + " " + wsdl;
- proc.Start();
-
- if (!proc.WaitForExit (30000))
- {
- try {
- proc.Kill ();
- } catch {}
-
- Console.WriteLine ("FAIL (timeout)");
- if (File.Exists (pfile)) File.Delete (pfile);
- WriteError (errdoc, ns, "Errors found while generating " + prot + " proxy for WSDL: " + wsdl, "wsdl.exe timeout");
- }
- else if (proc.ExitCode != 0)
- {
- Console.WriteLine ("FAIL " + proc.ExitCode);
-
- string err = proc.StandardOutput.ReadToEnd ();
- err += "\n" + proc.StandardError.ReadToEnd ();
-
- if (File.Exists (pfile))
- {
- if (proc.ExitCode == 1) {
- string fn = fd.Name + prot + "Proxy.cs";
- fn = Path.Combine (GetErrorPath(), fn);
- CreateFolderForFile (fn);
- File.Move (pfile, fn);
-
- StreamWriter sw = new StreamWriter (fn, true);
- sw.WriteLine ();
- sw.WriteLine ("// " + fd.Wsdl);
- sw.WriteLine ();
- sw.Close ();
-
- }
- else
- File.Delete (pfile);
- }
-
- WriteError (errdoc, ns, "Errors found while generating " + prot + " proxy for WSDL: " + wsdl, err);
- }
- else
- {
- if (File.Exists (pfile)) {
- Console.WriteLine ("OK");
- proxies.Add (pfile);
- }
- else {
- Console.WriteLine ("FAIL");
- string err = proc.StandardOutput.ReadToEnd ();
- err += "\n" + proc.StandardError.ReadToEnd ();
- WriteError (errdoc, ns, "Errors found while generating " + prot + " proxy for WSDL: " + wsdl, err);
- }
- }
- }
- }
-
- static void WriteError (XmlElement err, string ns, string error, string detail)
- {
- XmlElement ele = err.OwnerDocument.CreateElement ("error");
- ele.SetAttribute ("ns",ns);
- XmlText text = err.OwnerDocument.CreateTextNode (error + "\n" + detail);
- ele.AppendChild (text);
- err.AppendChild (ele);
- }
-
- static void BuildClients (string wsdl)
- {
- StreamWriter sw = new StreamWriter (Path.Combine (basePath, "client.sources"));
-
- foreach (ServiceData fd in services.services)
- {
- if (wsdl != null && fd.Wsdl == wsdl) fd.ClientTest = true;
-
- if (!fd.ClientTest) continue;
-
- BuildClient (fd);
- sw.WriteLine (GetClientFile (fd));
- }
-
- sw.Close ();
- }
-
- public static void BuildClient (ServiceData sd)
- {
- string file = GetClientFile (sd);
-
- if (File.Exists (file)) return;
-
- CreateFolderForFile (file);
-
- StreamWriter sw = new StreamWriter (file);
- sw.WriteLine ("// Web service test for WSDL document:");
- sw.WriteLine ("// " + sd.Wsdl);
-
- sw.WriteLine ();
- sw.WriteLine ("using System;");
- sw.WriteLine ("using NUnit.Framework;");
-
- foreach (string prot in sd.Protocols)
- sw.WriteLine ("using " + sd.Namespace + "." + prot + ";");
-
- sw.WriteLine ();
- sw.WriteLine ("namespace " + sd.Namespace);
- sw.WriteLine ("{");
- sw.WriteLine ("\tpublic class " + sd.Name + ": WebServiceTest");
- sw.WriteLine ("\t{");
- sw.WriteLine ("\t\t[Test]");
- sw.WriteLine ("\t\tpublic void TestService ()");
- sw.WriteLine ("\t\t{");
- sw.WriteLine ("\t\t}");
- sw.WriteLine ("\t}");
- sw.WriteLine ("}");
- sw.Close ();
-
- Console.WriteLine ("Written file '" + file + "'");
- }
-
- public static void CheckDiff (string diffFile)
- {
- int suc=0, tot=0, ign=0;
- XmlDocument doc = new XmlDocument ();
- doc.Load (diffFile);
-
- XmlDocument errdoc = new XmlDocument ();
- errdoc.Load ("proxy-gen-error.xml");
-
- XmlDocument result = new XmlDocument ();
- XmlElement res = result.CreateElement ("test-results");
- res.SetAttribute ("name", "wsdl-tests");
- res.SetAttribute ("date", DateTime.Now.ToShortDateString ());
- res.SetAttribute ("time", DateTime.Now.ToShortTimeString ());
- result.AppendChild (res);
-
- XmlElement ts = result.CreateElement ("test-suite");
- ts.SetAttribute ("name", "wsdl");
- ts.SetAttribute ("asserts", "0");
- ts.SetAttribute ("time", "0");
- res.AppendChild (ts);
-
- XmlElement tsres = result.CreateElement ("results");
- ts.AppendChild (tsres);
-
- XslTransform xsl = new XslTransform ();
- xsl.Load ("cormissing.xsl");
-
- foreach (ServiceData sd in services.services)
- {
- if (sd.Protocols == null) continue;
-
- foreach (string prot in sd.Protocols)
- {
- string ns = sd.Namespace + "." + prot;
-
- XmlElement elem = doc.SelectSingleNode ("assemblies/assembly/namespaces/namespace[@name='" + ns + "']") as XmlElement;
- if (elem == null) {
- ign++;
- continue;
- }
-
- if (!File.Exists (GetWsdlFile(sd))) {
- Console.WriteLine ("WARNING: wsdl file not found: " + GetWsdlFile(sd));
- ign++;
- continue;
- }
-
- tot++;
-
- bool extrans = elem.GetAttribute ("presence") == "extra";
-
- if ((elem.GetAttribute ("error") != "" || elem.GetAttribute ("missing") != "" || elem.GetAttribute ("extra") != "") && !extrans)
- {
- XmlElement errelem = errdoc.SelectSingleNode ("/errors/error[@ns='" + ns + "']") as XmlElement;
- if (errelem != null) {
- WriteResult (tsres, ns, false, sd.Wsdl + "\n" + errelem.InnerText);
- }
- else {
- StringWriter str = new StringWriter ();
- xsl.Transform (elem, null, str, null);
- WriteResult (tsres, ns, false, sd.Wsdl + "\n" + str.ToString ());
- }
- }
- else
- {
- if (extrans) Console.WriteLine ("BONUS CLASS: " + ns);
- suc++;
- WriteResult (tsres, ns, true, sd.Wsdl);
- }
-
- }
- }
- ts.SetAttribute ("success", (suc < tot).ToString());
-
- res.SetAttribute ("total", tot.ToString());
- res.SetAttribute ("failures", (tot-suc).ToString());
- res.SetAttribute ("not-run", "0");
-
- result.Save ("WsdlTestResult.xml");
- Console.WriteLine ("Compared:" + tot + " Ignored:" + ign + " Sucess:" + suc + " Fail:" + (tot - suc));
- }
-
- static void WriteResult (XmlElement res, string name, bool success, string msg)
- {
- XmlDocument doc = res.OwnerDocument;
- XmlElement test = doc.CreateElement ("test-case");
- test.SetAttribute ("name", name);
- test.SetAttribute ("executed", "True");
- test.SetAttribute ("success", success.ToString());
- test.SetAttribute ("time", "0");
- test.SetAttribute ("asserts", "0");
-
- if (!success) {
- XmlElement fail = doc.CreateElement ("failure");
- test.AppendChild (fail);
- XmlElement xmsg = doc.CreateElement ("message");
- fail.AppendChild (xmsg);
- xmsg.AppendChild (doc.CreateCDataSection (msg));
- fail.AppendChild (doc.CreateElement ("stack-trace"));
- }
- res.AppendChild (test);
- }
-
- static void MsFix (string fileName)
- {
- StreamReader sr = new StreamReader ("msfix");
- XmlDocument doc = new XmlDocument ();
- doc.Load (fileName);
-
- string line;
- while ((line = sr.ReadLine ()) != null)
- {
- string[] ss = line.Split ('/');
- XmlElement elem = doc.SelectSingleNode ("assemblies/assembly/namespaces/namespace[@name='" + ss[0] + "']/classes/class[@name='" + ss[1] + "']") as XmlElement;
- if (elem != null) elem.ParentNode.RemoveChild (elem);
- }
- doc.Save (fileName);
- sr.Close ();
- }
-
- static void GenerateFiles (string templateFile)
- {
- XmlDocument doc = new XmlDocument ();
- doc.Load (templateFile);
-
- XmlNodeList targets = doc.SelectNodes ("fileGeneration/targets/target");
- XmlElement gvarset = (XmlElement) doc.SelectSingleNode ("fileGeneration/vars[@name='_global']");
-
- foreach (XmlElement node in targets) {
- string tid = node.GetAttribute ("template");
- string file = node.GetAttribute ("file");
- XmlElement xtemp = (XmlElement) doc.SelectSingleNode ("fileGeneration/templates/template[@id='" + tid + "']");
- if (xtemp == null) throw new Exception ("Template " + tid + " not found");
- string tempFile = xtemp.GetAttribute ("file");
-
- StreamReader sr = new StreamReader (tempFile);
- string template = sr.ReadToEnd ();
- sr.Close ();
-
- string content = ReplaceVars (template, node);
- content = ReplaceVars (content, gvarset);
-
- StreamWriter sw = new StreamWriter (file);
- sw.Write (content);
- sw.Close ();
- Console.WriteLine ("Writen " + file);
- }
- }
-
- static string ReplaceVars (string content, XmlElement root)
- {
- XmlNodeList nodes = root.SelectNodes ("var");
- foreach (XmlElement elem in nodes) {
- string include = elem.GetAttribute ("include");
- if (include != "") {
- XmlElement varset = (XmlElement) root.OwnerDocument.SelectSingleNode ("fileGeneration/vars[@name='" + include + "']");
- if (varset == null) throw new Exception ("varset '" + include + "' not found");
- content = ReplaceVars (content, varset);
- }
- else {
- content = content.Replace ("$" + elem.GetAttribute ("name") + "$", elem.InnerText);
- }
- }
-
- return content;
- }
-
- static void RegisterFailure (ServiceData sd)
- {
- ServiceStatus status = null;
- foreach (ServiceStatus ss in serviceStatus.services)
- {
- if (ss.Name == sd.Name)
- {
- status = ss;
- break;
- }
- }
-
- if (status == null)
- {
- status = new ServiceStatus ();
- status.Name = sd.Name;
- status.Retries = 1;
- status.LastTestDate = DateTime.Now;
- serviceStatus.services.Add (status);
- }
- else
- {
- if ((DateTime.Now - status.LastTestDate).TotalHours >= 24)
- status.Retries++;
- }
- }
-
- static void CleanFailures (ServiceData sd)
- {
- ServiceStatus status = null;
- foreach (ServiceStatus ss in serviceStatus.services)
- {
- if (ss.Name == sd.Name)
- {
- serviceStatus.services.Remove (ss);
- break;
- }
- }
- }
-
- static string GetProxyFile (ServiceData fd, string protocol)
- {
- string fn = Path.Combine (new Uri (fd.Wsdl).Host, fd.Name + protocol + "Proxy.cs");
- return Path.Combine (GetProxyPath(), fn);
- }
-
- static string GetClientFile (ServiceData sd)
- {
- return Path.Combine (GetClientPath(), sd.TestFile);
- }
-
- static string GetWsdlFile (ServiceData fd)
- {
- string fn = Path.Combine (new Uri (fd.Wsdl).Host, fd.Name + ".wsdl");
- return Path.Combine (GetWsdlPath(), fn);
- }
-
- static void ReportError (string error, string detail)
- {
- string fn = Path.Combine (GetErrorPath(), "error.log");
- CreateFolderForFile (fn);
-
- StreamWriter sw = new StreamWriter (fn, true);
- sw.WriteLine ("*** " + error);
- sw.WriteLine (" " + detail.Replace ("\n","\n "));
- sw.WriteLine ();
- sw.Close ();
- foundErrors = true;
- }
-
- static string GetProxyPath ()
- {
- return Path.Combine (basePath, "proxies");
- }
-
- static string GetClientPath ()
- {
- return Path.Combine (basePath, "client");
- }
-
- static string GetErrorPath ()
- {
- return Path.Combine (basePath, "error");
- }
-
- static string GetWsdlPath ()
- {
- return Path.Combine (basePath, "wsdlcache");
- }
-
- static string GetTempWsdlPath ()
- {
- return Path.Combine (basePath, "wsdlcache");
- }
-
- static void CreateFolderForFile (string file)
- {
- string dir = Path.GetDirectoryName (file);
- DirectoryInfo di = new DirectoryInfo (dir);
- if (!di.Exists) di.Create ();
- }
-}
-
-[XmlType("services")]
-public class ServiceCollection
-{
- [XmlElement("service", typeof(ServiceData))]
- public ArrayList services = new ArrayList ();
-}
-
-[XmlType("service")]
-public class ServiceData
-{
- [XmlElement("wsdl")]
- public string Wsdl;
-
- [XmlElement("name")]
- public string Name;
-
- [XmlElement("serverType")]
- public string ServerType;
-
- [XmlArray("protocols")]
- [XmlArrayItem("protocol")]
- public string[] Protocols;
-
- [XmlElement("clientTest")]
- public bool ClientTest;
-
- [XmlIgnore]
- public string Namespace
- {
- get { return Name + "s"; }
- }
-
- [XmlIgnore]
- public string TestFile
- {
- get
- {
- string dir = new Uri (Wsdl).Host;
- if (dir != "localhost") dir = "external";
- return Path.Combine (dir, Name + ".cs");
- }
- }
-}
-
-[XmlType("serviceStatus")]
-public class ServiceStatusCollection
-{
- [XmlElement("service", typeof(ServiceStatus))]
- public ArrayList services = new ArrayList ();
-}
-
-public class ServiceStatus
-{
- [XmlElement("name")]
- public string Name;
-
- [XmlElement("lastTestDate")]
- public DateTime LastTestDate;
-
- [XmlElement("retries")]
- public int Retries;
-}
-