[Mono-devel-list] ServerFault and SoapFault objects

Jean-Marc André jean-marc.andre at polymtl.ca
Tue May 27 19:57:31 EDT 2003


Hello,

I've made some modifications on the following classes: ServerFault and 
SoapFault both in the System.Runtime.Serialization.Formatters namespace 
to make them match as close as possible with the MS ones.
These classes are needed by the remoting with SOAP when an exception is 
thrown by the server during a RPC.
I've completed the properties marked with the MonoTODO attribute and 
added an extra field to the ServerFault class.
I think there is a private field called *exception* (type 
System.Exception) in this class.
Below, the result of a SoapFault object serialized by the MS a 
SoapFormatter object. The *detail* field of the SoapFault object is a 
ServerFault object with an extra field call *exception*.
Could someone give me his opinion on this ?

Thanks

Jean-Marc



    <SOAP-ENV:Fault id="ref-1">
    <faultcode id="ref-2">SOAP-ENV:Server</faultcode>
    <faultstring id="ref-3"> ****
    System.Runtime.Serialization.SerializationException - test</faultstring>
    <detail xsi:type="a1:ServerFault"
    xmlns:a1="http://schemas.microsoft.com/clr/ns/System.Runtime.Serialization.Formatters">

        <exceptionType xsi:null="1"/>
        <message xsi:null="1"/>
        <stackTrace xsi:null="1"/>


---->             <exception href="#ref-4"/>

    </detail>
    </SOAP-ENV:Fault>

---->  <a3:SerializationException id="ref-4" 
xmlns:a3="http://schemas.microsoft.com/clr/ns/System.Runtime.Serialization">

    <ClassName
    id="ref-5">System.Runtime.Serialization.SerializationException</ClassName>
    <Message id="ref-6">test</Message>
    <InnerException xsi:null="1"/>
    <HelpURL xsi:null="1"/>
    <StackTraceString id="ref-7">   at TestAssembly.MarshalObject.Method6()
       at
    System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(MethodBase
    mb, Object[] args, Object server, Int32 methodPtr, Boolean
    fExecuteInContext, Object[]&#38; outArgs)
       at
    System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
    msg, Int32 methodPtr, Boolean fExecuteInContext)</StackTraceString>
    <RemoteStackTraceString xsi:null="1"/>
    <RemoteStackIndex>0</RemoteStackIndex>
    <ExceptionMethod id="ref-8">8&#0;Method6&#0;TestAssembly,
    Version=1.0.1242.29199, Culture=neutral,
    PublicKeyToken=null&#0;TestAssembly.MarshalObject&#0;Void
    Method6()</ExceptionMethod>
    <HResult>-2146233076</HResult>
    <Source id="ref-9">TestAssembly</Source>
    </a3:SerializationException>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ServerFault.cs
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20030527/d4a1476e/attachment.pl 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: SoapFault.cs
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20030527/d4a1476e/attachment-0001.pl 


More information about the Mono-devel-list mailing list