diff options
Diffstat (limited to 'mcs/class/System.Web.Services')
178 files changed, 12000 insertions, 0 deletions
diff --git a/mcs/class/System.Web.Services/.cvsignore b/mcs/class/System.Web.Services/.cvsignore new file mode 100755 index 00000000000..3145502e989 --- /dev/null +++ b/mcs/class/System.Web.Services/.cvsignore @@ -0,0 +1,8 @@ +*.dll +*.suo +*.csproj.user +bin +obj +.makefrag +.response +library-deps.stamp diff --git a/mcs/class/System.Web.Services/ChangeLog b/mcs/class/System.Web.Services/ChangeLog new file mode 100644 index 00000000000..e46ae007acf --- /dev/null +++ b/mcs/class/System.Web.Services/ChangeLog @@ -0,0 +1,53 @@ +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 diff --git a/mcs/class/System.Web.Services/Mono.System.Web.Services.csproj b/mcs/class/System.Web.Services/Mono.System.Web.Services.csproj new file mode 100755 index 00000000000..bc69dceffd2 --- /dev/null +++ b/mcs/class/System.Web.Services/Mono.System.Web.Services.csproj @@ -0,0 +1,869 @@ +<VisualStudioProject>
+ <CSHARP
+ ProjectType = "Local"
+ ProductVersion = "7.0.9466"
+ SchemaVersion = "1.0"
+ ProjectGuid = "{1E24995F-861C-4FCB-BE59-C7B518F02F64}"
+ >
+ <Build>
+ <Settings
+ ApplicationIcon = ""
+ AssemblyKeyContainerName = ""
+ AssemblyName = "System.Web.Services"
+ AssemblyOriginatorKeyFile = ""
+ DefaultClientScript = "JScript"
+ DefaultHTMLPageLayout = "Grid"
+ DefaultTargetSchema = "IE50"
+ DelaySign = "false"
+ OutputType = "Library"
+ RootNamespace = "System.Web.Servces"
+ StartupObject = ""
+ >
+ <Config
+ Name = "Debug"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "DEBUG;TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "true"
+ FileAlignment = "4096"
+ IncrementalBuild = "true"
+ Optimize = "false"
+ OutputPath = "bin\Debug\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ <Config
+ Name = "Release"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "false"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ Optimize = "true"
+ OutputPath = "bin\Release\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ </Settings>
+ <References>
+ <Reference
+ Name = "System.Web"
+ AssemblyName = "System.Web"
+ HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Web.dll"
+ />
+ <Reference
+ Name = "System.EnterpriseServices"
+ AssemblyName = "System.EnterpriseServices"
+ HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.EnterpriseServices.dll"
+ />
+ <Reference
+ Name = "System"
+ AssemblyName = "System"
+ HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"
+ />
+ <Reference
+ Name = "System.XML"
+ AssemblyName = "System.Xml"
+ HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"
+ />
+ </References>
+ </Build>
+ <Files>
+ <Include>
+ <File
+ RelPath = "ChangeLog"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "list"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "makefile.gnu"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "System.Web.Services.build"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "System.Web.Services\ChangeLog"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "System.Web.Services\TODOAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services\WebMethodAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services\WebService.cs"
+ SubType = "Component"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services\WebService.resx"
+ DependentUpon = "WebService.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "System.Web.Services\WebServiceAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services\WebServiceBindingAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services\WebServicesDescriptionAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Configuration\ChangeLog"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "System.Web.Services.Configuration\XmlFormatExtensionAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Configuration\XmlFormatExtensionPointAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Configuration\XmlFormatExtensionPrefixAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\Binding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\BindingCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ChangeLog"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\DocumentableItem.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\FaultBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\FaultBindingCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\HttpAddressBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\HttpBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\HttpOperationBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\HttpUrlEncodedBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\HttpUrlReplacementBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\Import.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ImportCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\InputBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\Message.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MessageBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MessageCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MessagePart.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MessagePartCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MimeContentBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MimeMultipartRelatedBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MimePart.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MimePartCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MimeTextBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MimeTextMatch.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MimeTextMatchCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\MimeXmlBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\Operation.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationBindingCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationFault.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationFaultCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationFlow.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationInput.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationMessage.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationMessageCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OperationOutput.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\OutputBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\Port.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\PortCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\PortType.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\PortTypeCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ProtocolImporter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ProtocolReflector.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\Service.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceDescription.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceDescriptionBaseCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceDescriptionCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceDescriptionFormatExtension.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceDescriptionFormatExtensionCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceDescriptionImporter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceDescriptionImportStyle.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceDescriptionImportWarnings.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\ServiceDescriptionReflector.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapAddressBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapBindingStyle.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapBindingUse.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapBodyBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapExtensionImporter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapExtensionReflector.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapFaultBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapHeaderBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapHeaderFaultBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapOperationBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapProtocolImporter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapProtocolReflector.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\SoapTransportImporter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Description\Types.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\ChangeLog"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\ContractReference.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\ContractSearchPattern.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryClientDocumentCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryClientProtocol.cs"
+ SubType = "Component"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryClientReferenceCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryClientResult.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryClientResultCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryDocument.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryDocumentLinksPattern.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryDocumentReference.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryDocumentSearchPattern.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryExceptionDictionary.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryReference.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryReferenceCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoveryRequestHandler.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DiscoverySearchPattern.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\DynamicDiscoveryDocument.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\ExcludePathInfo.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\SchemaReference.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\SoapBinding.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Discovery\XmlSchemaSearchPattern.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\AnyReturnReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\ChangeLog"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\HtmlFormParameterReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\HtmlFormParameterWriter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\HttpGetClientProtocol.cs"
+ SubType = "Component"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\HttpMethodAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\HttpPostClientProtocol.cs"
+ SubType = "Component"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\HttpSimpleClientProtocol.cs"
+ SubType = "Component"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\HttpWebClientProtocol.cs"
+ SubType = "Component"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\LogicalMethodInfo.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\LogicalMethodTypes.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\MatchAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\MimeFormatter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\MimeParameterReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\MimeParameterWriter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\MimeReturnReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\NopReturnReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\PatternMatcher.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapClientMessage.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapClientMethod.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapDocumentMethodAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapDocumentServiceAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapException.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapExtension.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapExtensionAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapHeader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapHeaderAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapHeaderCollection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapHeaderDirection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapHeaderException.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapHttpClientProtocol.cs"
+ SubType = "Component"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapMessage.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapMessageStage.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapParameterStyle.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapRpcMethodAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapRpcServiceAttribute.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapServerMessage.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapServerProtocol.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapServiceRoutingStyle.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\SoapUnknownHeader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\TextReturnReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\UrlEncodedParameterWriter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\UrlParameterReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\UrlParameterWriter.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\ValueCollectionParameterReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\WebClientAsyncResult.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\WebClientProtocol.cs"
+ SubType = "Component"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\WebServiceHandlerFactory.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "System.Web.Services.Protocols\XmlReturnReader.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ </Include>
+ </Files>
+ </CSHARP>
+</VisualStudioProject>
+
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services.Configuration/ChangeLog new file mode 100644 index 00000000000..b91825974fc --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/ChangeLog @@ -0,0 +1,6 @@ +2002-07-21 Tim Coleman <tim@timcoleman.com> + * ChangeLog: + * XmlFormatExtensionAttribute.cs: + * XmlFormatExtensionPointAttribute.cs: + * XmlFormatExtensionPrefixAttribute.cs: + New files added diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/XmlFormatExtensionAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Configuration/XmlFormatExtensionAttribute.cs new file mode 100644 index 00000000000..eda21c22cec --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/XmlFormatExtensionAttribute.cs @@ -0,0 +1,77 @@ + //
+// System.Web.Services.Configuration.XmlFormatExtensionAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Configuration {
+ [AttributeUsage (AttributeTargets.Class)]
+ public sealed class XmlFormatExtensionAttribute : Attribute {
+
+ #region Fields
+
+ string elementName;
+ string ns;
+ Type[] extensionPoints;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public XmlFormatExtensionAttribute ()
+ {
+ }
+
+ public XmlFormatExtensionAttribute (string elementName, string ns, Type extensionPoint1)
+ : this (elementName, ns, new Type[1] {extensionPoint1})
+ {
+ }
+
+ public XmlFormatExtensionAttribute (string elementName, string ns, Type[] extensionPoints)
+ : this ()
+ {
+ this.elementName = elementName;
+ this.ns = ns;
+ this.extensionPoints = extensionPoints;
+ }
+
+ public XmlFormatExtensionAttribute (string elementName, string ns, Type extensionPoint1, Type extensionPoint2)
+ : this (elementName, ns, new Type[2] {extensionPoint1, extensionPoint2})
+ {
+ }
+
+ public XmlFormatExtensionAttribute (string elementName, string ns, Type extensionPoint1, Type extensionPoint2, Type extensionPoint3)
+ : this (elementName, ns, new Type[3] {extensionPoint1, extensionPoint2, extensionPoint3})
+ {
+ }
+
+ public XmlFormatExtensionAttribute (string elementName, string ns, Type extensionPoint1, Type extensionPoint2, Type extensionPoint3, Type extensionPoint4)
+ : this (elementName, ns, new Type[4] {extensionPoint1, extensionPoint2, extensionPoint3, extensionPoint4})
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public string ElementName {
+ get { return elementName; }
+ set { elementName = value; }
+ }
+
+ public Type[] ExtensionPoints {
+ get { return extensionPoints; }
+ set { extensionPoints = value; }
+ }
+
+ public string Namespace {
+ get { return ns; }
+ set { ns = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/XmlFormatExtensionPointAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Configuration/XmlFormatExtensionPointAttribute.cs new file mode 100644 index 00000000000..f7cac2e032f --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/XmlFormatExtensionPointAttribute.cs @@ -0,0 +1,44 @@ + //
+// System.Web.Services.Configuration.XmlFormatExtensionPointAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Configuration {
+ [AttributeUsage (AttributeTargets.Class)]
+ public sealed class XmlFormatExtensionPointAttribute : Attribute {
+
+ #region Fields
+
+ bool allowElements;
+ string memberName;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public XmlFormatExtensionPointAttribute (string memberName)
+ {
+ allowElements = false; // FIXME
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public bool AllowElements {
+ get { return allowElements; }
+ set { allowElements = value; }
+ }
+
+ public string MemberName {
+ get { return memberName; }
+ set { memberName = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Configuration/XmlFormatExtensionPrefixAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Configuration/XmlFormatExtensionPrefixAttribute.cs new file mode 100644 index 00000000000..91ed4038e60 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Configuration/XmlFormatExtensionPrefixAttribute.cs @@ -0,0 +1,50 @@ + //
+// System.Web.Services.Configuration.XmlFormatExtensionPrefixAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Configuration {
+ [AttributeUsage (AttributeTargets.Class)]
+ public sealed class XmlFormatExtensionPrefixAttribute : Attribute {
+
+ #region Fields
+
+ string prefix;
+ string ns;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public XmlFormatExtensionPrefixAttribute ()
+ {
+ }
+
+ public XmlFormatExtensionPrefixAttribute (string prefix, string ns)
+ : this ()
+ {
+ this.prefix = prefix;
+ this.ns = ns;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public string Prefix {
+ get { return prefix; }
+ set { prefix = value; }
+ }
+
+ public string Namespace {
+ get { return ns; }
+ set { ns = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/Binding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/Binding.cs new file mode 100644 index 00000000000..9b7206f596e --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/Binding.cs @@ -0,0 +1,80 @@ +//
+// System.Web.Services.Description.Binding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPoint ("Extensions")]
+ public sealed class Binding : DocumentableItem {
+
+ #region Fields
+
+ ServiceDescriptionFormatExtensionCollection extensions;
+ string name;
+ OperationBindingCollection operations;
+ ServiceDescription serviceDescription;
+ XmlQualifiedName type;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public Binding ()
+ {
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ name = String.Empty;
+ operations = new OperationBindingCollection (this);
+ serviceDescription = null;
+ type = XmlQualifiedName.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ [XmlAttribute ("name", DataType = "NCName")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ [XmlElement ("operation")]
+ public OperationBindingCollection Operations {
+ get { return operations; }
+ }
+
+ public ServiceDescription ServiceDescription {
+ get { return serviceDescription; }
+ }
+
+ [XmlAttribute ("type")]
+ public XmlQualifiedName Type {
+ get { return type; }
+ set { type = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (ServiceDescription serviceDescription)
+ {
+ this.serviceDescription = serviceDescription;
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/BindingCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/BindingCollection.cs new file mode 100644 index 00000000000..257bda99c6a --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/BindingCollection.cs @@ -0,0 +1,92 @@ +//
+// System.Web.Services.Description.BindingCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class BindingCollection : ServiceDescriptionBaseCollection {
+
+ #region Fields
+
+ ServiceDescription serviceDescription;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ internal BindingCollection (ServiceDescription serviceDescription)
+ : base (serviceDescription)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public Binding this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+ return (Binding) List[index];
+ }
+ set { List [index] = value; }
+ }
+
+ public Binding this [string name] {
+ get { return this[IndexOf ((Binding) Table[name])]; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (Binding binding)
+ {
+ Insert (Count, binding);
+ return (Count - 1);
+ }
+
+ public bool Contains (Binding binding)
+ {
+ return List.Contains (binding);
+ }
+
+ public void CopyTo (Binding[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ protected override string GetKey (object value)
+ {
+ if (!(value is Binding))
+ throw new InvalidCastException ();
+ return ((Binding) value).Name;
+ }
+
+ public int IndexOf (Binding binding)
+ {
+ return List.IndexOf (binding);
+ }
+
+ public void Insert (int index, Binding binding)
+ {
+ List.Insert (index, binding);
+ }
+
+ public void Remove (Binding binding)
+ {
+ List.Remove (binding);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((Binding) value).SetParent ((ServiceDescription) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services.Description/ChangeLog new file mode 100644 index 00000000000..779d19a55c9 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ChangeLog @@ -0,0 +1,289 @@ +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 diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/DocumentableItem.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/DocumentableItem.cs new file mode 100644 index 00000000000..8c4e2a78f3c --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/DocumentableItem.cs @@ -0,0 +1,42 @@ +//
+// System.Web.Services.Description.DocumentableItem.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public abstract class DocumentableItem {
+
+ #region Fields
+
+ string documentation;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ protected DocumentableItem ()
+ {
+ documentation = String.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlElement ("documentation")]
+ [DefaultValue ("")]
+ public string Documentation {
+ get { return documentation; }
+ set { documentation = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/FaultBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/FaultBinding.cs new file mode 100644 index 00000000000..423a08060b2 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/FaultBinding.cs @@ -0,0 +1,52 @@ +//
+// System.Web.Services.Description.FaultBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPoint ("Extensions")]
+ public sealed class FaultBinding : MessageBinding {
+
+ #region Fields
+
+ ServiceDescriptionFormatExtensionCollection extensions;
+ OperationBinding operationBinding;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public FaultBinding ()
+ {
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ operationBinding = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public override ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (OperationBinding operationBinding)
+ {
+ this.operationBinding = operationBinding;
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/FaultBindingCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/FaultBindingCollection.cs new file mode 100644 index 00000000000..fe885c1bd4e --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/FaultBindingCollection.cs @@ -0,0 +1,87 @@ +//
+// System.Web.Services.Description.FaultBindingCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class FaultBindingCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal FaultBindingCollection (OperationBinding operationBinding)
+ : base (operationBinding)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public FaultBinding this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+ return (FaultBinding) List[index];
+ }
+ set { List [index] = value; }
+ }
+
+ public FaultBinding this [string name] {
+ get { return this [IndexOf ((FaultBinding) Table[name])]; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (FaultBinding bindingOperationFault)
+ {
+ Insert (Count, bindingOperationFault);
+ return (Count - 1);
+ }
+
+ public bool Contains (FaultBinding bindingOperationFault)
+ {
+ return List.Contains (bindingOperationFault);
+ }
+
+ public void CopyTo (FaultBinding[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ protected override string GetKey (object value)
+ {
+ if (!(value is FaultBinding))
+ throw new InvalidCastException ();
+
+ return ((FaultBinding) value).Name;
+ }
+
+ public int IndexOf (FaultBinding bindingOperationFault)
+ {
+ return List.IndexOf (bindingOperationFault);
+ }
+
+ public void Insert (int index, FaultBinding bindingOperationFault)
+ {
+ List.Insert (index, bindingOperationFault);
+ }
+
+ public void Remove (FaultBinding bindingOperationFault)
+ {
+ List.Remove (bindingOperationFault);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((FaultBinding) value).SetParent ((OperationBinding) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/HttpAddressBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpAddressBinding.cs new file mode 100644 index 00000000000..b35eb111bf8 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpAddressBinding.cs @@ -0,0 +1,42 @@ +//
+// System.Web.Services.Description.HttpAddressBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("address", "http://schemas.xmlsoap.org/wsdl/http/", typeof (Port))]
+ public sealed class HttpAddressBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ string location;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public HttpAddressBinding ()
+ {
+ location = String.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("location")]
+ public string Location {
+ get { return location; }
+ set { location = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/HttpBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpBinding.cs new file mode 100644 index 00000000000..fe5adf056a9 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpBinding.cs @@ -0,0 +1,44 @@ +//
+// System.Web.Services.Description.HttpBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("binding", "http://schemas.xmlsoap.org/wsdl/http/", typeof (Binding))]
+ [XmlFormatExtensionPrefix ("http", "http://schemas.xmlsoap.org/wsdl/http/")]
+ public sealed class HttpBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ public const string Namespace = "http://schemas.xmlsoap.org/wsdl/http/";
+ string verb;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public HttpBinding ()
+ {
+ verb = String.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("verb", DataType = "NMTOKEN")]
+ public string Verb {
+ get { return verb; }
+ set { verb = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/HttpOperationBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpOperationBinding.cs new file mode 100644 index 00000000000..0115dbb0b61 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpOperationBinding.cs @@ -0,0 +1,42 @@ +//
+// System.Web.Services.Description.HttpOperationBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("operation", "http://schemas.xmlsoap.org/wsdl/http/", typeof (OperationBinding))]
+ public sealed class HttpOperationBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ string location;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public HttpOperationBinding ()
+ {
+ location = String.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("location")]
+ public string Location {
+ get { return location; }
+ set { location = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/HttpUrlEncodedBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpUrlEncodedBinding.cs new file mode 100644 index 00000000000..4ce0e0fe4f9 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpUrlEncodedBinding.cs @@ -0,0 +1,24 @@ +//
+// System.Web.Services.Description.HttpUrlEncodedBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("urlEncoded", "http://schemas.xmlsoap.org/wsdl/http/", typeof (InputBinding))]
+ public sealed class HttpUrlEncodedBinding : ServiceDescriptionFormatExtension {
+
+ #region Constructors
+
+ public HttpUrlEncodedBinding ()
+ {
+ }
+
+ #endregion // Constructors
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/HttpUrlReplacementBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpUrlReplacementBinding.cs new file mode 100644 index 00000000000..9414c8cbd46 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/HttpUrlReplacementBinding.cs @@ -0,0 +1,24 @@ +//
+// System.Web.Services.Description.HttpUrlReplacementBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("urlReplacement", "http://schemas.xmlsoap.org/wsdl/http/", typeof (InputBinding))]
+ public sealed class HttpUrlReplacementBinding : ServiceDescriptionFormatExtension {
+
+ #region Constructors
+
+ public HttpUrlReplacementBinding ()
+ {
+ }
+
+ #endregion // Constructors
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/Import.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/Import.cs new file mode 100644 index 00000000000..8c36325bf19 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/Import.cs @@ -0,0 +1,63 @@ +//
+// System.Web.Services.Description.Import.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public sealed class Import : DocumentableItem {
+
+ #region Fields
+
+ string location;
+ string ns;
+ ServiceDescription serviceDescription;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public Import ()
+ {
+ location = String.Empty;
+ ns = String.Empty;
+ serviceDescription = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("location")]
+ public string Location {
+ get { return location; }
+ set { location = value; }
+ }
+
+ [XmlAttribute ("namespace")]
+ public string Namespace {
+ get { return ns; }
+ set { ns = value; }
+ }
+
+ public ServiceDescription ServiceDescription {
+ get { return serviceDescription; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (ServiceDescription serviceDescription)
+ {
+ this.serviceDescription = serviceDescription;
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ImportCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ImportCollection.cs new file mode 100644 index 00000000000..a1cfd6eb14f --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ImportCollection.cs @@ -0,0 +1,75 @@ +//
+// System.Web.Services.Description.ImportCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class ImportCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal ImportCollection (ServiceDescription serviceDescription)
+ : base (serviceDescription)
+ {
+ }
+
+ #endregion
+
+ #region Properties
+
+ public Import this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+ return (Import) List[index];
+ }
+ set { List [index] = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (Import import)
+ {
+ Insert (Count, import);
+ return (Count - 1);
+ }
+
+ public bool Contains (Import import)
+ {
+ return List.Contains (import);
+ }
+
+ public void CopyTo (Import[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public int IndexOf (Import import)
+ {
+ return List.IndexOf (import);
+ }
+
+ public void Insert (int index, Import import)
+ {
+ List.Insert (index, import);
+ }
+
+ public void Remove (Import import)
+ {
+ List.Remove (import);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((Import) value).SetParent ((ServiceDescription) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/InputBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/InputBinding.cs new file mode 100644 index 00000000000..d8b9483b2b1 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/InputBinding.cs @@ -0,0 +1,41 @@ +//
+// System.Web.Services.Description.InputBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPoint ("Extensions")]
+ public sealed class InputBinding : MessageBinding {
+
+ #region Fields
+
+ ServiceDescriptionFormatExtensionCollection extensions;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public InputBinding ()
+ {
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public override ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/Message.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/Message.cs new file mode 100644 index 00000000000..3d812ee2c8d --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/Message.cs @@ -0,0 +1,86 @@ +//
+// System.Web.Services.Description.Message.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+using System.Web.Services;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public sealed class Message : DocumentableItem {
+
+ #region Fields
+
+ string name;
+ MessagePartCollection parts;
+ ServiceDescription serviceDescription;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public Message ()
+ {
+ name = String.Empty;
+ parts = new MessagePartCollection (this);
+ serviceDescription = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("name", DataType = "NCName")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ [XmlElement ("part")]
+ public MessagePartCollection Parts {
+ get { return parts; }
+ }
+
+ public ServiceDescription ServiceDescription {
+ get { return serviceDescription; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public MessagePart FindPartByName (string partName)
+ {
+ return parts [partName];
+ }
+
+ public MessagePart[] FindPartsByName (string[] partNames)
+ {
+ ArrayList searchResults = new ArrayList ();
+
+ foreach (string partName in partNames)
+ searchResults.Add (FindPartByName (partName));
+
+ int count = searchResults.Count;
+
+ if (count == 0)
+ throw new ArgumentException ();
+
+ MessagePart[] returnValue = new MessagePart[count];
+ searchResults.CopyTo (returnValue);
+ return returnValue;
+ }
+
+ internal void SetParent (ServiceDescription serviceDescription)
+ {
+ this.serviceDescription = serviceDescription;
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MessageBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MessageBinding.cs new file mode 100644 index 00000000000..6488901d9ff --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MessageBinding.cs @@ -0,0 +1,51 @@ +//
+// System.Web.Services.Description.MessageBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public abstract class MessageBinding : DocumentableItem {
+
+ #region Fields
+
+ string name;
+ OperationBinding operationBinding;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ protected MessageBinding ()
+ {
+ name = String.Empty;
+ operationBinding = new OperationBinding ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public abstract ServiceDescriptionFormatExtensionCollection Extensions {
+ get;
+ }
+
+ [XmlAttribute ("name", DataType = "NMTOKEN")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public OperationBinding OperationBinding {
+ get { return operationBinding; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MessageCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MessageCollection.cs new file mode 100644 index 00000000000..1ba2bcf0afc --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MessageCollection.cs @@ -0,0 +1,88 @@ +//
+// System.Web.Services.Description.MessageCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class MessageCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal MessageCollection (ServiceDescription serviceDescription)
+ : base (serviceDescription)
+ {
+ }
+
+ #endregion
+
+ #region Properties
+
+ public Message this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+
+ return (Message) List [index];
+ }
+ set { List [index] = value; }
+ }
+
+ public Message this [string name] {
+ get { return this [IndexOf ((Message) Table [name])]; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (Message message)
+ {
+ Insert (Count, message);
+ return (Count - 1);
+ }
+
+ public bool Contains (Message message)
+ {
+ return List.Contains (message);
+ }
+
+ public void CopyTo (Message[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ protected override string GetKey (object value)
+ {
+ if (!(value is Message))
+ throw new InvalidCastException ();
+
+ return ((Message) value).Name;
+ }
+
+ public int IndexOf (Message message)
+ {
+ return List.IndexOf (message);
+ }
+
+ public void Insert (int index, Message message)
+ {
+ List.Insert (index, message);
+ }
+
+ public void Remove (Message message)
+ {
+ List.Remove (message);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((Message) value).SetParent ((ServiceDescription) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MessagePart.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MessagePart.cs new file mode 100644 index 00000000000..8b6923807f3 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MessagePart.cs @@ -0,0 +1,73 @@ +//
+// System.Web.Services.Description.MessagePart.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public sealed class MessagePart : DocumentableItem {
+
+ #region Fields
+
+ XmlQualifiedName element;
+ Message message;
+ string name;
+ XmlQualifiedName type;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public MessagePart ()
+ {
+ element = XmlQualifiedName.Empty;
+ message = null;
+ name = String.Empty;
+ type = XmlQualifiedName.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("element")]
+ public XmlQualifiedName Element {
+ get { return element; }
+ set { element = value; }
+ }
+
+ public Message Message {
+ get { return message; }
+ }
+
+ [XmlAttribute ("name", DataType = "NMTOKEN")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ [XmlAttribute ("type")]
+ public XmlQualifiedName Type {
+ get { return type; }
+ set { type = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (Message message)
+ {
+ this.message = message;
+ }
+
+ #endregion // Methods
+
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MessagePartCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MessagePartCollection.cs new file mode 100644 index 00000000000..6f35c6d9ef4 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MessagePartCollection.cs @@ -0,0 +1,86 @@ +//
+// System.Web.Services.Description.MessagePartCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class MessagePartCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal MessagePartCollection (Message message)
+ : base (message)
+ {
+ }
+
+ #endregion
+
+ #region Properties
+
+ public MessagePart this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+ return (MessagePart) List[index];
+ }
+ set { List [index] = value; }
+ }
+
+ public MessagePart this [string name] {
+ get { return this [IndexOf ((MessagePart) Table[name])]; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (MessagePart messagePart)
+ {
+ Insert (Count, messagePart);
+ return (Count - 1);
+ }
+
+ public bool Contains (MessagePart messagePart)
+ {
+ return List.Contains (messagePart);
+ }
+
+ public void CopyTo (MessagePart[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ protected override string GetKey (object value)
+ {
+ if (!(value is MessagePart))
+ throw new InvalidCastException ();
+ return ((MessagePart) value).Name;
+ }
+
+ public int IndexOf (MessagePart messagePart)
+ {
+ return List.IndexOf (messagePart);
+ }
+
+ public void Insert (int index, MessagePart messagePart)
+ {
+ List.Insert (index, messagePart);
+ }
+
+ public void Remove (MessagePart messagePart)
+ {
+ List.Remove (messagePart);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((MessagePart) value).SetParent ((Message) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MimeContentBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeContentBinding.cs new file mode 100644 index 00000000000..6c1871f0002 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeContentBinding.cs @@ -0,0 +1,52 @@ +//
+// System.Web.Services.Description.MimeContentBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+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
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MimeMultipartRelatedBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeMultipartRelatedBinding.cs new file mode 100644 index 00000000000..625638a4e7f --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeMultipartRelatedBinding.cs @@ -0,0 +1,41 @@ +//
+// System.Web.Services.Description.MimeMultipartRelatedBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("multipartRelated", "http://schemas.xmlsoap.org/wsdl/mime/", typeof (InputBinding), typeof (OutputBinding))]
+ public sealed class MimeMultipartRelatedBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ MimePartCollection parts;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public MimeMultipartRelatedBinding ()
+ {
+ parts = new MimePartCollection ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlElement ("parts")]
+ public MimePartCollection Parts {
+ get { return parts; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MimePart.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MimePart.cs new file mode 100644 index 00000000000..9723912f4a3 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MimePart.cs @@ -0,0 +1,41 @@ +//
+// System.Web.Services.Description.MimePart.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPoint ("Extensions")]
+ public sealed class MimePart : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ ServiceDescriptionFormatExtensionCollection extensions;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public MimePart ()
+ {
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MimePartCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MimePartCollection.cs new file mode 100644 index 00000000000..fefe85c9304 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MimePartCollection.cs @@ -0,0 +1,64 @@ +//
+// System.Web.Services.Description.MimePartCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+
+namespace System.Web.Services.Description {
+ public sealed class MimePartCollection : CollectionBase {
+
+ #region Properties
+
+ public MimePart this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+
+ return (MimePart) List[index];
+ }
+ set { List[index] = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (MimePart mimePart)
+ {
+ Insert (Count, mimePart);
+ return (Count - 1);
+ }
+
+ public bool Contains (MimePart mimePart)
+ {
+ return List.Contains (mimePart);
+ }
+
+ public void CopyTo (MimePart[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public int IndexOf (MimePart mimePart)
+ {
+ return List.IndexOf (mimePart);
+ }
+
+ public void Insert (int index, MimePart mimePart)
+ {
+ List.Insert (index, mimePart);
+ }
+
+ public void Remove (MimePart mimePart)
+ {
+ List.Remove (mimePart);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MimeTextBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeTextBinding.cs new file mode 100644 index 00000000000..9ce4fd4945d --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeTextBinding.cs @@ -0,0 +1,43 @@ +//
+// System.Web.Services.Description.MimeTextBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("text", "http://microsoft.com/wsdl/mime/textMatching/", typeof (InputBinding), typeof (OutputBinding), typeof (MimePart))]
+ [XmlFormatExtensionPrefix ("tm", "http://microsoft.com/wsdl/mime/textMatching/")]
+ public sealed class MimeTextBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ public const string Namespace = "http://microsoft.com/wsdl/mime/textMatching/";
+ MimeTextMatchCollection matches;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public MimeTextBinding ()
+ {
+ matches = new MimeTextMatchCollection ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlElement ("match", typeof (MimeTextMatch))]
+ public MimeTextMatchCollection Matches {
+ get { return matches; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MimeTextMatch.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeTextMatch.cs new file mode 100644 index 00000000000..87c9b20122d --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeTextMatch.cs @@ -0,0 +1,126 @@ +//
+// System.Web.Services.Description.MimeTextMatch.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public sealed class MimeTextMatch {
+
+ #region Fields
+
+ int capture;
+ int group;
+ bool ignoreCase;
+ MimeTextMatchCollection matches;
+ string name;
+ string pattern;
+ int repeats;
+ string type;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public MimeTextMatch ()
+ {
+ capture = 0;
+ group = 1;
+ ignoreCase = false;
+ matches = null;
+ name = String.Empty;
+ pattern = String.Empty;
+ repeats = 1;
+ type = String.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [DefaultValue (0)]
+ [XmlAttribute ("capture")]
+ public int Capture {
+ get { return capture; }
+ set {
+ if (value < 0)
+ throw new ArgumentException ();
+ capture = value;
+ }
+ }
+
+ [DefaultValue (1)]
+ [XmlAttribute ("group")]
+ public int Group {
+ get { return group; }
+ set {
+ if (value < 0)
+ throw new ArgumentException ();
+ group = value;
+ }
+ }
+
+ [XmlAttribute ("ignoreCase")]
+ public bool IgnoreCase {
+ get { return ignoreCase; }
+ set { ignoreCase = value; }
+ }
+
+ [XmlElement ("match")]
+ public MimeTextMatchCollection Matches {
+ get { return matches; }
+ }
+
+ [XmlAttribute ("name")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ [XmlAttribute ("pattern")]
+ public string Pattern {
+ get { return pattern; }
+ set { pattern = value; }
+ }
+
+ [XmlIgnore]
+ public int Repeats {
+ get { return repeats; }
+ set {
+ if (value < 0)
+ throw new ArgumentException ();
+ repeats = value;
+ }
+ }
+
+ [DefaultValue ("1")]
+ [XmlAttribute ("repeats")]
+ public string RepeatsString {
+ get { return Repeats.ToString (); }
+ set { Repeats = Int32.Parse (value); }
+ }
+
+ [XmlAttribute ("type")]
+ public string Type {
+ get { return type; }
+ set { type = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (MimeTextMatchCollection matches)
+ {
+ this.matches = matches;
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MimeTextMatchCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeTextMatchCollection.cs new file mode 100644 index 00000000000..59dd634a017 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeTextMatchCollection.cs @@ -0,0 +1,70 @@ +//
+// System.Web.Services.Description.MimeTextMatchCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+
+namespace System.Web.Services.Description {
+ public sealed class MimeTextMatchCollection : CollectionBase {
+
+ #region Properties
+
+ public MimeTextMatch this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+
+ return (MimeTextMatch) List [index];
+ }
+ set { List[index] = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (MimeTextMatch match)
+ {
+ Insert (Count, match);
+ return (Count - 1);
+ }
+
+ public bool Contains (MimeTextMatch match)
+ {
+ return List.Contains (match);
+ }
+
+ public void CopyTo (MimeTextMatch[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public int IndexOf (MimeTextMatch match)
+ {
+ return List.IndexOf (match);
+ }
+
+ public void Insert (int index, MimeTextMatch match)
+ {
+ SetParent (match, this);
+ List.Insert (index, match);
+ }
+
+ public void Remove (MimeTextMatch match)
+ {
+ List.Remove (match);
+ }
+
+ private void SetParent (object value, object parent)
+ {
+ ((MimeTextMatch) value).SetParent ((MimeTextMatchCollection) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/MimeXmlBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeXmlBinding.cs new file mode 100644 index 00000000000..93859fdaa1f --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/MimeXmlBinding.cs @@ -0,0 +1,42 @@ +//
+// System.Web.Services.Description.MimeXmlBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("mimeXml", "http://schemas.xmlsoap.org/wsdl/mime/", typeof (MimePart), typeof (InputBinding), typeof (OutputBinding))]
+ public sealed class MimeXmlBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ string part;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public MimeXmlBinding ()
+ {
+ part = String.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("part", DataType = "NMTOKEN")]
+ public string Part {
+ get { return part; }
+ set { part = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/Operation.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/Operation.cs new file mode 100644 index 00000000000..2823503f126 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/Operation.cs @@ -0,0 +1,96 @@ +//
+// System.Web.Services.Description.Operation.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public sealed class Operation : DocumentableItem {
+
+ #region Fields
+
+ OperationFaultCollection faults;
+ OperationMessageCollection messages;
+ string name;
+ string[] parameterOrder;
+ PortType portType;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public Operation ()
+ {
+ faults = new OperationFaultCollection (this);
+ messages = new OperationMessageCollection (this);
+ name = String.Empty;
+ parameterOrder = null;
+ portType = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlElement ("fault")]
+ public OperationFaultCollection Faults {
+ get { return faults; }
+ }
+
+ [XmlElement ("output", typeof (OperationOutput))]
+ [XmlElement ("input", typeof (OperationInput))]
+ public OperationMessageCollection Messages {
+ get { return messages; }
+ }
+
+ [XmlAttribute ("name", DataType = "NCName")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ [XmlIgnore]
+ public string[] ParameterOrder {
+ get { return parameterOrder; }
+ set { parameterOrder = value; }
+ }
+
+ [DefaultValue ("")]
+ [XmlAttribute ("parameterOrder")]
+ public string ParameterOrderString {
+ get {
+ if (parameterOrder == null)
+ return String.Empty;
+ return String.Join (" ", parameterOrder);
+ }
+ set { ParameterOrder = value.Split (' '); }
+ }
+
+ public PortType PortType {
+ get { return portType; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public bool IsBoundBy (OperationBinding operationBinding)
+ {
+ return (operationBinding.Name == Name);
+ }
+
+ internal void SetParent (PortType portType)
+ {
+ this.portType = portType;
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationBinding.cs new file mode 100644 index 00000000000..0bdb5e9579a --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationBinding.cs @@ -0,0 +1,86 @@ +//
+// System.Web.Services.Description.OperationBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPoint ("Extensions")]
+ public sealed class OperationBinding : DocumentableItem {
+
+ #region Fields
+
+ Binding binding;
+ ServiceDescriptionFormatExtensionCollection extensions;
+ FaultBindingCollection faults;
+ InputBinding input;
+ string name;
+ OutputBinding output;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public OperationBinding ()
+ {
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ faults = new FaultBindingCollection (this);
+ input = null;
+ name = String.Empty;
+ output = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public Binding Binding {
+ get { return binding; }
+ }
+
+ [XmlIgnore]
+ public ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ [XmlElement ("fault")]
+ public FaultBindingCollection Faults {
+ get { return faults; }
+ }
+
+ [XmlElement ("input")]
+ public InputBinding Input {
+ get { return input; }
+ set { input = value; }
+ }
+
+ [XmlAttribute ("name", DataType = "NCName")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ [XmlElement ("output")]
+ public OutputBinding Output {
+ get { return output; }
+ set { output= value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (Binding binding)
+ {
+ this.binding = binding;
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationBindingCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationBindingCollection.cs new file mode 100644 index 00000000000..f81a409a6a9 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationBindingCollection.cs @@ -0,0 +1,75 @@ +//
+// System.Web.Services.Description.OperationBindingCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class OperationBindingCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal OperationBindingCollection (Binding binding)
+ : base (binding)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public OperationBinding this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+ return (OperationBinding) List[index];
+ }
+ set { List[index] = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (OperationBinding bindingOperation)
+ {
+ Insert (Count, bindingOperation);
+ return (Count - 1);
+ }
+
+ public bool Contains (OperationBinding bindingOperation)
+ {
+ return List.Contains (bindingOperation);
+ }
+
+ public void CopyTo (OperationBinding[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public int IndexOf (OperationBinding bindingOperation)
+ {
+ return List.IndexOf (bindingOperation);
+ }
+
+ public void Insert (int index, OperationBinding bindingOperation)
+ {
+ List.Insert (index, bindingOperation);
+ }
+
+ public void Remove (OperationBinding bindingOperation)
+ {
+ List.Remove (bindingOperation);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((OperationBinding) value).SetParent ((Binding) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationCollection.cs new file mode 100644 index 00000000000..a92cf343db5 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationCollection.cs @@ -0,0 +1,75 @@ +//
+// System.Web.Services.Description.OperationCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class OperationCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal OperationCollection (PortType portType)
+ : base (portType)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public Operation this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+ return (Operation) List[index];
+ }
+ set { List[index] = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (Operation operation)
+ {
+ Insert (Count, operation);
+ return (Count - 1);
+ }
+
+ public bool Contains (Operation operation)
+ {
+ return List.Contains (operation);
+ }
+
+ public void CopyTo (Operation[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public int IndexOf (Operation operation)
+ {
+ return List.IndexOf (operation);
+ }
+
+ public void Insert (int index, Operation operation)
+ {
+ List.Insert (index, operation);
+ }
+
+ public void Remove (Operation operation)
+ {
+ List.Remove (operation);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((Operation) value).SetParent ((PortType) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationFault.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationFault.cs new file mode 100644 index 00000000000..f4055dbf5a4 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationFault.cs @@ -0,0 +1,15 @@ +//
+// System.Web.Services.Description.OperationFault.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Description {
+ public sealed class OperationFault : OperationMessage {
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationFaultCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationFaultCollection.cs new file mode 100644 index 00000000000..492c1d1caf6 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationFaultCollection.cs @@ -0,0 +1,87 @@ +//
+// System.Web.Services.Description.OperationFaultCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class OperationFaultCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal OperationFaultCollection (Operation operation)
+ : base (operation)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public OperationFault this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+ return (OperationFault) List[index];
+ }
+ set { List [index] = value; }
+ }
+
+ public OperationFault this [string name] {
+ get { return this [IndexOf ((OperationFault) Table[name])]; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (OperationFault operationFaultMessage)
+ {
+ Insert (Count, operationFaultMessage);
+ return (Count - 1);
+ }
+
+ public bool Contains (OperationFault operationFaultMessage)
+ {
+ return List.Contains (operationFaultMessage);
+ }
+
+ public void CopyTo (OperationFault[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ protected override string GetKey (object value)
+ {
+ if (!(value is OperationFault))
+ throw new InvalidCastException ();
+
+ return ((OperationFault) value).Name;
+ }
+
+ public int IndexOf (OperationFault operationFaultMessage)
+ {
+ return List.IndexOf (operationFaultMessage);
+ }
+
+ public void Insert (int index, OperationFault operationFaultMessage)
+ {
+ List.Insert (index, operationFaultMessage);
+ }
+
+ public void Remove (OperationFault operationFaultMessage)
+ {
+ List.Remove (operationFaultMessage);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((OperationFault) value).SetParent ((Operation) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationFlow.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationFlow.cs new file mode 100644 index 00000000000..a3c517aa24b --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationFlow.cs @@ -0,0 +1,19 @@ +//
+// System.Web.Services.Description.OperationFlow.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ [Serializable]
+ public enum OperationFlow {
+ None = 0x0,
+ Notification = 0x2,
+ OneWay = 0x1,
+ RequestResponse = 0x3,
+ SolicitResponse = 0x4
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationInput.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationInput.cs new file mode 100644 index 00000000000..4df8f046678 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationInput.cs @@ -0,0 +1,16 @@ +//
+// System.Web.Services.Description.OperationInput.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+using System.Xml;
+
+namespace System.Web.Services.Description {
+ public sealed class OperationInput : OperationMessage {
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationMessage.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationMessage.cs new file mode 100644 index 00000000000..e24f045131a --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationMessage.cs @@ -0,0 +1,65 @@ +//
+// System.Web.Services.Description.OperationMessage.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public abstract class OperationMessage : DocumentableItem {
+
+ #region Fields
+
+ XmlQualifiedName message;
+ string name;
+ Operation operation;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ protected OperationMessage ()
+ {
+ message = null;
+ name = String.Empty;
+ operation = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("message")]
+ public XmlQualifiedName Message {
+ get { return message; }
+ set { message = value; }
+ }
+
+ [XmlAttribute ("name", DataType = "NMTOKEN")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public Operation Operation {
+ get { return operation; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (Operation operation)
+ {
+ this.operation = operation;
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationMessageCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationMessageCollection.cs new file mode 100644 index 00000000000..86aefe85c2e --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationMessageCollection.cs @@ -0,0 +1,130 @@ +//
+// System.Web.Services.Description.OperationMessageCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Description {
+ public sealed class OperationMessageCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal OperationMessageCollection (Operation operation)
+ : base (operation)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public OperationFlow Flow {
+ get {
+ switch (Count) {
+ case 1:
+ if (this[0] is OperationInput)
+ return OperationFlow.OneWay;
+ else
+ return OperationFlow.Notification;
+ case 2:
+ if (this[0] is OperationInput)
+ return OperationFlow.RequestResponse;
+ else
+ return OperationFlow.SolicitResponse;
+ }
+ return OperationFlow.None;
+ }
+ }
+
+ public OperationInput Input {
+ get {
+ foreach (object message in List)
+ if (message is OperationInput)
+ return (OperationInput) message;
+ return null;
+ }
+ }
+
+ public OperationMessage this [int index] {
+ get { return (OperationMessage) List[index]; }
+ set { List[index] = value; }
+ }
+
+ public OperationOutput Output {
+ get {
+ foreach (object message in List)
+ if (message is OperationOutput)
+ return (OperationOutput) message;
+ return null;
+ }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (OperationMessage operationMessage)
+ {
+ Insert (Count, operationMessage);
+ return (Count - 1);
+ }
+
+ public bool Contains (OperationMessage operationMessage)
+ {
+ return List.Contains (operationMessage);
+ }
+
+ public void CopyTo (OperationMessage[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public int IndexOf (OperationMessage operationMessage)
+ {
+ return List.IndexOf (operationMessage);
+ }
+
+ public void Insert (int index, OperationMessage operationMessage)
+ {
+ List.Insert (index, operationMessage);
+ }
+
+ protected override void OnInsert (int index, object value)
+ {
+ if (Count > 2 || value.GetType () == this [0].GetType ())
+ throw new InvalidOperationException ("The operation object can only contain one input and one output message.");
+ }
+
+ protected override void OnSet (int index, object oldValue, object newValue)
+ {
+ if (oldValue.GetType () != newValue.GetType ())
+ throw new InvalidOperationException ("The message types of the old and new value are not the same.");
+ base.OnSet (index, oldValue, newValue);
+ }
+
+ protected override void OnValidate (object value)
+ {
+ if (value == null)
+ throw new NullReferenceException ("The message object is a null reference.");
+ if (!(value is OperationInput || value is OperationOutput))
+ throw new ArgumentException ("The message object is not an input or an output message.");
+ }
+
+ public void Remove (OperationMessage operationMessage)
+ {
+ List.Remove (operationMessage);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((OperationMessage) value).SetParent ((Operation) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OperationOutput.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationOutput.cs new file mode 100644 index 00000000000..7c7ac0f9acc --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OperationOutput.cs @@ -0,0 +1,13 @@ +//
+// System.Web.Services.Description.OperationOutput.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class OperationOutput : OperationMessage {
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/OutputBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/OutputBinding.cs new file mode 100644 index 00000000000..d1dacc2cbd2 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/OutputBinding.cs @@ -0,0 +1,41 @@ +//
+// System.Web.Services.Description.OutputBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPoint ("Extensions")]
+ public sealed class OutputBinding : MessageBinding {
+
+ #region Fields
+
+ ServiceDescriptionFormatExtensionCollection extensions;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public OutputBinding ()
+ {
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public override ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/Port.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/Port.cs new file mode 100644 index 00000000000..cdd86d9885e --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/Port.cs @@ -0,0 +1,73 @@ +//
+// System.Web.Services.Description.Port.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPoint ("Extensions")]
+ public sealed class Port : DocumentableItem {
+
+ #region Fields
+
+ XmlQualifiedName binding;
+ ServiceDescriptionFormatExtensionCollection extensions;
+ string name;
+ Service service;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public Port ()
+ {
+ binding = null;
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ name = String.Empty;
+ service = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("binding")]
+ public XmlQualifiedName Binding {
+ get { return binding; }
+ set { binding = value; }
+ }
+
+ [XmlIgnore]
+ public ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ [XmlAttribute ("name", DataType = "NCName")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public Service Service {
+ get { return service; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (Service service)
+ {
+ this.service = service;
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/PortCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/PortCollection.cs new file mode 100644 index 00000000000..b7061c8430b --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/PortCollection.cs @@ -0,0 +1,88 @@ +//
+// System.Web.Services.Description.PortCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class PortCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal PortCollection (Service service)
+ : base (service)
+ {
+ }
+
+ #endregion
+
+ #region Properties
+
+ public Port this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+
+ return (Port) List[index];
+ }
+ set { List [index] = value; }
+ }
+
+ public Port this [string name] {
+ get { return this [IndexOf ((Port) Table[name])]; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (Port port)
+ {
+ Insert (Count, port);
+ return (Count - 1);
+ }
+
+ public bool Contains (Port port)
+ {
+ return List.Contains (port);
+ }
+
+ public void CopyTo (Port[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ protected override string GetKey (object value)
+ {
+ if (!(value is Port))
+ throw new InvalidCastException ();
+
+ return ((Port) value).Name;
+ }
+
+ public int IndexOf (Port port)
+ {
+ return List.IndexOf (port);
+ }
+
+ public void Insert (int index, Port port)
+ {
+ List.Insert (index, port);
+ }
+
+ public void Remove (Port port)
+ {
+ List.Remove (port);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((Port) value).SetParent ((Service) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/PortType.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/PortType.cs new file mode 100644 index 00000000000..c5f9205484c --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/PortType.cs @@ -0,0 +1,62 @@ +//
+// System.Web.Services.Description.PortType.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public sealed class PortType : DocumentableItem {
+
+ #region Fields
+
+ string name;
+ OperationCollection operations;
+ ServiceDescription serviceDescription;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public PortType ()
+ {
+ name = String.Empty;
+ operations = new OperationCollection (this);
+ serviceDescription = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("name", DataType = "NCName")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ [XmlElement ("operation")]
+ public OperationCollection Operations {
+ get { return operations; }
+ }
+
+ public ServiceDescription ServiceDescription {
+ get { return serviceDescription; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (ServiceDescription serviceDescription)
+ {
+ this.serviceDescription = serviceDescription;
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/PortTypeCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/PortTypeCollection.cs new file mode 100644 index 00000000000..427a72e215d --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/PortTypeCollection.cs @@ -0,0 +1,87 @@ +//
+// System.Web.Services.Description.PortTypeCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public sealed class PortTypeCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal PortTypeCollection (ServiceDescription serviceDescription)
+ : base (serviceDescription)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public PortType this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+
+ return (PortType) List[index];
+ }
+ set { List [index] = value; }
+ }
+
+ public PortType this [string name] {
+ get { return this [IndexOf ((PortType) Table[name])]; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (PortType portType)
+ {
+ Insert (Count, portType);
+ return (Count - 1);
+ }
+
+ public bool Contains (PortType portType)
+ {
+ return List.Contains (portType);
+ }
+
+ public void CopyTo (PortType[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ protected override string GetKey (object value)
+ {
+ if (!(value is PortType))
+ throw new InvalidCastException ();
+ return ((PortType) value).Name;
+ }
+
+ public int IndexOf (PortType portType)
+ {
+ return List.IndexOf (portType);
+ }
+
+ public void Insert (int index, PortType portType)
+ {
+ List.Insert (index, portType);
+ }
+
+ public void Remove (PortType portType)
+ {
+ List.Remove (portType);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((PortType) value).SetParent ((ServiceDescription) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolImporter.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolImporter.cs new file mode 100644 index 00000000000..f37547f788b --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolImporter.cs @@ -0,0 +1,201 @@ +//
+// System.Web.Services.Description.ProtocolImporter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.CodeDom;
+using System.Web.Services;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public abstract class ProtocolImporter {
+
+ #region Fields
+
+ XmlSchemas abstractSchemas;
+ Binding binding;
+ string className;
+ CodeIdentifiers classNames;
+ CodeNamespace codeNamespace;
+ CodeTypeDeclaration codeTypeDeclaration;
+ XmlSchemas concreteSchemas;
+ Message inputMessage;
+ string methodName;
+ Operation operation;
+ OperationBinding operationBinding;
+ Message outputMessage;
+ Port port;
+ PortType portType;
+ string protocolName;
+ XmlSchemas schemas;
+ Service service;
+ ServiceDescriptionCollection serviceDescriptions;
+ ServiceDescriptionImportStyle style;
+ ServiceDescriptionImportWarnings warnings;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ protected ProtocolImporter ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public XmlSchemas AbstractSchemas {
+ get { return abstractSchemas; }
+ }
+
+ 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; }
+ }
+
+ public XmlSchemas ConcreteSchemas {
+ get { return concreteSchemas; }
+ }
+
+ 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 schemas; }
+ }
+
+ public Service Service {
+ get { return service; }
+ }
+
+ public ServiceDescriptionCollection ServiceDescriptions {
+ get { return serviceDescriptions; }
+ }
+
+ public ServiceDescriptionImportStyle Style {
+ get { return style; }
+ }
+
+ public ServiceDescriptionImportWarnings Warnings {
+ get { return warnings; }
+ set { warnings = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public void AddExtensionWarningComments (CodeCommentStatementCollection comments, ServiceDescriptionFormatExtensionCollection extensions)
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected abstract CodeTypeDeclaration BeginClass ();
+
+ [MonoTODO]
+ protected virtual void BeginNamespace ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected virtual void EndClass ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected virtual void EndNamespace ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ 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 ();
+ }
+
+ [MonoTODO]
+ public void UnsupportedBindingWarning (string text)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void UnsupportedOperationBindingWarning (string text)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void UnsupportedOperationWarning (string text)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolReflector.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolReflector.cs new file mode 100644 index 00000000000..ad7b209387b --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ProtocolReflector.cs @@ -0,0 +1,170 @@ +//
+// System.Web.Services.Description.ProtocolReflector.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+using System.Web.Services.Protocols;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public abstract class ProtocolReflector {
+
+ #region Fields
+
+ Binding binding;
+ string defaultNamespace;
+ MessageCollection headerMessages;
+ Message inputMessage;
+ LogicalMethodInfo method;
+ WebMethodAttribute methodAttribute;
+ LogicalMethodInfo[] methods;
+ Operation operation;
+ OperationBinding operationBinding;
+ Message outputMessage;
+ Port port;
+ PortType portType;
+ string protocolName;
+ XmlReflectionImporter reflectionImporter;
+ XmlSchemaExporter schemaExporter;
+ XmlSchemas schemas;
+ Service service;
+ ServiceDescription serviceDescription;
+ ServiceDescriptionCollection serviceDescriptions;
+ Type serviceType;
+ string serviceUrl;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ protected ProtocolReflector ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public Binding Binding {
+ get { return binding; }
+ }
+
+ public string DefaultNamespace {
+ get { return defaultNamespace; }
+ }
+
+ public MessageCollection HeaderMessages {
+ get { return headerMessages; }
+ }
+
+ public Message InputMessage {
+ get { return inputMessage; }
+ }
+
+ public LogicalMethodInfo Method {
+ get { return method; }
+ }
+
+ public WebMethodAttribute MethodAttribute {
+ get { return methodAttribute; }
+ }
+
+ public LogicalMethodInfo[] Methods {
+ get { return methods; }
+ }
+
+ 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 { return reflectionImporter; }
+ }
+
+ public XmlSchemaExporter SchemaExporter {
+ get { return schemaExporter; }
+ }
+
+ public XmlSchemas Schemas {
+ get { return schemas; }
+ }
+
+ public Service Service {
+ get { return service; }
+ }
+
+ public ServiceDescription ServiceDescription {
+ get { return serviceDescription; }
+ }
+
+ public ServiceDescriptionCollection ServiceDescriptions {
+ get { return serviceDescriptions; }
+ }
+
+ public Type ServiceType {
+ get { return serviceType; }
+ }
+
+ public string ServiceUrl {
+ get { return serviceUrl; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ protected virtual void BeginClass ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected virtual void EndClass ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ public ServiceDescription GetServiceDescription (string ns)
+ {
+ return serviceDescriptions [ns];
+ }
+
+ protected abstract bool ReflectMethod ();
+
+ [MonoTODO]
+ protected virtual string ReflectMethodBinding ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/Service.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/Service.cs new file mode 100644 index 00000000000..a214bd0531a --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/Service.cs @@ -0,0 +1,69 @@ +//
+// System.Web.Services.Description.Service.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public sealed class Service : DocumentableItem {
+
+ #region Fields
+
+ ServiceDescriptionFormatExtensionCollection extensions;
+ string name;
+ PortCollection ports;
+ ServiceDescription serviceDescription;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public Service ()
+ {
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ name = String.Empty;
+ ports = new PortCollection (this);
+ serviceDescription = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ [XmlAttribute ("name", DataType = "NCName")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ [XmlElement ("port")]
+ public PortCollection Ports {
+ get { return ports; }
+ }
+
+ public ServiceDescription ServiceDescription {
+ get { return serviceDescription; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (ServiceDescription serviceDescription)
+ {
+ this.serviceDescription = serviceDescription;
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceCollection.cs new file mode 100644 index 00000000000..fa781e6ce8b --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceCollection.cs @@ -0,0 +1,90 @@ +//
+// System.Web.Services.Description.ServiceCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Description {
+ public sealed class ServiceCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ internal ServiceCollection (ServiceDescription serviceDescription)
+ : base (serviceDescription)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public Service this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+
+ return (Service) List[index];
+ }
+ set { List [index] = value; }
+ }
+
+ public Service this [string name] {
+ get { return this [IndexOf ((Service) Table[name])]; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (Service service)
+ {
+ Insert (Count, service);
+ return (Count - 1);
+ }
+
+ public bool Contains (Service service)
+ {
+ return List.Contains (service);
+ }
+
+ public void CopyTo (Service[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ protected override string GetKey (object value)
+ {
+ if (!(value is Service))
+ throw new InvalidCastException ();
+
+ return ((Service) value).Name;
+ }
+
+ public int IndexOf (Service service)
+ {
+ return List.IndexOf (service);
+ }
+
+ public void Insert (int index, Service service)
+ {
+ List.Insert (index, service);
+ }
+
+ public void Remove (Service service)
+ {
+ List.Remove (service);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((Service) value).SetParent ((ServiceDescription) parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescription.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescription.cs new file mode 100644 index 00000000000..737324c5acd --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescription.cs @@ -0,0 +1,260 @@ +//
+// System.Web.Services.Description.ServiceDescription.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Web.Services;
+using System.Web.Services.Configuration;
+using System.Xml;
+using System.Xml.Schema;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPoint ("Extensions")]
+ [XmlRoot ("definitions", Namespace = "http://schemas.xmlsoap.org/wsdl/")]
+ public sealed class ServiceDescription : DocumentableItem {
+
+ #region Fields
+
+ public const string Namespace = "http://schemas.xmlsoap.org/wsdl/";
+
+ BindingCollection bindings;
+ ServiceDescriptionFormatExtensionCollection extensions;
+ ImportCollection imports;
+ MessageCollection messages;
+ string name;
+ PortTypeCollection portTypes;
+ string retrievalUrl;
+ ServiceDescriptionCollection serviceDescriptions;
+ ServiceCollection services;
+ string targetNamespace;
+ Types types;
+ static ServiceDescriptionSerializer serializer;
+ XmlSerializerNamespaces ns;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ static ServiceDescription ()
+ {
+ serializer = new ServiceDescriptionSerializer ();
+ }
+
+ [MonoTODO ("Move namespaces to subtype, use ServiceDescriptionSerializer")]
+ public ServiceDescription ()
+ {
+ bindings = new BindingCollection (this);
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ imports = new ImportCollection (this);
+ messages = new MessageCollection (this);
+ name = String.Empty;
+ portTypes = new PortTypeCollection (this);
+
+ serviceDescriptions = null;
+ services = new ServiceCollection (this);
+ targetNamespace = String.Empty;
+ types = null;
+
+ ns = new XmlSerializerNamespaces ();
+ ns.Add ("soap", SoapBinding.Namespace);
+ ns.Add ("s", XmlSchema.Namespace);
+ ns.Add ("http", HttpBinding.Namespace);
+ ns.Add ("mime", MimeContentBinding.Namespace);
+ ns.Add ("tm", MimeTextBinding.Namespace);
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlElement ("binding")]
+ public BindingCollection Bindings {
+ get { return bindings; }
+ }
+
+ [XmlIgnore]
+ public ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ [XmlElement ("import")]
+ public ImportCollection Imports {
+ get { return imports; }
+ }
+
+ [XmlElement ("message")]
+ public MessageCollection Messages {
+ get { return messages; }
+ }
+
+ [XmlAttribute ("name", DataType = "NMTOKEN")]
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ [XmlElement ("portType")]
+ public PortTypeCollection PortTypes {
+ get { return portTypes; }
+ }
+
+ [XmlIgnore]
+ public string RetrievalUrl {
+ get { return retrievalUrl; }
+ set { retrievalUrl = value; }
+ }
+
+ [XmlIgnore]
+ public static XmlSerializer Serializer {
+ get { return serializer; }
+ }
+
+ [XmlIgnore]
+ public ServiceDescriptionCollection ServiceDescriptions {
+ get {
+ if (serviceDescriptions == null)
+ throw new NullReferenceException ();
+ return serviceDescriptions;
+ }
+ }
+
+ [XmlElement ("service")]
+ public ServiceCollection Services {
+ get { return services; }
+ }
+
+ [XmlAttribute ("targetNamespace")]
+ public string TargetNamespace {
+ get { return targetNamespace; }
+ set { targetNamespace = value; }
+ }
+
+ [XmlElement ("types")]
+ public Types Types {
+ get { return types; }
+ set { types = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public static bool CanRead (XmlReader reader)
+ {
+ return serializer.CanDeserialize (reader);
+ }
+
+ public static ServiceDescription Read (Stream stream)
+ {
+ return (ServiceDescription) serializer.Deserialize (stream);
+ }
+
+ public static ServiceDescription Read (string fileName)
+ {
+ return Read (new FileStream (fileName, FileMode.Open));
+ }
+
+ public static ServiceDescription Read (TextReader textReader)
+ {
+ return (ServiceDescription) serializer.Deserialize (textReader);
+ }
+
+ public static ServiceDescription Read (XmlReader reader)
+ {
+ return (ServiceDescription) serializer.Deserialize (reader);
+ }
+
+ public void Write (Stream stream)
+ {
+
+ serializer.Serialize (stream, this, ns);
+ }
+
+ public void Write (string fileName)
+ {
+ Write (new FileStream (fileName, FileMode.Create));
+ }
+
+ public void Write (TextWriter writer)
+ {
+ serializer.Serialize (writer, this, ns);
+ }
+
+ public void Write (XmlWriter writer)
+ {
+ serializer.Serialize (writer, this, ns);
+ }
+
+ internal void SetParent (ServiceDescriptionCollection serviceDescriptions)
+ {
+ this.serviceDescriptions = serviceDescriptions;
+ }
+
+ #endregion
+
+ internal class ServiceDescriptionSerializer : XmlSerializer {
+
+ #region Fields
+
+ XmlSerializerNamespaces ns;
+
+ #endregion
+
+ #region Constructors
+
+ [MonoTODO]
+ public ServiceDescriptionSerializer ()
+ : base (typeof (ServiceDescription), ServiceDescription.Namespace)
+ {
+ ns = new XmlSerializerNamespaces ();
+ ns.Add ("soap", SoapBinding.Namespace);
+ ns.Add ("s", XmlSchema.Namespace);
+ ns.Add ("http", HttpBinding.Namespace);
+ ns.Add ("mime", MimeContentBinding.Namespace);
+ ns.Add ("tm", MimeTextBinding.Namespace);
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public override bool CanDeserialize (XmlReader reader)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override XmlSerializationReader CreateReader ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override XmlSerializationWriter CreateWriter ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override object Deserialize (XmlSerializationReader reader)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override void Serialize (object serviceDescription, XmlSerializationWriter writer)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionBaseCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionBaseCollection.cs new file mode 100644 index 00000000000..187bb762c5c --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionBaseCollection.cs @@ -0,0 +1,80 @@ +//
+// System.Web.Services.Description.ServiceDescriptionBaseCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+using System.Web.Services;
+
+namespace System.Web.Services.Description {
+ public abstract class ServiceDescriptionBaseCollection : CollectionBase {
+
+ #region Fields
+
+ Hashtable table = new Hashtable ();
+ object parent;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ internal ServiceDescriptionBaseCollection (object parent)
+ {
+ this.parent = parent;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ protected virtual IDictionary Table {
+ get { return table; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ protected virtual string GetKey (object value)
+ {
+ return null;
+ }
+
+ protected override void OnClear ()
+ {
+ Table.Clear ();
+ }
+
+ protected override void OnInsertComplete (int index, object value)
+ {
+ if (GetKey (value) != null)
+ Table [GetKey (value)] = value;
+ SetParent (value, parent);
+ }
+
+ protected override void OnRemove (int index, object value)
+ {
+ if (GetKey (value) != null)
+ Table.Remove (GetKey (value));
+ }
+
+ protected override void OnSet (int index, object oldValue, object newValue)
+ {
+ if (GetKey (oldValue) != null)
+ Table.Remove (GetKey (oldValue));
+ if (GetKey (newValue) != null)
+ Table [GetKey (newValue)] = newValue;
+ SetParent (newValue, parent);
+ }
+
+ protected virtual void SetParent (object value, object parent)
+ {
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionCollection.cs new file mode 100644 index 00000000000..d152d5f8167 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionCollection.cs @@ -0,0 +1,121 @@ +//
+// System.Web.Services.Description.ServiceDescriptionCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+using System.Xml;
+
+namespace System.Web.Services.Description {
+ public sealed class ServiceDescriptionCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ public ServiceDescriptionCollection ()
+ : base (null)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public ServiceDescription this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+
+ return (ServiceDescription) List[index];
+ }
+ set { List [index] = value; }
+ }
+
+ public ServiceDescription this [string ns] {
+ get { return this[IndexOf ((ServiceDescription) Table[ns])]; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (ServiceDescription serviceDescription)
+ {
+ Insert (Count, serviceDescription);
+ return (Count - 1);
+ }
+
+ public bool Contains (ServiceDescription serviceDescription)
+ {
+ return List.Contains (serviceDescription);
+ }
+
+ public void CopyTo (ServiceDescription[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public Binding GetBinding (XmlQualifiedName name)
+ {
+ foreach (object value in List)
+ foreach (Binding binding in ((ServiceDescription) value).Bindings)
+ if (binding.Name == name.Name)
+ return binding;
+ throw new Exception ();
+ }
+
+ protected override string GetKey (object value)
+ {
+ if (!(value is ServiceDescription))
+ throw new InvalidCastException ();
+ return ((ServiceDescription) value).TargetNamespace;
+ }
+
+ public Message GetMessage (XmlQualifiedName name)
+ {
+ foreach (object value in List)
+ foreach (Message message in ((ServiceDescription) value).Messages)
+ if (message.Name == name.Name)
+ return message;
+ throw new Exception ();
+ }
+
+ public PortType GetPortType (XmlQualifiedName name)
+ {
+ foreach (object value in List)
+ foreach (PortType portType in ((ServiceDescription) value).PortTypes)
+ if (portType.Name == name.Name)
+ return portType;
+ throw new Exception ();
+ }
+
+ public Service GetService (XmlQualifiedName name)
+ {
+ foreach (object value in List)
+ foreach (Service service in ((ServiceDescription) value).Services)
+ if (service.Name == name.Name)
+ return service;
+ throw new Exception ();
+ }
+
+ public int IndexOf (ServiceDescription serviceDescription)
+ {
+ return List.IndexOf (serviceDescription);
+ }
+
+ public void Insert (int index, ServiceDescription serviceDescription)
+ {
+ List.Insert (index, serviceDescription);
+ }
+
+ public void Remove (ServiceDescription serviceDescription)
+ {
+ List.Remove (serviceDescription);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionFormatExtension.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionFormatExtension.cs new file mode 100644 index 00000000000..e8d51b50b67 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionFormatExtension.cs @@ -0,0 +1,65 @@ +//
+// System.Web.Services.Description.ServiceDescriptionFormatExtension.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public abstract class ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ bool handled;
+ object parent;
+ bool required;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ protected ServiceDescriptionFormatExtension ()
+ {
+ handled = false;
+ parent = null;
+ required = false;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public bool Handled {
+ get { return handled; }
+ set { handled = value; }
+ }
+
+ public object Parent {
+ get { return parent; }
+ }
+
+ [DefaultValue (false)]
+ [XmlAttribute ("required", Namespace = "http://schemas.xmlsoap.org/wsdl/")]
+ public bool Required {
+ get { return required; }
+ set { required = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ internal void SetParent (object value)
+ {
+ parent = value;
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionFormatExtensionCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionFormatExtensionCollection.cs new file mode 100644 index 00000000000..6363c90891f --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionFormatExtensionCollection.cs @@ -0,0 +1,154 @@ +//
+// System.Web.Services.Description.ServiceDescriptionFormatExtensionCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+using System.Web.Services;
+using System.Xml;
+
+namespace System.Web.Services.Description {
+ public sealed class ServiceDescriptionFormatExtensionCollection : ServiceDescriptionBaseCollection {
+
+ #region Constructors
+
+ public ServiceDescriptionFormatExtensionCollection (object parent)
+ : base (parent)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public object this [int index] {
+ get {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+
+ return List[index];
+ }
+ set { List[index] = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (object extension)
+ {
+ Insert (Count, extension);
+ return (Count - 1);
+ }
+
+ public bool Contains (object extension)
+ {
+ return List.Contains (extension);
+ }
+
+ public void CopyTo (object[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public object Find (Type type)
+ {
+ foreach (object value in List)
+ if (value.GetType () == type)
+ return value;
+ return null;
+ }
+
+ public XmlElement Find (string name, string ns)
+ {
+ XmlElement xmlElement;
+ foreach (object value in List)
+ if (value is XmlElement) {
+ xmlElement = (value as XmlElement);
+ if (xmlElement.Name == name && xmlElement.NamespaceURI == ns)
+ return xmlElement;
+ }
+ return null;
+ }
+
+ public object[] FindAll (Type type)
+ {
+ ArrayList searchResults = new ArrayList ();
+ foreach (object value in List)
+ if (value.GetType () == type)
+ searchResults.Add (value);
+ object[] returnValue = new object [searchResults.Count];
+
+ if (searchResults.Count > 0)
+ searchResults.CopyTo (returnValue);
+
+ return returnValue;
+ }
+
+ public XmlElement[] FindAll (string name, string ns)
+ {
+ ArrayList searchResults = new ArrayList ();
+ XmlElement xmlElement;
+
+ foreach (object value in List)
+ if (value is XmlElement) {
+ xmlElement = (value as XmlElement);
+ if (xmlElement.Name == name && xmlElement.NamespaceURI == ns)
+ searchResults.Add (xmlElement);
+ }
+
+ XmlElement[] returnValue = new XmlElement [searchResults.Count];
+
+ if (searchResults.Count > 0)
+ searchResults.CopyTo (returnValue);
+
+ return returnValue;
+ }
+
+ public int IndexOf (object extension)
+ {
+ return List.IndexOf (extension);
+ }
+
+ public void Insert (int index, object extension)
+ {
+ List.Insert (index, extension);
+ }
+
+ [MonoTODO]
+ public bool IsHandled (object item)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public bool IsRequired (object item)
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected override void OnValidate (object value)
+ {
+ if (value == null)
+ throw new ArgumentNullException ();
+ if (!(value is XmlElement || value is ServiceDescriptionFormatExtension))
+ throw new ArgumentException ();
+ }
+
+ public void Remove (object extension)
+ {
+ List.Remove (extension);
+ }
+
+ protected override void SetParent (object value, object parent)
+ {
+ ((ServiceDescriptionFormatExtension) value).SetParent (parent);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionImportStyle.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionImportStyle.cs new file mode 100644 index 00000000000..5bcb9026908 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionImportStyle.cs @@ -0,0 +1,15 @@ +//
+// System.Web.Services.Description.ServiceDescriptionImportStyle.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public enum ServiceDescriptionImportStyle {
+ Client,
+ Server
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionImportWarnings.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionImportWarnings.cs new file mode 100644 index 00000000000..5e4c329724a --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionImportWarnings.cs @@ -0,0 +1,20 @@ +//
+// System.Web.Services.Description.ServiceDescriptionImportWarnings.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ [Serializable]
+ public enum ServiceDescriptionImportWarnings {
+ NoCodeGenerated = 0x1,
+ NoMethodsGenerated = 0x20,
+ OptionalExtensionsIgnored = 0x2,
+ RequiredExtensionsIgnored = 0x4,
+ UnsupportedBindingsIgnored = 0x10,
+ UnsupportedOperationsIgnored = 0x8
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionImporter.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionImporter.cs new file mode 100644 index 00000000000..491fb3a85a8 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionImporter.cs @@ -0,0 +1,76 @@ +//
+// System.Web.Services.Description.ServiceDescriptionImporter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.CodeDom;
+using System.Web.Services;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public class ServiceDescriptionImporter {
+
+ #region Fields
+
+ string protocolName;
+ XmlSchemas schemas;
+ ServiceDescriptionCollection serviceDescriptions;
+ ServiceDescriptionImportStyle style;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public ServiceDescriptionImporter ()
+ {
+ protocolName = String.Empty;
+ schemas = new XmlSchemas ();
+ serviceDescriptions = new ServiceDescriptionCollection ();
+ style = ServiceDescriptionImportStyle.Client;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public string ProtocolName {
+ get { return protocolName; }
+ set { protocolName = value; }
+ }
+
+ public XmlSchemas Schemas {
+ get { return schemas; }
+ }
+
+ public ServiceDescriptionCollection ServiceDescriptions {
+ get { return serviceDescriptions; }
+ }
+
+ public ServiceDescriptionImportStyle Style {
+ get { return style; }
+ set { style = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public void AddServiceDescription (ServiceDescription serviceDescription, string appSettingUrlKey, string appSettingBaseUrl)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public ServiceDescriptionImportWarnings Import (CodeNamespace codeNamespace, CodeCompileUnit codeCompileUnit)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionReflector.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionReflector.cs new file mode 100644 index 00000000000..d270f209823 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/ServiceDescriptionReflector.cs @@ -0,0 +1,56 @@ +//
+// System.Web.Services.Description.ServiceDescriptionReflector.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public class ServiceDescriptionReflector {
+
+ #region Fields
+
+ XmlSchemas schemas;
+ ServiceDescriptionCollection serviceDescriptions;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public ServiceDescriptionReflector ()
+ {
+ schemas = new XmlSchemas ();
+ serviceDescriptions = new ServiceDescriptionCollection ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public XmlSchemas Schemas {
+ get { return schemas; }
+ }
+
+ public ServiceDescriptionCollection ServiceDescriptions {
+ get { return serviceDescriptions; }
+ }
+
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public void Reflect (Type type, string url)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapAddressBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapAddressBinding.cs new file mode 100644 index 00000000000..82a3a3dca0e --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapAddressBinding.cs @@ -0,0 +1,42 @@ +//
+// System.Web.Services.Description.SoapAddressBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("address", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (Port))]
+ public sealed class SoapAddressBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ string location;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public SoapAddressBinding ()
+ {
+ location = String.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("location")]
+ public string Location {
+ get { return location; }
+ set { location = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBinding.cs new file mode 100644 index 00000000000..05f24f0c741 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBinding.cs @@ -0,0 +1,61 @@ +//
+// System.Web.Services.Description.SoapBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPrefix ("soap", "http://schemas.xmlsoap.org/wsdl/soap/")]
+ [XmlFormatExtension ("binding", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (Binding))]
+ // FIXME: this won't compile!
+ // [XmlFormatExtensionPrefix ("soapenc", "http://schemas.xmlsoap.org/soap/encoding/")]
+ public sealed class SoapBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ public const string HttpTransport = "http://schemas.xmlsoap.org/soap/http/";
+ public const string Namespace = "http://schemas.xmlsoap.org/wsdl/soap/";
+
+ SoapBindingStyle style;
+ string transport;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public SoapBinding ()
+ {
+ style = SoapBindingStyle.Document;
+ transport = String.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ // LAMESPEC: .NET says that the default value is SoapBindingStyle.Document but
+ // reflection shows this attribute is SoapBindingStyle.Default
+
+ [DefaultValue (SoapBindingStyle.Default)]
+ [XmlAttribute ("style")]
+ public SoapBindingStyle Style {
+ get { return style; }
+ set { style = value; }
+ }
+
+ [XmlAttribute ("transport")]
+ public string Transport {
+ get { return transport; }
+ set { transport = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBindingStyle.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBindingStyle.cs new file mode 100644 index 00000000000..3812cd8622e --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBindingStyle.cs @@ -0,0 +1,21 @@ +//
+// System.Web.Services.Description.SoapBindingStyle.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public enum SoapBindingStyle {
+ [XmlIgnore]
+ Default,
+ [XmlEnum ("document")]
+ Document,
+ [XmlEnum ("rpc")]
+ Rpc
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBindingUse.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBindingUse.cs new file mode 100644 index 00000000000..d04bd50414f --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBindingUse.cs @@ -0,0 +1,21 @@ +//
+// System.Web.Services.Description.SoapBindingUse.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public enum SoapBindingUse {
+ [XmlIgnore]
+ Default,
+ [XmlEnum ("encoded")]
+ Encoded,
+ [XmlEnum ("literal")]
+ Literal
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBodyBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBodyBinding.cs new file mode 100644 index 00000000000..963f9d2e4de --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapBodyBinding.cs @@ -0,0 +1,76 @@ +//
+// System.Web.Services.Description.SoapBodyBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("body", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (InputBinding), typeof (OutputBinding), typeof (MimePart))]
+ public sealed class SoapBodyBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ string encoding;
+ string ns;
+ string[] parts;
+ SoapBindingUse use;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public SoapBodyBinding ()
+ {
+ encoding = String.Empty;
+ ns = String.Empty;
+ parts = null;
+ use = SoapBindingUse.Default;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [DefaultValue ("")]
+ [XmlAttribute ("encodingStyle")]
+ public string Encoding {
+ get { return encoding; }
+ set { encoding = value; }
+ }
+
+ [DefaultValue ("")]
+ [XmlAttribute ("namespace")]
+ public string Namespace {
+ get { return ns; }
+ set { ns = value; }
+ }
+
+ [XmlIgnore]
+ public string[] Parts {
+ get { return parts; }
+ set { parts = value; }
+ }
+
+ [XmlAttribute ("parts", DataType = "NMTOKENS")]
+ public string PartsString {
+ get { return String.Join (" ", Parts); }
+ set { Parts = value.Split (' '); }
+ }
+
+ [DefaultValue (SoapBindingUse.Default)]
+ [XmlAttribute ("use")]
+ public SoapBindingUse Use {
+ get { return use; }
+ set { use = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapExtensionImporter.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapExtensionImporter.cs new file mode 100644 index 00000000000..ce33bc68906 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapExtensionImporter.cs @@ -0,0 +1,44 @@ +//
+// System.Web.Services.Description.SoapExtensionImporter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.CodeDom;
+
+namespace System.Web.Services.Description {
+ public abstract class SoapExtensionImporter {
+
+ #region Fields
+
+ SoapProtocolImporter importContext;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ protected SoapExtensionImporter ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public SoapProtocolImporter ImportContext {
+ get { return importContext; }
+ set { importContext = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public abstract void ImportMethod (CodeAttributeDeclarationCollection metadata);
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapExtensionReflector.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapExtensionReflector.cs new file mode 100644 index 00000000000..9eb0e34af41 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapExtensionReflector.cs @@ -0,0 +1,42 @@ +//
+// System.Web.Services.Description.SoapExtensionReflector.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public abstract class SoapExtensionReflector {
+
+ #region Fields
+
+ ProtocolReflector reflectionContext;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ protected SoapExtensionReflector ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public ProtocolReflector ReflectionContext {
+ get { return reflectionContext; }
+ set { reflectionContext = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public abstract void ReflectMethod ();
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapFaultBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapFaultBinding.cs new file mode 100644 index 00000000000..a67e4219de8 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapFaultBinding.cs @@ -0,0 +1,60 @@ +//
+// System.Web.Services.Description.SoapFaultBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("fault", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (FaultBinding))]
+ public sealed class SoapFaultBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ string encoding;
+ string ns;
+ SoapBindingUse use;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public SoapFaultBinding ()
+ {
+ encoding = String.Empty;
+ ns = String.Empty;
+ use = SoapBindingUse.Default;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("encodingStyle")]
+ public string Encoding {
+ get { return encoding; }
+ set { encoding = value; }
+ }
+
+ [XmlAttribute ("namespace")]
+ public string Namespace {
+ get { return ns; }
+ set { ns = value; }
+ }
+
+ [DefaultValue (SoapBindingUse.Default)]
+ [XmlAttribute ("use")]
+ public SoapBindingUse Use {
+ get { return use; }
+ set { use = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapHeaderBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapHeaderBinding.cs new file mode 100644 index 00000000000..74bfd6c90eb --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapHeaderBinding.cs @@ -0,0 +1,89 @@ +//
+// System.Web.Services.Description.SoapHeaderBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Web.Services;
+using System.Web.Services.Configuration;
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("header", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (InputBinding), typeof (OutputBinding))]
+ public sealed class SoapHeaderBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ string encoding;
+ bool mapToProperty;
+ XmlQualifiedName message;
+ string ns;
+ string part;
+ SoapBindingUse use;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public SoapHeaderBinding ()
+ {
+ encoding = String.Empty;
+ mapToProperty = false; // FIXME: is this right?
+ message = XmlQualifiedName.Empty;
+ ns = String.Empty;
+ part = String.Empty;
+ use = SoapBindingUse.Default;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [DefaultValue ("")]
+ [XmlAttribute ("encodingStyle")]
+ public string Encoding {
+ get { return encoding; }
+ set { encoding = value; }
+ }
+
+ [XmlIgnore]
+ public bool MapToProperty {
+ get { return mapToProperty; }
+ set { mapToProperty = value; }
+ }
+
+ [XmlAttribute ("message")]
+ public XmlQualifiedName Message {
+ get { return message; }
+ set { message = value; }
+ }
+
+ [DefaultValue ("")]
+ [XmlAttribute ("namespace")]
+ public string Namespace {
+ get { return ns; }
+ set { ns = value; }
+ }
+
+ [XmlAttribute ("part", DataType = "NMTOKEN")]
+ public string Part {
+ get { return part; }
+ set { part = value; }
+ }
+
+ [DefaultValue (SoapBindingUse.Default)]
+ [XmlAttribute ("use")]
+ public SoapBindingUse Use {
+ get { return use; }
+ set { use = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapHeaderFaultBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapHeaderFaultBinding.cs new file mode 100644 index 00000000000..e33bcc685c0 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapHeaderFaultBinding.cs @@ -0,0 +1,82 @@ +//
+// System.Web.Services.Description.SoapHeaderFaultBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Web.Services.Configuration;
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("headerfault", "http://schemas.xmlsoap.org/wsdl/soap/", typeof (InputBinding), typeof (OutputBinding))]
+ public sealed class SoapHeaderFaultBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ string encoding;
+ bool mapToProperty;
+ XmlQualifiedName message;
+ string ns;
+ string part;
+ SoapBindingUse use;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public SoapHeaderFaultBinding ()
+ {
+ encoding = String.Empty;
+ mapToProperty = false; // FIXME: is this right?
+ message = XmlQualifiedName.Empty;
+ ns = String.Empty;
+ part = String.Empty;
+ use = SoapBindingUse.Default;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [DefaultValue ("")]
+ [XmlAttribute ("encodingStyle")]
+ public string Encoding {
+ get { return encoding; }
+ set { encoding = value; }
+ }
+
+ [XmlAttribute ("message")]
+ public XmlQualifiedName Message {
+ get { return message; }
+ set { message = value; }
+ }
+
+ [DefaultValue ("")]
+ [XmlAttribute ("namespace")]
+ public string Namespace {
+ get { return ns; }
+ set { ns = value; }
+ }
+
+ [XmlAttribute ("part", DataType = "NMTOKEN")]
+ public string Part {
+ get { return part; }
+ set { part = value; }
+ }
+
+ [DefaultValue (SoapBindingUse.Default)]
+ [XmlAttribute ("use")]
+ public SoapBindingUse Use {
+ get { return use; }
+ set { use = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapOperationBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapOperationBinding.cs new file mode 100644 index 00000000000..81492c78049 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapOperationBinding.cs @@ -0,0 +1,56 @@ +//
+// System.Web.Services.Description.SoapOperationBinding.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Web.Services.Configuration;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtension ("operation", "http://schema.xmlsoap.org/wsdl/soap/", typeof (OperationBinding))]
+ public sealed class SoapOperationBinding : ServiceDescriptionFormatExtension {
+
+ #region Fields
+
+ string soapAction;
+ SoapBindingStyle style;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public SoapOperationBinding ()
+ {
+ soapAction = String.Empty;
+ style = SoapBindingStyle.Document;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute ("soapAction")]
+ public string SoapAction {
+ get { return soapAction; }
+ set { soapAction = value; }
+ }
+
+ // LAMESPEC: .NET Documentation says that the default value for this property is
+ // SoapBindingStyle.Document (see constructor), but reflection shows that this
+ // attribute value is SoapBindingStyle.Default
+
+ [DefaultValue (SoapBindingStyle.Default)]
+ [XmlAttribute ("style")]
+ public SoapBindingStyle Style {
+ get { return style; }
+ set { style = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapProtocolImporter.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapProtocolImporter.cs new file mode 100644 index 00000000000..f9982eeed20 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapProtocolImporter.cs @@ -0,0 +1,111 @@ +//
+// System.Web.Services.Description.SoapProtocolImporter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.CodeDom;
+using System.Web.Services;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ public sealed class SoapProtocolImporter : ProtocolImporter {
+
+ #region Fields
+
+ SoapBinding soapBinding;
+ SoapCodeExporter soapExporter;
+ SoapSchemaImporter soapImporter;
+ XmlCodeExporter xmlExporter;
+ XmlSchemaImporter xmlImporter;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public SoapProtocolImporter ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #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
+
+ [MonoTODO]
+ protected override CodeTypeDeclaration BeginClass ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override void BeginNamespace ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override void EndClass ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override void EndNamespace ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override CodeMemberMethod GenerateMethod ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override bool IsBindingSupported ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override bool IsOperationFlowSupported (OperationFlow flow)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapProtocolReflector.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapProtocolReflector.cs new file mode 100644 index 00000000000..cc7fbe03af7 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapProtocolReflector.cs @@ -0,0 +1,70 @@ +//
+// System.Web.Services.Description.SoapProtocolReflector.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+using System.Web.Services.Protocols;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [MonoTODO ("This class is based on conjecture and guesswork.")]
+ internal class SoapProtocolReflector : ProtocolReflector {
+
+ #region Fields
+
+ SoapBinding soapBinding;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public SoapProtocolReflector ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public override string ProtocolName {
+ get { return "Soap"; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ protected override void BeginClass ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override void EndClass ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override bool ReflectMethod ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override string ReflectMethodBinding ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/SoapTransportImporter.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapTransportImporter.cs new file mode 100644 index 00000000000..22d76ed9978 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/SoapTransportImporter.cs @@ -0,0 +1,44 @@ +//
+// System.Web.Services.Description.SoapTransportImporter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Description {
+ public abstract class SoapTransportImporter {
+
+ #region Fields
+
+ SoapProtocolImporter importContext;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ 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);
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Description/Types.cs b/mcs/class/System.Web.Services/System.Web.Services.Description/Types.cs new file mode 100644 index 00000000000..6f19742f9f6 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Description/Types.cs @@ -0,0 +1,49 @@ +//
+// System.Web.Services.Description.Types.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Configuration;
+using System.Xml.Schema;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Description {
+ [XmlFormatExtensionPoint ("Extensions")]
+ public sealed class Types : DocumentableItem {
+
+ #region Fields
+
+ ServiceDescriptionFormatExtensionCollection extensions;
+ XmlSchemas schemas;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public Types ()
+ {
+ extensions = new ServiceDescriptionFormatExtensionCollection (this);
+ schemas = new XmlSchemas ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public ServiceDescriptionFormatExtensionCollection Extensions {
+ get { return extensions; }
+ }
+
+ [XmlElement ("schema", typeof (XmlSchema), Namespace = "http://www.w3.org/2001/XMLSchema")]
+ public XmlSchemas Schemas {
+ get { return schemas; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ChangeLog new file mode 100755 index 00000000000..5f4f2cbda07 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ChangeLog @@ -0,0 +1,61 @@ +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] + + diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractReference.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractReference.cs new file mode 100755 index 00000000000..39cfbc54397 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractReference.cs @@ -0,0 +1,107 @@ +//
+// System.Web.Services.Discovery.ContractReference.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+using System.IO;
+using System.Web.Services.Description;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Discovery {
+
+ [XmlRootAttribute("contractRef", Namespace="https://schemas.xmlsoap.org/disco/scl/", IsNullable=true)]
+ public class ContractReference : DiscoveryReference {
+
+ #region Fields
+
+ public const string Namespace = "http://schemas.xmlsoap.org/disco/scl/";
+
+ private ServiceDescription contract;
+ private string defaultFilename;
+ private string docRef;
+ private string href;
+ private string url;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public ContractReference ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public ContractReference (string href) : this()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public ContractReference (string href, string docRef) : this(href)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public ServiceDescription Contract {
+ get { return contract; }
+ }
+
+ [XmlIgnore]
+ public override string DefaultFilename {
+ get { return defaultFilename; }
+ }
+
+ [XmlAttribute("docRef")]
+ public string DocRef {
+ get { return docRef; }
+ set { docRef = value; }
+ }
+
+ [XmlAttribute("ref")]
+ public string Ref {
+ get { return href; }
+ set { href = value; }
+ }
+
+ [XmlIgnore]
+ public override string Url {
+ get { return url;}
+ set { url = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public override object ReadDocument (Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected internal override void Resolve (string contentType, Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void WriteDocument (object document, Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractSearchPattern.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractSearchPattern.cs new file mode 100755 index 00000000000..87a5d25a927 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ContractSearchPattern.cs @@ -0,0 +1,47 @@ +//
+// System.Web.Services.Protocols.ContractSearchPattern.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+namespace System.Web.Services.Discovery {
+ public sealed class ContractSearchPattern : DiscoverySearchPattern {
+
+ #region Fields
+
+ private string pattern = "*.asmx";
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public ContractSearchPattern ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public override string Pattern {
+ get { return pattern; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public override DiscoveryReference GetDiscoveryReference (string filename)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientDocumentCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientDocumentCollection.cs new file mode 100755 index 00000000000..3d4e77ee2c4 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientDocumentCollection.cs @@ -0,0 +1,66 @@ +//
+// System.Web.Services.Discovery.DiscoveryClientDocumentCollection.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Dave Bettin, 2002
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+
+namespace System.Web.Services.Discovery {
+ public sealed class DiscoveryClientDocumentCollection : DictionaryBase {
+
+ #region Constructors
+
+ public DiscoveryClientDocumentCollection ()
+ : base ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public object this [string url] {
+ get { return InnerHashtable [url]; }
+ set {
+ if (url == null)
+ throw new ArgumentNullException ();
+ InnerHashtable [url] = value;
+ }
+ }
+
+ public ICollection Keys {
+ get { return InnerHashtable.Keys; }
+ }
+
+ public ICollection Values {
+ get { return InnerHashtable.Values; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public void Add (string url, object value)
+ {
+ InnerHashtable [url] = value;
+ }
+
+ public bool Contains (string url)
+ {
+ return InnerHashtable.Contains (url);
+ }
+
+ public void Remove (string url)
+ {
+ InnerHashtable.Remove (url);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientProtocol.cs new file mode 100755 index 00000000000..622222c19d8 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientProtocol.cs @@ -0,0 +1,138 @@ +//
+// System.Web.Services.Protocols.DiscoveryClientProtocol.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+using System.Collections;
+using System.IO;
+using System.Web.Services.Protocols;
+
+namespace System.Web.Services.Discovery {
+ public class DiscoveryClientProtocol : HttpWebClientProtocol {
+
+ #region Fields
+
+ private IList additionalInformation;
+ private DiscoveryClientDocumentCollection documents;
+ private DiscoveryExceptionDictionary errors;
+ private DiscoveryClientReferenceCollection references;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public DiscoveryClientProtocol ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public IList AdditionalInformation {
+ get { return additionalInformation; }
+ }
+
+ public DiscoveryClientDocumentCollection Documents {
+ get { return documents; }
+ }
+
+ public DiscoveryExceptionDictionary Errors {
+ get { return errors; }
+ }
+
+ public DiscoveryClientReferenceCollection References {
+ get { return references; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public DiscoveryDocument Discover (string url)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public DiscoveryDocument DiscoverAny (string url)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public Stream Download (ref string url)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public Stream Download (ref string url, ref string contentType)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public DiscoveryClientResultCollection ReadAll (string topLevelFilename)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void ResolveAll ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void ResolveOneLevel ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public DiscoveryClientResultCollection WriteAll (string directory, string topLevelFilename)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+
+ #region Classes
+
+ public sealed class DiscoveryClientResultsFile {
+
+ #region Fields
+
+ private DiscoveryClientResultCollection results;
+
+ #endregion // Fields
+
+ #region Contructors
+
+ [MonoTODO]
+ public DiscoveryClientResultsFile ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public DiscoveryClientResultCollection Results {
+ get { return results; }
+ }
+
+ #endregion // Properties
+ }
+ #endregion // Classes
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientReferenceCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientReferenceCollection.cs new file mode 100755 index 00000000000..a98ec112022 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientReferenceCollection.cs @@ -0,0 +1,67 @@ +//
+// System.Web.Services.Protocols.DiscoveryClientReferenceCollection.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Dave Bettin, 2002
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+
+namespace System.Web.Services.Discovery {
+ public sealed class DiscoveryClientReferenceCollection : DictionaryBase {
+
+ #region Constructors
+
+ public DiscoveryClientReferenceCollection ()
+ : base ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public DiscoveryReference this [string url] {
+ get { return (DiscoveryReference) InnerHashtable [url]; }
+ set { InnerHashtable [url] = value; }
+ }
+
+ public ICollection Keys {
+ get { return InnerHashtable.Keys; }
+ }
+
+ public ICollection Values {
+ get { return InnerHashtable.Values; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public void Add (DiscoveryReference value)
+ {
+ Add (value.Url, value);
+ }
+
+ public void Add (string url, DiscoveryReference value)
+ {
+ InnerHashtable [url] = value;
+ }
+
+ public bool Contains (string url)
+ {
+ return InnerHashtable.Contains (url);
+ }
+
+ public void Remove (string url)
+ {
+ InnerHashtable.Remove (url);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientResult.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientResult.cs new file mode 100755 index 00000000000..77aa4b0cd3a --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientResult.cs @@ -0,0 +1,62 @@ +//
+// System.Web.Services.Disocvery.DiscoveryClientResult.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Discovery {
+ public sealed class DiscoveryClientResult {
+
+ #region Fields
+
+ private string filename;
+ private string referenceTypeName;
+ private string url;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public DiscoveryClientResult ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public DiscoveryClientResult (Type referenceType, string url, string filename) : this()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute("filename")]
+ public string Filename {
+ get { return filename; }
+ set { filename = value; }
+ }
+
+ [XmlAttribute("referenceType")]
+ public string ReferenceTypeName {
+ get { return referenceTypeName; }
+ set { referenceTypeName = value; }
+ }
+
+ [XmlAttribute("url")]
+ public string Url {
+ get { return url; }
+ set { url = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientResultCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientResultCollection.cs new file mode 100755 index 00000000000..8f93bb0d24b --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryClientResultCollection.cs @@ -0,0 +1,62 @@ +//
+// System.Web.Services.Protocols.DiscoveryClientResultCollection.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Dave Bettin, 2002
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+
+namespace System.Web.Services.Discovery {
+ public sealed class DiscoveryClientResultCollection : CollectionBase {
+
+ #region Constructors
+
+ public DiscoveryClientResultCollection ()
+ : base ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public DiscoveryClientResult this [int i] {
+ get {
+ if (i < 0 || i >= Count)
+ throw new ArgumentOutOfRangeException ();
+ return (DiscoveryClientResult) InnerList [i];
+ }
+ set {
+ if (i < 0 || i >= Count)
+ throw new ArgumentOutOfRangeException ();
+ InnerList [i] = value;
+ }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (DiscoveryClientResult value)
+ {
+ return InnerList.Add (value);
+ }
+
+ public bool Contains (DiscoveryClientResult value)
+ {
+ return InnerList.Contains (value);
+ }
+
+ public void Remove (DiscoveryClientResult value)
+ {
+ InnerList.Remove (value);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocument.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocument.cs new file mode 100755 index 00000000000..35a7010b08f --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocument.cs @@ -0,0 +1,93 @@ +//
+// System.Web.Services.Protocols.DiscoveryDocument.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Dave Bettin, 2002
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+using System.IO;
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Discovery {
+ [XmlRoot ("discovery", Namespace = "http://schemas.xmlsoap.org/disco/")]
+ public sealed class DiscoveryDocument {
+
+ #region Fields
+
+ public const string Namespace = "http://schema.xmlsoap.org/disco/";
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public DiscoveryDocument ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public IList References {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public static bool CanRead (XmlReader xmlReader)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static DiscoveryDocument Read (Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static DiscoveryDocument Read (TextReader textReader)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static DiscoveryDocument Read (XmlReader xmlReader)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void Write (Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void Write (TextWriter textWriter)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void Write (XmlWriter xmlWriter)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocumentLinksPattern.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocumentLinksPattern.cs new file mode 100755 index 00000000000..19621b26d4b --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocumentLinksPattern.cs @@ -0,0 +1,47 @@ +//
+// System.Web.Services.Protocols.DiscoveryDocumentLinksPattern.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+namespace System.Web.Services.Discovery {
+ public class DiscoveryDocumentLinksPattern : DiscoverySearchPattern {
+
+ #region Fields
+
+ private string pattern = "*.disco";
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public DiscoveryDocumentLinksPattern ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public override string Pattern {
+ get { return pattern; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public override DiscoveryReference GetDiscoveryReference (string filename)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocumentReference.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocumentReference.cs new file mode 100755 index 00000000000..9d18e39118d --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocumentReference.cs @@ -0,0 +1,99 @@ +//
+// System.Web.Services.Discovery.DiscoveryDocumentReference.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Dave Bettin, 2002
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Web.Services.Description;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Discovery {
+
+ [XmlRootAttribute("discoveryRef", Namespace="http://schemas.xmlsoap.org/disco/", IsNullable=true)]
+ public sealed class DiscoveryDocumentReference : DiscoveryReference {
+
+ #region Fields
+
+ private DiscoveryDocument document;
+ private string defaultFilename;
+ private string href;
+ private string url;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public DiscoveryDocumentReference ()
+ {
+ href = String.Empty;
+ }
+
+ public DiscoveryDocumentReference (string href) : this ()
+ {
+ this.href = href;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public DiscoveryDocument Document {
+ get { return Document; }
+ }
+
+ [XmlIgnore]
+ public override string DefaultFilename {
+ get { return defaultFilename; }
+ }
+
+ [XmlAttribute("ref")]
+ public string Ref {
+ get { return href; }
+ set { href = value; }
+ }
+
+ [XmlIgnore]
+ public override string Url {
+ get { return url; }
+ set { url = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public override object ReadDocument (Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected internal override void Resolve (string contentType, Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void ResolveAll ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void WriteDocument (object document, Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocumentSearchPattern.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocumentSearchPattern.cs new file mode 100755 index 00000000000..97024add9d2 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryDocumentSearchPattern.cs @@ -0,0 +1,47 @@ +//
+// System.Web.Services.Discovery.DiscoveryDocumentSearchPattern.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+namespace System.Web.Services.Discovery {
+ public sealed class DiscoveryDocumentSearchPattern : DiscoverySearchPattern {
+
+ #region Fields
+
+ private string pattern = "*.vsdisco";
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public DiscoveryDocumentSearchPattern ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public override string Pattern {
+ get { return pattern; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public override DiscoveryReference GetDiscoveryReference (string filename)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryExceptionDictionary.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryExceptionDictionary.cs new file mode 100755 index 00000000000..5e2cc93237a --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryExceptionDictionary.cs @@ -0,0 +1,69 @@ +//
+// System.Web.Services.Protocols.DiscoveryExceptionDictionary.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+using System.Collections;
+
+namespace System.Web.Services.Discovery {
+ public sealed class DiscoveryExceptionDictionary : DictionaryBase {
+
+ #region Constructors
+
+ [MonoTODO]
+ public DiscoveryExceptionDictionary ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public Exception this[string url] {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+
+ [MonoTODO]
+ set { throw new NotImplementedException (); }
+ }
+
+ public ICollection Keys {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public ICollection Values {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public void Add (string url, Exception value)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public bool Contains (string url)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void Remove (string url)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryReference.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryReference.cs new file mode 100755 index 00000000000..e68d9fa6cf8 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryReference.cs @@ -0,0 +1,77 @@ +//
+// System.Web.Services.Discovery.DiscoveryReference.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+using System.IO;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Discovery {
+ public abstract class DiscoveryReference {
+
+ #region Fields
+
+ private string defaultFilename;
+ private DiscoveryClientProtocol clientProtocol;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ protected DiscoveryReference ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public DiscoveryClientProtocol ClientProtocol {
+ get { return clientProtocol; }
+ set { clientProtocol = value; }
+
+ }
+
+ [XmlIgnore]
+ public virtual string DefaultFilename {
+ get { return defaultFilename; }
+ }
+
+ [XmlIgnore]
+ public abstract string Url {
+ get;
+ set;
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ protected static string FilenameFromUrl (string url)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public abstract object ReadDocument (Stream stream);
+
+ [MonoTODO]
+ public void Resolve ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected internal abstract void Resolve (string contentType, Stream stream);
+
+ public abstract void WriteDocument (object document, Stream stream);
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryReferenceCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryReferenceCollection.cs new file mode 100755 index 00000000000..ec81f3dadfc --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryReferenceCollection.cs @@ -0,0 +1,62 @@ +//
+// System.Web.Services.Protocols.DiscoveryReferenceCollection.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Dave Bettin, 2002
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+
+namespace System.Web.Services.Discovery {
+ public sealed class DiscoveryReferenceCollection : CollectionBase {
+
+ #region Constructors
+
+ public DiscoveryReferenceCollection ()
+ : base ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public DiscoveryReference this [int i] {
+ get {
+ if (i < 0 || i >= Count)
+ throw new ArgumentOutOfRangeException ();
+ return (DiscoveryReference) InnerList [i];
+ }
+ set {
+ if (i < 0 || i >= Count)
+ throw new ArgumentOutOfRangeException ();
+ InnerList [i] = value;
+ }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (DiscoveryReference value)
+ {
+ return InnerList.Add (value);
+ }
+
+ public bool Contains (DiscoveryReference value)
+ {
+ return InnerList.Contains (value);
+ }
+
+ public void Remove (DiscoveryReference value)
+ {
+ InnerList.Remove (value);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryRequestHandler.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryRequestHandler.cs new file mode 100755 index 00000000000..564a3b3ae8c --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoveryRequestHandler.cs @@ -0,0 +1,49 @@ +//
+// System.Web.Services.Discovery.DiscoveryRequestHandler.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+using System.Web;
+
+namespace System.Web.Services.Discovery {
+ public sealed class DiscoveryRequestHandler : IHttpHandler {
+
+ #region Fields
+
+ private bool isReusable = true;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public DiscoveryRequestHandler ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public bool IsReusable {
+ get { return isReusable; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public void ProcessRequest (HttpContext context)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoverySearchPattern.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoverySearchPattern.cs new file mode 100755 index 00000000000..d2ae0944ea6 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DiscoverySearchPattern.cs @@ -0,0 +1,33 @@ +//
+// System.Web.Services.Discovery.DiscoverySearchPattern.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+namespace System.Web.Services.Discovery {
+ public abstract class DiscoverySearchPattern {
+
+ #region Constructors
+
+ protected DiscoverySearchPattern () {}
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public abstract string Pattern {
+ get;
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public abstract DiscoveryReference GetDiscoveryReference (string filename);
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/DynamicDiscoveryDocument.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DynamicDiscoveryDocument.cs new file mode 100755 index 00000000000..e16e251d06e --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/DynamicDiscoveryDocument.cs @@ -0,0 +1,62 @@ +//
+// System.Web.Services.Discovery.DynamicDiscoveryDocument.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+using System.IO;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Discovery {
+
+ [XmlRootAttribute("dynamicDiscovery", Namespace="urn:schemas-dynamicdiscovery:disco.2000-03-17", IsNullable=true)]
+ public sealed class DynamicDiscoveryDocument {
+
+ #region Fields
+
+ public const string Namespace = "urn:schemas-dynamicdiscovery:disco.2000-03-17";
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public DynamicDiscoveryDocument ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlElement("exclude", typeof(ExcludePathInfo))]
+ public ExcludePathInfo[] ExcludePaths {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ [MonoTODO]
+ set { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public static DynamicDiscoveryDocument Load (Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void Write (Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/ExcludePathInfo.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ExcludePathInfo.cs new file mode 100755 index 00000000000..e86bdd09b4e --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/ExcludePathInfo.cs @@ -0,0 +1,46 @@ +//
+// System.Web.Services.Discovery.ExcludePathInfo.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Discovery {
+ public sealed class ExcludePathInfo {
+
+ #region Fields
+
+ private string path;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public ExcludePathInfo ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ public ExcludePathInfo (string path) : this()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute("path")]
+ public string Path {
+ get { return path; }
+ set { path = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/SchemaReference.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/SchemaReference.cs new file mode 100755 index 00000000000..e5109ceaa19 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/SchemaReference.cs @@ -0,0 +1,105 @@ +//
+// System.Web.Services.Discovery.SchemaReference.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+
+using System.ComponentModel;
+using System.IO;
+using System.Xml.Schema;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Discovery {
+
+ [XmlRootAttribute("schemaRef", Namespace="http://schemas/xmlsoap.org/disco/schema/", IsNullable=true)]
+ public sealed class SchemaReference : DiscoveryReference {
+
+ #region Fields
+
+ public const string Namespace = "http://schemas/xmlsoap.org/disco/schema/";
+
+ private string defaultFilename;
+ private string href;
+ private string url;
+ private string targetNamespace;
+ private XmlSchema schema;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public SchemaReference ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public SchemaReference (string href) : this()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public override string DefaultFilename {
+ get { return defaultFilename; }
+ }
+
+ [XmlAttribute("ref")]
+ public string Ref {
+ get { return href; }
+ set { href = value; }
+ }
+
+ [XmlIgnore]
+ public override string Url {
+ get { return url; }
+ set { url = value; }
+ }
+
+ [DefaultValue("")]
+ [XmlAttribute("targetNamespace")]
+ public string TargetNamespace {
+ get { return targetNamespace; }
+ set { targetNamespace = targetNamespace; }
+ }
+
+ [XmlIgnore]
+ public XmlSchema Schema {
+ get { return schema; }
+
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public override object ReadDocument (Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected internal override void Resolve (string contentType, Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void WriteDocument (object document, Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/SoapBinding.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/SoapBinding.cs new file mode 100755 index 00000000000..c91e356e3e6 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/SoapBinding.cs @@ -0,0 +1,54 @@ +//
+// System.Web.Services.Discovery.SoapBinding.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Discovery {
+
+ [XmlRootAttribute("soap", Namespace="http://schemas/xmlsoap.org/disco/schema/soap/", IsNullable=true)]
+ public sealed class SoapBinding {
+
+ #region Fields
+
+ public const string Namespace = "http://schemas/xmlsoap.org/disco/schema/soap/";
+
+ private string address;
+ private XmlQualifiedName binding;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public SoapBinding ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlAttribute("address")]
+ public string Address {
+ get { return address; }
+ set { address = value; }
+ }
+
+ [XmlAttribute("binding")]
+ public XmlQualifiedName Binding {
+ get { return binding; }
+ set { binding = value; }
+ }
+
+ #endregion // Properties
+
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Discovery/XmlSchemaSearchPattern.cs b/mcs/class/System.Web.Services/System.Web.Services.Discovery/XmlSchemaSearchPattern.cs new file mode 100755 index 00000000000..f597a6d478a --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Discovery/XmlSchemaSearchPattern.cs @@ -0,0 +1,47 @@ +//
+// System.Web.Services.Discovery.XmlSchemaSearchPattern.cs
+//
+// Author:
+// Dave Bettin (javabettin@yahoo.com)
+//
+// Copyright (C) Dave Bettin, 2002
+//
+
+namespace System.Web.Services.Discovery {
+ public sealed class XmlSchemaSearchPattern : DiscoverySearchPattern {
+
+ #region Fields
+
+ private string pattern = "*.xsd";
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public XmlSchemaSearchPattern ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public override string Pattern {
+ get { return pattern; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public override DiscoveryReference GetDiscoveryReference (string filename)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/AnyReturnReader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/AnyReturnReader.cs new file mode 100644 index 00000000000..698e60ea252 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/AnyReturnReader.cs @@ -0,0 +1,49 @@ +//
+// System.Web.Services.Protocols.AnyReturnReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Net;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class AnyReturnReader : MimeReturnReader {
+
+ #region Constructors
+
+ [MonoTODO]
+ public AnyReturnReader ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public override object GetInitializer (LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void Initialize (object o)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override object Read (WebResponse response, Stream responseStream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog new file mode 100644 index 00000000000..a4470557837 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ChangeLog @@ -0,0 +1,202 @@ +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. diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HtmlFormParameterReader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HtmlFormParameterReader.cs new file mode 100644 index 00000000000..883b85f6924 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HtmlFormParameterReader.cs @@ -0,0 +1,36 @@ +//
+// System.Web.Services.Protocols.HtmlFormParameterReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class HtmlFormParameterReader : ValueCollectionParameterReader {
+
+ #region Constructors
+
+ [MonoTODO]
+ public HtmlFormParameterReader ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public override object[] Read (HttpRequest request)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HtmlFormParameterWriter.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HtmlFormParameterWriter.cs new file mode 100644 index 00000000000..f463a2325d7 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HtmlFormParameterWriter.cs @@ -0,0 +1,52 @@ +//
+// System.Web.Services.Protocols.HtmlFormParameterWriter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Net;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class HtmlFormParameterWriter : UrlEncodedParameterWriter {
+
+ #region Constructors
+
+ [MonoTODO]
+ public HtmlFormParameterWriter ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public override bool UsesWriteRequest {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public override void InitializeRequest (WebRequest request, object[] values)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void WriteRequest (Stream requestStream, object[] values)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpGetClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpGetClientProtocol.cs new file mode 100644 index 00000000000..554201746ec --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpGetClientProtocol.cs @@ -0,0 +1,37 @@ +//
+// System.Web.Services.Protocols.HttpGetClientProtocol.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Net;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class HttpGetClientProtocol : HttpSimpleClientProtocol {
+
+ #region Constructors
+
+ public HttpGetClientProtocol ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ protected override WebRequest GetWebRequest (Uri uri)
+ {
+ if (uri == null)
+ throw new InvalidOperationException ("The uri parameter is null.");
+ if (uri.ToString () == String.Empty)
+ throw new InvalidOperationException ("The uri parameter has a length of zero.");
+ return WebRequest.Create (uri);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpMethodAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpMethodAttribute.cs new file mode 100644 index 00000000000..824d9d18803 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpMethodAttribute.cs @@ -0,0 +1,50 @@ +//
+// System.Web.Services.Protocols.HttpMethodAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [AttributeUsage (AttributeTargets.Method)]
+ public sealed class HttpMethodAttribute : Attribute {
+
+ #region Fields
+
+ Type parameterFormatter;
+ Type returnFormatter;
+
+ #endregion
+
+ #region Constructors
+
+ public HttpMethodAttribute ()
+ {
+ }
+
+ public HttpMethodAttribute (Type returnFormatter, Type parameterFormatter)
+ : this ()
+ {
+ this.parameterFormatter = parameterFormatter;
+ this.returnFormatter = returnFormatter;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public Type ParameterFormatter {
+ get { return parameterFormatter; }
+ set { parameterFormatter = value; }
+ }
+
+ public Type ReturnFormatter {
+ get { return returnFormatter; }
+ set { returnFormatter = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpPostClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpPostClientProtocol.cs new file mode 100644 index 00000000000..ebdc3cdf9a1 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpPostClientProtocol.cs @@ -0,0 +1,37 @@ +//
+// System.Web.Services.Protocols.HttpPostClientProtocol.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Net;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class HttpPostClientProtocol : HttpSimpleClientProtocol {
+
+ #region Constructors
+
+ public HttpPostClientProtocol ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ protected override WebRequest GetWebRequest (Uri uri)
+ {
+ if (null == uri)
+ throw new InvalidOperationException ("The uri parameter is a null reference.");
+ if (String.Empty == uri.ToString ())
+ throw new InvalidOperationException ("The uri parameter has a length of zero.");
+ return WebRequest.Create (uri);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpServerProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpServerProtocol.cs new file mode 100644 index 00000000000..2ae6e5ab395 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpServerProtocol.cs @@ -0,0 +1,76 @@ +//
+// System.Web.Services.Protocols.HttpServerProtocol.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ [MonoTODO ("Figure out what this class does.")]
+ internal abstract class HttpServerProtocol : ServerProtocol {
+
+ #region Constructors
+
+ [MonoTODO ("Is the bool parameter the one way?")]
+ protected HttpServerProtocol (bool isOneWay)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [MonoTODO]
+ public override bool IsOneWay {
+ get { throw new NotImplementedException (); }
+ }
+
+ [MonoTODO]
+ public override LogicalMethodInfo MethodInfo {
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public static bool AreUrlParametersSupported (LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override bool Initialize ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override object[] ReadParameters ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override bool WriteException (Exception e, Stream outputStream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void WriteReturns (object[] returnValues, Stream outputStream)
+ {
+ //xmlReturnWriter.Write (Response, outputStream, returnValue);
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpSimpleClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpSimpleClientProtocol.cs new file mode 100644 index 00000000000..282739ec4c1 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpSimpleClientProtocol.cs @@ -0,0 +1,53 @@ +//
+// System.Web.Services.Protocols.HttpSimpleClientProtocol.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public abstract class HttpSimpleClientProtocol : HttpWebClientProtocol {
+
+ #region Fields
+
+ IAsyncResult result;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ protected HttpSimpleClientProtocol ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ protected IAsyncResult BeginInvoke (string methodName, string requestUrl, object[] parameters, AsyncCallback callback, object asyncState)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected object EndInvoke (IAsyncResult asyncResult)
+ {
+ if (asyncResult != result)
+ throw new ArgumentException ("asyncResult is not the return value from BeginInvoke");
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected object Invoke (string methodName, string requestUrl, object[] parameters)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpWebClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpWebClientProtocol.cs new file mode 100644 index 00000000000..a47c7a19694 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/HttpWebClientProtocol.cs @@ -0,0 +1,104 @@ +//
+// System.Web.Services.Protocols.HttpWebClientProtocol.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System;
+using System.ComponentModel;
+using System.Net;
+using System.Security.Cryptography.X509Certificates;
+using System.Threading;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public abstract class HttpWebClientProtocol : WebClientProtocol {
+
+ #region Fields
+
+ bool allowAutoRedirect;
+ X509CertificateCollection clientCertificates;
+ CookieContainer cookieContainer;
+ IWebProxy proxy;
+ string userAgent;
+
+ #endregion
+
+ #region Constructors
+
+ protected HttpWebClientProtocol ()
+ {
+ allowAutoRedirect = false;
+ clientCertificates = new X509CertificateCollection ();
+ cookieContainer = null;
+ proxy = null; // FIXME
+ userAgent = String.Format ("Mono Web Services Client Protocol {0}", Environment.Version);
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [DefaultValue (false)]
+ [WebServicesDescription ("Enable automatic handling of server redirects.")]
+ public bool AllowAutoRedirect {
+ get { return allowAutoRedirect; }
+ set { allowAutoRedirect = value; }
+ }
+
+ [Browsable (false)]
+ [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+ [WebServicesDescription ("The client certificates that will be sent to the server, if the server requests them.")]
+ public X509CertificateCollection ClientCertificates {
+ get { return clientCertificates; }
+ }
+
+ [DefaultValue (null)]
+ [WebServicesDescription ("A container for all cookies received from servers in the current session.")]
+ public CookieContainer CookieContainer {
+ get { return cookieContainer; }
+ set { cookieContainer = value; }
+ }
+
+ [Browsable (false)]
+ [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+ public IWebProxy Proxy {
+ get { return proxy; }
+ set { proxy = value; }
+ }
+
+ [WebServicesDescription ("Sets the user agent http header for the request.")]
+ public string UserAgent {
+ get { return userAgent; }
+ set { userAgent = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ protected override WebRequest GetWebRequest (Uri uri)
+ {
+ if (null == uri)
+ throw new InvalidOperationException ("The uri parameter is a null reference.");
+ return WebRequest.Create (uri);
+ }
+
+ protected override WebResponse GetWebResponse (WebRequest request)
+ {
+ return request.GetResponse ();
+ }
+
+ protected override WebResponse GetWebResponse (WebRequest request, IAsyncResult result)
+ {
+ IAsyncResult ar = request.BeginGetResponse (null, null);
+ ar.AsyncWaitHandle.WaitOne ();
+ return request.EndGetResponse (result);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/LogicalMethodInfo.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/LogicalMethodInfo.cs new file mode 100644 index 00000000000..471b925d6e5 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/LogicalMethodInfo.cs @@ -0,0 +1,176 @@ +//
+// System.Web.Services.Protocols.LogicalMethodInfo.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Reflection;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public sealed class LogicalMethodInfo {
+
+ #region Fields
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public LogicalMethodInfo (MethodInfo methodInfo)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public ParameterInfo AsyncCallbackParameter {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public ParameterInfo AsyncResultParameter {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public ParameterInfo AsyncStateParameter {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public MethodInfo BeginMethodInfo {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public ICustomAttributeProvider CustomAttributeProvider {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public Type DeclaringType {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public MethodInfo EndMethodInfo {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public ParameterInfo[] InParameters {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public bool IsAsync {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public bool IsVoid {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public MethodInfo MethodInfo {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public string Name {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public ParameterInfo[] OutParameters {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public ParameterInfo[] Parameters {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public Type ReturnType {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public ICustomAttributeProvider ReturnTypeCustomAttributeProvider {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public IAsyncResult BeginInvoke (object target, object[] values, AsyncCallback callback, object asyncState)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static LogicalMethodInfo[] Create (MethodInfo[] methodInfos)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static LogicalMethodInfo[] Create (MethodInfo[] methodInfos, LogicalMethodTypes types)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public object[] EndInvoke (object target, IAsyncResult asyncResult)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public object GetCustomAttribute (Type type)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public object[] GetCustomAttributes (Type type)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public object[] Invoke (object target, object[] values)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static bool IsBeginMethod (MethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static bool IsEndMethod (MethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override string ToString ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/LogicalMethodTypes.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/LogicalMethodTypes.cs new file mode 100644 index 00000000000..c2347a4f487 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/LogicalMethodTypes.cs @@ -0,0 +1,16 @@ +//
+// System.Web.Services.Protocols.LogicalMethodTypes.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [Serializable]
+ public enum LogicalMethodTypes {
+ Async = 0x2,
+ Sync = 0x1
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/MatchAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MatchAttribute.cs new file mode 100644 index 00000000000..95c985c5900 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MatchAttribute.cs @@ -0,0 +1,64 @@ +//
+// System.Web.Services.Protocols.MatchAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [AttributeUsage (AttributeTargets.All)]
+ public sealed class MatchAttribute : Attribute {
+
+ #region Fields
+
+ int capture;
+ int group;
+ bool ignoreCase;
+ int maxRepeats;
+ string pattern;
+
+ #endregion
+
+ #region Constructors
+
+ public MatchAttribute (string pattern)
+ {
+ ignoreCase = false;
+ maxRepeats = -1;
+ this.pattern = pattern;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public int Capture {
+ get { return capture; }
+ set { capture = value; }
+ }
+
+ public int Group {
+ get { return group; }
+ set { group = value; }
+ }
+
+ public bool IgnoreCase {
+ get { return ignoreCase; }
+ set { ignoreCase = value; }
+ }
+
+ public int MaxRepeats {
+ get { return maxRepeats; }
+ set { maxRepeats = value; }
+ }
+
+ public string Pattern {
+ get { return pattern; }
+ set { pattern = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeFormatter.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeFormatter.cs new file mode 100644 index 00000000000..2bc4e93239b --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeFormatter.cs @@ -0,0 +1,57 @@ +//
+// System.Web.Services.Protocols.MimeFormatter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public abstract class MimeFormatter {
+
+ #region Constructors
+
+ [MonoTODO]
+ protected MimeFormatter ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public static MimeFormatter CreateInstance (Type type, object initializer)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public abstract object GetInitializer (LogicalMethodInfo methodInfo);
+
+ [MonoTODO]
+ public static object GetInitializer (Type type, LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public virtual object[] GetInitializers (LogicalMethodInfo[] methodInfos)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static object[] GetInitializers (Type type, LogicalMethodInfo[] methodInfos)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public abstract void Initialize (object initializer);
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeParameterReader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeParameterReader.cs new file mode 100644 index 00000000000..3b9f5a59c74 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeParameterReader.cs @@ -0,0 +1,29 @@ +//
+// System.Web.Services.Protocols.MimeParameterReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web;
+
+namespace System.Web.Services.Protocols {
+ public abstract class MimeParameterReader : MimeFormatter {
+
+ #region Constructors
+
+ protected MimeParameterReader ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ public abstract object[] Read (HttpRequest request);
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeParameterWriter.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeParameterWriter.cs new file mode 100644 index 00000000000..c152c4b3456 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeParameterWriter.cs @@ -0,0 +1,66 @@ +//
+// System.Web.Services.Protocols.MimeParameterWriter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Net;
+using System.Text;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public abstract class MimeParameterWriter : MimeFormatter {
+
+ #region Constructors
+
+ [MonoTODO]
+ protected MimeParameterWriter ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public virtual Encoding RequestEncoding {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ [MonoTODO]
+ set { throw new NotImplementedException (); }
+ }
+
+ public virtual bool UsesWriteRequest {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public virtual string GetRequestUrl (string url, object[] parameters)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public virtual void InitializeRequest (WebRequest request, object[] values)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public virtual void WriteRequest (Stream requestStream, object[] values)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeReturnReader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeReturnReader.cs new file mode 100644 index 00000000000..29e645554e9 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeReturnReader.cs @@ -0,0 +1,30 @@ +//
+// System.Web.Services.Protocols.MimeReturnReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Net;
+
+namespace System.Web.Services.Protocols {
+ public abstract class MimeReturnReader : MimeFormatter {
+
+ #region Constructors
+
+ protected MimeReturnReader ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ public abstract object Read (WebResponse response, Stream responseStream);
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeReturnWriter.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeReturnWriter.cs new file mode 100644 index 00000000000..06921886ba8 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/MimeReturnWriter.cs @@ -0,0 +1,22 @@ +//
+// System.Web.Services.Protocols.MimeReturnWriter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Web;
+
+namespace System.Web.Services.Protocols {
+ internal abstract class MimeReturnWriter : MimeFormatter {
+
+ #region Methods
+
+ public abstract void Write (HttpResponse response, Stream outputStream, object returnValue);
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/NopReturnReader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/NopReturnReader.cs new file mode 100644 index 00000000000..2786fc75ae2 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/NopReturnReader.cs @@ -0,0 +1,49 @@ +//
+// System.Web.Services.Protocols.NopReturnReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Net;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class NopReturnReader : MimeReturnReader {
+
+ #region Constructors
+
+ [MonoTODO]
+ public NopReturnReader ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public override object GetInitializer (LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void Initialize (object initializer)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override object Read (WebResponse response, Stream responseStream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/PatternMatcher.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/PatternMatcher.cs new file mode 100644 index 00000000000..4d60f517285 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/PatternMatcher.cs @@ -0,0 +1,35 @@ +//
+// System.Web.Services.Protocols.PatternMatcher.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public sealed class PatternMatcher {
+
+ #region Constructors
+
+ [MonoTODO]
+ public PatternMatcher (Type type)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public object Match (string text)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/ServerProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ServerProtocol.cs new file mode 100644 index 00000000000..5c778125aff --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ServerProtocol.cs @@ -0,0 +1,110 @@ +//
+// System.Web.Services.Protocols.ServerProtocol.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Web;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ [MonoTODO ("Figure out what this class does.")]
+ internal abstract class ServerProtocol {
+
+ #region Constructors
+
+ protected ServerProtocol ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion
+
+ #region Properties
+
+ [MonoTODO]
+ public HttpContext Context {
+ get { throw new NotImplementedException (); }
+ }
+
+ public abstract bool IsOneWay {
+ get;
+ }
+
+ public abstract LogicalMethodInfo MethodInfo {
+ get;
+ }
+
+ [MonoTODO]
+ public virtual Exception OnewayInitException {
+ get { throw new NotImplementedException (); }
+ }
+
+ [MonoTODO]
+ public HttpRequest Request {
+ get { throw new NotImplementedException (); }
+ }
+
+ [MonoTODO]
+ public HttpResponse Response {
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion
+
+ #region Methods
+
+ [MonoTODO]
+ protected void AddToCache (Type t1, Type t2, object o)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public virtual void CreateServerInstance ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public virtual void DisposeServerInstance ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public string GenerateFaultString (Exception exception)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected object GetFromCache (Type t1, Type t2)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public abstract bool Initialize ();
+ public abstract object[] ReadParameters ();
+
+ [MonoTODO]
+ public virtual bool WriteException (Exception e, Stream outputStream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void WriteOneWayResponse ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ public abstract void WriteReturns (object[] returnValues, Stream outputStream);
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapClientMessage.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapClientMessage.cs new file mode 100644 index 00000000000..a09077b146f --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapClientMessage.cs @@ -0,0 +1,78 @@ +//
+// System.Web.Services.Protocols.SoapClientMessage.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public sealed class SoapClientMessage : SoapMessage {
+
+ #region Fields
+
+ SoapHttpClientProtocol client;
+ SoapClientMethod clientMethod;
+ string url;
+
+ #endregion
+
+ #region Constructors
+
+ [MonoTODO ("Determine what calls this constructor.")]
+ internal SoapClientMessage (SoapHttpClientProtocol client, SoapClientMethod clientMethod, string url)
+ {
+ this.client = client;
+ this.url = url;
+ this.clientMethod = clientMethod;
+ }
+
+ #endregion
+
+ #region Properties
+
+ public override string Action {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public SoapHttpClientProtocol Client {
+ get { return client; }
+ }
+
+ public override LogicalMethodInfo MethodInfo {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public override bool OneWay {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public override string Url {
+ get { return url; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ protected override void EnsureInStage ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override void EnsureOutStage ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapClientMethod.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapClientMethod.cs new file mode 100644 index 00000000000..9bc959b3997 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapClientMethod.cs @@ -0,0 +1,27 @@ +//
+// System.Web.Services.Protocols.SoapClientMethod.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+using System.Web.Services.Description;
+
+namespace System.Web.Services.Protocols {
+ [MonoTODO ("Determine what this class does.")]
+ internal class SoapClientMethod {
+
+ #region Fields
+
+ public string action;
+ public LogicalMethodInfo methodInfo;
+ public bool oneWay;
+ public bool rpc;
+ public SoapBindingUse use;
+
+ #endregion // Fields
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapDocumentMethodAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapDocumentMethodAttribute.cs new file mode 100644 index 00000000000..d927eb37acf --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapDocumentMethodAttribute.cs @@ -0,0 +1,102 @@ +//
+// System.Web.Services.Protocols.SoapDocumentMethodAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Description;
+
+namespace System.Web.Services.Protocols {
+ [AttributeUsage (AttributeTargets.Method)]
+ public sealed class SoapDocumentMethodAttribute : Attribute {
+
+ #region Fields
+
+ string action;
+ string binding;
+ bool oneWay;
+ SoapParameterStyle parameterStyle;
+ string requestElementName;
+ string requestNamespace;
+ string responseElementName;
+ string responseNamespace;
+ SoapBindingUse use;
+
+ #endregion
+
+ #region Constructors
+
+ public SoapDocumentMethodAttribute ()
+ {
+ action = "http://tempuri.org/MethodName"; // FIXME
+ binding = String.Empty; // FIXME
+ oneWay = false;
+ parameterStyle = SoapParameterStyle.Wrapped;
+ requestElementName = String.Empty; // FIXME
+ requestNamespace = "http://tempuri.org/";
+ responseElementName = "WebServiceNameResult"; // FIXME
+ responseNamespace = "http://tempuri.org/";
+ use = SoapBindingUse.Literal;
+ }
+
+ public SoapDocumentMethodAttribute (string action)
+ : this ()
+ {
+ this.action = action;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public string Action {
+ get { return action; }
+ set { action = value; }
+ }
+
+ public string Binding {
+ get { return binding; }
+ set { binding = value; }
+ }
+
+ public bool OneWay {
+ get { return oneWay; }
+ set { oneWay = value; }
+ }
+
+ public SoapParameterStyle ParameterStyle {
+ get { return parameterStyle; }
+ set { parameterStyle = value; }
+ }
+
+ public string RequestElementName {
+ get { return requestElementName; }
+ set { requestElementName = value; }
+ }
+
+ public string RequestNamespace {
+ get { return requestNamespace; }
+ set { requestNamespace = value; }
+ }
+
+ public string ResponseElementName {
+ get { return responseElementName; }
+ set { responseElementName = value; }
+ }
+
+ public string ResponseNamespace {
+ get { return responseNamespace; }
+ set { responseNamespace = value; }
+ }
+
+ public SoapBindingUse Use {
+ get { return use; }
+ set { use = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapDocumentServiceAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapDocumentServiceAttribute.cs new file mode 100644 index 00000000000..6593a87609e --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapDocumentServiceAttribute.cs @@ -0,0 +1,67 @@ +//
+// System.Web.Services.Protocols.SoapDocumentServiceAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services.Description;
+
+namespace System.Web.Services.Protocols {
+ [AttributeUsage (AttributeTargets.Class)]
+ public sealed class SoapDocumentServiceAttribute : Attribute {
+
+ #region Fields
+
+ SoapParameterStyle paramStyle;
+ SoapServiceRoutingStyle routingStyle;
+ SoapBindingUse use;
+
+ #endregion
+
+ #region Constructors
+
+ public SoapDocumentServiceAttribute ()
+ {
+ paramStyle = SoapParameterStyle.Wrapped;
+ routingStyle = SoapServiceRoutingStyle.SoapAction;
+ use = SoapBindingUse.Literal;
+ }
+
+ public SoapDocumentServiceAttribute (SoapBindingUse use)
+ : this ()
+ {
+ this.use = use;
+ }
+
+ public SoapDocumentServiceAttribute (SoapBindingUse use, SoapParameterStyle paramStyle)
+ : this ()
+ {
+ this.use = use;
+ this.paramStyle = paramStyle;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public SoapParameterStyle ParameterStyle {
+ get { return paramStyle; }
+ set { paramStyle = value; }
+ }
+
+ public SoapServiceRoutingStyle RoutingStyle {
+ get { return routingStyle; }
+ set { routingStyle = value; }
+ }
+
+ public SoapBindingUse Use {
+ get { return use; }
+ set { use = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapException.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapException.cs new file mode 100644 index 00000000000..e28c88d06b7 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapException.cs @@ -0,0 +1,91 @@ +//
+// System.Web.Services.Protocols.SoapException.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml;
+
+namespace System.Web.Services.Protocols {
+ public class SoapException : SystemException {
+
+ #region Fields
+
+ public static readonly XmlQualifiedName ClientFaultCode = new XmlQualifiedName ("Client", "http://schemas.xmlsoap.org/soap/envelope/");
+ public static readonly XmlQualifiedName DetailElementName = new XmlQualifiedName ("detail");
+ public static readonly XmlQualifiedName MustUnderstandFaultCode = new XmlQualifiedName ("MustUnderstand", "http://schemas.xmlsoap.org/soap/envelope/");
+ public static readonly XmlQualifiedName ServerFaultCode = new XmlQualifiedName ("Server", "http://schemas.xmlsoap.org/soap/envelope/");
+ public static readonly XmlQualifiedName VersionMismatchFaultCode = new XmlQualifiedName ("VersionMismatch", "http://schemas.xmlsoap.org/soap/envelope/");
+
+ string actor;
+ XmlQualifiedName code;
+ XmlNode detail;
+
+ #endregion
+
+ #region Constructors
+
+ public SoapException (string message, XmlQualifiedName code)
+ : base (message)
+ {
+ this.code = code;
+ }
+
+ public SoapException (string message, XmlQualifiedName code, Exception innerException)
+ : base (message, innerException)
+ {
+ this.code = code;
+ }
+
+ public SoapException (string message, XmlQualifiedName code, string actor)
+ : base (message)
+ {
+ this.code = code;
+ this.actor = actor;
+ }
+
+ public SoapException (string message, XmlQualifiedName code, string actor, Exception innerException)
+ : base (message, innerException)
+ {
+ this.code = code;
+ this.actor = actor;
+ }
+
+ public SoapException (string message, XmlQualifiedName code, string actor, XmlNode detail)
+ : base (message)
+ {
+ this.code = code;
+ this.actor = actor;
+ this.detail = detail;
+ }
+
+ public SoapException (string message, XmlQualifiedName code, string actor, XmlNode detail, Exception innerException)
+ : base (message, innerException)
+ {
+ this.code = code;
+ this.actor = actor;
+ this.detail = detail;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public string Actor {
+ get { return actor; }
+ }
+
+ public XmlQualifiedName Code {
+ get { return code; }
+ }
+
+ public XmlNode Detail {
+ get { return detail; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapExtension.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapExtension.cs new file mode 100644 index 00000000000..48f91cd38db --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapExtension.cs @@ -0,0 +1,46 @@ +//
+// System.Web.Services.Protocols.SoapExtension.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+
+namespace System.Web.Services.Protocols {
+ public abstract class SoapExtension {
+
+ #region Fields
+
+ Stream stream;
+
+ #endregion
+
+ #region Constructors
+
+ [MonoTODO]
+ protected SoapExtension ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public virtual Stream ChainStream (Stream stream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ public abstract object GetInitializer (Type serviceType);
+ public abstract object GetInitializer (LogicalMethodInfo methodInfo, SoapExtensionAttribute attribute);
+ public abstract void Initialize (object initializer);
+ public abstract void ProcessMessage (SoapMessage message);
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapExtensionAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapExtensionAttribute.cs new file mode 100644 index 00000000000..c90f6b9bc94 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapExtensionAttribute.cs @@ -0,0 +1,34 @@ +//
+// System.Web.Services.Protocols.SoapExtensionAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ public abstract class SoapExtensionAttribute : Attribute {
+
+ #region Constructors
+
+ protected SoapExtensionAttribute ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public abstract Type ExtensionType {
+ get;
+ }
+
+ public abstract int Priority {
+ get;
+ set;
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeader.cs new file mode 100644 index 00000000000..eecfa6b0282 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeader.cs @@ -0,0 +1,78 @@ +//
+// System.Web.Services.Protocols.SoapHeader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Protocols {
+ [SoapType (IncludeInSchema = false)]
+ [XmlType (IncludeInSchema = false)]
+ public abstract class SoapHeader {
+
+ #region Fields
+
+ string actor;
+ bool didUnderstand;
+ bool mustUnderstand;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ protected SoapHeader ()
+ {
+ actor = String.Empty;
+ didUnderstand = false;
+ mustUnderstand = false;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [DefaultValue ("")]
+ [SoapAttribute ("actor", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
+ [XmlAttribute ("actor", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
+ public string Actor {
+ get { return actor; }
+ set { actor = value; }
+ }
+
+ [SoapIgnore]
+ [XmlIgnore]
+ public bool DidUnderstand {
+ get { return didUnderstand; }
+ set { didUnderstand = value; }
+ }
+
+ [DefaultValue ("0")]
+ [SoapAttribute ("mustUnderstand", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
+ [XmlAttribute ("mustUnderstand", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
+ public string EncodedMustUnderstand {
+ get { return (MustUnderstand ? "1" : "0"); }
+ set {
+ if (value == "true" || value == "1")
+ MustUnderstand = true;
+ else if (value == "false" || value == "0")
+ MustUnderstand = false;
+ else
+ throw new ArgumentException ();
+ }
+ }
+
+ [SoapIgnore]
+ [XmlIgnore]
+ public bool MustUnderstand {
+ get { return mustUnderstand; }
+ set { mustUnderstand = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderAttribute.cs new file mode 100644 index 00000000000..f933c62d2d8 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderAttribute.cs @@ -0,0 +1,52 @@ +//
+// System.Web.Services.Protocols.SoapHeaderAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [AttributeUsage (AttributeTargets.Method)]
+ public sealed class SoapHeaderAttribute : Attribute {
+
+ #region Fields
+
+ SoapHeaderDirection direction;
+ string memberName;
+ bool required;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public SoapHeaderAttribute (string memberName)
+ {
+ direction = SoapHeaderDirection.In;
+ this.memberName = memberName;
+ required = true;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public SoapHeaderDirection Direction {
+ get { return direction; }
+ set { direction = value; }
+ }
+
+ public string MemberName {
+ get { return memberName; }
+ set { memberName = value; }
+ }
+
+ public bool Required {
+ get { return required; }
+ set { required = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderCollection.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderCollection.cs new file mode 100644 index 00000000000..017b0346beb --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderCollection.cs @@ -0,0 +1,69 @@ +//
+// System.Web.Services.Protocols.SoapHeaderCollection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections;
+
+namespace System.Web.Services.Protocols {
+ public class SoapHeaderCollection : CollectionBase {
+
+ #region Constructors
+
+ public SoapHeaderCollection ()
+ {
+ }
+
+ #endregion
+
+ #region Properties
+
+ public SoapHeader this [int index] {
+ get { return (SoapHeader) List[index]; }
+ set { List[index] = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public int Add (SoapHeader header)
+ {
+ Insert (Count, header);
+ return (Count - 1);
+ }
+
+ public bool Contains (SoapHeader header)
+ {
+ return List.Contains (header);
+ }
+
+ public void CopyTo (SoapHeader[] array, int index)
+ {
+ List.CopyTo (array, index);
+ }
+
+ public int IndexOf (SoapHeader header)
+ {
+ return List.IndexOf (header);
+ }
+
+ public void Insert (int index, SoapHeader header)
+ {
+ if (index < 0 || index > Count)
+ throw new ArgumentOutOfRangeException ();
+ List.Insert (index, header);
+ }
+
+ public void Remove (SoapHeader header)
+ {
+ List.Remove (header);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderDirection.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderDirection.cs new file mode 100644 index 00000000000..14c60ee3119 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderDirection.cs @@ -0,0 +1,18 @@ +//
+// System.Web.Services.Protocols.SoapHeaderDirection.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [Flags]
+ [Serializable]
+ public enum SoapHeaderDirection {
+ In = 0x1,
+ InOut = 0x3,
+ Out = 0x2
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderException.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderException.cs new file mode 100644 index 00000000000..3e2bde7b2b7 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHeaderException.cs @@ -0,0 +1,39 @@ +//
+// System.Web.Services.Protocols.SoapHeaderException.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml;
+
+namespace System.Web.Services.Protocols {
+ public class SoapHeaderException : SoapException {
+
+ #region Constructors
+
+ public SoapHeaderException (string message, XmlQualifiedName code)
+ : base (message, code)
+ {
+ }
+
+ public SoapHeaderException (string message, XmlQualifiedName code, Exception innerException)
+ : base (message, code, innerException)
+ {
+ }
+
+ public SoapHeaderException (string message, XmlQualifiedName code, string actor)
+ : base (message, code, actor)
+ {
+ }
+
+ public SoapHeaderException (string message, XmlQualifiedName code, string actor, Exception innerException)
+ : base (message, code, actor, innerException)
+ {
+ }
+
+ #endregion // Constructors
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHttpClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHttpClientProtocol.cs new file mode 100644 index 00000000000..2b17b469e70 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapHttpClientProtocol.cs @@ -0,0 +1,58 @@ +//
+// System.Web.Services.Protocols.SoapHttpClientProtocol.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Net;
+using System.Web;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class SoapHttpClientProtocol : HttpWebClientProtocol {
+
+ #region Constructors
+
+ public SoapHttpClientProtocol ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ protected IAsyncResult BeginInvoke (string methodName, object[] parameters, AsyncCallback callback, object asyncState)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void Discover ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected object[] EndInvoke (IAsyncResult asyncResult)
+ {
+ throw new NotImplementedException ();
+ }
+
+ protected override WebRequest GetWebRequest (Uri uri)
+ {
+ return WebRequest.Create (uri);
+ }
+
+ [MonoTODO]
+ protected object[] Invoke (string methodName, object[] parameters)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapMessage.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapMessage.cs new file mode 100644 index 00000000000..8dea7f5140a --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapMessage.cs @@ -0,0 +1,106 @@ +//
+// System.Web.Services.Protocols.SoapMessage.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public abstract class SoapMessage {
+
+ #region Fields
+
+ string contentType = "text/xml";
+ SoapException exception = null;
+ SoapHeaderCollection headers = null;
+ SoapMessageStage stage;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ internal SoapMessage ()
+ {
+ }
+
+ #endregion
+
+ #region Properties
+
+ public abstract string Action {
+ get;
+ }
+
+ public string ContentType {
+ get { return contentType; }
+ set { contentType = value; }
+ }
+
+ public SoapException Exception {
+ get { return exception; }
+ }
+
+ public SoapHeaderCollection Headers {
+ get { return headers; }
+ }
+
+ public abstract LogicalMethodInfo MethodInfo {
+ get;
+ }
+
+ public abstract bool OneWay {
+ get;
+ }
+
+ public SoapMessageStage Stage {
+ get { return stage; }
+ }
+
+ public Stream Stream {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public abstract string Url {
+ get;
+ }
+
+ #endregion Properties
+
+ #region Methods
+
+ protected abstract void EnsureInStage ();
+ protected abstract void EnsureOutStage ();
+
+ protected void EnsureStage (SoapMessageStage stage)
+ {
+ if ((((int) stage) & ((int) Stage)) == 0)
+ throw new InvalidOperationException ("The current SoapMessageStage is not the asserted stage or stages.");
+ }
+
+ [MonoTODO]
+ public object GetInParameterValue (int index)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public object GetOutParameterValue (int index)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public object GetReturnValue ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapMessageStage.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapMessageStage.cs new file mode 100644 index 00000000000..c4c4b1c3433 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapMessageStage.cs @@ -0,0 +1,18 @@ +//
+// System.Web.Services.Protocols.SoapMessageStage.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [Serializable]
+ public enum SoapMessageStage {
+ AfterDeserialize = 0x8,
+ AfterSerialize = 0x2,
+ BeforeDeserialize = 0x4,
+ BeforeSerialize = 0x1
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapParameterStyle.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapParameterStyle.cs new file mode 100644 index 00000000000..e03ced756e9 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapParameterStyle.cs @@ -0,0 +1,17 @@ +//
+// System.Web.Services.Protocols.SoapParameterStyle.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [Serializable]
+ public enum SoapParameterStyle {
+ Default = 0x0,
+ Bare = 0x1,
+ Wrapped = 0x2
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapRpcMethodAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapRpcMethodAttribute.cs new file mode 100644 index 00000000000..9e375d1c9f4 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapRpcMethodAttribute.cs @@ -0,0 +1,86 @@ +//
+// System.Web.Services.Protocols.SoapRpcMethodAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [AttributeUsage (AttributeTargets.Method)]
+ public sealed class SoapRpcMethodAttribute : Attribute {
+
+ #region Fields
+
+ string action;
+ string binding;
+ bool oneWay;
+ string requestElementName;
+ string requestNamespace;
+ string responseElementName;
+ string responseNamespace;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public SoapRpcMethodAttribute ()
+ {
+ action = "http://tempuri.org/MethodName"; // FIXME
+ binding = ""; // FIXME
+ oneWay = false;
+ requestElementName = ""; // FIXME
+ requestNamespace = "http://tempuri.org/";
+ responseElementName = "WebServiceNameResult"; // FIXME
+ responseNamespace = "http://tempuri.org/";
+ }
+
+ public SoapRpcMethodAttribute (string action)
+ : this ()
+ {
+ this.action = action;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public string Action {
+ get { return action; }
+ set { action = value; }
+ }
+
+ public string Binding {
+ get { return binding; }
+ set { binding = value; }
+ }
+
+ public bool OneWay {
+ get { return oneWay; }
+ set { oneWay = value; }
+ }
+
+ public string RequestElementName {
+ get { return requestElementName; }
+ set { requestElementName = value; }
+ }
+
+ public string RequestNamespace {
+ get { return requestNamespace; }
+ set { requestNamespace = value; }
+ }
+
+ public string ResponseElementName {
+ get { return responseElementName; }
+ set { responseElementName = value; }
+ }
+
+ public string ResponseNamespace {
+ get { return responseNamespace; }
+ set { responseNamespace = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapRpcServiceAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapRpcServiceAttribute.cs new file mode 100644 index 00000000000..aa475f5e1d3 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapRpcServiceAttribute.cs @@ -0,0 +1,38 @@ +//
+// System.Web.Services.Protocols.SoapRpcServiceAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [AttributeUsage (AttributeTargets.Class)]
+ public sealed class SoapRpcServiceAttribute : Attribute {
+
+ #region Fields
+
+ SoapServiceRoutingStyle routingStyle;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public SoapRpcServiceAttribute ()
+ {
+ routingStyle = SoapServiceRoutingStyle.SoapAction;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public SoapServiceRoutingStyle RoutingStyle {
+ get { return routingStyle; }
+ set { routingStyle = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServerMessage.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServerMessage.cs new file mode 100644 index 00000000000..c36f79802ee --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServerMessage.cs @@ -0,0 +1,80 @@ +//
+// System.Web.Services.Protocols.SoapServerMessage.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public sealed class SoapServerMessage : SoapMessage {
+
+ #region Fields
+
+ string action;
+ LogicalMethodInfo methodInfo;
+ bool oneWay;
+ object server;
+ string url;
+ SoapServerProtocol protocol;
+
+ #endregion
+
+ #region Constructors
+
+ [MonoTODO ("Determine what this constructor does.")]
+ internal SoapServerMessage (SoapServerProtocol protocol)
+ {
+ }
+
+ #endregion
+
+ #region Properties
+
+ public override string Action {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public override LogicalMethodInfo MethodInfo {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public override bool OneWay {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public object Server {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public override string Url {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ protected override void EnsureInStage ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected override void EnsureOutStage ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServerProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServerProtocol.cs new file mode 100644 index 00000000000..2e48fef7243 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServerProtocol.cs @@ -0,0 +1,69 @@ +//
+// System.Web.Services.Protocols.SoapServerProtocol.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ [MonoTODO ("Figure out what this class does.")]
+ internal class SoapServerProtocol : ServerProtocol {
+
+ #region Fields
+
+ bool isOneWay;
+
+ #endregion // Fields
+
+ #region Properties
+
+ public override bool IsOneWay {
+ get { return isOneWay; }
+ }
+
+ [MonoTODO]
+ public override LogicalMethodInfo MethodInfo {
+ get { throw new NotImplementedException (); }
+ }
+
+ [MonoTODO]
+ public override Exception OnewayInitException {
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ public override bool Initialize ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override object[] ReadParameters ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override bool WriteException (Exception e, Stream outputStream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void WriteReturns (object[] returnValues, Stream outputStream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServiceRoutingStyle.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServiceRoutingStyle.cs new file mode 100644 index 00000000000..47a1762d1a6 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapServiceRoutingStyle.cs @@ -0,0 +1,16 @@ +//
+// System.Web.Services.Protocols.SoapServiceRoutingStyle.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services.Protocols {
+ [Serializable]
+ public enum SoapServiceRoutingStyle {
+ SoapAction = 0x0,
+ RequestElement = 0x1
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapUnknownHeader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapUnknownHeader.cs new file mode 100644 index 00000000000..4b46412c1cf --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/SoapUnknownHeader.cs @@ -0,0 +1,41 @@ +//
+// System.Web.Services.Protocols.SoapUnknownHeader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Xml;
+using System.Xml.Serialization;
+
+namespace System.Web.Services.Protocols {
+ public sealed class SoapUnknownHeader : SoapHeader {
+
+ #region Fields
+
+ XmlElement element;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public SoapUnknownHeader ()
+ {
+ element = null;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [XmlIgnore]
+ public XmlElement Element {
+ get { return element; }
+ set { element = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/TextReturnReader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/TextReturnReader.cs new file mode 100644 index 00000000000..3c42b93ec3f --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/TextReturnReader.cs @@ -0,0 +1,46 @@ +//
+// System.Web.Services.Protocols.TextReturnReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Net;
+
+namespace System.Web.Services.Protocols {
+ public class TextReturnReader : MimeReturnReader {
+
+ #region Constructors
+
+ public TextReturnReader ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public override object GetInitializer (LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void Initialize (object o)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override object Read (WebResponse response, Stream responseStream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlEncodedParameterWriter.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlEncodedParameterWriter.cs new file mode 100644 index 00000000000..2f35bd155b3 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlEncodedParameterWriter.cs @@ -0,0 +1,66 @@ +//
+// System.Web.Services.Protocols.UrlEncodedParameterWriter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Text;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public abstract class UrlEncodedParameterWriter : MimeParameterWriter {
+
+ #region Constructors
+
+ [MonoTODO]
+ protected UrlEncodedParameterWriter ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public override Encoding RequestEncoding {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ [MonoTODO]
+ set { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ [MonoTODO]
+ protected void Encode (TextWriter writer, object[] values)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected void Encode (TextWriter writer, string name, object value)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override object GetInitializer (LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void Initialize (object initializer)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlParameterReader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlParameterReader.cs new file mode 100644 index 00000000000..09012b0a353 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlParameterReader.cs @@ -0,0 +1,36 @@ +//
+// System.Web.Services.Protocols.UrlParameterReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class UrlParameterReader : ValueCollectionParameterReader {
+
+ #region Constructors
+
+ [MonoTODO]
+ public UrlParameterReader ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public override object[] Read (HttpRequest request)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlParameterWriter.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlParameterWriter.cs new file mode 100644 index 00000000000..a5575c97b48 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/UrlParameterWriter.cs @@ -0,0 +1,35 @@ +//
+// System.Web.Services.Protocols.UrlParameterWriter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class UrlParameterWriter : UrlEncodedParameterWriter {
+
+ #region Constructors
+
+ [MonoTODO]
+ public UrlParameterWriter ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public override string GetRequestUrl (string url, object[] parameters)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/ValueCollectionParameterReader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ValueCollectionParameterReader.cs new file mode 100644 index 00000000000..e01e11f01b0 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/ValueCollectionParameterReader.cs @@ -0,0 +1,61 @@ +//
+// System.Web.Services.Protocols.ValueCollectionParameterReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections.Specialized;
+using System.Reflection;
+using System.Web;
+
+namespace System.Web.Services.Protocols {
+ public abstract class ValueCollectionParameterReader : MimeParameterReader {
+
+ #region Constructors
+
+ [MonoTODO]
+ protected ValueCollectionParameterReader ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public override object GetInitializer (LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void Initialize (object o)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static bool IsSupported (LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public static bool IsSupported (ParameterInfo paramInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected object[] Read (NameValueCollection collection)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientAsyncResult.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientAsyncResult.cs new file mode 100644 index 00000000000..0102fb93ce5 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientAsyncResult.cs @@ -0,0 +1,71 @@ +//
+// System.Web.Services.Protocols.WebClientAsyncResult.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Net;
+using System.Threading;
+
+namespace System.Web.Services.Protocols {
+ public class WebClientAsyncResult : IAsyncResult {
+
+ #region Fields
+
+ WaitHandle waitHandle;
+
+ WebClientProtocol protocol;
+ WebRequest request;
+ AsyncCallback callback;
+ object asyncState;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO ("Figure out what this does.")]
+ internal WebClientAsyncResult (WebClientProtocol protocol, object x, WebRequest request, AsyncCallback callback, object asyncState, int y)
+ {
+ this.protocol = protocol;
+ this.request = request;
+ this.callback = callback;
+ this.asyncState = asyncState;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public object AsyncState {
+ get { return asyncState; }
+ }
+
+ public WaitHandle AsyncWaitHandle {
+ get { return waitHandle; }
+ }
+
+ public bool CompletedSynchronously {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ public bool IsCompleted {
+ [MonoTODO]
+ get { throw new NotImplementedException (); }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public void Abort ()
+ {
+ request.Abort ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientProtocol.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientProtocol.cs new file mode 100644 index 00000000000..6a861ee790c --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebClientProtocol.cs @@ -0,0 +1,140 @@ +//
+// System.Web.Services.Protocols.WebClientProtocol.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Collections.Specialized;
+using System.ComponentModel;
+using System.Net;
+using System.Text;
+using System.Threading;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public abstract class WebClientProtocol : Component {
+
+ #region Fields
+
+ string connectionGroupName;
+ ICredentials credentials;
+ bool preAuthenticate;
+ Encoding requestEncoding;
+ int timeout;
+ string url;
+ bool abort;
+ static HybridDictionary cache;
+
+ #endregion
+
+ #region Constructors
+
+ static WebClientProtocol ()
+ {
+ cache = new HybridDictionary ();
+ }
+
+ protected WebClientProtocol ()
+ {
+ connectionGroupName = String.Empty;
+ credentials = null;
+ preAuthenticate = false;
+ requestEncoding = null;
+ timeout = 100000;
+ url = String.Empty;
+ abort = false;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [DefaultValue ("")]
+ public string ConnectionGroupName {
+ get { return connectionGroupName; }
+ set { connectionGroupName = value; }
+ }
+
+ public ICredentials Credentials {
+ get { return credentials; }
+ set { credentials = value; }
+ }
+
+ [DefaultValue (false)]
+ [WebServicesDescription ("Enables pre authentication of the request.")]
+ public bool PreAuthenticate {
+ get { return preAuthenticate; }
+ set { preAuthenticate = value; }
+ }
+
+ [DefaultValue ("")]
+ [RecommendedAsConfigurable (true)]
+ [WebServicesDescription ("The encoding to use for requests.")]
+ public Encoding RequestEncoding {
+ get { return requestEncoding; }
+ set { requestEncoding = value; }
+ }
+
+ [DefaultValue (100000)]
+ [RecommendedAsConfigurable (true)]
+ [WebServicesDescription ("Sets the timeout in milliseconds to be used for synchronous calls. The default of -1 means infinite.")]
+ public int Timeout {
+ get { return timeout; }
+ set { timeout = value; }
+ }
+
+ [DefaultValue ("")]
+ [RecommendedAsConfigurable (true)]
+ [WebServicesDescription ("The base URL to the server to use for requests.")]
+ public string Url {
+ get { return url; }
+ set { url = value; }
+ }
+
+ #endregion // Properties
+
+ #region Methods
+
+ public virtual void Abort ()
+ {
+ abort = true;
+ }
+
+ protected static void AddToCache (Type type, object value)
+ {
+ cache [type] = value;
+ }
+
+ protected static object GetFromCache (Type type)
+ {
+ return cache [type];
+ }
+
+ protected virtual WebRequest GetWebRequest (Uri uri)
+ {
+ return WebRequest.Create (uri);
+ }
+
+ protected virtual WebResponse GetWebResponse (WebRequest request)
+ {
+ if (abort)
+ throw new WebException ("The operation has been aborted.", WebExceptionStatus.RequestCanceled);
+ return request.GetResponse ();
+ }
+
+ protected virtual WebResponse GetWebResponse (WebRequest request, IAsyncResult result)
+ {
+ if (abort)
+ throw new WebException ("The operation has been aborted.", WebExceptionStatus.RequestCanceled);
+
+ IAsyncResult ar = request.BeginGetResponse (null, null);
+ ar.AsyncWaitHandle.WaitOne ();
+ return request.EndGetResponse (result);
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandler.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandler.cs new file mode 100644 index 00000000000..43357a41155 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandler.cs @@ -0,0 +1,69 @@ +//
+// System.Web.Services.Protocols.WebServiceHandler.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ internal class WebServiceHandler {
+
+ #region Fields
+
+ ServerProtocol protocol;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ [MonoTODO]
+ public WebServiceHandler (ServerProtocol protocol)
+ {
+ this.protocol = protocol;
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ protected IAsyncResult BeginCoreProcessRequest (AsyncCallback callback, object o)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected void CoreProcessRequest ()
+ {
+ Invoke ();
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ protected void EndCoreProcessRequest (IAsyncResult result)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ private void Invoke ()
+ {
+ //WriteReturns (returnValues);
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ private void WriteReturns (object[] returnValues)
+ {
+ //protocol.WriteReturns (returnValues, outputStream);
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandlerFactory.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandlerFactory.cs new file mode 100644 index 00000000000..9e77e56dcc3 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/WebServiceHandlerFactory.cs @@ -0,0 +1,41 @@ +//
+// System.Web.Services.Protocols.WebServiceHandlerFactory.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class WebServiceHandlerFactory : IHttpHandlerFactory {
+
+ #region Constructors
+
+ [MonoTODO]
+ public WebServiceHandlerFactory ()
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public IHttpHandler GetHandler (HttpContext context, string verb, string url, string filePath)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public void ReleaseHandler (IHttpHandler handler)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/XmlReturnReader.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/XmlReturnReader.cs new file mode 100644 index 00000000000..adf27eafa98 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/XmlReturnReader.cs @@ -0,0 +1,53 @@ +//
+// System.Web.Services.Protocols.XmlReturnReader.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Net;
+using System.Web.Services;
+
+namespace System.Web.Services.Protocols {
+ public class XmlReturnReader : MimeReturnReader {
+
+ #region Constructors
+
+ public XmlReturnReader ()
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Methods
+
+ [MonoTODO]
+ public override object GetInitializer (LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override object[] GetInitializers (LogicalMethodInfo[] methodInfos)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void Initialize (object o)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override object Read (WebResponse response, Stream responseStream)
+ {
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.Protocols/XmlReturnWriter.cs b/mcs/class/System.Web.Services/System.Web.Services.Protocols/XmlReturnWriter.cs new file mode 100644 index 00000000000..35cb22b16cd --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.Protocols/XmlReturnWriter.cs @@ -0,0 +1,45 @@ +//
+// System.Web.Services.Protocols.XmlReturnWriter.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.IO;
+using System.Web;
+
+namespace System.Web.Services.Protocols {
+ internal class XmlReturnWriter : MimeReturnWriter {
+
+ #region Methods
+
+ [MonoTODO]
+ public override object GetInitializer (LogicalMethodInfo methodInfo)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override object[] GetInitializers (LogicalMethodInfo[] methodInfos)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void Initialize (object initializer)
+ {
+ throw new NotImplementedException ();
+ }
+
+ [MonoTODO]
+ public override void Write (HttpResponse response, Stream outputStream, object returnValue)
+ {
+ //serializer.Serialize (textWriter, o)
+ throw new NotImplementedException ();
+ }
+
+ #endregion // Methods
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services.build b/mcs/class/System.Web.Services/System.Web.Services.build new file mode 100644 index 00000000000..f6d40dbc008 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services.build @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="iso-8859-1"?> + +<!-- NAnt build file for System.Web.Services.dll --> + +<project name="System" default="build"> + <property name="debug" value="false"/> + + <target name="build"> + <mkdir dir="../lib"/> + <csc target="library" output="../lib/System.Web.Services.dll" debug="${debug}"> + <arg value="/nowarn:1595"/> + <arg value="/nowarn:0169"/> + <arg value="/nowarn:0649"/> <!-- always default value --> + <arg value="/nowarn:0067"/> <!-- event never used --> + <arg value="/nowarn:0679"/> <!-- internal virual --> + <arg value="/nowarn:0168"/> <!-- never used variable --> + <arg value="/nowarn:0162"/> <!-- unreachable code --> + <arg value="/unsafe"/> + <arg value="/noconfig"/> + <arg value="/debug"/> + <arg value="/r:System.dll"/> + <arg value="/r:System.EnterpriseServices.dll"/> + <arg value="/r:System.Xml.dll"/> + <arg value="/r:System.Web.dll"/> + <sources> + <includes name="**/*.cs"/> + <excludes name="Test/**"/> + </sources> + </csc> + </target> + <target name="test" depends="build"> + <nant basedir="Test" target="test"/> + </target> + <target name="clean"> + <nant basedir="Test" target="clean"/> + <delete file="../lib/System.Web.Services.dll" failonerror="false"/> + </target> +</project> diff --git a/mcs/class/System.Web.Services/System.Web.Services/ChangeLog b/mcs/class/System.Web.Services/System.Web.Services/ChangeLog new file mode 100644 index 00000000000..d4b9db79fc3 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services/ChangeLog @@ -0,0 +1,67 @@ +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 diff --git a/mcs/class/System.Web.Services/System.Web.Services/TODOAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services/TODOAttribute.cs new file mode 100644 index 00000000000..88348c96610 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services/TODOAttribute.cs @@ -0,0 +1,32 @@ +// +// TODOAttribute.cs +// +// Author: +// Ravi Pratap (ravi@ximian.com) +// +// (C) Ximian, Inc. http://www.ximian.com +// + +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; + } + } +} diff --git a/mcs/class/System.Web.Services/System.Web.Services/WebMethodAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services/WebMethodAttribute.cs new file mode 100644 index 00000000000..c216715dcec --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services/WebMethodAttribute.cs @@ -0,0 +1,96 @@ + //
+// System.Web.Services.WebMethodAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.EnterpriseServices;
+
+namespace System.Web.Services {
+ [AttributeUsage(AttributeTargets.Method)]
+ public sealed class WebMethodAttribute : Attribute {
+
+ #region Fields
+
+ bool bufferResponse;
+ int cacheDuration;
+ string description;
+ bool enableSession;
+ string messageName;
+ TransactionOption transactionOption;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public WebMethodAttribute ()
+ : this (false, TransactionOption.Disabled, 0, true)
+ {
+ }
+
+ public WebMethodAttribute (bool enableSession)
+ : this (enableSession, TransactionOption.Disabled, 0, true)
+ {
+ }
+
+ public WebMethodAttribute (bool enableSession, TransactionOption transactionOption)
+ : this (enableSession, transactionOption, 0, true)
+ {
+ }
+
+ public WebMethodAttribute (bool enableSession, TransactionOption transactionOption, int cacheDuration)
+ : this (enableSession, transactionOption, cacheDuration, true)
+ {
+ }
+
+ public WebMethodAttribute (bool enableSession, TransactionOption transactionOption, int cacheDuration, bool bufferResponse)
+ {
+ this.bufferResponse = bufferResponse;
+ this.cacheDuration = cacheDuration;
+ this.enableSession = enableSession;
+ this.transactionOption = transactionOption;
+
+ this.description = String.Empty;
+ this.messageName = String.Empty;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public bool BufferResponse {
+ get { return bufferResponse; }
+ set { bufferResponse = value; }
+ }
+
+ public int CacheDuration {
+ get { return cacheDuration; }
+ set { cacheDuration = value; }
+ }
+
+ public string Description {
+ get { return description; }
+ set { description = value; }
+ }
+
+ public bool EnableSession {
+ get { return enableSession; }
+ set { enableSession = value; }
+ }
+
+ public string MessageName {
+ get { return messageName; }
+ set { messageName = value; }
+ }
+
+ public TransactionOption TransactionOption {
+ get { return transactionOption; }
+ set { transactionOption = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services/WebService.cs b/mcs/class/System.Web.Services/System.Web.Services/WebService.cs new file mode 100644 index 00000000000..bd2c5598d63 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services/WebService.cs @@ -0,0 +1,72 @@ + //
+// System.Web.Services.WebService.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+using System.Security.Principal;
+using System.Web;
+using System.Web.SessionState;
+
+namespace System.Web.Services {
+ public class WebService : MarshalByValueComponent {
+
+ #region Fields
+
+ HttpApplication application;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public WebService ()
+ {
+ application = new HttpApplication ();
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ [Browsable (false)]
+ [Description ("The ASP.NET application object for the current request.")]
+ [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+ public HttpApplicationState Application {
+ get { return application.Application; }
+ }
+
+ [Browsable (false)]
+ [WebServicesDescription ("The ASP.NET context object for the current request.")]
+ [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+ public HttpContext Context {
+ get { return application.Context; }
+ }
+
+ [Browsable (false)]
+ [WebServicesDescription ("The ASP.NET utility object for the current request.")]
+ [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+ public HttpServerUtility Server {
+ get { return application.Server; }
+ }
+
+ [Browsable (false)]
+ [WebServicesDescription ("The ASP.NET session object for the current request.")]
+ [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+ public HttpSessionState Session {
+ get { return application.Session; }
+ }
+
+ [Browsable (false)]
+ [WebServicesDescription ("The ASP.NET user object for the current request. The object is used for authorization.")]
+ [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+ public IPrincipal User {
+ get { return application.User; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services/WebServiceAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services/WebServiceAttribute.cs new file mode 100644 index 00000000000..eb50b0c6116 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services/WebServiceAttribute.cs @@ -0,0 +1,54 @@ + //
+// System.Web.Services.WebServiceAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services {
+ [AttributeUsage (AttributeTargets.Class)]
+ public sealed class WebServiceAttribute : Attribute {
+
+ #region Fields
+
+ public const string DefaultNamespace = "http://tempuri.org/";
+ string description;
+ string name;
+ string ns;
+
+ #endregion // Fields
+
+ #region Constructors
+
+
+ public WebServiceAttribute ()
+ {
+ description = String.Empty;
+ name = String.Empty;
+ ns = DefaultNamespace;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public string Description {
+ get { return description; }
+ set { description = value; }
+ }
+
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public string Namespace {
+ get { return ns; }
+ set { ns = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services/WebServiceBindingAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services/WebServiceBindingAttribute.cs new file mode 100644 index 00000000000..6ea242eb3de --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services/WebServiceBindingAttribute.cs @@ -0,0 +1,67 @@ + //
+// System.Web.Services.WebServiceBindingAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+namespace System.Web.Services {
+ [AttributeUsage(AttributeTargets.Class)]
+ public sealed class WebServiceBindingAttribute : Attribute {
+
+ #region Fields
+
+ string location;
+ string name;
+ string ns;
+
+ #endregion // Fields
+
+ #region Constructors
+
+ public WebServiceBindingAttribute ()
+ : this (String.Empty, String.Empty, String.Empty)
+ {
+ }
+
+ public WebServiceBindingAttribute (string name)
+ : this (name, String.Empty, String.Empty)
+ {
+ }
+
+ public WebServiceBindingAttribute (string name, string ns)
+ : this (name, ns, String.Empty)
+ {
+ }
+
+ public WebServiceBindingAttribute (string name, string ns, string location)
+ {
+ this.name = name;
+ this.ns = ns;
+ this.location = location;
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public string Location {
+ get { return location; }
+ set { location = value; }
+ }
+
+ public string Name {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public string Namespace {
+ get { return ns; }
+ set { ns = value; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/System.Web.Services/WebServicesDescriptionAttribute.cs b/mcs/class/System.Web.Services/System.Web.Services/WebServicesDescriptionAttribute.cs new file mode 100644 index 00000000000..84905edc486 --- /dev/null +++ b/mcs/class/System.Web.Services/System.Web.Services/WebServicesDescriptionAttribute.cs @@ -0,0 +1,33 @@ +//
+// System.Web.Services.WebServicesDescriptionAttribute.cs
+//
+// Author:
+// Tim Coleman (tim@timcoleman.com)
+//
+// Copyright (C) Tim Coleman, 2002
+//
+
+using System.ComponentModel;
+
+namespace System.Web.Services {
+ [AttributeUsage (AttributeTargets.Property | AttributeTargets.Event)]
+ internal class WebServicesDescriptionAttribute : DescriptionAttribute {
+
+ #region Constructors
+
+ public WebServicesDescriptionAttribute (string description)
+ : base (description)
+ {
+ }
+
+ #endregion // Constructors
+
+ #region Properties
+
+ public override string Description {
+ get { return DescriptionValue; }
+ }
+
+ #endregion // Properties
+ }
+}
diff --git a/mcs/class/System.Web.Services/Test/.cvsignore b/mcs/class/System.Web.Services/Test/.cvsignore new file mode 100644 index 00000000000..6a7461313bb --- /dev/null +++ b/mcs/class/System.Web.Services/Test/.cvsignore @@ -0,0 +1 @@ +*.dll diff --git a/mcs/class/System.Web.Services/Test/AllTests.cs b/mcs/class/System.Web.Services/Test/AllTests.cs new file mode 100644 index 00000000000..9a3c8081da6 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/AllTests.cs @@ -0,0 +1,24 @@ +// MonoTests.AllTests, System.Web.Services.dll +// +// Author: +// Tim Coleman (tim@timcoleman.com) +// +// Copyright (C) Tim Coleman, 2002 + +using NUnit.Framework; + +namespace MonoTests { + public class AllTests : TestCase { + public AllTests (string name) : base (name) {} + + public static ITest Suite { + get { + TestSuite suite = new TestSuite (); + suite.AddTest (System.Web.Services.AllTests.Suite); + suite.AddTest (System.Web.Services.Configuration.AllTests.Suite); + suite.AddTest (System.Web.Services.Discovery.AllTests.Suite); + return suite; + } + } + } +} diff --git a/mcs/class/System.Web.Services/Test/ChangeLog b/mcs/class/System.Web.Services/Test/ChangeLog new file mode 100644 index 00000000000..b4524c71d10 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/ChangeLog @@ -0,0 +1,10 @@ +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. diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/AllTests.cs b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/AllTests.cs new file mode 100644 index 00000000000..f3446f66ed1 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/AllTests.cs @@ -0,0 +1,22 @@ +// MonoTests.System.Web.Services.Configuration.AllTests, System.Web.Services.dll +// +// Author: +// Tim Coleman (tim@timcoleman.com) +// +// Copyright (C) Tim Coleman, 2002 + +using NUnit.Framework; + +namespace MonoTests.System.Web.Services.Configuration { + public class AllTests : TestCase { + public AllTests (string name) : base (name) {} + + public static ITest Suite { + get { + TestSuite suite = new TestSuite (); + suite.AddTest (XmlFormatExtensionAttributeTest.Suite); + return suite; + } + } + } +} diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/ChangeLog b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/ChangeLog new file mode 100644 index 00000000000..d5a0ded96ed --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/ChangeLog @@ -0,0 +1,5 @@ +2002-08-09 Tim Coleman <tim@timcoleman.com> + * AllTests.cs: + * ChangeLog: + * XmlFormatExtensionAttributeTest.cs: + New files added for test suite. diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/XmlFormatExtensionAttributeTest.cs b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/XmlFormatExtensionAttributeTest.cs new file mode 100644 index 00000000000..f0abcb24ad5 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Configuration/XmlFormatExtensionAttributeTest.cs @@ -0,0 +1,80 @@ +// +// MonoTests.System.Web.Services.Configuration.XmlFormatExtensionAttributeTest.cs +// +// Author: +// Tim Coleman (tim@timcoleman.com) +// +// Copyright (C) Tim Coleman, 2002 +// + +using NUnit.Framework; +using System; +using System.Web.Services.Configuration; +using System.Web.Services.Description; + +namespace MonoTests.System.Web.Services.Configuration { + + public class XmlFormatExtensionAttributeTest : TestCase { + + public XmlFormatExtensionAttributeTest () : + base ("[MonoTests.System.Web.Services.Configuration.XmlFormatExtensionAttributeTest]") + { + } + + public XmlFormatExtensionAttributeTest (string name) : + base (name) + { + } + + protected override void SetUp () + { + } + + protected override void TearDown () + { + } + + public static ITest Suite { + get { return new TestSuite (typeof (XmlFormatExtensionAttributeTest)); } + } + + 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); + } + } +} diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/AllTests.cs b/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/AllTests.cs new file mode 100644 index 00000000000..40f2594a838 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/AllTests.cs @@ -0,0 +1,22 @@ +// MonoTests.System.Web.Services.Discovery.AllTests, System.Web.Services.dll +// +// Author: +// Tim Coleman (tim@timcoleman.com) +// +// Copyright (C) Tim Coleman, 2002 + +using NUnit.Framework; + +namespace MonoTests.System.Web.Services.Discovery { + public class AllTests : TestCase { + public AllTests (string name) : base (name) {} + + public static ITest Suite { + get { + TestSuite suite = new TestSuite (); + suite.AddTest (ContractReferenceTest.Suite); + return suite; + } + } + } +} diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/ChangeLog b/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/ChangeLog new file mode 100644 index 00000000000..2f04b932891 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/ChangeLog @@ -0,0 +1,5 @@ +2002-08-09 Tim Coleman <tim@timcoleman.com> + * AllTests.cs: + * ChangeLog: + * ContractReferenceTest.cs: + New files added for test suite. diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/ContractReferenceTest.cs b/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/ContractReferenceTest.cs new file mode 100644 index 00000000000..b45b89f7578 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/ContractReferenceTest.cs @@ -0,0 +1,55 @@ +// +// MonoTests.System.Web.Services.Discovery.ContractReferenceTest.cs +// +// Author: +// Tim Coleman (tim@timcoleman.com) +// +// Copyright (C) Tim Coleman, 2002 +// + +using NUnit.Framework; +using System; +using System.Web.Services.Discovery; + +namespace MonoTests.System.Web.Services.Discovery { + + public class ContractReferenceTest : TestCase { + + public ContractReferenceTest () : + base ("[MonoTests.System.Web.Services.Discovery.ContractReferenceTest]") + { + } + + public ContractReferenceTest (string name) : + base (name) + { + } + + protected override void SetUp () + { + } + + protected override void TearDown () + { + } + + public static ITest Suite { + get { return new TestSuite (typeof (ContractReferenceTest)); } + } + + public void TestConstructors () + { + ContractReference contractReference; + + contractReference = new ContractReference (); + AssertEquals (String.Empty, contractReference.DocRef); + AssertEquals (String.Empty, contractReference.Ref); + AssertEquals (String.Empty, contractReference.Url); + } + + public void TestConstants () + { + AssertEquals ("http://schemas.xmlsoap.org/disco/scl/", ContractReference.Namespace); + } + } +} diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services/AllTests.cs b/mcs/class/System.Web.Services/Test/System.Web.Services/AllTests.cs new file mode 100644 index 00000000000..625b6e62818 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services/AllTests.cs @@ -0,0 +1,23 @@ +// MonoTests.System.Web.Services.AllTests, System.Web.Services.dll +// +// Author: +// Tim Coleman (tim@timcoleman.com) +// +// Copyright (C) Tim Coleman, 2002 + +using NUnit.Framework; + +namespace MonoTests.System.Web.Services { + public class AllTests : TestCase { + public AllTests (string name) : base (name) {} + + public static ITest Suite { + get { + TestSuite suite = new TestSuite (); + suite.AddTest (WebMethodAttributeTest.Suite); + suite.AddTest (WebServiceAttributeTest.Suite); + return suite; + } + } + } +} diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services/ChangeLog b/mcs/class/System.Web.Services/Test/System.Web.Services/ChangeLog new file mode 100644 index 00000000000..17f6b9b74fd --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services/ChangeLog @@ -0,0 +1,6 @@ +2002-08-07 Tim Coleman <tim@timcoleman.com> + * AllTests.cs: + * ChangeLog: + * WebMethodAttributeTest.cs: + * WebServiceAttributeTest.cs: + New files and directories added for test suite. diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services/WebMethodAttributeTest.cs b/mcs/class/System.Web.Services/Test/System.Web.Services/WebMethodAttributeTest.cs new file mode 100644 index 00000000000..ad9dddad912 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services/WebMethodAttributeTest.cs @@ -0,0 +1,54 @@ +// +// MonoTests.System.Web.Services.WebMethodAttributeTest.cs +// +// Author: +// Tim Coleman (tim@timcoleman.com) +// +// Copyright (C) Tim Coleman, 2002 +// + +using NUnit.Framework; +using System; +using System.Web.Services; +using System.EnterpriseServices; + +namespace MonoTests.System.Web.Services { + + public class WebMethodAttributeTest : TestCase { + + public WebMethodAttributeTest () : + base ("[MonoTests.System.Web.Services.WebMethodAttributeTest]") + { + } + + public WebMethodAttributeTest (string name) : + base (name) + { + } + + protected override void SetUp () + { + } + + protected override void TearDown () + { + } + + public static ITest Suite { + get { return new TestSuite (typeof (WebMethodAttributeTest)); } + } + + 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); + } + } +} diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services/WebServiceAttributeTest.cs b/mcs/class/System.Web.Services/Test/System.Web.Services/WebServiceAttributeTest.cs new file mode 100644 index 00000000000..6979fae6214 --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services/WebServiceAttributeTest.cs @@ -0,0 +1,50 @@ +// +// MonoTests.System.Web.Services.WebServiceAttributeTest.cs +// +// Author: +// Tim Coleman (tim@timcoleman.com) +// +// Copyright (C) Tim Coleman, 2002 +// + +using NUnit.Framework; +using System; +using System.Web.Services; + +namespace MonoTests.System.Web.Services { + + public class WebServiceAttributeTest : TestCase { + + public WebServiceAttributeTest () : + base ("[MonoTests.System.Web.Services.WebServiceAttributeTest]") + { + } + + public WebServiceAttributeTest (string name) : + base (name) + { + } + + protected override void SetUp () + { + } + + protected override void TearDown () + { + } + + public static ITest Suite { + get { return new TestSuite (typeof (WebServiceAttributeTest)); } + } + + public void TestConstructors () + { + WebServiceAttribute attribute; + + attribute = new WebServiceAttribute (); + AssertEquals (String.Empty, attribute.Description); + AssertEquals (String.Empty, attribute.Name); + AssertEquals ("http://tempuri.org/", attribute.Namespace); + } + } +} diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services_test.build b/mcs/class/System.Web.Services/Test/System.Web.Services_test.build new file mode 100644 index 00000000000..caffa2b496d --- /dev/null +++ b/mcs/class/System.Web.Services/Test/System.Web.Services_test.build @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="iso-8859-1"?>
+
+<!-- NAnt build file for System.Web.Services_test.dll -->
+<!-- Target build (default) builds tests -->
+<!-- Target test runs tests -->
+
+<project name="System.Web.Services_test" default="build">
+ <property name="debug" value="false"/>
+ <property name="nunit_home" value="..\..\..\nunit"/>
+
+ <target name="build">
+ </target>
+
+ <target name="assemblies">
+ <csc target="library" output="System.Web.Services_test.dll" debug="${debug}">
+ <arg value="/nowarn:1595"/>
+ <sources>
+ <includes name="**/*.cs"/>
+ </sources>
+ <references basedir="..\..\..\nunit">
+ <includes name="NUnitCore.dll"/>
+ </references>
+ <arg value="/r:..\..\lib\System.Web.Services.dll"/>
+ </csc>
+ </target>
+
+ <target name="test" depends="assemblies">
+ <exec program="..\..\..\nunit\NUnitConsole" commandline="MonoTests.System.Web.Services.AllTests,System.Web.Services_test.dll" failonerror="false"/>
+ </target>
+
+ <target name="clean">
+ <delete file="System.Web.Services.dll" failonerror="false"/>
+ <delete file="System.Web.Services_test.dll" failonerror="false"/>
+ </target>
+</project>
diff --git a/mcs/class/System.Web.Services/list b/mcs/class/System.Web.Services/list new file mode 100644 index 00000000000..5371d9fc94c --- /dev/null +++ b/mcs/class/System.Web.Services/list @@ -0,0 +1,153 @@ +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.Configuration/XmlFormatExtensionAttribute.cs +System.Web.Services.Configuration/XmlFormatExtensionPointAttribute.cs +System.Web.Services.Configuration/XmlFormatExtensionPrefixAttribute.cs +System.Web.Services.Description/Binding.cs +System.Web.Services.Description/BindingCollection.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/HttpOperationBinding.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/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/ServiceDescriptionReflector.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/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.Protocols/AnyReturnReader.cs +System.Web.Services.Protocols/HtmlFormParameterReader.cs +System.Web.Services.Protocols/HtmlFormParameterWriter.cs +System.Web.Services.Protocols/HttpGetClientProtocol.cs +System.Web.Services.Protocols/HttpMethodAttribute.cs +System.Web.Services.Protocols/HttpPostClientProtocol.cs +System.Web.Services.Protocols/HttpServerProtocol.cs +System.Web.Services.Protocols/HttpSimpleClientProtocol.cs +System.Web.Services.Protocols/HttpWebClientProtocol.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/ServerProtocol.cs +System.Web.Services.Protocols/SoapClientMessage.cs +System.Web.Services.Protocols/SoapClientMethod.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/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/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/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/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/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 diff --git a/mcs/class/System.Web.Services/makefile.gnu b/mcs/class/System.Web.Services/makefile.gnu new file mode 100644 index 00000000000..bd938f6a722 --- /dev/null +++ b/mcs/class/System.Web.Services/makefile.gnu @@ -0,0 +1,13 @@ +topdir = ../.. + +LIBRARY = $(topdir)/class/lib/System.Web.Services.dll + +LIB_LIST = list +LIB_FLAGS = -r corlib -r System.Xml -r System.EnterpriseServices -r System.Web -r System + +SOURCES_INCLUDE=*.cs +SOURCES_EXCLUDE=./Test* + +export MONO_PATH_PREFIX = $(topdir)/class/lib: + +include $(topdir)/class/library.make |