2013/6/5 eanbiso <[email protected]> > Hi Aki, > I'm using CXF 2.5.0 version for OSGI. > The response message I receive client side contains: > org.apache.cxf.message.Message.RESPONSE_CODE=500 > Other ideas? >
2.5.0 is somewhat old, but I just ran a test with a standalone cxf 2.5.0 using a provider based service throwing an exception.It is returning an http 500 response with the soap fault message content. And this works fine with the cxf 2.5.0 client, no blocking. Could it be that you have some custom interceptor configured at the server side or changed the interceptor chain? > Thanks, > > Andrea > > Date: Wed, 5 Jun 2013 02:38:53 -0700 > From: [email protected] > To: [email protected] > Subject: Re: WebServiceException is not propagated from Provider<Source> > to the client. > > > > 2013/6/5 Aki Yoshida <[hidden email]> > > > > that's strange. > > > Could you check what response is returned by the server? > > > If it is a fault response and not an empty 202 or 200 response, your > > > client should be marking it as finished and shouldn't wait there. > > > > > > i wanted to mean "not an empty 200 response. ..." > > > > > I think there was an old issue where the response from the provider > > > service was not returned correctly under some cases. > > > > > > the bug caused an empty 200 to be returned and this could lead to the same > > situation you mentioned. > > > > > So could you also provide which cxf version you are using? > > > regards, aki > > > > > > > > > 2013/6/4 eanbiso <[hidden email]> > > > > > >> The problem is that the client enters in the while cicle of the > follofing > > >> method of ClientImpl class: > > >> > > >> protected void waitResponse(Exchange exchange) { > > >> int remaining = synchronousTimeout; > > >> while (!Boolean.TRUE.equals(exchange.get(FINISHED)) && > remaining > > > >> 0) { > > >> long start = System.currentTimeMillis(); > > >> try { > > >> exchange.wait(remaining); > > >> } catch (InterruptedException ex) { > > >> // ignore > > >> } > > >> long end = System.currentTimeMillis(); > > >> remaining -= (int)(end - start); > > >> } > > >> if (!Boolean.TRUE.equals(exchange.get(FINISHED))) { > > >> LogUtils.log(LOG, Level.WARNING, "RESPONSE_TIMEOUT", > > >> exchange.get(OperationInfo.class).getName().toString()); > > >> } > > >> } > > >> > > >> and this happens because the message received from the dispatcher, when > an > > >> exception occurs, doesnt't contain the property: > > >> exchange.finished=true > > >> Where can I set this property to avoid to wait? > > >> Thanks, > > >> > > >> Andrea > > >> > > >> > > >> > > >> -- > > >> View this message in context: > > >> > http://cxf.547215.n5.nabble.com/WebServiceException-is-not-propagated-from-Provider-Source-to-the-client-tp5728573p5728738.html > >> Sent from the cxf-user mailing list archive at Nabble.com. > > >> > > > > > > > > > > > > > > > > > > > If you reply to this email, your message will be added to > the discussion below: > > http://cxf.547215.n5.nabble.com/WebServiceException-is-not-propagated-from-Provider-Source-to-the-client-tp5728573p5728776.html > > > > To unsubscribe from WebServiceException is not propagated > from Provider<Source> to the client., click here. > > NAML > > > > > -- > View this message in context: > http://cxf.547215.n5.nabble.com/WebServiceException-is-not-propagated-from-Provider-Source-to-the-client-tp5728573p5728782.html > Sent from the cxf-user mailing list archive at Nabble.com. >
