@Override public NextAction processException(Throwable t) { try { return doThrow(t); } finally { Packet packet = Fiber.current().getPacket(); MessageUpdatableContext context = getContext(packet); initiateClosing(context.getMessageContext()); /* TODO revisit: commented this out as the modified packet is no longer used In future if the message is propagated even when an exception occurs, then uncomment context.updatePacket(); */ //Update Packet with user modifications //context.updatePacket(); } }
@Override public NextAction processException(Throwable t) { try { return doThrow(t); } finally { Packet packet = Fiber.current().getPacket(); MessageUpdatableContext context = getContext(packet); initiateClosing(context.getMessageContext()); /* TODO revisit: commented this out as the modified packet is no longer used In future if the message is propagated even when an exception occurs, then uncomment context.updatePacket(); */ //Update Packet with user modifications //context.updatePacket(); } }
@Override public NextAction processException(Throwable t) { try { return doThrow(t); } finally { Packet packet = Fiber.current().getPacket(); MessageUpdatableContext context = getContext(packet); initiateClosing(context.getMessageContext()); /* TODO revisit: commented this out as the modified packet is no longer used In future if the message is propagated even when an exception occurs, then uncomment context.updatePacket(); */ //Update Packet with user modifications //context.updatePacket(); } }
@Override public @NotNull NextAction processException(Throwable t) { final Packet response = Fiber.current().getPacket(); ThrowableContainerPropertySet tc = response.getSatellite(ThrowableContainerPropertySet.class); if (tc == null) { tc = new ThrowableContainerPropertySet(t); response.addSatellite(tc); } else if (t != tc.getThrowable()) { // This is a pathological case where an exception happens after a previous exception. // Make sure you report the latest one. tc.setThrowable(t); } return processResponse(response.endpoint.createServiceResponseForException(tc, response, soapVersion, wsdlPort, response.endpoint.getSEIModel(), binding)); }
@Override public @NotNull NextAction processException(Throwable t) { final Packet response = Fiber.current().getPacket(); ThrowableContainerPropertySet tc = response.getSatellite(ThrowableContainerPropertySet.class); if (tc == null) { tc = new ThrowableContainerPropertySet(t); response.addSatellite(tc); } else if (t != tc.getThrowable()) { // This is a pathological case where an exception happens after a previous exception. // Make sure you report the latest one. tc.setThrowable(t); } return processResponse(response.endpoint.createServiceResponseForException(tc, response, soapVersion, wsdlPort, response.endpoint.getSEIModel(), binding)); }
@Override public @NotNull NextAction processException(Throwable t) { final Packet response = Fiber.current().getPacket(); ThrowableContainerPropertySet tc = response.getSatellite(ThrowableContainerPropertySet.class); if (tc == null) { tc = new ThrowableContainerPropertySet(t); response.addSatellite(tc); } else if (t != tc.getThrowable()) { // This is a pathological case where an exception happens after a previous exception. // Make sure you report the latest one. tc.setThrowable(t); } return processResponse(response.endpoint.createServiceResponseForException(tc, response, soapVersion, wsdlPort, response.endpoint.getSEIModel(), binding)); }