Handle runtime exceptions in one place in SOAP web service and throw Fault with custom error
up vote
0
down vote
favorite
I have SOAP
service(spring boot + CXF
) and this service can throw Faults. Now My code look like this
@Component
@Slf4j
public class MyEndpoint implements MessageExchangePortType {
private final Void aVoid = new Void();
@Override
public SendRequestResponse sendRequest(SendRequestRequest request) throws MessageIsAlreadySentException{
try {
myHandler.request(...);
} catch (MessageIdAlreadyExistsException e) {
log.error(e.getMessage(), e);
throw new MessageIsAlreadySentException(FaultString.MESSAGE_IS_ALREADY_SENT.getMessage(), aVoid);
}
}
it is My exception:
public class MessageIdAlreadyExistsException extends Exception {}
I forward this Exception from the depths of the classes all the way to the top, to catch it and throw the other one, which is in the signature of the web method:
} catch (MessageIdAlreadyExistsException e) {//my exception
throw new MessageIsAlreadySentException(FaultString.MESSAGE_IS_ALREADY_SENT.getMessage(), aVoid); //web service exception
}
It is web service exception:
@WebFault(name = "MessageIsAlreadySent", targetNamespace = "")
public class MessageIsAlreadySentException
extends Exception
{
Bouth eceptions is Checked
but I want some mechanism like spring REST. I want throw RuntimeException
from place where this exceptions appear and after that I want handle it in one place, set my message and return for client. Like this:
@ExceptionHandler(EmailSendException.class)
protected ResponseEntity<RestResponse<Boolean>> handleEmailSendException(EmailSendException e) {
...
}
How can I make it with SOPA web service?
spring-boot soap exception-handling cxf soapfault
add a comment |
up vote
0
down vote
favorite
I have SOAP
service(spring boot + CXF
) and this service can throw Faults. Now My code look like this
@Component
@Slf4j
public class MyEndpoint implements MessageExchangePortType {
private final Void aVoid = new Void();
@Override
public SendRequestResponse sendRequest(SendRequestRequest request) throws MessageIsAlreadySentException{
try {
myHandler.request(...);
} catch (MessageIdAlreadyExistsException e) {
log.error(e.getMessage(), e);
throw new MessageIsAlreadySentException(FaultString.MESSAGE_IS_ALREADY_SENT.getMessage(), aVoid);
}
}
it is My exception:
public class MessageIdAlreadyExistsException extends Exception {}
I forward this Exception from the depths of the classes all the way to the top, to catch it and throw the other one, which is in the signature of the web method:
} catch (MessageIdAlreadyExistsException e) {//my exception
throw new MessageIsAlreadySentException(FaultString.MESSAGE_IS_ALREADY_SENT.getMessage(), aVoid); //web service exception
}
It is web service exception:
@WebFault(name = "MessageIsAlreadySent", targetNamespace = "")
public class MessageIsAlreadySentException
extends Exception
{
Bouth eceptions is Checked
but I want some mechanism like spring REST. I want throw RuntimeException
from place where this exceptions appear and after that I want handle it in one place, set my message and return for client. Like this:
@ExceptionHandler(EmailSendException.class)
protected ResponseEntity<RestResponse<Boolean>> handleEmailSendException(EmailSendException e) {
...
}
How can I make it with SOPA web service?
spring-boot soap exception-handling cxf soapfault
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have SOAP
service(spring boot + CXF
) and this service can throw Faults. Now My code look like this
@Component
@Slf4j
public class MyEndpoint implements MessageExchangePortType {
private final Void aVoid = new Void();
@Override
public SendRequestResponse sendRequest(SendRequestRequest request) throws MessageIsAlreadySentException{
try {
myHandler.request(...);
} catch (MessageIdAlreadyExistsException e) {
log.error(e.getMessage(), e);
throw new MessageIsAlreadySentException(FaultString.MESSAGE_IS_ALREADY_SENT.getMessage(), aVoid);
}
}
it is My exception:
public class MessageIdAlreadyExistsException extends Exception {}
I forward this Exception from the depths of the classes all the way to the top, to catch it and throw the other one, which is in the signature of the web method:
} catch (MessageIdAlreadyExistsException e) {//my exception
throw new MessageIsAlreadySentException(FaultString.MESSAGE_IS_ALREADY_SENT.getMessage(), aVoid); //web service exception
}
It is web service exception:
@WebFault(name = "MessageIsAlreadySent", targetNamespace = "")
public class MessageIsAlreadySentException
extends Exception
{
Bouth eceptions is Checked
but I want some mechanism like spring REST. I want throw RuntimeException
from place where this exceptions appear and after that I want handle it in one place, set my message and return for client. Like this:
@ExceptionHandler(EmailSendException.class)
protected ResponseEntity<RestResponse<Boolean>> handleEmailSendException(EmailSendException e) {
...
}
How can I make it with SOPA web service?
spring-boot soap exception-handling cxf soapfault
I have SOAP
service(spring boot + CXF
) and this service can throw Faults. Now My code look like this
@Component
@Slf4j
public class MyEndpoint implements MessageExchangePortType {
private final Void aVoid = new Void();
@Override
public SendRequestResponse sendRequest(SendRequestRequest request) throws MessageIsAlreadySentException{
try {
myHandler.request(...);
} catch (MessageIdAlreadyExistsException e) {
log.error(e.getMessage(), e);
throw new MessageIsAlreadySentException(FaultString.MESSAGE_IS_ALREADY_SENT.getMessage(), aVoid);
}
}
it is My exception:
public class MessageIdAlreadyExistsException extends Exception {}
I forward this Exception from the depths of the classes all the way to the top, to catch it and throw the other one, which is in the signature of the web method:
} catch (MessageIdAlreadyExistsException e) {//my exception
throw new MessageIsAlreadySentException(FaultString.MESSAGE_IS_ALREADY_SENT.getMessage(), aVoid); //web service exception
}
It is web service exception:
@WebFault(name = "MessageIsAlreadySent", targetNamespace = "")
public class MessageIsAlreadySentException
extends Exception
{
Bouth eceptions is Checked
but I want some mechanism like spring REST. I want throw RuntimeException
from place where this exceptions appear and after that I want handle it in one place, set my message and return for client. Like this:
@ExceptionHandler(EmailSendException.class)
protected ResponseEntity<RestResponse<Boolean>> handleEmailSendException(EmailSendException e) {
...
}
How can I make it with SOPA web service?
spring-boot soap exception-handling cxf soapfault
spring-boot soap exception-handling cxf soapfault
asked 2 days ago
ip696
1,03911035
1,03911035
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373664%2fhandle-runtime-exceptions-in-one-place-in-soap-web-service-and-throw-fault-with%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown