共用方式為


OperationInput 類別

定義

定義了 XML Web 服務接收的輸入訊息的規範。 無法繼承這個類別。

public ref class OperationInput sealed : System::Web::Services::Description::OperationMessage
public sealed class OperationInput : System.Web.Services.Description.OperationMessage
[System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")]
public sealed class OperationInput : System.Web.Services.Description.OperationMessage
type OperationInput = class
    inherit OperationMessage
[<System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")>]
type OperationInput = class
    inherit OperationMessage
Public NotInheritable Class OperationInput
Inherits OperationMessage
繼承
繼承
屬性

範例

#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^ postOutput = dynamic_cast<OperationMessage^>(gcnew OperationOutput);
      postOutput->Message = gcnew XmlQualifiedName( "s0:AddNumbersHttpPostOut" );

      OperationInput^ postInput = gcnew OperationInput;
      postInput->Message = gcnew 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 = 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 AddNumberOut_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 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);
      }
   }
}
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

備註

此類別中恰有一個實例是父Operation實例屬性的成員Messages

OperationInput類別對應於被該元素包圍operationportType的 Web Services Description Language(WSDL)input元素。 欲了解更多關於 WSDL 的資訊,請參閱 WSDL 規範。

建構函式

名稱 Description
OperationInput()

初始化 OperationInput 類別的新執行個體。

屬性

名稱 Description
Documentation

取得或設定 實例 DocumentableItem的文字文件。

(繼承來源 DocumentableItem)
DocumentationElement

取得或設定 文件元素。DocumentableItem

(繼承來源 DocumentableItem)
ExtensibleAttributes

取得或設定一個型別 XmlAttribute 陣列,代表 WSDL 的屬性擴充,以符合 Web Services 互通性(WS-I)Basic Profile 1.1。

(繼承來源 DocumentableItem)
Extensions

這與 ServiceDescriptionFormatExtensionCollectionOperationInput有關。

Message

取得或設定一個抽象且類型的資料定義。

(繼承來源 OperationMessage)
Name

取得或設定 的名稱。OperationMessage

(繼承來源 OperationMessage)
Namespaces

取得或設定命名空間前綴與命名空間的字典,用於在物件建構時 ServiceDescription 保留命名空間前綴與命名空間。

(繼承來源 DocumentableItem)
Operation

獲得 OperationOperationMessage 所屬的成員。

(繼承來源 OperationMessage)

方法

名稱 Description
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

適用於

另請參閱