SoapMessage Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirli SoapMessageStagebir soap isteğindeki veya SOAP yanıtında bulunan verileri temsil eder.
public ref class SoapMessage abstract
public abstract class SoapMessage
type SoapMessage = class
Public MustInherit Class SoapMessage
- Devralma
-
SoapMessage
- Türetilmiş
Örnekler
// Process the SOAP message received and write to log file.
virtual void ProcessMessage( SoapMessage^ message ) override
{
switch ( message->Stage )
{
case SoapMessageStage::BeforeSerialize:
WriteOutputBeforeSerialize( message );
break;
case SoapMessageStage::AfterSerialize:
WriteOutputAfterSerialize( message );
break;
case SoapMessageStage::BeforeDeserialize:
WriteInputBeforeDeserialize( message );
break;
case SoapMessageStage::AfterDeserialize:
WriteInputAfterDeserialize( message );
break;
default:
throw gcnew Exception( "invalid stage" );
}
}
// Write the contents of the outgoing SOAP message to the log file.
void WriteOutputBeforeSerialize( SoapMessage^ message )
{
FileStream^ myFileStream =
gcnew FileStream( filename, FileMode::Append, FileAccess::Write );
StreamWriter^ myStreamWriter = gcnew StreamWriter( myFileStream );
myStreamWriter->WriteLine( "================================== Request at {0}",
DateTime::Now );
myStreamWriter->WriteLine(
"The method that has been invoked is: " );
myStreamWriter->WriteLine( "\t{0}", message->MethodInfo );
myStreamWriter->WriteLine( "The contents of the SOAPAction HTTP header is:" );
myStreamWriter->WriteLine( "\t{0}", message->Action );
myStreamWriter->WriteLine( "The contents of HTTP Content-type header is:" );
myStreamWriter->WriteLine( "\t{0}", message->ContentType );
if ( message->OneWay )
{
myStreamWriter->WriteLine(
"The method invoked on the client shall not wait"
+ " till the server finishes" );
}
else
{
myStreamWriter->WriteLine(
"The method invoked on the client shall wait"
+ " till the server finishes" );
}
myStreamWriter->WriteLine(
"The site where the XML Web service is available is:" );
myStreamWriter->WriteLine( "\t{0}", message->Url );
myStreamWriter->WriteLine( "The values of the in parameters are:" );
myStreamWriter->WriteLine(
"Value of first in parameter: {0}", message->GetInParameterValue( 0 ) );
myStreamWriter->WriteLine(
"Value of second in parameter: {0}", message->GetInParameterValue( 1 ) );
myStreamWriter->WriteLine();
myStreamWriter->Flush();
myStreamWriter->Close();
myFileStream->Close();
}
// Write the contents of the incoming SOAP message to the log file.
void WriteInputAfterDeserialize( SoapMessage^ message )
{
FileStream^ myFileStream =
gcnew FileStream( filename, FileMode::Append, FileAccess::Write );
StreamWriter^ myStreamWriter = gcnew StreamWriter( myFileStream );
myStreamWriter->WriteLine();
myStreamWriter->WriteLine( "The values of the out parameter are:" );
myStreamWriter->WriteLine(
"The value of the out parameter is: {0}", message->GetOutParameterValue( 0 ) );
myStreamWriter->WriteLine( "The values of the return parameter are:" );
myStreamWriter->WriteLine(
"The value of the return parameter is: {0}", message->GetReturnValue() );
myStreamWriter->Flush();
myStreamWriter->Close();
myFileStream->Close();
}
// Process the SOAP message received and write to log file.
public override void ProcessMessage(SoapMessage message)
{
switch (message.Stage)
{
case SoapMessageStage.BeforeSerialize:
WriteOutputBeforeSerialize(message);
break;
case SoapMessageStage.AfterSerialize:
WriteOutputAfterSerialize(message);
break;
case SoapMessageStage.BeforeDeserialize:
WriteInputBeforeDeserialize(message);
break;
case SoapMessageStage.AfterDeserialize:
WriteInputAfterDeserialize(message);
break;
default:
throw new Exception("invalid stage");
}
}
// Write the contents of the outgoing SOAP message to the log file.
public void WriteOutputBeforeSerialize(SoapMessage message)
{
FileStream myFileStream =
new FileStream(filename, FileMode.Append, FileAccess.Write);
StreamWriter myStreamWriter = new StreamWriter(myFileStream);
myStreamWriter.WriteLine("================================== Request at "
+ DateTime.Now);
myStreamWriter.WriteLine("The method that has been invoked is: ");
myStreamWriter.WriteLine("\t" + message.MethodInfo);
myStreamWriter.WriteLine(
"The contents of the SOAPAction HTTP header is:");
myStreamWriter.WriteLine("\t" + message.Action);
myStreamWriter.WriteLine("The contents of HTTP Content-type header is:");
myStreamWriter.WriteLine("\t" + message.ContentType);
if(message.OneWay)
myStreamWriter.WriteLine(
"The method invoked on the client shall not wait"
+ " till the server finishes");
else
myStreamWriter.WriteLine(
"The method invoked on the client shall wait"
+ " till the server finishes");
myStreamWriter.WriteLine(
"The site where the XML Web service is available is:");
myStreamWriter.WriteLine("\t" + message.Url);
myStreamWriter.WriteLine("The values of the in parameters are:");
myStreamWriter.WriteLine("Value of first in parameter: {0}",
message.GetInParameterValue(0));
myStreamWriter.WriteLine("Value of second in parameter: {0}",
message.GetInParameterValue(1));
myStreamWriter.WriteLine();
myStreamWriter.Flush();
myStreamWriter.Close();
myFileStream.Close();
}
// Write the contents of the incoming SOAP message to the log file.
public void WriteInputAfterDeserialize(SoapMessage message)
{
FileStream myFileStream =
new FileStream(filename, FileMode.Append, FileAccess.Write);
StreamWriter myStreamWriter = new StreamWriter(myFileStream);
myStreamWriter.WriteLine();
myStreamWriter.WriteLine("The values of the out parameter are:");
myStreamWriter.WriteLine("The value of the out parameter is: {0}",
message.GetOutParameterValue(0));
myStreamWriter.WriteLine("The values of the return parameter are:");
myStreamWriter.WriteLine("The value of the return parameter is: {0}",
message.GetReturnValue());
myStreamWriter.Flush();
myStreamWriter.Close();
myFileStream.Close();
}
' Process the SOAP message received and write to log file.
Public Overrides Sub ProcessMessage(message As SoapMessage)
Select Case message.Stage
Case SoapMessageStage.BeforeSerialize
WriteOutputBeforeSerialize(message)
Case SoapMessageStage.AfterSerialize
WriteOutputAfterSerialize(message)
Case SoapMessageStage.BeforeDeserialize
WriteInputBeforeDeserialize(message)
Case SoapMessageStage.AfterDeserialize
WriteInputAfterDeserialize(message)
Case Else
Throw New Exception("invalid stage")
End Select
End Sub
' Write the contents of the outgoing SOAP message to the log file.
Public Sub WriteOutputBeforeSerialize(message As SoapMessage)
Dim myFileStream As New FileStream( _
filename, FileMode.Append, FileAccess.Write)
Dim myStreamWriter As New StreamWriter(myFileStream)
myStreamWriter.WriteLine( _
"================================== Request at " & _
DateTime.Now)
myStreamWriter.WriteLine("The method that has been invoked is: ")
myStreamWriter.WriteLine(ControlChars.Tab & message.MethodInfo.ToString())
myStreamWriter.WriteLine("The contents of the SOAPAction HTTP header is:")
myStreamWriter.WriteLine(ControlChars.Tab & message.Action)
myStreamWriter.WriteLine("The contents of HTTP Content-type header is:")
myStreamWriter.WriteLine(ControlChars.Tab & message.ContentType)
If message.OneWay Then
myStreamWriter.WriteLine( _
"The method invoked on the client shall not wait" & _
" till the server finishes")
Else
myStreamWriter.WriteLine( _
"The method invoked on the client shall wait" & _
" till the server finishes")
End If
myStreamWriter.WriteLine( _
"The site where the XML Web service is available is: ")
myStreamWriter.WriteLine(ControlChars.Tab & message.Url)
myStreamWriter.WriteLine("The values of the in parameters are:")
myStreamWriter.WriteLine("Value of first in parameter: {0}", _
message.GetInParameterValue(0))
myStreamWriter.WriteLine("Value of second in parameter: {0}", _
message.GetInParameterValue(1))
myStreamWriter.WriteLine()
myStreamWriter.Flush()
myStreamWriter.Close()
myFileStream.Close()
End Sub
' Write the contents of the incoming SOAP message to the log file.
Public Sub WriteInputAfterDeserialize(message As SoapMessage)
Dim myFileStream As _
New FileStream(filename, FileMode.Append, FileAccess.Write)
Dim myStreamWriter As New StreamWriter(myFileStream)
myStreamWriter.WriteLine()
myStreamWriter.WriteLine("The values of the out parameter are:")
myStreamWriter.WriteLine("The value of the out parameter is: {0}", _
message.GetOutParameterValue(0))
myStreamWriter.WriteLine("The values of the return parameter are:")
myStreamWriter.WriteLine("The value of the return parameter is: {0}", _
message.GetReturnValue())
myStreamWriter.Flush()
myStreamWriter.Close()
myFileStream.Close()
End Sub
Açıklamalar
sınıfının birincil kullanımı SoapMessage , SOAP isteğindeki veya SOAP yanıtlarındaki verileri temsil eden SOAP uzantıları içindir. ProcessMessage yöntemi çağrıldığında, her SoapMessageStagebirinde a SoapExtensionSoapMessage alır. öğesinin nasıl işlendiğini seçmek belirli SOAP uzantısına SoapMessagebağlı. Yaygın SOAP uzantıları şifreleme ve sıkıştırmayı içerir.
SOAP uzantıları, ASP.NET veya XML Web hizmeti istemcisi kullanılarak oluşturulan bir XML Web hizmeti yöntemine veya her ikisine de uygulanabilir. BIR XML Web hizmeti yöntemine SOAP uzantısı uygulandığındaProcessMessage, yöntemi öğesinden SoapMessagetüretilen bir örneğini SoapServerMessagealır. Benzer şekilde, BIR XML Web hizmeti istemcisine SOAP uzantısı uygulandığında, ProcessMessage bir örneğini SoapClientMessagealır.
Özellikler
Action |
Türetilmiş bir sınıfta geçersiz kılındığında, SOAP isteği veya SOAP yanıtı için SOAPAction HTTP istek üst bilgisi alanını alır. |
ContentEncoding |
HTTP üst bilgisinin |
ContentType |
SOAP isteğinin veya SOAP yanıtının HTTP'sini |
Exception |
SoapException XML Web hizmeti yöntemi çağrısından öğesini alır. |
Headers |
Geçerli SOAP isteğine veya SOAP yanıtına uygulanan SOAP üst bilgileri koleksiyonu. |
MethodInfo |
Türetilmiş bir sınıfta geçersiz kılındığında, SOAP isteğinin amaçlandığı XML Web hizmeti yöntemi için yöntem prototipinin bir gösterimini alır. |
OneWay |
XML Web hizmeti yöntemine OneWay uygulanan veya SoapRpcMethodAttribute özniteliğinin SoapDocumentMethodAttribute özelliğini gösteren bir değer alır. |
SoapVersion |
XML Web hizmetiyle iletişim kurmak için kullanılan SOAP protokolünün sürümünü alır. |
Stage |
öğesinin SoapMessageStage öğesini alır SoapMessage. |
Stream |
SOAP isteğini veya SOAP yanıtını temsil eden verileri biçiminde Streamalır. |
Url |
Türetilmiş bir sınıfta geçersiz kılındığında, XML Web hizmetinin temel URL'sini alır. |
Yöntemler
EnsureInStage() |
Türetilmiş bir sınıfta geçersiz kılındığında, geçerlinin SoapMessageStage parametrelerin kullanılabilir olduğu bir aşama olduğunu onaylar. |
EnsureOutStage() |
Türetilmiş bir sınıfta geçersiz kılındığında, geçerli SoapMessageStage aşamanın out parametrelerinin kullanılabilir olduğu bir aşama olduğunu onaylar. |
EnsureStage(SoapMessageStage) |
SoapMessageStage XML Web hizmeti yöntemine yapılan çağrının geçirilen aşama veya aşama olduğundan emin olun. Geçerli işleme aşaması geçirilen aşamalardan biri değilse, bir özel durum oluşturulur. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetInParameterValue(Int32) |
Belirtilen dizinde XML Web hizmeti yöntemine geçirilen parametreyi alır. |
GetOutParameterValue(Int32) |
Belirtilen dizinde XML Web hizmeti yöntemine geçirilen out parametresini alır. |
GetReturnValue() |
XML Web hizmeti yönteminin dönüş değerini alır. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |