OperationOutput Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Defines the specifications for output messages returned by the XML Web service. This class cannot be inherited.
public ref class OperationOutput sealed : System::Web::Services::Description::OperationMessage
public sealed class OperationOutput : System.Web.Services.Description.OperationMessage
[System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")]
public sealed class OperationOutput : System.Web.Services.Description.OperationMessage
type OperationOutput = class
inherit OperationMessage
[<System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")>]
type OperationOutput = class
inherit OperationMessage
Public NotInheritable Class OperationOutput
Inherits OperationMessage
- Inheritance
- Inheritance
- Attributes
Examples
#using <System.Xml.dll>
#using <System.Web.Services.dll>
#using <System.dll>
using namespace System;
using namespace System::Web::Services::Description;
using namespace System::Collections;
using namespace System::Xml;
int main()
{
try
{
ServiceDescription^ myDescription = ServiceDescription::Read( "AddNumbersIn_cs.wsdl" );
// Add the ServiceHttpPost binding.
Binding^ myBinding = gcnew Binding;
myBinding->Name = "ServiceHttpPost";
XmlQualifiedName^ myXmlQualifiedName = gcnew XmlQualifiedName( "s0:ServiceHttpPost" );
myBinding->Type = myXmlQualifiedName;
HttpBinding^ myHttpBinding = gcnew HttpBinding;
myHttpBinding->Verb = "POST";
myBinding->Extensions->Add( myHttpBinding );
// Add the operation name AddNumbers.
OperationBinding^ myOperationBinding = gcnew OperationBinding;
myOperationBinding->Name = "AddNumbers";
HttpOperationBinding^ myOperation = gcnew HttpOperationBinding;
myOperation->Location = "/AddNumbers";
myOperationBinding->Extensions->Add( myOperation );
// Add the input binding.
InputBinding^ myInput = gcnew InputBinding;
MimeContentBinding^ postMimeContentbinding = gcnew MimeContentBinding;
postMimeContentbinding->Type = "application/x-www-form-urlencoded";
myInput->Extensions->Add( postMimeContentbinding );
// Add the InputBinding to the OperationBinding.
myOperationBinding->Input = myInput;
// Add the ouput binding.
OutputBinding^ myOutput = gcnew OutputBinding;
MimeXmlBinding^ postMimeXmlbinding = gcnew MimeXmlBinding;
postMimeXmlbinding->Part = "Body";
myOutput->Extensions->Add( postMimeXmlbinding );
// Add the OutPutBinding to the OperationBinding.
myOperationBinding->Output = myOutput;
myBinding->Operations->Add( myOperationBinding );
myDescription->Bindings->Add( myBinding );
// Add the port definition.
Port^ postPort = gcnew Port;
postPort->Name = "ServiceHttpPost";
postPort->Binding = gcnew XmlQualifiedName( "s0:ServiceHttpPost" );
HttpAddressBinding^ postAddressBinding = gcnew HttpAddressBinding;
postAddressBinding->Location = "http://localhost/Service_cs.asmx";
postPort->Extensions->Add( postAddressBinding );
myDescription->Services[ 0 ]->Ports->Add( postPort );
// Add the post port type definition.
PortType^ postPortType = gcnew PortType;
postPortType->Name = "ServiceHttpPost";
Operation^ postOperation = gcnew Operation;
postOperation->Name = "AddNumbers";
OperationMessage^ postInput = dynamic_cast<OperationMessage^>(gcnew OperationInput);
postInput->Message = gcnew XmlQualifiedName( "s0:AddNumbersHttpPostIn" );
OperationOutput^ postOutput = gcnew OperationOutput;
postOutput->Message = gcnew XmlQualifiedName( "s0:AddNumbersHttpPostOut" );
postOperation->Messages->Add( postInput );
postOperation->Messages->Add( postOutput );
postPortType->Operations->Add( postOperation );
myDescription->PortTypes->Add( postPortType );
// Add the first message information.
Message^ postMessage1 = gcnew Message;
postMessage1->Name = "AddNumbersHttpPostIn";
MessagePart^ postMessagePart1 = gcnew MessagePart;
postMessagePart1->Name = "firstnumber";
postMessagePart1->Type = gcnew XmlQualifiedName( "s:string" );
// Add the second message information.
MessagePart^ postMessagePart2 = gcnew MessagePart;
postMessagePart2->Name = "secondnumber";
postMessagePart2->Type = gcnew XmlQualifiedName( "s:string" );
postMessage1->Parts->Add( postMessagePart1 );
postMessage1->Parts->Add( postMessagePart2 );
Message^ postMessage2 = gcnew Message;
postMessage2->Name = "AddNumbersHttpPostOut";
// Add the third message information.
MessagePart^ postMessagePart3 = gcnew MessagePart;
postMessagePart3->Name = "Body";
postMessagePart3->Element = gcnew XmlQualifiedName( "s0:int" );
postMessage2->Parts->Add( postMessagePart3 );
myDescription->Messages->Add( postMessage1 );
myDescription->Messages->Add( postMessage2 );
// Write the ServiceDescription as a WSDL file.
myDescription->Write( "AddNumbersOut_cs.wsdl" );
Console::WriteLine( "WSDL file named AddNumbersOut_cs.Wsdl"
" created successfully." );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception caught!!!" );
Console::WriteLine( "Source : {0}", e->Source );
Console::WriteLine( "Message : {0}", e->Message );
}
}
using System;
using System.Web.Services.Description;
using System.Collections;
using System.Xml;
class MyOperationOutputSample
{
public static void Main()
{
try
{
ServiceDescription myDescription =
ServiceDescription.Read("AddNumbersIn_cs.wsdl");
// Add the ServiceHttpPost binding.
Binding myBinding = new Binding();
myBinding.Name = "ServiceHttpPost";
XmlQualifiedName myXmlQualifiedName =
new XmlQualifiedName("s0:ServiceHttpPost");
myBinding.Type = myXmlQualifiedName;
HttpBinding myHttpBinding = new HttpBinding();
myHttpBinding.Verb = "POST";
myBinding.Extensions.Add(myHttpBinding);
// Add the operation name AddNumbers.
OperationBinding myOperationBinding = new OperationBinding();
myOperationBinding.Name = "AddNumbers";
HttpOperationBinding myOperation = new HttpOperationBinding();
myOperation.Location = "/AddNumbers";
myOperationBinding.Extensions.Add(myOperation);
// Add the input binding.
InputBinding myInput = new InputBinding();
MimeContentBinding postMimeContentbinding =
new MimeContentBinding();
postMimeContentbinding.Type= "application/x-www-form-urlencoded";
myInput.Extensions.Add(postMimeContentbinding);
// Add the InputBinding to the OperationBinding.
myOperationBinding.Input = myInput;
// Add the ouput binding.
OutputBinding myOutput = new OutputBinding();
MimeXmlBinding postMimeXmlbinding = new MimeXmlBinding();
postMimeXmlbinding .Part="Body";
myOutput.Extensions.Add(postMimeXmlbinding);
// Add the OutPutBinding to the OperationBinding.
myOperationBinding.Output = myOutput;
myBinding.Operations.Add(myOperationBinding);
myDescription.Bindings.Add(myBinding);
// Add the port definition.
Port postPort = new Port();
postPort.Name = "ServiceHttpPost";
postPort.Binding = new XmlQualifiedName("s0:ServiceHttpPost");
HttpAddressBinding postAddressBinding = new HttpAddressBinding();
postAddressBinding.Location = "http://localhost/Service_cs.asmx";
postPort.Extensions.Add(postAddressBinding);
myDescription.Services[0].Ports.Add(postPort);
// Add the post port type definition.
PortType postPortType = new PortType();
postPortType.Name = "ServiceHttpPost";
Operation postOperation = new Operation();
postOperation.Name = "AddNumbers";
OperationMessage postInput =
(OperationMessage)new OperationInput();
postInput.Message =
new XmlQualifiedName("s0:AddNumbersHttpPostIn");
OperationOutput postOutput = new OperationOutput();
postOutput.Message =
new XmlQualifiedName("s0:AddNumbersHttpPostOut");
postOperation.Messages.Add(postInput);
postOperation.Messages.Add(postOutput);
postPortType.Operations.Add(postOperation);
myDescription.PortTypes.Add(postPortType);
// Add the first message information.
Message postMessage1 = new Message();
postMessage1.Name="AddNumbersHttpPostIn";
MessagePart postMessagePart1 = new MessagePart();
postMessagePart1.Name = "firstnumber";
postMessagePart1.Type = new XmlQualifiedName("s:string");
// Add the second message information.
MessagePart postMessagePart2 = new MessagePart();
postMessagePart2.Name = "secondnumber";
postMessagePart2.Type = new XmlQualifiedName("s:string");
postMessage1.Parts.Add(postMessagePart1);
postMessage1.Parts.Add(postMessagePart2);
Message postMessage2 = new Message();
postMessage2.Name = "AddNumbersHttpPostOut";
// Add the third message information.
MessagePart postMessagePart3 = new MessagePart();
postMessagePart3.Name = "Body";
postMessagePart3.Element = new XmlQualifiedName("s0:int");
postMessage2.Parts.Add(postMessagePart3);
myDescription.Messages.Add(postMessage1);
myDescription.Messages.Add(postMessage2);
// Write the ServiceDescription as a WSDL file.
myDescription.Write("AddNumbersOut_cs.wsdl");
Console.WriteLine("WSDL file named AddNumbersOut_cs.Wsdl" +
" created successfully.");
}
catch(Exception e)
{
Console.WriteLine("Exception caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
}
}
Imports System.Web.Services.Description
Imports System.Collections
Imports System.Xml
Class MyOperationOutputSample
Public Shared Sub Main()
Try
Dim myDescription As ServiceDescription = _
ServiceDescription.Read("AddNumbersIn_vb.wsdl")
' Add the ServiceHttpPost binding.
Dim myBinding As New Binding()
myBinding.Name = "ServiceHttpPost"
Dim myXmlQualifiedName As New XmlQualifiedName("s0:ServiceHttpPost")
myBinding.Type = myXmlQualifiedName
Dim myHttpBinding As New HttpBinding()
myHttpBinding.Verb = "POST"
myBinding.Extensions.Add(myHttpBinding)
' Add the operation name AddNumbers.
Dim myOperationBinding As New OperationBinding()
myOperationBinding.Name = "AddNumbers"
Dim myOperation As New HttpOperationBinding()
myOperation.Location = "/AddNumbers"
myOperationBinding.Extensions.Add(myOperation)
' Add the input binding.
Dim myInput As New InputBinding()
Dim postMimeContentbinding As New MimeContentBinding()
postMimeContentbinding.Type = "application/x-www-form-urlencoded"
myInput.Extensions.Add(postMimeContentbinding)
' Add the InputBinding to the OperationBinding.
myOperationBinding.Input = myInput
' Add the ouput binding.
Dim myOutput As New OutputBinding()
Dim postMimeXmlbinding As New MimeXmlBinding()
postMimeXmlbinding.Part = "Body"
myOutput.Extensions.Add(postMimeXmlbinding)
' Add the OutPutBinding to the OperationBinding.
myOperationBinding.Output = myOutput
myBinding.Operations.Add(myOperationBinding)
myDescription.Bindings.Add(myBinding)
' Add the port definition.
Dim postPort As New Port()
postPort.Name = "ServiceHttpPost"
postPort.Binding = New XmlQualifiedName("s0:ServiceHttpPost")
Dim postAddressBinding As New HttpAddressBinding()
postAddressBinding.Location = "http://localhost/Service_vb.asmx"
postPort.Extensions.Add(postAddressBinding)
myDescription.Services(0).Ports.Add(postPort)
' Add the post port type definition.
Dim postPortType As New PortType()
postPortType.Name = "ServiceHttpPost"
Dim postOperation As New Operation()
postOperation.Name = "AddNumbers"
Dim postInput As OperationMessage = _
CType(New OperationInput(), OperationMessage)
postInput.Message = New XmlQualifiedName("s0:AddNumbersHttpPostIn")
Dim postOutput As New OperationOutput()
postOutput.Message = New XmlQualifiedName("s0:AddNumbersHttpPostOut")
postOperation.Messages.Add(postInput)
postOperation.Messages.Add(postOutput)
postPortType.Operations.Add(postOperation)
myDescription.PortTypes.Add(postPortType)
' Add the first message information.
Dim postMessage1 As New Message()
postMessage1.Name = "AddNumbersHttpPostIn"
Dim postMessagePart1 As New MessagePart()
postMessagePart1.Name = "firstnumber"
postMessagePart1.Type = New XmlQualifiedName("s:string")
' Add the second message information.
Dim postMessagePart2 As New MessagePart()
postMessagePart2.Name = "secondnumber"
postMessagePart2.Type = New XmlQualifiedName("s:string")
postMessage1.Parts.Add(postMessagePart1)
postMessage1.Parts.Add(postMessagePart2)
Dim postMessage2 As New Message()
postMessage2.Name = "AddNumbersHttpPostOut"
' Add the third message information.
Dim postMessagePart3 As New MessagePart()
postMessagePart3.Name = "Body"
postMessagePart3.Element = New XmlQualifiedName("s0:int")
postMessage2.Parts.Add(postMessagePart3)
myDescription.Messages.Add(postMessage1)
myDescription.Messages.Add(postMessage2)
' Write the 'ServiceDescription' as a WSDL file.
myDescription.Write("AddNumbersOut_vb.wsdl")
Console.WriteLine("WSDL file named AddNumberOut_vb.Wsdl" & _
" created successfully.")
Catch e As Exception
Console.WriteLine("Exception caught!!!")
Console.WriteLine("Source : " & e.Source.ToString())
Console.WriteLine("Message : " & e.Message.ToString())
End Try
End Sub
End Class
Remarks
Exactly one instance of this class is a member of the Messages property of the parent Operation instance.
The OperationOutput class corresponds to the Web Services Description Language (WSDL) output
element enclosed by the operation
element that is in turn enclosed by the portType
element. For more information about WSDL, see the WSDL specification.
Constructors
OperationOutput() |
Initializes a new instance of the OperationOutput class. |
Properties
Documentation |
Gets or sets the text documentation for the instance of the DocumentableItem. (Inherited from DocumentableItem) |
DocumentationElement |
Gets or sets the documentation element for the DocumentableItem. (Inherited from DocumentableItem) |
ExtensibleAttributes |
Gets or sets an array of type XmlAttribute that represents attribute extensions of WSDL to comply with Web Services Interoperability (WS-I) Basic Profile 1.1. (Inherited from DocumentableItem) |
Extensions |
Gets the ServiceDescriptionFormatExtensionCollection associated with this OperationOutput. |
Extensions |
Gets the ServiceDescriptionFormatExtensionCollection associated with this DocumentableItem. (Inherited from DocumentableItem) |
Message |
Gets or sets an abstract, typed definition of the data being communicated. (Inherited from OperationMessage) |
Name |
Gets or sets the name of the OperationMessage. (Inherited from OperationMessage) |
Namespaces |
Gets or sets the dictionary of namespace prefixes and namespaces used to preserve namespace prefixes and namespaces when a ServiceDescription object is constructed. (Inherited from DocumentableItem) |
Operation |
Gets the Operation of which the OperationMessage is a member. (Inherited from OperationMessage) |
Methods
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Applies to
See also
.NET