Return-Path: Delivered-To: apmail-ws-axis-user-archive@www.apache.org Received: (qmail 63524 invoked from network); 30 Mar 2006 15:42:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 30 Mar 2006 15:42:41 -0000 Received: (qmail 24477 invoked by uid 500); 30 Mar 2006 15:42:31 -0000 Delivered-To: apmail-ws-axis-user-archive@ws.apache.org Received: (qmail 24456 invoked by uid 500); 30 Mar 2006 15:42:30 -0000 Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-user@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-user@ws.apache.org Received: (qmail 24444 invoked by uid 99); 30 Mar 2006 15:42:30 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 Mar 2006 07:42:30 -0800 X-ASF-Spam-Status: No, hits=4.8 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_DSN,DNS_FROM_RFC_POST X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [192.131.125.19] (HELO exchange.devnet.asset.com) (192.131.125.19) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 Mar 2006 07:42:29 -0800 Received: from [192.168.0.176] ([192.168.0.176]) by exchange.devnet.asset.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 30 Mar 2006 10:42:08 -0500 Message-ID: <442BFC50.3030702@asset.com> Date: Thu, 30 Mar 2006 10:42:08 -0500 From: Thom Hehl User-Agent: Mozilla Thunderbird 1.0.7 (X11/20051013) X-Accept-Language: en-us, en MIME-Version: 1.0 To: axis-user@ws.apache.org Subject: Re: [SPAM] - Re: Problems getting user exceptions to work - Found word(s) check out in the Text body References: <442AFBB2.4050600@stagrp.com> <442BD7AB.1090600@asset.com> <442BF134.4020206@stagrp.com> In-Reply-To: <442BF134.4020206@stagrp.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-OriginalArrivalTime: 30 Mar 2006 15:42:08.0459 (UTC) FILETIME=[80D991B0:01C65410] X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Hmmm. Check your SOAP messae. Our problem is that we're sending the correct data from the server and the error happens during deserialization. If that's not it, it's a different problem. Jack Lund wrote: > Thanks! I'd love to hear the workaround - I've tried everything I can. > It looks like the problem is that the server side doesn't really know > how to serialize the exception, even though it should. > > -Jack > > Thom Hehl wrote: > >> We had EXACTLY the same problem! We just found it and found a >> work-around, but believe this to be a bug in AXIS that should be >> fixed. The guy on our team that found it was going to write something >> up for the list. I'll ask him to step this up a bit as it would be of >> benefit to you. >> >> Jack Lund wrote: >> >>> Yeah, I can see that that would be easier. Unfortunately, I have no >>> control over the exceptions being thrown - I just need the >>> client-side to be able to catch them *as* the exceptions that are >>> originally thrown. I also am doing dynamic proxying rather than >>> stubs/skeletons, so it makes it that more complicated. >>> >>> >From the debugging I've been able to do, it looks like the fault >>> coming across contains the fully-qualified package name of the >>> exception class, but for some reason on the client side it's not >>> creating the exception. Since this is an area where there's >>> practically no documentation, I'm finding myself pretty much >>> randomly trying different things and seeing if they work. >>> >>> The user's guide is really vague about this subject: >>> >>> "If a method is marked as throwing an Exception that is not an >>> instance or a subclass of java.rmi.RemoteException, then things are >>> subtly different. The exception is no longer a SOAP Fault, but >>> described as a wsdl:fault in the WSDL of the method. According to >>> the JAX-RPC specification, your subclass of Exception must have >>> accessor methods to access all the fields in the object to be >>> marshalled /and/ a constructor that takes as parameters all the same >>> fields (i.e, arguments of the same name and type). This is a kind of >>> immutable variant of a normal JavaBean >>> . The fields in the object >>> must be of the datatypes that can be reliably mapped into WSDL. >>> >>> If your exception meets this specification, then the WSDL describing >>> the method will describe the exception too, enabling callers to >>> create stub implementations of the exception, regardless of platform." >>> >>> I was kind of hoping someone else out there would have had some >>> experience with getting this to work. >>> >>> -Jack >>> >>> Jarmo Doc wrote: >>> >>>> I have an Axis client stub which was generated from WSDL. *All* of >>>> the client-side user-defined exceptions extend >>>> org.apache.axis.AxisFault. >>>> >>>> The equivalent exceptions at the server also extend >>>> org.apache.axis.AxisFault, rather than Exception. >>>> >>>> This is a decidedly dodgy area, imo, especially when it comes to >>>> interop with non-Axis clients. >>>> >>>> >>>>> From: Jack Lund >>>>> Reply-To: axis-user@ws.apache.org >>>>> To: axis-user@ws.apache.org >>>>> Subject: RE: Problems getting user exceptions to work >>>>> Date: Wed, 29 Mar 2006 14:51:47 -0600 >>>>> >>>>> Nope, didn't work. Wouldn't think it would - AxisFault isn't a >>>>> subclass of InvalidDateException. >>>>> >>>>> -Jack >>>>> >>>>> Jarmo Doc wrote: >>>>> >>>>>> Try doing this: >>>>>> >>>>>> catch (AxisFault ex) >>>>>> { >>>>>> if (ex instanceof InvalidDateException) >>>>>> { >>>>>> InvalidDateException myex = (InvalidDateException)ex; >>>>>> // deal with myex here >>>>>> } >>>>>> // deal with others here >>>>>> } >>>>>> >>>>>> >>>>>>> From: Jack Lund >>>>>>> Reply-To: axis-user@ws.apache.org >>>>>>> To: axis-user@ws.apache.org >>>>>>> Subject: Problems getting user exceptions to work >>>>>>> Date: Wed, 29 Mar 2006 12:21:33 -0600 >>>>>>> >>>>>>> Hi. I'm using axis 1.2.1, and I'm trying to get the exceptions >>>>>>> sent by my service thrown to the client. For instance, my >>>>>>> service can throw an "InvalidDateException" exception, which is >>>>>>> a subclass of java.lang.Exception, and I want the client code to >>>>>>> get that exception. What little is said on the axis website >>>>>>> about this implies that it should "just work", but it doesn't >>>>>>> seem to - what I get on the other side is an AxisFault with the >>>>>>> message string from my exception embedded inside. >>>>>>> >>>>>>> Is there something special I have to do, on either side, to get >>>>>>> this to work? >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> -Jack >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> _________________________________________________________________ >>>>>> Don�t just search. Find. Check out the new MSN Search! >>>>>> http://search.msn.click-url.com/go/onm00200636ave/direct/01/ >>>>>> >>>>>> >>>> >>>> _________________________________________________________________ >>>> Express yourself instantly with MSN Messenger! Download today - >>>> it's FREE! >>>> http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ >>>> >>>> >> >