Mike,

This may not be what you're looking for but I can tell you about an approach
we've used to work around the generally poor error handling in ColdFusion
web services.  (Note that I don't have experience developing web services in
other languages, so I can't speak to whether or not CF web service error
handling is any better or worse than any other platform).

Rather than consuming business objects directly as web services, consider
exposing as a service an interface wrapper which handles lower-level
communication with business objects.  The wrapper has a simple interface,
using structures for passing parameters and control information.  The
structure might include a key specifying the object and method name to be
invoked, or maybe you'd pass a key value that maps to an object/method
pairing in your model, if you need additional abstraction.

The wrapper handles all instantiation and interaction with your business
objects; this effectively decouples the consumer logic from your business
model, freeing you from future integration concerns when your business model
must change.   Additionally, the wrapper can be used to trap any errors that
occur during instantiation of business objects (something that you CANNOT do
when talking directly to a business object which has been "web
service-fied"), potentially logging or passing the errors back up through
the stack.  Let me tell you, its a lot nicer to get a well-formatted
ColdFusion error including stack trace, line number, etc, when instantiation
of a business object fails.

Once you've built your base wrapper you can easily extend it to include
caching of business objects, ColdSpring integration for dependency
injection, etc.  It really simplifies the architecture to have a single
point of contact with the web services layer.

In my experience, the hardest part of working with ColdFusion web services
is the interfacing.  Once you have developed a robust wrapper object as a
service layer, you can count on spending very little time tinkering with
integration going forward, instead dealing with the complexities of the
business model.

Hope that helps.

Best,

Eric

On 2/21/07, Ferris, Mike <[EMAIL PROTECTED]> wrote:

 All,

How does CF 7.02 handle errors in web services you publish?

I am adding error handling to log and notify me of anything that I haven't
already caught with cftry/catch.  I put an onError function in my
application.cfc.  When I test my error handling by calling the .cfc as a
component, it works great.  The onError logs the error and sends me an
email.

When I test using a .Net app and call the .cfc as a web service, something
besides my onError seems to catch the error. It returns "
coldfusion.xml.rpc.CFCInvocationException: [
coldfusion.runtime.UndefinedVariableException : Variable apple is
undefined.]"  (I am trying to add 1 to apple (which is not defined) as my
test).

Whatever this mysterious handler is correctly identifies the error.  But,
it is not calling my routines to log and email me.

Anyone have a clue how to catch errors in this scenario???

Thanks,
Mike



CONFIDENTIALITY NOTICE: The information contained in this e-mail and
attached document(s) may contain confidential information that is intended
only for the addressee(s). If you are not the intended recipient, you are
hereby advised that any disclosure, copying, distribution or the taking of
any action in reliance upon the information is prohibited. If you have
received this e-mail in error, please immediately notify the sender and
delete it from your system.

_______________________________________________
Reply to DFWCFUG:
 [email protected]
Subscribe/Unsubscribe:
 http://lists1.safesecureweb.com/mailman/listinfo/list
List Archives:
   http://www.mail-archive.com/list%40list.dfwcfug.org/
 http://www.mail-archive.com/list%40dfwcfug.org/
DFWCFUG Sponsors:
 www.HostMySite.com
 www.teksystems.com/


_______________________________________________
Reply to DFWCFUG: 
  [email protected]
Subscribe/Unsubscribe: 
  http://lists1.safesecureweb.com/mailman/listinfo/list
List Archives: 
    http://www.mail-archive.com/list%40list.dfwcfug.org/             
  http://www.mail-archive.com/list%40dfwcfug.org/
DFWCFUG Sponsors: 
  www.HostMySite.com 
  www.teksystems.com/

Reply via email to