By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,635 Members | 2,085 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,635 IT Pros & Developers. It's quick & easy.

Catch Custom SoapException

P: n/a
Hi programmers, I'm quite new in this blog, I have a question
concerning web services Soap Exceptions: I created a class
MySoapException derived from SoapException, I add the references both
server-side and client-side, and I tried to implement correctly
serialization, I mean, the "ability" of a class to be used through a
web services communication (that's not so correct, I hope you
understand what I mean).
Here is my class:

public class MySoapException : SoapException, ISerializable
//private string tipoecc;

public MySoapException() : base()
// TODO: Add constructor logic here

public MySoapException(SerializationInfo si, StreamingContext
sc) : base(si,sc)



public string Tipoecc
get { return tipoecc; }
set { tipoecc = value; }

public override void GetObjectData(SerializationInfo si,
StreamingContext sc)

base.GetObjectData(si, sc);

si.AddValue("Tipoecc", tipoecc);


In this way, the new Property Tipoecc shoud be understood and
deserializad correctly by the (soap) client.
The web service throw the customized SoapException in this way:

MySoapException myexc = new MySoapException();
myexc.Tipoecc = "1";
throw myexc;

I set the value of TipoEcc = "1".
The following code is client-side:

catch (MySoapException mse)

//nel caso sincrono l'eccezione non č contenuta
nel campo InnerException

//la proprietą Tipoecc indica il valore custom con
cui č definita l'eccezione
string msg;
msg = mse.Message;
msg += "\nTipo eccezione: " +
//msg += "\nValore eccezione: " +


I think it should catch the custom exception, because I add the same
reference to the dll containing the implementation of the class
But... it doesn't work!!!
The client catches the Exception ONLY as SoapException, and nothing
I know there is another pretty way to pass custom fields or attributes
by appending a new XMLNode to the Detail property of a SoapException,
and it also works good... But I would like to know WHERE is my mistake
(or my mistakes...).
Thanks a lot.

Jun 6 '06 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.