PortType.Operations プロパティ
PortType で定義された Operation インスタンスのコレクションを取得します。
Public ReadOnly Property Operations As OperationCollection
[C#]
public OperationCollection Operations {get;}
[C++]
public: __property OperationCollection* get_Operations();
[JScript]
public function get Operations() : OperationCollection;
プロパティ値
使用例
Imports System
Imports System.Web.Services.Description
Imports System.Xml
Imports Microsoft.VisualBasic
Class MyPortTypeClass
Public Shared Sub Main()
Try
Dim myPortTypeCollection As PortTypeCollection
Dim myServiceDescription As ServiceDescription = _
ServiceDescription.Read("MathService_VB.wsdl")
myPortTypeCollection = myServiceDescription.PortTypes
Dim noOfPortTypes As Integer = myServiceDescription.PortTypes.Count
Console.WriteLine( _
ControlChars.Newline & "Total number of PortTypes : " & _
noOfPortTypes.ToString())
Dim myPortType As PortType = myPortTypeCollection("MathServiceSoap")
myPortTypeCollection.Remove(myPortType)
' Create a new PortType.
Dim myNewPortType As New PortType()
myNewPortType.Name = "MathServiceSoap"
Dim myOperationCollection As OperationCollection = _
myServiceDescription.PortTypes(0).Operations
Dim i As Integer
Dim inputMsg As String
Dim outputMsg As String
For i = 0 To myOperationCollection.Count - 1
inputMsg = myOperationCollection(i).Name & "SoapIn"
outputMsg = myOperationCollection(i).Name & "SoapOut"
Console.WriteLine(" Operation = " & myOperationCollection(i).Name)
myNewPortType.Operations.Add( _
CreateOperation(myOperationCollection(i).Name, inputMsg, _
outputMsg, myServiceDescription.TargetNamespace))
Next i
' Add the PortType to the collection.
myPortTypeCollection.Add(myNewPortType)
noOfPortTypes = myServiceDescription.PortTypes.Count
Console.WriteLine( _
ControlChars.Newline & "Total number of PortTypes : " & _
noOfPortTypes.ToString())
myServiceDescription.Write("MathService_New.wsdl")
Catch e As Exception
Console.WriteLine("Exception:" + e.Message.ToString())
End Try
End Sub 'Main
Public Shared Function CreateOperation(operationName As String, inputMessage As String, _
outputMessage As String, targetNamespace As String) As Operation
Dim myOperation As New Operation()
myOperation.Name = operationName
Dim input As OperationMessage = CType(New OperationInput(), OperationMessage)
input.Message = New XmlQualifiedName(inputMessage, targetNamespace)
Dim output As OperationMessage = CType(New OperationOutput(), OperationMessage)
output.Message = New XmlQualifiedName(outputMessage, targetNamespace)
myOperation.Messages.Add(input)
myOperation.Messages.Add(output)
Return myOperation
End Function 'CreateOperation
End Class 'MyPortTypeClass
[C#]
using System;
using System.Web.Services.Description;
using System.Xml;
class MyPortTypeClass
{
public static void Main()
{
try
{
PortTypeCollection myPortTypeCollection;
ServiceDescription myServiceDescription =
ServiceDescription.Read("MathService_CS.wsdl");
myPortTypeCollection = myServiceDescription.PortTypes;
int noOfPortTypes = myServiceDescription.PortTypes.Count;
Console.WriteLine("\nTotal number of PortTypes : "
+ noOfPortTypes);
PortType myPortType = myPortTypeCollection["MathServiceSoap"];
myPortTypeCollection.Remove(myPortType);
// Create a new PortType.
PortType myNewPortType = new PortType();
myNewPortType.Name = "MathServiceSoap";
OperationCollection myOperationCollection =
myServiceDescription.PortTypes[0].Operations;
string inputMsg,outputMsg;
for(int i = 0; i < myOperationCollection.Count; i++)
{
inputMsg = myOperationCollection[i].Name + "SoapIn";
outputMsg = myOperationCollection[i].Name + "SoapOut";
Console.WriteLine(" Operation = " + myOperationCollection[i].Name);
myNewPortType.Operations.Add(
CreateOperation(myOperationCollection[i].Name,
inputMsg, outputMsg, myServiceDescription.TargetNamespace));
}
// Add the PortType to the collection.
myPortTypeCollection.Add(myNewPortType);
noOfPortTypes = myServiceDescription.PortTypes.Count;
Console.WriteLine("\nTotal number of PortTypes : "
+ noOfPortTypes);
myServiceDescription.Write("MathService_New.wsdl");
}
catch(Exception e)
{
Console.WriteLine("Exception:" + e.Message);
}
}
public static Operation CreateOperation(string operationName,
string inputMessage,string outputMessage,string targetNamespace)
{
Operation myOperation = new Operation();
myOperation.Name = operationName;
OperationMessage input = (OperationMessage) new OperationInput();
input.Message = new XmlQualifiedName(inputMessage, targetNamespace);
OperationMessage output = (OperationMessage) new OperationOutput();
output.Message = new XmlQualifiedName(outputMessage, targetNamespace);
myOperation.Messages.Add(input);
myOperation.Messages.Add(output);
return myOperation;
}
}
[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::Xml;
Operation* CreateOperation(String* operationName,
String* inputMessage,String* outputMessage,String* targetNamespace)
{
Operation* myOperation = new Operation();
myOperation->Name = operationName;
OperationMessage* input = dynamic_cast<OperationMessage*> (new OperationInput());
input->Message = new XmlQualifiedName(inputMessage, targetNamespace);
OperationMessage* output = dynamic_cast<OperationMessage*> (new OperationOutput());
output->Message = new XmlQualifiedName(outputMessage, targetNamespace);
myOperation->Messages->Add(input);
myOperation->Messages->Add(output);
return myOperation;
}
int main()
{
try
{
PortTypeCollection* myPortTypeCollection;
ServiceDescription* myServiceDescription =
ServiceDescription::Read(S"MathService_CS.wsdl");
myPortTypeCollection = myServiceDescription->PortTypes;
int noOfPortTypes = myServiceDescription->PortTypes->Count;
Console::WriteLine(S"\nTotal number of PortTypes : {0}", __box(noOfPortTypes));
PortType* myPortType = myPortTypeCollection->Item[S"MathServiceSoap"];
myPortTypeCollection->Remove(myPortType);
// Create a new PortType.
PortType* myNewPortType = new PortType();
myNewPortType->Name = S"MathServiceSoap";
OperationCollection* myOperationCollection =
myServiceDescription->PortTypes->Item[0]->Operations;
String* inputMsg;
String* outputMsg;
for(int i = 0; i < myOperationCollection->Count; i++)
{
inputMsg = String::Concat( myOperationCollection->Item[i]->Name, S"SoapIn" );
outputMsg = String::Concat( myOperationCollection->Item[i]->Name, S"SoapOut" );
Console::WriteLine(S" Operation = {0}", myOperationCollection->Item[i]->Name);
myNewPortType->Operations->Add(
CreateOperation(myOperationCollection->Item[i]->Name,
inputMsg, outputMsg, myServiceDescription->TargetNamespace));
}
// Add the PortType to the collection.
myPortTypeCollection->Add(myNewPortType);
noOfPortTypes = myServiceDescription->PortTypes->Count;
Console::WriteLine(S"\nTotal number of PortTypes : {0}", __box(noOfPortTypes));
myServiceDescription->Write(S"MathService_New.wsdl");
}
catch(Exception* e)
{
Console::WriteLine(S"Exception:{0}", e->Message);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
PortType クラス | PortType メンバ | System.Web.Services.Description 名前空間