Export (0) Print
Expand All

OperationInput Class

Defines the specifications for input messages received by the XML Web service. This class cannot be inherited.

For a list of all members of this type, see OperationInput Members.

System.Object
   System.Web.Services.Description.DocumentableItem
      System.Web.Services.Description.OperationMessage
         System.Web.Services.Description.OperationInput

[Visual Basic]
NotInheritable Public Class OperationInput
   Inherits OperationMessage
[C#]
public sealed class OperationInput : OperationMessage
[C++]
public __gc __sealed class OperationInput : public OperationMessage
[JScript]
public class OperationInput extends OperationMessage

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Remarks

Exactly one instance of this class will be a member of the Messages property of the parent Operation instance.

The OperationInput class corresponds to the Web Services Description Language (WSDL) <input> element enclosed by the <operation> element that is in turn enclosed by the <portType> element. For more information about WSDL, see the specification at http://www.w3.org/TR/wsdl/.

Example

[Visual Basic] 
Imports System
Imports System.Web.Services.Description
Imports System.Collections
Imports System.Xml

Class MyOperationInputSample
   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 postOutput As OperationMessage = _
            CType(New OperationOutput(), OperationMessage)
         postOutput.Message = New XmlQualifiedName("s0:AddNumbersHttpPostOut")

         Dim postInput As New OperationInput()
         postInput.Message = New XmlQualifiedName("s0:AddNumbersHttpPostIn")

         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)
         Console.WriteLine("Message : " & e.Message)
      End Try
   End Sub 
End Class 

[C#] 
using System;
using System.Web.Services.Description;
using System.Collections;
using System.Xml;

class MyOperationInputSample
{
   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 postOutput = 
            (OperationMessage)new OperationOutput();
         postOutput.Message = 
            new XmlQualifiedName ("s0:AddNumbersHttpPostOut");
         OperationInput postInput = new OperationInput();
         postInput.Message = 
            new XmlQualifiedName ("s0:AddNumbersHttpPostIn");

         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 AddNumberOut_cs.Wsdl" +
            " created successfully.");
      }
      catch(Exception e)
      {
         Console.WriteLine("Exception caught!!!");
         Console.WriteLine("Source : " + e.Source);
         Console.WriteLine("Message : " + e.Message);
      }
   }
}

[C++] 
#using <mscorlib.dll>
#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(S"AddNumbersIn_cs.wsdl");

      // Add the ServiceHttpPost binding.
      Binding* myBinding = new Binding();
      myBinding->Name = S"ServiceHttpPost";
      XmlQualifiedName* myXmlQualifiedName = 
         new XmlQualifiedName (S"s0:ServiceHttpPost");
      myBinding->Type = myXmlQualifiedName;
      HttpBinding* myHttpBinding = new HttpBinding();
      myHttpBinding->Verb = S"POST";
      myBinding->Extensions->Add(myHttpBinding);

      // Add the operation name AddNumbers.
      OperationBinding* myOperationBinding = new OperationBinding();
      myOperationBinding->Name = S"AddNumbers";
      HttpOperationBinding* myOperation = new HttpOperationBinding();
      myOperation->Location = S"/AddNumbers";
      myOperationBinding->Extensions->Add(myOperation);

      // Add the input binding.
      InputBinding* myInput = new InputBinding();
      MimeContentBinding* postMimeContentbinding = 
         new MimeContentBinding();
      postMimeContentbinding->Type= S"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= S"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 = S"ServiceHttpPost";
      postPort->Binding = new XmlQualifiedName(S"s0:ServiceHttpPost");
      HttpAddressBinding* postAddressBinding = new HttpAddressBinding();
      postAddressBinding->Location = S"http://localhost/Service.cs.asmx";
      postPort->Extensions->Add(postAddressBinding);
      myDescription->Services->Item[0]->Ports->Add(postPort);

      // Add the post port type definition.
      PortType* postPortType = new PortType();
      postPortType->Name = S"ServiceHttpPost";
      Operation* postOperation = new Operation();
      postOperation->Name = S"AddNumbers";
      OperationMessage* postOutput = 
         dynamic_cast<OperationMessage*>(new OperationOutput());
      postOutput->Message = 
         new XmlQualifiedName (S"s0:AddNumbersHttpPostOut");
      OperationInput* postInput = new OperationInput();
      postInput->Message = 
         new XmlQualifiedName (S"s0:AddNumbersHttpPostIn");

      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=S"AddNumbersHttpPostIn";
      MessagePart* postMessagePart1 = new MessagePart();
      postMessagePart1->Name = S"firstnumber";
      postMessagePart1->Type = new XmlQualifiedName(S"s:string");

      // Add the second message information.
      MessagePart* postMessagePart2 = new MessagePart();
      postMessagePart2->Name = S"secondnumber";
      postMessagePart2->Type = new XmlQualifiedName(S"s:string");
      postMessage1->Parts->Add(postMessagePart1);
      postMessage1->Parts->Add(postMessagePart2);
      Message* postMessage2 = new Message();
      postMessage2->Name = S"AddNumbersHttpPostOut";

      // Add the third message information.
      MessagePart* postMessagePart3 = new MessagePart();
      postMessagePart3->Name = S"Body";
      postMessagePart3->Element = new XmlQualifiedName(S"s0:int");
      postMessage2->Parts->Add(postMessagePart3); 

      myDescription->Messages->Add(postMessage1);
      myDescription->Messages->Add(postMessage2);

      // Write the ServiceDescription as a WSDL file.
      myDescription->Write(S"AddNumbersOut_cs.wsdl");
      Console::WriteLine(S"WSDL file named AddNumberOut_cs.Wsdl" 
         S" created successfully.");
   }
   catch(Exception* e)
   {
      Console::WriteLine(S"Exception caught!!!");
      Console::WriteLine(S"Source : {0}", e->Source);
      Console::WriteLine(S"Message : {0}", e->Message);
   }
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Namespace: System.Web.Services.Description

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

Assembly: System.Web.Services (in System.Web.Services.dll)

See Also

OperationInput Members | System.Web.Services.Description Namespace | PortType | Operation

Show:
© 2015 Microsoft