OperationFaultCollection クラス
OperationFault クラスのインスタンスのコレクションを表します。このクラスは継承できません。
この型のすべてのメンバの一覧については、OperationFaultCollection メンバ を参照してください。
System.Object
System.Collections.CollectionBase
System.Web.Services.Description.ServiceDescriptionBaseCollection
System.Web.Services.Description.OperationFaultCollection
NotInheritable Public Class OperationFaultCollection
Inherits ServiceDescriptionBaseCollection
[C#]
public sealed class OperationFaultCollection :
ServiceDescriptionBaseCollection
[C++]
public __gc __sealed class OperationFaultCollection : public
ServiceDescriptionBaseCollection
[JScript]
public class OperationFaultCollection extends
ServiceDescriptionBaseCollection
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
OperationFault クラスは、 <operation> 要素で囲まれた WSDL (Web Services Description Language) <fault> 要素に対応します。さらに、この要素は <portType> 要素で囲まれます。WSDL の詳細については、http://www.w3.org/TR/wsdl/ の仕様を参照してください。
使用例
Imports System
Imports System.Web.Services.Description
Public Class MyOperationFaultCollectionSample
Public Shared Sub Main()
Try
' Read the StockQuote.wsdl file as input.
Dim myServiceDescription As ServiceDescription = _
ServiceDescription.Read("StockQuote_vb.wsdl")
Dim myPortTypeCollection As PortTypeCollection = _
myServiceDescription.PortTypes
Dim myPortType As PortType = myPortTypeCollection(0)
Dim myOperationCollection As OperationCollection = _
myPortType.Operations
Dim myOperation As Operation = myOperationCollection(0)
Dim myOperationFaultCollection As OperationFaultCollection = _
myOperation.Faults
' Reverse the operation fault order.
If myOperationFaultCollection.Count > 1 Then
Dim myOperationFault As OperationFault = _
myOperationFaultCollection(0)
Dim myOperationFaultArray(myOperationFaultCollection.Count -1 ) _
As OperationFault
' Copy the operation faults to a temporary array.
myOperationFaultCollection.CopyTo(myOperationFaultArray, 0)
' Remove all the operation faults from the collection.
Dim i As Integer
For i = 0 To myOperationFaultArray.Length - 1
myOperationFaultCollection.Remove(myOperationFaultArray(i))
Next i
' Insert the operation faults in the reverse order.
Dim j As Integer = myOperationFaultArray.Length - 1
i = 0
While i < myOperationFaultArray.Length
myOperationFaultCollection.Insert(i, myOperationFaultArray(j))
i += 1
j -= 1
End While
If myOperationFaultCollection.Contains(myOperationFault) And _
myOperationFaultCollection.IndexOf(myOperationFault) = _
myOperationFaultCollection.Count - 1 Then
Console.WriteLine("Succeeded in reversing the operation faults.")
Else
Console.WriteLine("Error while reversing the faults.")
End If
End If
Dim myBindingCollection As BindingCollection = _
myServiceDescription.Bindings
Dim myBinding As Binding = myBindingCollection(0)
Dim myOperationBindingCollection As OperationBindingCollection = _
myBinding.Operations
Dim myOperationBinding As OperationBinding = _
myOperationBindingCollection(0)
Dim myFaultBindingCollection As FaultBindingCollection = _
myOperationBinding.Faults
' Reverse the fault binding order.
If myFaultBindingCollection.Count > 1 Then
Dim myFaultBinding As FaultBinding = myFaultBindingCollection(0)
Dim myFaultBindingArray(myFaultBindingCollection.Count -1 ) _
As FaultBinding
' Copy the fault bindings to a temporary array.
myFaultBindingCollection.CopyTo(myFaultBindingArray, 0)
' Remove all the fault bindings.
Dim i As Integer
For i = 0 To myFaultBindingArray.Length - 1
myFaultBindingCollection.Remove(myFaultBindingArray(i))
Next i
Dim j As Integer = myFaultBindingArray.Length - 1
i = 0
' Insert the fault bindings in the reverse order.
While i < myFaultBindingArray.Length
myFaultBindingCollection.Insert(i, myFaultBindingArray(j))
i += 1
j -= 1
End While
' Check whether the first element before the reversal
' is now the last element.
If myFaultBindingCollection.Contains(myFaultBinding) And _
myFaultBindingCollection.IndexOf(myFaultBinding) = _
myFaultBindingCollection.Count - 1 Then
' Write the WSDL generated to a file.
myServiceDescription.Write("StockQuoteOut_vb.wsdl")
Console.WriteLine( _
"The file StockQuoteOut_vb.wsdl was successfully written.")
Else
Console.WriteLine( _
"An Error occured while reversing the input WSDL file.")
End If
End If
Catch e As Exception
Console.WriteLine("Exception caught!!!")
Console.WriteLine("Source : " & e.Source.ToString())
Console.WriteLine("Message : " & e.Message.ToString())
End Try
End Sub 'Main
End Class 'MyOperationFaultCollectionSample
[C#]
using System;
using System.Web.Services.Description;
public class MyOperationFaultCollectionSample
{
public static void Main()
{
try
{
// Read the StockQuote.wsdl file as input.
ServiceDescription myServiceDescription =
ServiceDescription.Read("StockQuote_cs.wsdl");
PortTypeCollection myPortTypeCollection =
myServiceDescription.PortTypes;
PortType myPortType = myPortTypeCollection[0];
OperationCollection myOperationCollection = myPortType.Operations;
Operation myOperation = myOperationCollection[0];
OperationFaultCollection myOperationFaultCollection =
myOperation.Faults;
// Reverse the operation fault order.
if(myOperationFaultCollection.Count > 1)
{
OperationFault myOperationFault = myOperationFaultCollection[0];
OperationFault[] myOperationFaultArray =
new OperationFault[myOperationFaultCollection.Count];
// Copy the operation faults to a temporary array.
myOperationFaultCollection.CopyTo(myOperationFaultArray, 0);
// Remove all the operation faults from the collection.
for(int i = 0; i < myOperationFaultArray.Length; i++)
{
myOperationFaultCollection.Remove(myOperationFaultArray[i]);
}
// Insert the operation faults in the reverse order.
for(int i = 0, j = (myOperationFaultArray.Length - 1);
i < myOperationFaultArray.Length; i++, j--)
{
myOperationFaultCollection.Insert(
i, myOperationFaultArray[j]);
}
if ( myOperationFaultCollection.Contains(myOperationFault) &&
(myOperationFaultCollection.IndexOf(myOperationFault)
== myOperationFaultCollection.Count-1))
{
Console.WriteLine(
"Succeeded in reversing the operation faults.");
}
else
{
Console.WriteLine("Error while reversing the faults.");
}
}
BindingCollection myBindingCollection =
myServiceDescription.Bindings;
Binding myBinding = myBindingCollection[0];
OperationBindingCollection myOperationBindingCollection =
myBinding.Operations;
OperationBinding myOperationBinding =
myOperationBindingCollection[0];
FaultBindingCollection myFaultBindingCollection =
myOperationBinding.Faults;
// Reverse the fault binding order.
if(myFaultBindingCollection.Count > 1)
{
FaultBinding myFaultBinding = myFaultBindingCollection[0];
FaultBinding[] myFaultBindingArray =
new FaultBinding[myFaultBindingCollection.Count];
// Copy the fault bindings to a temporary array.
myFaultBindingCollection.CopyTo(myFaultBindingArray, 0);
// Remove all the fault bindings.
for(int i = 0; i < myFaultBindingArray.Length; i++)
{
myFaultBindingCollection.Remove(myFaultBindingArray[i]);
}
// Insert the fault bindings in the reverse order.
for(int i = 0, j = (myFaultBindingArray.Length - 1);
i < myFaultBindingArray.Length; i++, j--)
{
myFaultBindingCollection.Insert(i, myFaultBindingArray[j]);
}
// Check whether the first element before the reversal
// is now the last element.
if(myFaultBindingCollection.Contains(myFaultBinding) &&
myFaultBindingCollection.IndexOf(myFaultBinding) ==
(myFaultBindingCollection.Count - 1))
{
// Write the WSDL generated to a file.
myServiceDescription.Write("StockQuoteOut_cs.wsdl");
Console.WriteLine(
"The file StockQuoteOut_cs.wsdl was successfully written.");
}
else
{
Console.WriteLine(
"An error occured while reversing the input WSDL file.");
}
}
}
catch(Exception e)
{
Console.WriteLine("Exception caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
}
}
[C++]
#using <mscorlib.dll>
#using <System.Web.Services.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Web::Services::Description;
int main()
{
try
{
// Read the StockQuote.wsdl file as input.
ServiceDescription * myServiceDescription =
ServiceDescription::Read(S"StockQuote_cpp.wsdl");
PortTypeCollection * myPortTypeCollection =
myServiceDescription->PortTypes;
PortType * myPortType = myPortTypeCollection->Item[0];
OperationCollection * myOperationCollection = myPortType->Operations;
Operation * myOperation = myOperationCollection->Item[0];
OperationFaultCollection * myOperationFaultCollection =
myOperation->Faults;
// Reverse the operation fault order.
if (myOperationFaultCollection->Count > 1)
{
OperationFault * myOperationFault =
myOperationFaultCollection->Item[0];
OperationFault* myOperationFaultArray[] =
new OperationFault*[myOperationFaultCollection->Count];
// Copy the operation fault to a temporary array.
myOperationFaultCollection->CopyTo(myOperationFaultArray, 0);
// Remove all the operation faults from the collection.
for (int i = 0; i < myOperationFaultArray->Length; i++)
myOperationFaultCollection->Remove(myOperationFaultArray->Item[i]);
// Insert the operation faults in the reverse order.
for (int i = 0, j = (myOperationFaultArray->Length - 1);
i < myOperationFaultArray->Length; i++, j--)
myOperationFaultCollection->Insert(
i, myOperationFaultArray->Item[j]);
if (myOperationFaultCollection->Contains(myOperationFault) &&
(myOperationFaultCollection->IndexOf(myOperationFault)
== myOperationFaultCollection->Count-1))
Console::WriteLine(S"Succeeded in reversing the operation faults.");
else
Console::WriteLine(S"Error while reversing the faults.");
}
BindingCollection * myBindingCollection =
myServiceDescription->Bindings;
Binding * myBinding = myBindingCollection->Item[0];
OperationBindingCollection * myOperationBindingCollection =
myBinding->Operations;
OperationBinding * myOperationBinding =
myOperationBindingCollection->Item[0];
FaultBindingCollection * myFaultBindingCollection =
myOperationBinding->Faults;
// Reverse the fault binding order.
if (myFaultBindingCollection->Count > 1)
{
FaultBinding * myFaultBinding = myFaultBindingCollection->Item[0];
FaultBinding* myFaultBindingArray[] =
new FaultBinding*[myFaultBindingCollection->Count];
// Copy the fault bindings to a temporary array.
myFaultBindingCollection->CopyTo(myFaultBindingArray, 0);
// Remove all the fault bindings.
for (int i = 0; i < myFaultBindingArray->Length; i++)
myFaultBindingCollection->Remove(myFaultBindingArray->Item[i]);
// Insert the fault bindings in the reverse order.
for (int i = 0, j = (myFaultBindingArray->Length - 1);
i < myFaultBindingArray->Length; i++, j--)
myFaultBindingCollection->Insert(i, myFaultBindingArray->Item[j]);
// Check whether the first element before the reversal
// is now the last element.
if (myFaultBindingCollection->Contains(myFaultBinding) &&
myFaultBindingCollection->IndexOf(myFaultBinding) ==
(myFaultBindingCollection->Count - 1))
{
// Write the WSDL generated to a file.
myServiceDescription->Write(S"StockQuoteOut_cpp.wsdl");
Console::WriteLine(
S"The file StockQuoteOut_cpp.wsdl was successfully written");
}
else
Console::WriteLine(
S"An error occured while reversing the input WSDL file.");
}
}
catch (Exception* e)
{
Console::WriteLine(S"Exception caught!!!");
Console::WriteLine(S"Source : {0}", e->Source);
Console::WriteLine(S"Message : {0}", e->Message);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Web.Services.Description
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System.Web.Services (System.Web.Services.dll 内)
参照
OperationFaultCollection メンバ | System.Web.Services.Description 名前空間