Exceptions in Web Services

    On my talking to Mitch kick, I should comment on his post on how to report exceptions from Web Services. Mitch is right. The classes of error we return from the TRIM Web Service are of the form:

    • Input error
    • Transient error
    • System error (call your admin)


    You get rollbacks from us for free, so that's ok. The only one I've added to this list is the system error. It's possible that the server is experiencing system administrator errors, such as being out of disc, not having a dataset configured, or so forth. These really should be reported separately from the input errors and transient errors. They're not caller input, and they're only transient if the admin realises he should fix them.

    We also return a unique error code for each error, which means I know exactly where in my code the problem happened, which is a feature I'm really liking from a support perspective. The Soap Fault supports an error code, so that maps nicely there.

    I should point out that we don't use the Soap Fault though, we use a different Soap'ed object. Perhaps we should consider using the fault, but we didn't want to have to abandon execution of other jobs for an error in some cases.

    Technorati tags for this post:

posted at: 00:31 | path: /dotnet | permanent link to this entry



    Add a comment to this post:

    Your name:

    Your email: Email me new comments on this post
      (Your email will not be published on this site, and will only be used to contact you directly with a reply to your comment if needed. Oh, and we'll use it to send you new comments on this post it you selected that checkbox.)


    Your website:

    Comments:


    Because of excessive load, this site is generated statically every several hours. Therefore, your comment may take some time to appear here. Unless you get an error message when you click the select button below, then all is normal and the comment will appear in due course. If you want you can checkout all recently approved comments while your waiting.