First, Axis2 One Way _does_ throw exceptions in its current state: 

http://issues.apache.org/jira/browse/AXIS2-304

Basically I get a socket timeout on long requests. 

AFAIK, there are two types of in-only. Robust in-only - which I believe is the 
current implementation - and fire-and-forget - the latter AFAIK yet to be 
implemented in axis2. 

Furthermore, I have seen the 'server is not available, yet no exception' issue 
in the current robust-only implementation. I haven't read the spec entirely, 
but .net behavior may indicate that there should be compatibilty. 

My suggestion is to verify that the wsdl 2.0 spec does indeed indicate that 
robust in-only should throw when the server is down - that seems to be what 
you want. If so and there are no further comments, I suggest filing a JIRA. 

HTH,
iksrazal

Em Sábado 17 Dezembro 2005 15:15, o Peter McEvoy escreveu:
> Hmmm.  This does not seem very satsifactory.  I fully agree that *server
> code* exceptions should not be propagated back to the client once a HTTP
> 202 is received, but anything up to that should generate an exception.  If
> I want to implement reliable messaging on top of the axis library (ala
> WS-ReliableMessaging), how on earth can I detect transport level problems,
> such as a in a disconnected "smart" client and implement retries etc?
>
> However, if you do not accept this argument then I would point out that
> OneWay is declared within server-side WSDL, so it seems that the WSDL2Java
> utility does not generate client code that uses a "request/response MEP" as
> you suggest.  (I am an application developer and really don't want to
> concern myself with writing transport level, or even SOAP level code, and
> hence why I use the WSDL2Java utility).
>
> As a side point, .Net generated one-way proxies at least report transport
> level problems that are nothing to do with SOAP
>
> For what it's worth,
>
> Pete
>
>   _____
>
> From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]
> Sent: 16 December 2005 20:05
> To: axis-user@ws.apache.org; [EMAIL PROTECTED]
> Subject: Re: Exception not thrown when server not available using OneWay
> messages
>
>
> One-way messages do not return exceptions under any circumstances. If you
> require a notice that a message can't be delivered, then you should use a
> request/response MEP.
>
> Anne
>
>
> On 12/16/05, Peter McEvoy <[EMAIL PROTECTED]> wrote:
>
>
> Hi there,
> I have a client that sends OneWay messags to a server - this works fine.
> However, when the server is not available (down/not listening for HTTP), my
> client code does not get an exception.  Granted, the Axis code _does_ seem
> to get an exception (java.net.ConnectException), but this does not seem to
> be re-thrown, so my client code does not know that the async call has
> actually failed.
>
> I've looked in the archive, and there are some messages about server side
> exceptions during async calls, and I agree that the client should not know
> about them - however server unavailable is at a lower level, and the client
> probably _should_ know about these.
>
> As there something I am missing?
>
> My client code looks like:
>
>                 try{
>                         service.setEndpointAddress
> ("PingServiceAsyncBinding", "http://localhost:9998/PingServiceAsync.asmx";)
> <http://localhost:9998/PingServiceAsync.asmx> ;
>                 } catch (Exception e){
>                         log.error("Exception setting service endpoint", e);
>                 }
>
>                 try {
>                         PingServiceAsyncBinding binding =
> service.getPingServiceAsyncBinding();
>
>                         log.debug("Sending Ping message...");
>                         binding.pingAsync();
>
>                         log.debug("Done.");
>                 } catch (Exception e){
>                         log.error("Exception during PingAsync", e);
>                 }
>
> Is there a property I need to set on the locator in order to be notified
> about exceptions?
>
> Sincerely
> Pete

Reply via email to